В этой статье описывается 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.
Статусы доставки
- cancelled — отправка сообщения отменена
- delivered — сообщение доставлено адресату
- delayed — отправка сообщения отложена
- enqueued — сообщение находится в очереди на отправку
- expired — сообщение не получило статус delivered за период указанный в сообщении, либо не получило статус delivered в течении 24 часов с момента отправки
- failed — сообщение не было отправлено в результат сбоя
- no-match-template — сообщение не соответствует допустимому шаблону
- read — сообщение прочитано адресатом
- sent — сообщение отправлено адресату
- undelivered — сообщение отправлено, но не доставлено адресату
- error-subject-unknown — указанная подпись не разрешена клиенту.Необходимо предварительно зарегистрировать все подписи
- error-address-format – неправильный формат номера абонента
- duplicated — попытка отправки дубликата сообщения в течении 5 минут
Список может быть расширен. Требуется учесть это при интеграции.