Отправка SMS-сообщения (smsOutMessage)

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

В результате выполнения запроса будет отправлено SMS-сообщение в соответствии с заданными параметрами (в теле запроса).

Номер телефона получателя в параметре address следует указывать без ведущего знака «+» перед номером. Например, вот так: 79000000000. Это касается как российских, так и международных номеров.

В случае успешного выполнения запроса вернется ответ от сервера с кодом 200, содержащий JSON с идентификатором SMS-сообщения и статусом его отправки. Если запрос содержит параметр serviceOnly (см. описание ниже), а сообщение не соответствует шаблону сервисного трафика, то в ответ на запрос придет ошибка BAD_REQUEST с кодом error-template-not-matched (см. описание кодов ошибок в этой статье). В случае неуспешного выполнения запроса возвращается сообщение с кодом ошибки 400 — некорректный идентификатор подписи.

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

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

Формат запроса

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

{
  "id": "test-001",
  "subject": "edna",
  "address": "79000000000",
  "priority": "high",
  "startTime": "2018-01-01 14:10:00",
  "validityPeriodSeconds": 300,
  "serviceOnly": "true",
  "contentType": "text",
  "content": "Hello, world!",
  "comment": "comment"
}

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

ПараметрТип данныхОписаний
idstring (required)Идентификатор SMS-сообщения. Генерируется сторонней системой, после чего значение должно быть передано в запрос.
subjectstring (required)Текст подписи
addressstring (required)Номер телефона, на который будет отправлено сообщение в формате 79ХХХХХХХХХ
prioritystring (optional)Приоритет сообщения, влияет на время доставки сообщения. Возможные значения:

realtime — сообщение должно быть доставлено немедленно
high — сообщение с высоким приоритетом
normal — сообщение со стандартным приоритетом
low — сообщение с низким приоритетом
startTimestring (optional)Время, раньше которого сообщение не будет отправлено. Используется при отложенной отправке. Указывается в следующем формате: ГГГГ-ММ-ДД ЧЧ:ММ:СС, например, 2018-01-01 14:10:00
validityPeriodSecondsint (optional)Время (в секундах), в течении которого должно быть доставлено SMS-сообщение. Если SMS не может быть доставлено в течение этого времени (например, абонент не доступен), значит оно не будет доставлено вовсе. Рекомендуется указывать значение не менее 5 минут. Если параметр не указан, то сообщение будет отправлено оператору со значением 12 часов.
serviceOnlybool (optional)Признак сервисного сообщения. Если в параметре передается значение true, то текст сообщения (параметр content) должен соответствовать одному из зарегистрированных шаблонов сервисного сообщения. В противном случае в ответ на запрос вернется ошибка.
contentTypestring (required)Тип содержимого сообщения. Единственное возможное значение: text (то есть можно отправлять только текстовые SMS).
contentstring (required)Текст сообщения. Если вы используете знаки двойные кавычки “ или одиночные кавычки ‘ в своем сообщении, то их обязательно нужно отделать знаком \ (слэш).
commentstring (optional)Комментарий к SMS. На текст отправляемого сообщения не влияет, но отображается в отчетах об отправленных SMS.
Создание и регистрация у операторов сотовой связи шаблонов для сервисных сообщений осуществляется в Web-интерфейсе SME и в описании API не рассматривается.

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

В ответ на запрос возвращается JSON-объект, содержащий Id отправленного SMS и статус его обработки.

{
  "id": "test-001",
  "code": "ok"
}

Параметры ответа

ПараметрТип данныхОписание
idint (required)Идентификатор SMS-сообщения
codestring (required)Код ответа для данного SMS. Возможные значения

Получение данных по отправителям (подписям) о тарифах на отправку сообщений (subjectTariffs)
Cледующая статья Получение статуса доставки SMS-сообщения (в smsOutMessage)