• KB Home
  • SME API
  • SME API: SMS
  • Получение статуса доставки SMS-сообщения (в smsOutMessage)

Получение статуса доставки SMS-сообщения (в smsOutMessage)

Метод, описанный в этой статье, предназначен только для SME.

В результате выполнения запроса будет получен статус доставки SMS-сообщения с заданным идентификатором. В случае успешного выполнения запроса вернется ответ от сервера с кодом 200, содержащий JSON с данными о текущем статусе SMS-сообщения. В случае неуспешного выполнения запроса возвращается один из следующих кодов ошибки:

  • 400 — некорректный идентификатор SMS;
  • 404 — SMS с таким идентификатором не найдено.

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

Для отправки SMS выполняется GET-запрос на URL-адрес: https://sms.edna.ru/connector_sme/api/smsOutMessage/{smsOutMessageId}

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

Запрос имеет один обязательный параметр {smsOutMessageId}, который передается как часть URL. Это идентификатор SMS-сообщения.

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

В ответ на запрос возвращается JSON-объект с данными о доставке SMS-сообщения.

{
    "smsOutMessageId": "test-001",
    "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 возвращается, то все его вложенные значения являются обязательными.