endpointUri
при создании Flow или обновлении его метаданных.
В этом руководстве описываются обычные JSON-запросы, которые YCloud пересылает на ваш эндпоинт.
Оно не описывает прямое подключение к зашифрованному эндпоинту данных Meta.
Информацию о создании, предварительном просмотре, публикации и управлении жизненным циклом Flow см. в руководстве Управление WhatsApp Flows.
Перед началом работы
- Предоставьте публичный эндпоинт HTTPS, принимающий запросы
POST. - Возвращайте JSON в течение 15 секунд.
- Определите экраны и их поля данных в JSON вашего Flow.
- Сгенерируйте
flow_tokenпри отправке сообщения Flow, чтобы сопоставить взаимодействие с сессией вашего приложения. - Используйте валидацию на стороне сервера перед принятием отправленных данных.
Поток обработки запросов
- Пользователь открывает Flow или взаимодействует с ним в WhatsApp.
- YCloud пересылает JSON-запрос на ваш настроенный эндпоинт.
- Ваш эндпоинт считывает
actionи обрабатывает запрос. - Ваш JSON-ответ выбирает экран и предоставляет для него данные, либо завершает Flow.
Обработка проверки работоспособности (health check)
Проверка работоспособности содержитaction: ping:
Обработка уведомления об ошибке
Уведомления об ошибках содержатdata.error и data.error_message. В качестве действия они могут использовать
INIT или data_exchange. Проверяйте наличие данных об этих ошибках перед маршрутизацией
обычных запросов по действию (action).
Обработка обмена данными
Обрабатывайте каждое действие в соответствии с определенными вами экранами:
Переход к экрану
screen должен присутствовать в вашем JSON Flow. Объявленная для него схема данных должна принимать
поля из data.
Возврат ошибки валидации
Останьтесь на текущем экране и верните поле ошибки, отображаемое вашим экраном:Завершение Flow
Вернитеscreen: SUCCESS со значением extension_message_response.params. Включите
исходный flow_token и любые дополнительные поля результатов, которые требуются в
ответном сообщении Flow.
Пример реализации
В этом примере для Express обрабатываются все три категории запросов. Сопоставьте идентификаторы экранов и поля ответов с вашим собственным Flow JSON. Подключите все механизмы контроля доступа к эндпоинту, используемые в вашей среде, до этого обработчика.Проверка эндпоинта
Проверьтеping, подтверждение ошибок, INIT без screen или data, корректную
и некорректную отправку данных, BACK, а также завершение SUCCESS. Проверьте 15-секундный
лимит ответа и убедитесь, что завершающий вебхук содержит ваш исходный
flow_token. Выполните предварительный просмотр Flow перед его публикацией.
