Skip to main content

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

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

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

info

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.

info

То есть каждые 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 секунд

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

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

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

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

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

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

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

{
"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-WhatsApp-userУказанный получатель не зарегистрирован в WhatsApp.
no-template-matchСообщение не соответствует допустимому шаблону.
session-not-started Сообщение отправляется не в рамках 24-часового диалога и не соответствует допустимому шаблону.
daily-rate-limitПревышен суточный лимит WhatsApp на отправку шаблонных сообщений. Только для канала WhatsApp.
too-long-messageДлина сообщения превышает допустимый лимит.
chat-window-closedОшибка открытия диалогового окна на стороне WhatsApp.
media-request-failedОшибка загрузки файла.
error-subject-unknownУказанная подпись не разрешена клиенту. Необходимо предварительно активировать все подписи.
error-address-formatНеправильный формат номера абонента.
duplicatedПопытка отправки дубликата сообщения в течение 5 минут.
message-undeliverableНе удалось доставить сообщение получателю. Возможные причины:

- Номера телефона получателя нет в WhatsApp.

- Получатель не принял новые версии пользовательского соглашения и политики конфиденциальности WhatsApp.

- Получатель использует старую версию WhatsApp. Используйте WhatsApp версии 2.21.15.15 (Android) или 2.21.170.4 (iOS) и выше.

- Отправка авторизационных сообщений получателям с кодом +91 (Индия) недоступна.

developers.facebook.com
spam-rate-limit-hitНе удалось доставить сообщение получателю, так как многие предыдущие сообщения были заблокированы или отмечены как спам.
marketing-template-undeliverableНе удалось доставить сообщение получателю. Для получателя достигнут лимит доставки маркетинговых сообщений*. Попробуйте отправить сообщение позже.

developers.facebook.com

 
 
 
 
 


danger

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