Функция, описанная в этой статье, предназначена только для SME.
Вызов callback-функции, который передает на сервер клиента информацию об изменении статуса доставки SMS. Параметры запроса передаются в теле запроса и аналогичны ответу для метода (GET) smsOutMessage
. Адрес, на который должны приходить оповещения, нужно указать в личном кабинете.
URL-адрес подключения
Для создания callback-оповещения заполните поле Callback в личном кабинете в разделе «Профиль».
Формат запроса
В теле запроса передается JSON-объект с данными о доставке SMS-сообщения (аналогичный телу ответа на запрос (GET) smsOutMessage
).
{ "smsOutMessageId": "d290f1ee-6c54-4b01-90e6-d701748f0851", "dlvStatus": "undelivered", "dlvStatusAt": "2017-01-01T12:10:00.000Z", "dlvError": "absent-subscriber", "rate": "2.35", "segment": { "total": 2, "sent": 2, "delivered": 0, "undelivered": 2, "unknown": 0 } }
Параметры запроса
Параметр | Тип данных | Описание |
smsOutMessageId | string (required) | Идентификатор SMS-сообщения |
dlvStatus | string (required) | Статус сообщения. Возможные значения |
dlvStatusAt | string (required) | Время последнего обновления статуса сообщения. Указывается в следующем формате, например, 2014-07-17T12:00:00.000Z. Дата и время, разделенные буквой Т. «00.000» — количество секунд и миллисекунд. «Z» — означает время по UTC |
dlvError | string (optional) | Ошибка, возникшая при доставке SMS. Возможные значения |
rate | string (required) | Цена доставки одного SMS-сообщения (общая стоимость доставки вычисляется по количеству сегментов, см. ниже) |
segment | (optional) | Структура с данными о количестве сегментов сообщения и статусе их доставки. Если текст сообщения превышает допустимое количество символов, то оно разбивается на сегменты и каждый сегмент будет отправлен как отдельное сообщение |
Данные, вложенные в segment
:
Параметр | Тип данных | Описание |
total | int (required) | Общее количество SMS, на которые было разбито исходное сообщение |
sent | int (required) | Количество SMS, отправленных на платформу оператора сотовой связи для доставки абоненту |
delivered | int (required) | Количество SMS, доставленных абоненту |
undelivered | int (required) | Количество SMS, не доставленных абоненту |
unknown | int (required) | Количество SMS, статус которых неизвестен (и не будет известен) |
Если сообщение состоит из одного сегмента (размер сообщения меньше допустимого), то параметр
segment
не передается и т.о. не является обязательным. Но если сообщение составное и значение segment
передается в запросе, то все его вложенные значения являются обязательными. Формат ответа
В ответ на запрос возвращается только статус его выполнения с кодом 200.