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

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


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

ОТПРАВКА СООБЩЕНИЙ

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

Комментарии в SMS-сообщениях

Отправка на группу номеров

Отправка HLR-запроса

Отправка e-mail сообщения

Отправка голосового сообщения (звонок)

Отправка viber-сообщения

Отправка сообщения в Telegram

Отправка сообщения в чат-бот Telegram

Использование префиксов при отправке сообщений

Управление шаблонами сообщений

Управление шаблонами операторов

Виртуальная отправка (режим тестирования)

Уведомления о событиях

УПРАВЛЕНИЕ РАССЫЛКАМИ

СТАТУСЫ СООБЩЕНИЙ

ПРОВЕРКА СОСТОЯНИЯ БАЛАНСА

УПРАВЛЕНИЕ КОНТАКТАМИ

УПРАВЛЕНИЕ КЛИЕНТАМИ

УПРАВЛЕНИЕ ИМЕНАМИ ОТПРАВИТЕЛЕЙ (SENDER ID)

ПОЛУЧЕНИЕ ДАННЫХ

РАЗНОЕ

Передача статусов и сообщений на обработчик Клиента

В личном кабинете Клиента в "Настройках пользователя" имеется возможность указания http(s)-адреса (URL) скрипта для обработки статусов доставки сообщений, входящих SMS-сообщений, а также служебных сообщений (при использовании услуги "Подтверждение номера с помощью звонка") на стороне Клиента. Указанный скрипт будет вызываться Сервером после каждого получения статуса доставки ранее отправленного Клиентом сообщения, после получения входящего SMS-сообщения от абонента или звонка от абонента (при использовании услуги "Подтверждение номера с помощью звонка").

В адресе обработчика можно указать параметр charset для выбора кодировки передаваемых параметров: ?charset=utf-8
?charset=koi8-r
?charset=windows-1251
По умолчанию используется кодировка windows-1251.

Также в адресе обработчика статусов и входящих сообщений можно передавать параметр fmt для указания формата возвращаемых параметров. Возможные значения: fmt=2 (для формата xml) и fmt=3 (для формата json). При передаче параметра fmt кодировка koi8-r не используется.

Для защиты передаваемых данных от подмены в адресе обработчика дополнительно можно указать любой из параметров md5, sha1, crc32, определяющих алгоритм подсчета контрольного параметра с хешем строки:
"id:phone:status:<секретная строка>" − для статуса доставки
"phone:mes:to:<секретная строка>" − для входящего сообщения
"phone:ts:<секретная строка>" − для подтверждения номера с помощью звонка
в виде:
?md5=<секретная строка>
?sha1=<секретная строка>
?crc32=<секретная строка>
В качестве символов секретной строки можно использовать латинские буквы, цифры, минус и подчеркивание. Обработчику будет передан соответствующий параметр, в котором секретная строка будет заменена на значение хеша передаваемых данных.

Все параметры передаются методом POST (для fmt=2 и fmt=3 параметры передаются в теле запроса). В случае необходимости передачи параметров, указанных в URL обработчика методом GET требуется прописать их специальным образом через символ "!" (например, в URL "https://mysite.ru/!param1&param2?param3&param4" параметры param1 и param2 будут переданы методом GET, а param3 и param4 методом POST).

Передаваемые параметры для статуса SMS-сообщения:

ПараметрЗначение
idИдентификатор сообщения.
phoneНомер телефона.
statusСтатус сообщения.
timeВремя изменения статуса (или доставки SMS-сообщения абоненту).
Формат: DD.MM.YY hh:mm:ss (по часовому поясу, указанному в настройках).
tsВремя изменения статуса в виде штампа в секундах.
errКод ошибки, если сообщение не может быть доставлено (список). Передается, если не равен нулю.
syserrДополнительная ошибка от оператора, присутствует не всегда.
cntКоличество частей (при отправке SMS-сообщения) либо количество секунд (при голосовом сообщении (звонке)).
typeТип сообщения (0 – SMS, 1 – Flash-SMS, 2 – Бинарное SMS, 3 – Wap-push, 4 – HLR-запрос, 5 – Ping-SMS, 6 – MMS, 7 – Звонок, 10 – Viber, 12 – Соцсети).
costСтоимость сообщения.
flagФлаг в виде 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 - рекламное.
senderИмя отправителя, отображаемое в телефоне получателя.
dtmfПоследовательность символов, набираемая абонентом на цифровой клавиатуре во время прослушивания голосового сообщения (звонка).
cmtКомментарии клиента, передаваемые при отправке сообщения. В случае возникновения overtime при голосовом сообщении он будет передан в комментарии отдельной строкой в виде "overtime: mm:ss".
md5MD5-хеш строки "id:phone:status:<секретная строка>". Передается, если был указан в качестве дополнительного параметра в http(s)-адресе обработчика.
sha1sha1-хеш строки "id:phone:status:<секретная строка>". Передается, если был указан в качестве дополнительного параметра в http(s)-адресе обработчика.
crc32Контрольная сумма crc32 строки "id:phone:status:<секретная строка>". Передается, если был указан в качестве дополнительного параметра в http(s)-адресе обработчика.
Дополнительные параметры для HLR-запросов
imsiУникальный код IMSI SIM-карты абонента.
mscНомер сервис-центра оператора, в сети которого находится абонент.
mccЧисловой код страны абонента.
mncЧисловой код оператора абонента.
cnНазвание страны регистрации абонента.
netНазвание оператора регистрации абонента.
rcnНазвание роуминговой страны абонента при нахождении в чужой сети.
rnetНазвание роумингового оператора абонента при нахождении в чужой сети.

Передаваемые параметры для входящего SMS-сообщения:

ПараметрЗначение
idУникальный идентификатор входящего сообщения, назначаемый Сервером автоматически.
sms_idИдентификатор сообщения, на которое получен ответ. Данный параметр отсутствует, если сообщение от абонента было отправлено на выделенный входящий номер либо при указании абонентом префикса "логин, двоеточие и пробел".
phoneНомер телефона абонента.
mesТекст SMS-сообщения.
toВходящий номер телефона, на который было отправлено сообщение абонентом.
smscSMS-центр оператора, от которого было получено входящее сообщение.
sentВремя отправки сообщения абонентом в виде штампа в секундах.
timeВремя получения сообщения Сервером в виде штампа в секундах.
md5MD5-хеш строки "phone:mes:to:<секретная строка>". Передается, если был указан в качестве дополнительного параметра в http(s)-адресе обработчика.
sha1sha1-хеш строки "phone:mes:to:<секретная строка>". Передается, если был указан в качестве дополнительного параметра в http(s)-адресе обработчика.
crc32Контрольная сумма crc32 строки "phone:mes:to:<секретная строка>". Передается, если был указан в качестве дополнительного параметра в http(s)-адресе обработчика.

Передаваемые параметры при использовании услуги "Подтверждение номера с помощью звонка":

ПараметрЗначение
waitcall1 – признак служебного сообщения для услуги "Подтверждение номера с помощью звонка".
phoneНомер телефона абонента, с которого поступил звонок.
tsВремя звонка.
md5MD5-хеш строки "phone:ts:<секретная строка>". Передается, если был указан в качестве дополнительного параметра в http(s)-адресе обработчика.
sha1sha1-хеш строки "phone:ts:<секретная строка>". Передается, если был указан в качестве дополнительного параметра в http(s)-адресе обработчика.
crc32Контрольная сумма crc32 строки "phone:ts:<секретная строка>". Передается, если был указан в качестве дополнительного параметра в http(s)-адресе обработчика.

Дополнительные параметры, передаваемые при использовании функции голосового меню в звонках:

ПараметрЗначение
calltime Время разговора, по истечении которого была нажата клавиша на цифровой клавиатуре телефона абонента или общее время разговора.
callmenuПоследовательность клавиш цифровой клавиатуры телефона, нажатые абонентом во время прохождения по голосовому меню.
ringtimeВремя ожидания поднятия трубки абонентом.

Помимо описанных выше стандартных параметров Сервер также будет передавать методом POST все параметры, указанные в http(s)-адресе обработчика после знака "?".

Для различия статуса сообщения, входящего SMS-сообщения или служебного сообщения (при использовании услуги "Подтверждение номера с помощью звонка") в одном обработчике можно выполнить проверку на наличие параметра mes (для входящего сообщения) и waitcall (для услуги подтверждения номера): if (isset($_POST["mes"])) {
   
// message
}
elseif (isset(
$_POST["waitcall"])) {
   
// confirmation
}
else {
   
// status
}

Пересылка статусов на обработчик Клиента осуществляется только при отправке сообщений по протоколам HTTP/HTTPS, SMTP или SMPP. При отправке сообщений с личного кабинета передача статусов на обработчик Клиента не происходит.

В случае если от обработчика Клиента вернется ответ с кодом ошибки, отличным от 200 или 404, то Сервер с определенной периодичностью будет повторять запрос на обработчик (1 запрос каждые 4 минуты, всего 50 попыток).