Формы

Формы в Пачке позволяют вам отображать пользователям представления с указанным вами набором полей. Представления отображаются в виде модального окна, а результат заполнения формы вы можетет получить на свой сервер.

На текущий момент вызов модального окна с представлением возможен только через кнопки в сообщении бота.

Модальное окно Модальное окно состоит из стандартных элементов - заголовка, кнопки закрытия (отмены), набора полей (подзаголовки, текст, ввод текста, выбор, списки и тд.) и кнопки отправки.

Жизненный цикл модального окна

Всё начинается с нажатия пользователем Data-кнопки кнопки в сообщении.

- В результате нажатия кнопки вашему приложению отправляется исходящий вебхук с уникальным trigger_id;
- Затем приложение фомирует представление и отправляет его, а пользователю отображается модальное окно;
- Далее пользователь заполняет поля и вашему приложению отправляется исходящий вебхук с данными заполненных пользователем полей в представлении;
- В ответе на вебхук ваше приложение может отправить список ошибок, которые необходимо отобразить пользателю в представлении, или ответить кодом 200 (после чего модальное окно будет закрыто).

Блоки представления

В представлении могут быть как и обычные блоки (заголовок, текст, разделитель), так и блоки для ввода и загрузки информации (текстовое поле, выбор из списка, ввод даты и времени, загрузка файлов).

Подробнее о блоках представления вы можете прочитать в разделе Блоки представления

Открытие представления

Чтобы открыть модальное окно с представлением, ваше приложение должно иметь действительный, неистекший trigger_id. Это требование связано с тем, чтобы приложение открывало модальное окно только с разрешения пользователя и делало это быстро.

С целью поддержания интерактивности и отзывчивости интерфейсов Пачки, срок жизни trigger_id ограничен и составляет 3 секунды
О том, как сформировать представление и отправить его, вы можете прочитать в разделе Открытие представления

Получение результатов и ответ

После заполнения пользователем полей в представлении в приложение будет отправлен исходящий вебхук. В этот момент вы можете сохранить полученные значения или провести валидацию правильности заполнения полей и отправить пользователю ошибки.

В любом случае, вам необходимо оперативно ответить на вебхук (кодом 200 или 400 со списком ошибок), или пользователь получит ошибку отправки данных в модальном окне. Как и в случае с реакцией на нажатие кнопки для открытия модального окна, у вас есть 3 секунды после получения вебхука.

Подробнее о формате результата заполнения полей вы можете прочитать в разделе Получение результатов
О том, как закрыть представление или отобразить ошибки по конкретным полям, вы можете прочитать в разделе Закрытие и отображение ошибок