HLR API

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

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

Запрос:

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

POST/GET https://api.unibell.ru/v2/hlr?X-Authorization=AccessKey d8ac9959r12b43545XXXXX&destAddr=7XXXXXXXXXX

А также в теле запроса:

{
    "destAddr": "7XXXXXXXXXX"
}

Пример запросов с использованием CURL:

curl --location --request POST 'https://api.unibell.ru/v2/hlr?X-Authorization=AccessKey%20d8ac9959r12b43545XXXXX&destAddr=7XXXXXXXXXX'
curl --location 'https://api.unibell.ru/v2/hlr' \
--header 'X-Authorization: AccessKey d8ac9959r12b43545XXXXX' \
--header 'Content-Type: application/json' \
--data '{
    "destAddr": "7XXXXXXXXXX"
}'
ПараметрТипОписание
destAddrstringНомер телефона, на который было отправлено SMS-сообщение в формате e.164, например, для Российской Федерации 7XXXXXXXXXX

Ответ при успешном выполнении запроса:

{
    "status": "Created",
    "requestId": "11273"
}

Ответ в случае отсутствия destAddr:

{
    "status": "Rejected",
    "error": "Missing destAddr param"
}
ПараметрТипОписание
statusstringСтатус запроса:
Created — Сообщение в системе создано, но ещё не отправлено
Rejected — Сообщение не было принято к отправке, уточнение ошибки в error
prohibitedForServiceError — Ключ не принадлежит услуге HLR
invalidAccessKeyError — Ошибка в ключе авторизации
requestIdstringУникальный идентификатор запроса
errorstringОписание ошибок:
Missing destAddr param — destAddr отсутствует в запросе

Получение статуса

Запрос:

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

GET https://api.unibell.ru/v2/hlr_status?X-Authorization=AccessKey d8ac9959r12b43545XXXXX&requestId=11273

А также в теле запроса:

{
    "requestId": "11273"
}

Пример запросов с использованием CURL:

curl --location 'https://api.unibell.ru/v2/hlr_status?X-Authorization=AccessKey%20d8ac9959r12b43545XXXXX&requestId=11273'
curl --location --request GET 'https://api.unibell.ru/v2/hlr_status' \
--header 'X-Authorization: AccessKey d8ac9959r12b43545XXXXX' \
--header 'Content-Type: application/json' \
--data '{
    "requestId": "11273"
}'

Тело ответа при успешном выполнении запроса:

{
    "id": 9654,
    "destAddr": "7XXXXXXXXXX",
    "requestId": "11273",
    "status": "Rejected",
    "networkErrCode": 34,
    "mcc": 0,
    "mnc": 0,
    "ported": 0
}

Ответ в случае отсутствия параметра requestId:

{
    "status": "Rejected",
    "error": "Missing requestId param"
}
ПараметрТипОписание
idintegerУникальный идентификатор HLR
destAddrstringНомер телефона, на который было отправлено HLR в формате e.164, например, для Российской Федерации 7XXXXXXXXXX
requestIdstringУникальный идентификатор запроса
statusstringСтатус запроса отправки HLR:
Created — Запрос в системе создан, но ещё не отправлен
Enroute — Запрос в обработке, ожидает проверки в сети
Delivered — Телефон активен
Expired — Истекло время ожидания ответа от сети
Deleted — Запрос отменен до получения результата
Undeliverable — Телефон не активен
Accepted — Запрос отправлен, но результат от сети ещё не получен
Unknown — Неизвестная ошибка
Rejected — Запрос отклонен сетью, проверка невозможна
NotUnique — Запрос не выполнен, так как дублируется ранее отправленный
notFound — Запись не найдена
networkErrCodestringОшибки SS7, смотрите ниже
mccintegerMobile Country Code – код страны
mncintegerMobile Network Code – код мобильного оператора
portedintegerИнформация о том, был ли портирован номер:
1 — если номер был портирован
0 — если не был портирован
errorstringОписание ошибок:
Missing requestId param — отсутсвтует requestId в запросе

Получение статусов запросов на Webhook

Источник запросов:

Webhook будут приходить с IP-адресов 185.175.44.211 и 46.148.235.62, которые необходимо включить в ACL на стороне веб-сервера клиента для обеспечения корректного взаимодействия.

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

Обратные вызовы выполняются по протоколу HTTP.

Данные передаются в формате JSON.

Настройка Webhook происходит по запросу в техническую поддержку.

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

Запрос отправляется в формате JSON, который имеет следующую структуру:

{
  "ported": 0,
  "mnc": 0,
  "requestId": "35714061",
  "destAddr": "7XXXXXXXXXX",
  "id": 639073386,
  "networkErrCode": 0,
  "mcc": 0,
  "status": "Delivered"
}
ПараметрТипОписание
portedintegerИнформация о том, был ли портирован номер:
1 — если номер был портирован
0 — если не был портирован
mncintegerMobile Network Code – код мобильного оператора
requestIdstringУникальный идентификатор запроса
destAddrstringНомер телефона, на который было отправлено HLR в формате e.164, например, для Российской Федерации 7XXXXXXXXXX
idintegerУникальный идентификатор HLR
networkErrCodestringОшибки SS7, смотрите ниже
mccintegerMobile Country Code – код страны
statusstringСтатус запроса отправки HLR-запросов:
Created — Запрос в системе создан, но ещё не отправлен
Enroute — Запрос в обработке, ожидает проверки в сети
Delivered — Телефон активен
Expired — Истекло время ожидания ответа от сети
Deleted — Запрос отменен до получения результата
Undeliverable — Телефон не активен
Accepted — Запрос отправлен, но результат от сети ещё не получен
Unknown — Неизвестная ошибка
Rejected — Запрос отклонен сетью, проверка невозможна

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

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

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

КодРасшифровкаОписание
1unknownSubscriberНеизвестный абонент
Абонент не зарегистрирован в сети
5unidentifiedSubscriberНеопознанный абонент
Абонент зарегистрирован, но информация о нем отсутствует или недоступна
9illegalSubscriberНезаконный абонент
Абоненту отказано в доступе из-за нарушения правил
11teleserviceNotProvisionedТелекоммуникационная услуга не представлена
Абонент не подключен к запрашиваемой услуге
13callBarredЗапрещенный вызов
Запрет на вызов для данного абонента (например, из-за блокировки или ограничений тарифа)
21facilityNotSupportedУслуга не поддерживается
Запрошенная услуга недоступна для абонента или сети
27adsentSubscriberАдрес отправителя отсутствует
Сообщение не доставлено из-за отсутствия данных об отправителе
31subscriberBusyForMT-SMSАбонент занят для получения MT-HLR
Абонент не может принять HLR из-за занятости устройства
32sm-DeliverFailureОшибка доставки HLR
Общая ошибка, связанная с передачей HLR
33messageWaitingListFullСписок ожидания сообщений переполнен
В памяти устройства абонента нет места для новых сообщений
34systemFailureСистемная ошибка
Общая ошибка на стороне сети
35dataMissingОтсутствуют данные
Не хватает информации для выполнения операции
36unexpectedDataValueНеожиданное значение данных
Переданы некорректные или неожиданные данные
На этой странице