Перейти к основному содержанию
Полный каталог, сформированный на основе схемы, см. в разделе Все примеры.

Что это такое

Обработка событий синхронизации сообщений, отправленных из приложения WhatsApp Business.

Перед началом работы

  • Создайте общедоступную конечную точку HTTPS в своем приложении.
  • Настройте конечную точку Webhook в YCloud для нужных типов событий.
  • Надежно сохраните секретный ключ подписи конечной точки.
  • Обеспечьте идемпотентность обработки событий.

Принцип работы

YCloud отправляет HTTP-запрос POST при возникновении события. Проверьте подпись, надежно сохраните событие, верните ответ 2xx и обрабатывайте длительные задачи асинхронно.

Запрос

Ниже приведены сценарии запросов, доставляемых на ваш Webhook URL. Используйте id события как идентификатор доставки, а type — для маршрутизации полезной нагрузки.

Ответ

Верните статус 2xx после принятия события.
Сведения о настройке конечной точки, проверке подписи и механизме повторных попыток см. в разделе Настройка веб-перехватчиков.

Исходящее текстовое сообщение

В этом случае ваша конечная точка Webhook получила исходящее текстовое сообщение, отправленное бизнес-клиентом пользователю WhatsApp через приложение WhatsApp Business или поддерживаемое сопряженное устройство: Прочитайте отправленный текст из whatsappMessage.text.body.

Запрос

Ответ

Подтвердите доставку после надежного сохранения события.

Пояснение

Маршрутизируйте событие по type, дедуплицируйте его по id и передавайте длительные или подверженные сбоям задачи асинхронному обработчику.

Исходящее сообщение с изображением

В этом случае ваша конечная точка Webhook получила исходящее сообщение с изображением, отправленное бизнес-клиентом пользователю WhatsApp через приложение WhatsApp Business или поддерживаемое сопряженное устройство:
  • Содержит ранее отправленное изображение.

Запрос

Ответ

Подтвердите доставку после надежного сохранения события.

Пояснение

  • Доступ к image.link можно получить напрямую в течение нескольких минут для удобства пользователя, но вам следует всегда передавать заголовок X-API-Key, чтобы скачать этот файл в течение 30 дней.

Исходящее видеосообщение

В этом случае ваша конечная точка Webhook получила исходящее видеосообщение, отправленное бизнес-клиентом пользователю WhatsApp через приложение WhatsApp Business или поддерживаемое сопряженное устройство:
  • Содержит ранее отправленное видео.

Запрос

Ответ

Подтвердите доставку после надежного сохранения события.

Пояснение

  • Доступ к video.link можно получить напрямую в течение нескольких минут для удобства пользователя, но вам следует всегда передавать заголовок X-API-Key, чтобы скачать этот файл в течение 30 дней.

Исходящее голосовое/аудиосообщение

В этом случае ваша конечная точка Webhook получила исходящее аудиосообщение, отправленное бизнес-клиентом пользователю WhatsApp через приложение WhatsApp Business или поддерживаемое сопряженное устройство:
  • Содержит ранее отправленное аудио.

Запрос

Ответ

Подтвердите доставку после надежного сохранения события.

Пояснение

  • Доступ к audio.link можно получить напрямую в течение нескольких минут для удобства пользователя, но вам следует всегда передавать заголовок X-API-Key, чтобы скачать этот файл в течение 30 дней.

Исходящее сообщение с документом

В этом случае ваша конечная точка Webhook получила исходящее сообщение с документом, отправленное бизнес-клиентом пользователю WhatsApp через приложение WhatsApp Business или поддерживаемое сопряженное устройство:
  • Содержит ранее отправленный документ.

Запрос

Ответ

Подтвердите доставку после надежного сохранения события.

Пояснение

  • Доступ к document.link можно получить напрямую в течение нескольких минут для удобства пользователя, но вам следует всегда передавать заголовок X-API-Key, чтобы скачать этот файл в течение 30 дней.

Сообщение создано в Business App

Используйте whatsapp.smb.message.created при отправке сообщения из приложения WhatsApp Business.

Запрос

Ответ

Подтвердите доставку после надежного сохранения события.

Пояснение

Прочитайте исходящее сообщение из whatsappMessage. Его поле type определяет объект с содержимым; в данном текстовом примере используется text.body. Маршрутизируйте это событие отдельно от whatsapp.smb.message.echoes, сохраняя общую логику парсинга сообщений там, где это применимо. Это события сосуществования Business App (coexistence), а не эхо-события Meta Business Agent.