После заполнения пользователей полей в представлении и отправки их, в ваше приложение отправляется исходящий вебхук. Вебхук будет отправлен на
Webhook URL
, который вы указали в настройках бота во вкладке «Исходящий Webhook», от имени которого было отправлено сообщение с кнопкой (нажатие на которую и вызвало открытие представления).
Задача вашего приложения - обработать входяший вебхук в короткое время и дать ответ. Это может быть как успех и команда на закрытие представления пользователю в интерфейсе Пачки, так и набор ошибок, которые необходио отобразить пользователю в представлении.
Вебхук содержит информацию, которая была заложена при открытии представления пользователю (такие поля, как private_metadata
и callback_id
), и данные заполненных полей представления.
type | string | Тип объекта (для представлений всегда view) |
event | string | Тип события (для отправки пользователем формы всегда submit) |
private_metadata | string | Строка, заданная при отправке представления |
callback_id | string | Идентификатор для распознавания этого представления, заданный при отправке представления |
user_id | integer | Идентификатор пользователя, который заполнил форму |
data | object | JSON карта заполненных полей представления, где каждый ключ - значение поля name. |
name | string или array of strings или array of objects или null или [] |
Значение, которое указал пользователь в поле (или массив значений, если это был множественный выбор или загруженные пользователем файлы). Если пользователь не указал значение, тогда null (или пустой массив, если это поле файлов или чекбоксов) |
... | ... | ... |
webhook_timestamp | integer | Дата и время отправки вебхука (UTC+0) в формате UNIX |
{
"type": "view",
"event": "submit",
"private_metadata": "{'timeoff_id':4378}",
"callback_id": "timeoff_reguest_form",
"user_id": 1235523,
"data": {
"date_start": "2025-07-01", // поле типа date
"date_end": "2025-07-14", // поле типа date
"request_doc": [{ // поле типа file_input (массив объектов)
"name": "request.png", // название файла
"size": 19153, // размер файла (в байтах)
"url": "<url>" // прямая временная ссылка на скачивание файла
}],
"accessibility": "phone_only", // поле типа radio
"info": "Поеду в сибирь на свадьбу лучшего друга", // поле типа input
"newsletters": ["new_tasks", "project_updates"], // поле типа checkbox (массив строк)
"team": "success", // поле типа select
"time": "22:00" // поле типа time
},
"webhook_timestamp": 1755075544
}