HLR и SMS HTTP API

Формат взаимодействия

Запросы к API выполняются по протоколу HTTP. Входные и выходные структуры данных передаются в теле запроса и ответа в формате JSON.

Авторизация

Большинство вызовов HTTP API требуют процедур аутентификации и авторизации, которые связывают вызовы API с необходимыми приложениями в Вашей учетной записи.

Для этого каждый запрос должен содержать заголовок, либо аргумент X-Authorization с токеном соединения в формате AccessKey token,

Например заголовком:
POST /apps/activate HTTP/1.1
Host: api.unibell.ru
X-Authorization: AccessKey d8ac9959r12b43545da9034
или
Authorization: Basic d8ac9959r12b43545da9034

либо параметром:
POST api.unibell.ru/apps/activate?X-Authorization=AccessKey d8ac9959r12b43545da9034

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

JSON схема любого ответа содержит параметр status типа string со следующими значениями:

Значение statusОписание
okБез ошибок
invalidAccessKeyErrorНеверный AccessKey
requiredJsonErrorВ теле запроса требуется JSON
invalidSchemeErrorНеверная схема JSON
invalidDataErrorОшибочные входные данные
prohibitedForAppErrorЗапрещено для данного приложения
prohibitedForServiceErrorЗапрещено для данной услуги
rpcErrorКоммуникационная ошибка

Например:

    {
        …
        “status”: “ok”
        ....
    }

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

Запрос:

POST api.unibell.ru/hlr

    {
        "reference": "123456789",
        "msisdn": "7XXXXXXXXXX",
    }
ПараметрТипОписание
referencestringПользовательский параметр с которым будет вызван callback по результатам выполнения приложения
msisdnstringИсходящий номер

Ответ

    {
        “id”: “XXXXX”,
        “href”: “XXXXX”,
        “msisdn”: “XXXXX”,
        “reference”: “XXXXX”,
        “details”: {},
        “status”: “sent”,
        “createdDateTime”: “XXXX-XX-XX XX:XX:XX”,
        “statusDateTime”: “XXXX-XX-XX XX:XX:XX”,
    } 
ПараметрТипОписание
idstringУникальный идентификатор
msisdnstringИсходящий номер
referencestringПользовательский параметр с которым будет вызван callback по результатам выполнения приложения
detailsstring
statusstringСтатус HLR сообщения, для вновь созданного — sent
createdDateTimestringДата/время создания
statusDateTimestringДата/время получения статуса

Для получения результатов выполнения запроса может быть настроен callback по протоколу HTTP/HTTPS методом POST. Параметры передаются Content-Type: application/x-www-form-urlencoded.

ПараметрТипОписание
idstringУникальный идентификатор
msisdnstringИсходящий номер
referencestringПользовательский параметр с которым будет вызван callback по результатам выполнения приложения
detailsstring
statusstringСтатус HLR сообщения:
sent — отправлено,
active — номер активен,
absent — не активен,
failed — ошибка отправки,
unknown — неизвестно
networkErrCodestringОшибки SS7, см. ниже
imsiIMSI абонента
vlrVLR абонента
hlrHLR абонента
mccMCC сети
mncMNC сети
portedЯвляется ли абонент портированным в другую сеть
createdDateTimestringДата/время создания
statusDateTimestringДата/время получения статуса

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

Запрос:

POST/GET https://api.unibell.tech/sms_new?X-Authorization=AccessKey d8ac9959r12b43545XXXXX&destAddr=7917XXXXXXX&sourceAddr=XXXXX&short Message=Привет, как дела?

ПараметрТипОписание
destAddrstringНомер телефона, на который отправляется SMS-сообщение в формате e.164 для Российской Федерации
7XXXXXXXXXX
sourceAddrstringИмя отправителя
shortMessagestringТекст сообщения

Ответ:

{
“reference”: “5b922bba6be053cd6a2ecebb1a31438a”,
“status”: “ok”,
}
ПараметрТипОписание
statusstringСтатус запроса смотрите выше
referencestringУникальный идентификатор сообщения

Для получения результатов выполнения запроса может быть настроен callback (обратный вызов) по протоколу HTTP/HTTPS с помощью метода POST. Передаются параметры Content-Type: application/x-www-form-urlencoded.

ПараметрТипОписание
referencestringУникальный идентификатор сообщения
sourceAddrstringИмя отправителя
destAddrstringНомер телефона, на который отправляется SMS-сообщение в формате e.164 для Российской Федерации
7XXXXXXXXXX
statusstringСтатус SMS-сообщения
DELIVERED — доставлено
UNDELIVERABLE — не доставлено (уточнение в
коде сетевой ошибки)
REJECTED — отклонено с ошибкой (уточнение в
коде сетевой ошибки)
networkErrCodestringОшибки SS7, смотрите ниже
imsistringIMSI абонента
vlrstringVLR абонента
hlrstringHLR абонента
createdDateTimestringДата/время создания
statusDateTimestringДата/время получения статуса

Коды ошибок в статусе

Возможные коды ошибок в статусе SMS и HLR-запросов (значения networkErrCode).

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

КодНазваниеОписание
0Нет ошибкиАбонент существует и доступен
1Абонент не существуетУказанный номер телефона не существует
6Абонент не в сетиТелефон абонента отключен или находится вне зоны действия сети
11Нет услуги SMSОзначает, что абонент не может принять SMS-сообщение. Например, услуга не подключена, или абонент находится в роуминге, где не активирован прием сообщений, или у оператора абонента не налажен обмен SMS с текущим роуминговым оператором. Также это может быть городской номер без приема сообщений
12Ошибка в телефоне абонентаНе удается доставить сообщение абоненту из-за ошибки в телефонном аппарате или SIM-карте
13Абонент заблокированВозникает, например, если на счету абонента нулевой или отрицательный баланс, и он находится в роуминге, или заблокирован оператором за продолжительную неуплату либо добровольно самим абонентом. Также данная ошибка может возвращаться при повреждении SIM-карты либо неправильном вводе PIN и PUK-кодов SIM-карты
21Нет поддержки сервисаНет поддержки сервиса
На этой странице