Формы в Пачке позволяют вам отображать пользователям представления с указанным вами набором полей. Представления отображаются в виде модального окна, а результат заполнения формы вы можетет получить на свой сервер.
Модальное окно состоит из стандартных элементов - заголовка, кнопки закрытия (отмены), набора полей (подзаголовки, текст, ввод текста, выбор, списки и тд.) и кнопки отправки.
Жизненный цикл модального окна
Всё начинается с нажатия пользователем
Data-кнопки
кнопки в сообщении.
- В результате нажатия кнопки вашему приложению отправляется исходящий вебхук с уникальным trigger_id
;
- Затем приложение фомирует представление и отправляет его, а пользователю отображается модальное окно;
- Далее пользователь заполняет поля и вашему приложению отправляется исходящий вебхук с данными заполненных пользователем полей в представлении;
- В ответе на вебхук ваше приложение может отправить список ошибок, которые необходимо отобразить пользателю в представлении, или ответить кодом 200 (после чего модальное окно будет закрыто).
Блоки представления
В представлении могут быть как и обычные блоки (заголовок, текст, разделитель), так и блоки для ввода и загрузки информации (текстовое поле, выбор из списка, ввод даты и времени, загрузка файлов).
Открытие представления
Чтобы открыть модальное окно с представлением, ваше приложение должно иметь действительный, неистекший trigger_id
. Это требование связано с тем, чтобы приложение открывало модальное окно только с разрешения пользователя и делало это быстро.
Получение результатов и ответ
После заполнения пользователем полей в представлении в приложение будет отправлен исходящий вебхук. В этот момент вы можете сохранить полученные значения или провести валидацию правильности заполнения полей и отправить пользователю ошибки.
В любом случае, вам необходимо оперативно ответить на вебхук (кодом
200
или
400
со списком ошибок), или пользователь получит ошибку отправки данных в модальном окне. Как и в случае с реакцией на нажатие кнопки для открытия модального окна, у вас есть 3 секунды после получения вебхука.