Динамические формы
IMSHOP Retail Protocol (IRP) является объектом интеллектуальной собственности ООО «АЙ ЭМ СОЛЮШНЗ» (IMSHOP) и защищён как объект авторского права. Свидетельство о депонировании произведения № 023-014461 от 16 января 2023 г. подтверждает исключительные права ООО «АЙ ЭМ СОЛЮШНЗ» на данные технологии.
IMSHOP Retail Protocol создан по заказу ООО «АЙ ЭМ СОЛЮШНЗ». Использование IMSHOP Retail Protocol допустимо только при взаимодействии с ООО "АЙ ЭМ СОЛЮШНЗ" и наличии действующего лицензионного договора. Более подробно можно ознакомиться здесь.
Динамические формы – формы внутри баннера, с возможностью подгрузки дополнительных элементов форм на основе введенных пользователем данных.
Для корректной работы динамических форм необходимо включение интеграции.
Конечные результаты форм могут отправляться через ендпоинт выгрузки форм.
Оглавление
Заведение сабтудея с поддержкой динамических форм
В консоли при создании элементов внутри баннера необходимо завести форму, дать ей идентификатор (для примера, form123
) и отметить, что данная форма будет загружаться по IRP / вебхуку.
Механизм работы webhook - интеграции
При посещении пользователем страницы внутри баннера с динамической формой происходит запрос начальной формы. Вам приходит название запрашиваемой формы:
В ответ сервер должен отправить содержание формы:
success
– boolean, успех отправки формыname
– название запрашиваемой и отправляемой формыform
alertText и
alertTitle
– заголовок и текст сообщения после заполнения формыtitle
– заголовок формыelements
– массив с элементами формы
Элементы формы в elements
могут располагаться в произвольном порядке.
Элементы формы
Заголовок (title)
Заголовок или произвольная надпись в форме жирным шрифтом. Не располагается произвольно, всегда находится сверху формы.
Передается в js
Барабан (picker)
Поле, при нажатии которого появляется барабан с возможностью выбора одного варианта.
Передается в elements
name
– идентификатор элементаplaceholder
– плейсхолдер для поля вводаrequired
–true
/false
, является для данный элемент обязательным для заполненияtype
– тип элемента (picker)title
– заголовок элементаlist
– массив из строк с вариантами выбораnextElementsNames
– подгрузка следующих элементов формы
Чекбокс (checkbox)
Чекбокс.
Передается в elements
name
– идентификатор элементаtype
– тип элемента (checkbox)title
– надпись справа от чекбокса
Поле ввода текста (text)
Поле для ввода текста.
Передается в elements
name
– идентификатор элементаplaceholder
– плейсхолдер для поля вводаrequired
–true
/false
, является для данный элемент обязательным для заполненияtype
– тип элемента (text)title
– заголовок элемента
Поле ввода эл.почты (email)
Поле с форматированием электронной почты.
Передается в elements
name
– идентификатор элементаplaceholder
– плейсхолдер для поля вводаrequired
–true
/false
, является для данный элемент обязательным для заполненияtype
– тип элемента (email)title
– заголовок элемента
Поле ввода телефона (phone)
Поле с форматированием телефонного номера.
Передается в elements
name
– идентификатор элементаplaceholder
– плейсхолдер для поля вводаrequired
–true
/false
, является для данный элемент обязательным для заполненияtype
– тип элемента (phone)title
– заголовок элемента
Поле ввода даты (date)
Поле, при нажатии которого отображается барабан с возможностью ввода даты.
Передается в elements
name
– идентификатор элементаplaceholder
– плейсхолдер для поля вводаrequired
–true
/false
, является для данный элемент обязательным для заполненияtype
– тип элемента (text)title
– заголовок элемента
Кнопка завершения редактирования формы (submit)
Кнопка завершения заполнения формы, при нажатии данные отправляются на сервер и появляется сообщение.
Передается в elements
name
– идентификатор элементаplaceholder
– надпись на кнопкеdisabledPlaceholder
– надпись на кнопке в заблокированном состоянии ( когда пользователь не ввел данные в обязательные поля)type
– тип элемента (submit)
Примечание (notice)
Примечание, надпись мелким шрифтом.
Передается в elements
name
– идентификатор элементаplaceholder
– надписьtype
– тип элемента (notice)
Сообщение после завершения заполнения формы (alert)
Сообщение, которое отображается после нажатия на сабмит.
Передается в form
alertTitle
– заголовок сообщенияalertText
– тело сообщения
Фото
Данный элемент позволяет прикрепить фото из шалереи телефона
name
- идентификатор поляtitle
- заголовокmaxPhotos
- максимальное количество фото, которое можно прикрепить (сейчас поддерживается только1
)
При отправке фото, в этом поле будет передан список файлов в BASE64 кодировке. Пример:
Запрос клиентом следующих элементов формы
При выборе значения в барабане и наличии в барабане массива с идентификаторами следующих полей nextElementsNames
происходит дозапрос от сервера следующих элементов формы.
Сервер принимает JSON с введенными пользователем значениями в поле data
, где ключ – идентификатор элемента как в поле name
в отправленных элементах:
В ответ сервер отправляет следующие элементы форм, например:
В передаваемых далее барабанах могут содержаться дальнейшие идентификаторы полей.
Новые элементы формы могут запрашиваться неограниченное количество раз, окончанием заполнения формы всегда считается нажатие на сабмит.
Конечные результаты форм могут отправляться через ендпоинт выгрузки форм.
Last updated