Интеграция с сервисом (API)

API позволяет рассылать сообщения через ваши проекты и сервисы по протоколам HTTP/HTTPS, SMTP и SMPP. Готовые библиотеки на разных языках программирования подключаются к вашему проекту и помогают отправлять сообщения из любого места с помощью одной команды. Для упрощенной авторизации вместо пары логин и пароль можно использовать специальный API-ключ.


HTTP/HTTPS SMTP SMPP SOAP OMS SMS-команды Библиотеки и примеры кода

Проверка статуса

Получать статус доставки отправленного SMS-сообщения по SMPP-протоколу можно как в автоматическом режиме, получая от сервера ответную PDU-команду DELIVER_SM сразу после изменения статуса, так и по запросу отдельной командой QUERY_SM. Для автоматического получения статуса по SMPP-протоколу необходимо подключаться в режиме transceiver или receiver и при отправке SMS указывать флаг запроса статуса (registered_delivery). Если при отправке не указывать данный флаг, то статусы сообщений будут передаваться на HTTP-обработчик.

При автоматическом возврате статуса в команде DELIVER_SM передаются стандартные TLV-параметры receipted_message_id (<id>), message_state (числовой <status>) и network_error_code (<err>), а также дополнительные TLV-поля, описанные ниже:

Имя (код) поляРазмерТипОписание
8192 (0x2000)Var. max 6COctet StringСтоимость сообщения в формате "n.nnnn".
8193 (0x2001)2IntegerФлаг в виде 2-х байтового числа, содержащий различную информацию о сообщении. Возможны комбинации значений битов разных характеристик.

Биты 0-3 (тип сообщения):
0 (по умолчанию) – SMS.
1 – Flash-SMS.
2 – Бинарное SMS.
3 – Wap-push.
4 – HLR-запрос.
5 – Ping-SMS.
6 – MMS.
7 – Звонок.
8 – E-mail.
10 – Viber.
12 – Соцсети.


Бит 5 – оплата сообщения со второго баланса.
Бит 8 – признак шаблонного сообщения.

Биты 10,9 – тип шаблонного сообщения:
00 - сервисное.
01 - транзакционное.
10 - авторизационное.
11 - рекламное.
8194 (0x2002)2IntegerКоличество частей в сообщении.
8195 (0x2003)Var. max 5COctet Stringmccmnc код страны/оператора абонента.
8196 (0x2004)2IntegerДополнительный статус сообщения (2 – прочитано, 4 – нажата ссылка).

Также в команде DELIVER_SM передается текст статуса в следующем формате:
id:<id> sub:<sub> dlvrd:<dlvrd> submit date:<submit date> done date:<done date> stat:<status> err:<err>
Описание параметров:

ПараметрЗначение
idИдентификатор сообщения, назначенный сервером при отправке.
subКоличество SMS частей в отправленном сообщении.
dlvrdКоличество доставленных SMS.
submit dateДата отправки.
done dateДата изменения статуса.
statusСтатус сообщения в виде строки (DELIVRD, EXPIRED, UNDELIV).
errКод ошибки, если сообщение не может быть доставлено (список).

Пример результата строки статуса (Delivery Report): id:854019 sub:001 dlvrd:001 submit date:1108202241 done date:1108202241 stat:DELIVRD err:000

По умолчанию для длинных сообщений, разбиваемых на несколько SMS, сервер возвращает только один статус (DELIVER_SM) для всего склеенного сообщения и одинаковые ID в ответе SUBMIT_SM_RESP для всех SMS-частей данного сообщения. Для включения режима обработки и возврата статусов для каждой SMS-части отдельно установите следующий параметр в настройках подключения (либо в настройках личного кабинета): system-type = "SINGLE"
Если необходимо указать несколько параметров в поле system-type, то укажите их через запятую: system-type = "ISO,SINGLE"