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"
}'
| Параметр | Тип | Описание |
|---|---|---|
| destAddr | string | Номер телефона, на который был отправлен HLR-запрос в формате e.164, например, для Российской Федерации 7XXXXXXXXXX |
Ответ при успешном выполнении запроса:
{
"status": "Created",
"requestId": "11273"
}
Ответ в случае отсутствия destAddr:
{
"status": "Rejected",
"error": "Missing destAddr param"
}
| Параметр | Тип | Описание |
|---|---|---|
| status | string | Статус запроса: Created — Сообщение в системе создано, но ещё не отправлено Rejected — Сообщение не было принято к отправке, уточнение ошибки в error prohibitedForServiceError — Ключ не принадлежит услуге HLR invalidAccessKeyError — Ошибка в ключе авторизации |
| requestId | string | Уникальный идентификатор запроса |
| error | string | Описание ошибок: 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"
}
| Параметр | Тип | Описание |
|---|---|---|
| id | integer | Уникальный идентификатор HLR |
| destAddr | string | Номер телефона, на который был отправлен HLR-запрос в формате e.164, например, для Российской Федерации 7XXXXXXXXXX |
| requestId | string | Уникальный идентификатор запроса |
| status | string | Статус запроса отправки HLR: Created — Запрос в системе создан, но ещё не отправлен Enroute — Запрос в обработке, ожидает проверки в сети Delivered — Телефон активен Expired — Истекло время ожидания ответа от сети Deleted — Запрос отменен до получения результата Undeliverable — Телефон не активен Accepted — Запрос отправлен, но результат от сети ещё не получен Unknown — Неизвестная ошибка Rejected — Запрос отклонен сетью, проверка невозможна notFound — Запись по запрошенному requestId отсутствует/не найдена |
| networkErrCode | string | Ошибки SS7, смотрите ниже |
| mcc | integer | Mobile Country Code – код страны |
| mnc | integer | Mobile Network Code – код мобильного оператора |
| ported | integer | Информация о том, был ли портирован номер: 1 — если номер был портирован 0 — если не был портирован |
| error | string | Описание ошибок: 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"
}
| Параметр | Тип | Описание |
|---|---|---|
| ported | integer | Информация о том, был ли портирован номер: 1 — если номер был портирован 0 — если не был портирован |
| mnc | integer | Mobile Network Code – код мобильного оператора |
| requestId | string | Уникальный идентификатор запроса |
| destAddr | string | Номер телефона, на который было отправлено HLR в формате e.164, например, для Российской Федерации 7XXXXXXXXXX |
| id | integer | Уникальный идентификатор HLR |
| networkErrCode | string | Ошибки SS7, смотрите ниже |
| mcc | integer | Mobile Country Code – код страны |
| status | string | Статус запроса отправки HLR-запросов: Created — Запрос в системе создан, но ещё не отправлен Enroute — Запрос в обработке, ожидает проверки в сети Delivered — Телефон активен Expired — Истекло время ожидания ответа от сети Deleted — Запрос отменен до получения результата Undeliverable — Телефон не активен Accepted — Запрос отправлен, но результат от сети ещё не получен Unknown — Неизвестная ошибка Rejected — Запрос отклонен сетью, проверка невозможна |
Коды ошибок в статусе
Возможные коды ошибок в статусе HLR (значения networkErrCode).
Все неуказанные коды считаются зависящими от поставщика и не обрабатываются отдельно.
| Код | Расшифровка | Описание |
|---|---|---|
| 1 | unknownSubscriber | Неизвестный абонент Абонент не зарегистрирован в сети |
| 5 | unidentifiedSubscriber | Неопознанный абонент Абонент зарегистрирован, но информация о нем отсутствует или недоступна |
| 9 | illegalSubscriber | Незаконный абонент Абоненту отказано в доступе из-за нарушения правил |
| 11 | teleserviceNotProvisioned | Телекоммуникационная услуга не представлена Абонент не подключен к запрашиваемой услуге |
| 13 | callBarred | Запрещенный вызов Запрет на вызов для данного абонента (например, из-за блокировки или ограничений тарифа) |
| 21 | facilityNotSupported | Услуга не поддерживается Запрошенная услуга недоступна для абонента или сети |
| 27 | adsentSubscriber | Адрес отправителя отсутствует Сообщение не доставлено из-за отсутствия данных об отправителе |
| 31 | subscriberBusyForMT-SMS | Абонент занят для получения MT-HLR Абонент не может принять HLR из-за занятости устройства |
| 32 | sm-DeliverFailure | Ошибка доставки HLR Общая ошибка, связанная с передачей HLR |
| 33 | messageWaitingListFull | Список ожидания сообщений переполнен В памяти устройства абонента нет места для новых сообщений |
| 34 | systemFailure | Системная ошибка Общая ошибка на стороне сети |
| 35 | dataMissing | Отсутствуют данные Не хватает информации для выполнения операции |
| 36 | unexpectedDataValue | Неожиданное значение данных Переданы некорректные или неожиданные данные |