• KB Home
  • SME API
  • SME API: SMS
  • Callback функция для передачи информации об изменении статуса доставки SMS (smsOutMessageDlvStatusCallback)

Callback функция для передачи информации об изменении статуса доставки SMS (smsOutMessageDlvStatusCallback)

Функция, описанная в этой статье, предназначена только для 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
    }
}

Параметры запроса

ПараметрТип данныхОписание
smsOutMessageIdstring (required)Идентификатор SMS-сообщения
dlvStatusstring (required)Статус сообщения. Возможные значения
dlvStatusAtstring (required)Время последнего обновления статуса сообщения. Указывается в следующем формате, например, 2014-07-17T12:00:00.000Z. Дата и время, разделенные буквой Т. «00.000» — количество секунд и миллисекунд. «Z» — означает время по UTC
dlvErrorstring (optional)Ошибка, возникшая при доставке SMS. Возможные значения
ratestring (required)Цена доставки одного SMS-сообщения (общая стоимость доставки вычисляется по количеству сегментов, см. ниже)
segment(optional)Структура с данными о количестве сегментов сообщения и статусе их доставки. Если текст сообщения превышает допустимое количество символов, то оно разбивается на сегменты и каждый сегмент будет отправлен как отдельное сообщение

Данные, вложенные в segment:

ПараметрТип данныхОписание
totalint (required)Общее количество SMS, на которые было разбито исходное сообщение
sentint (required)Количество SMS, отправленных на платформу оператора сотовой связи для доставки абоненту
deliveredint (required)Количество SMS, доставленных абоненту
undeliveredint (required)Количество SMS, не доставленных абоненту
unknownint (required)Количество SMS, статус которых неизвестен (и не будет известен)
Если сообщение состоит из одного сегмента (размер сообщения меньше допустимого), то параметр segment не передается и т.о. не является обязательным. Но если сообщение составное и значение segment передается в запросе, то все его вложенные значения являются обязательными.

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

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