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

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

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

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

Внимание, поддерживается только протокол HTTPS.

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

    {
        "requestId": null,
        "cascadeId": 1,
        "cascadeStageUUID": "001-test001",
        "subject": "test_subject",
        "subjectId": 23,
        "status": "FAILED",
        "statusAt": "2021-01-21T08:00:00Z",
        "comment": "Comment",
        "error": "error-subject-unknown"
    }

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

ПараметрТип данныхОписание
requestIdstringИдентификатор запроса, на основании которого было сформировано и отправлено сообщение
cascadeIdlongИдентификатор каскада
cascadeStageUUIDstringnull или данные
subjectstringНазвание подписи
subjectIdlongИдентификатор подписи. Его можно узнать через метод получения списка каналов
statusstringСтатус
statusAtstringВремя последнего обновления статуса сообщения. Указывается формате ISO 8601. Например, 2021-01-21T08:00:00Z
commentstring
(optional
Текстовый комментарий, указанный при отправке сообщения. Значение параметра также отображается в детальном отчете. Может использоваться для маршрутизации чатботов.
errorstring
(optional)
null или данные
Ошибка, возникшая при доставке сообщения

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

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

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

  • sent — сообщение отправлено адресату
  • delivered — сообщение доставлено адресату
  • read — сообщение прочитано адресатом
  • undelivered — сообщение отправлено, но не доставлено адресату
  • cancelled — отправка сообщения отменена
  • delayed — отправка сообщения отложена
  • enqueued — сообщение находится в очереди на отправку
  • expired — сообщение не получило статус delivered за период указанный в сообщении, либо не получило статус delivered в течении 24 часов с момента отправки
  • failed — сообщение не было отправлено в результат сбоя

Список может быть расширен. Требуется учесть это при интеграции.

Ошибки

  • not-whatsapp-user — (только для канала WhatsApp) указанный получатель не зарегистрирован в WhatsApp
  • no-match-template — сообщение не соответствует допустимому шаблону
  • session-not-started — сообщение не соответствует допустимому шаблону
  • daily-rate-limit — (только для канала WhatsApp) превышен суточный лимит WhatsApp на отправку шаблонных сообщений
  • too-long-message — длина сообщения превышает допустимый лимит
  • chat-window-closed — (только для канала WhatsApp) ошибка при открытие диалогового окна на стороне WhatsApp
  • media-request-failed — ошибка при загрузке файла
  • error-subject-unknown — указанная подпись не разрешена клиенту. Необходимо предварительно активировать все подписи
  • error-address-format – неправильный формат номера абонента
  • duplicated — попытка отправки дубликата сообщения в течении 5 минут

Список может быть расширен. Требуется учесть это при интеграции.

Ошибки при проверке каскада
Cледующая статья Получение сообщений