В этой статье описывается 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" }
Формат запроса
Параметр | Тип данных | Описание |
requestId | string | Идентификатор запроса, на основании которого было сформировано и отправлено сообщение |
cascadeId | long | Идентификатор каскада |
cascadeStageUUID | string | null или данные |
subject | string | Название подписи |
subjectId | long | Идентификатор подписи. Его можно узнать через метод получения списка каналов |
status | string | Статус |
statusAt | string | Время последнего обновления статуса сообщения. Указывается формате ISO 8601. Например, 2021-01-21T08:00:00Z |
comment | string (optional | Текстовый комментарий, указанный при отправке сообщения. Значение параметра также отображается в детальном отчете. Может использоваться для маршрутизации чатботов. |
error | string (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 минут
Список может быть расширен. Требуется учесть это при интеграции.