Вебхуки

Вебхуки — как получать статусы доставки и входящие сообщения

Вебхуки

Коротко: вебхук — это URL на вашей стороне, куда платформа отправляет статусы сообщений и входящие ответы от контактов.

Кому подходит

  • Роль: Разработчик
  • Уровень: Опытный

Что это

Вебхук — механизм push-уведомлений. Вместо того чтобы постоянно опрашивать API, вы получаете данные автоматически: платформа сама отправляет POST-запросы на ваш URL.

Что приходит на вебхук

СобытиеЧто содержит
messageStatusСтатус отправленного сообщения
messageВходящее сообщение от контакта

Где указать URL вебхука

Вебхук можно указать в трёх местах (в порядке приоритета):

  1. Поле webhook в теле запроса — для конкретного сообщения.
  2. Настройки имени отправителя — для всех сообщений от этого имени.
  3. Настройки API-ключа — для всех сообщений по этому ключу.

Поля статуса сообщения

Приходит в поле message:

ПолеЧто содержит
messageIdУникальный ID сообщения
omniTransactionIdID транзакции (может быть пустым)
channelНомер канала
senderIdID отправителя
statusСтатус
timestampВремя события
contactНомер получателя
costСтоимость
clientInfoПользовательское поле

Возможные статусы

СтатусЧто означает
sentСообщение отправлено
failedОшибка отправки
deliveredСообщение доставлено
undeliverableНе удалось доставить
displayedСообщение просмотрено
unknownНеизвестный статус

Поля входящего сообщения

Приходит в поле message:

ПолеЧто содержит
messageIdУникальный ID
omniTransactionIdID транзакции
timestampВремя
channelТип канала
senderIdID отправителя
contactНомер отправителя
payloadСодержимое сообщения
statusСтатус (может быть пустым)
webhookURL вебхука

Как настроить

  1. Создайте endpoint на вашей стороне, который принимает POST-запросы.
  2. Убедитесь, что endpoint доступен из интернета.
  3. Укажите URL в настройках API-ключа или имени отправителя.
  4. Проверьте, что запросы приходят.

Формат запроса от платформы

Метод: POST

Тело: JSON с полями event и message.

Безопасность

Рекомендуется:

  • Использовать HTTPS.
  • Проверять источник запросов.
  • Логировать все входящие вебхуки.

Частые проблемы

СимптомПричинаРешение
Вебхук не приходитURL недоступенПроверьте доступность
Вебхук не приходитFirewall блокируетРазрешите IP платформы
ДублированиеRetry-логикаИспользуйте messageId как ключ
Медленная обработкаТяжёлые операцииОтвечайте 200 сразу, обрабатывайте асинхронно

См. также

Нужна помощь?