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 | Номер телефона, на который было отправлено SMS-сообщение в формате 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 — Запрос отклонен сетью, проверка невозможна NotUnique — Запрос не выполнен, так как дублируется ранее отправленный notFound — Запись не найдена |
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 | Неожиданное значение данных Переданы некорректные или неожиданные данные |