Перейти к основному содержимому

Получение статусов сообщений

Обновлено: 25 апреля 2022

В этой статье описывается callback-метод для передачи информации об изменении статусов обработки и доставки сообщений.

к сведению

Callback — это запрос с информацией об изменении статусов сообщений, который мы передадим на ваш сервер. Параметры запроса передаются в теле запроса

URL-адрес подключения

warning

Поддерживается только протокол HTTPS

Для получения сallback-статусов сообщений при регистрации укажите API Endpoint вашей системы, который будет обрабатывать входящие POST-запросы от API edna.

Пример тела входящего POST-запроса

{
"requestId": "test-00135",
"messageId": 8681748,
"cascadeId": 11,
"cascadeStageUUID": "001-test001",
"subject": "test_subject",
"subjectId": 2,
"status": "DELIVERED",
"statusAt": "2025-01-30T11:07:55Z",
"error": null,
"comment": null,
"paymentData": {
"@type": "WhatsAppConversationPaymentData",
"conversationId": "test0001",
"conversationType": "marketing",
"chargeable": true,
"type": "WHATSAPP_CONVERSATION"
}
}

Формат запроса

ПараметрТип данныхХарактерОписание
requestIdstringОбязательныйИдентификатор запроса, на основании которого формируется и отправляется сообщение.
cascadeIdlongОбязательныйИдентификатор каскада.
cascadeStageUUIDstringОбязательныйnull или данные.
subjectstringОбязательныйНазвание подписи.
subjectIdlongОбязательныйИдентификатор подписи. Можно узнать через метод получения списка каналов.

File IconПолучение списка каналов
statusstringОбязательныйСтатус сообщения.
statusAtstringОбязательныйВремя последнего обновления статуса сообщения. Указывается в формате ISO 8601. Например: 2023-10-31T11:07:56Z.
errorstringНеобязательныйnull или данные. Ошибка при доставке сообщения.
commentstringНеобязательныйТекстовый комментарий. Указывается при отправке сообщения. Значение параметра также отображается в детальном отчете. Может использоваться для маршрутизации чат-ботов.
paymentDataobjectОбязательныйНабор параметров для канала WhatsApp, которые передают информацию о диалоге.
conversationIdstringОбязательныйИдентификатор диалога. Передается для канала WhatsApp.
conversationTypestringОбязательныйКатегория диалога. Передается для канала WhatsApp.
chargeablebooleanНеобязательныйТип диалога: платный или бесплатный. Передается для канала WhatsApp для статусов DELIVERED и READ.
messageIdintegerОбязательныйВнутренний идентификатор сообщения.

Формат ответа

В ответ на запрос от вашего сервера должен возвращаться статус его выполнения с кодом 200.

Если в ответ на callback-запрос не возвращается статус с кодом 200 — edna Pulse выполняет еще 10 попыток отправки вебхук-запроса с интервалом 2^Х секунд между попытками (где Х — номер попытки), пока в ответ не придет код 200.

подсказка

Таким образом, при отсутствии ответа запрос повторяется через 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 секунд после первой попытки.

Статусы доставки

СтатусОписание
SENTСообщение отправлено адресату.
DELIVEREDСообщение доставлено адресату.
READСообщение прочитано адресатом.
UNDELIVEREDСообщение отправлено, но не доставлено адресату.
CANCELLEDОтправка сообщения отменена.
EXPIREDСообщение не получило статус DELIVERED, поскольку:

- истекло время, указанное при настройке каскада;

- истекло время на доставку сообщения (TTL), определенное каналом по умолчанию

File IconСроки доставки сообщений
FAILEDОшибка обработки сообщения.
к сведению

При интеграции учитывайте, что список статусов может быть расширен

Пример уведомления

{
"requestId": "test-00136",
"messageId": 8681749,
"cascadeId": 11,
"cascadeStageUUID": "001-test001",
"subject": "test_subject",
"subjectId": 2,
"status": "READ",
"statusAt": "2025-01-30T11:07:57Z",
"error": null,
"comment": null
}

Ошибки при получении статусов сообщений

ОшибкаОписание
not-template-matchСообщение не соответствует допустимому шаблону.
too-long-messageДлина сообщения превышает допустимый лимит.
media-request-failedОшибка загрузки файла.
error-subject-unknownУказанная подпись не разрешена клиенту. Предварительно активируйте все подписи.
error-address-formatНеправильный формат номера абонента.
duplicatedПопытка отправки дубликата сообщения в течение 5 минут.

         


осторожно

* Деятельность компании Meta запрещена на территории Российской Федерации.