API
API
API
API
API
API
API

BSG використовує HTTP-cookies (а також подібні або додаткові технології), щоб:
1) забезпечити безпечну, стабільну та доступну роботу сайту (через використання обов’язкових cookies) та
2) зрозуміти, як ви користуєтеся сайтом (через використання необов’язкових cookies) — з метою покращення вашого досвіду та надання персоналізованого контенту.

Інформація у cookie-файлах може бути пов’язана з вашими уподобаннями або пристроєм і допомагає сайту працювати так, як ви очікуєте. Зазвичай ці файли не ідентифікують вас безпосередньо, але дозволяють забезпечити більш персоналізовану взаємодію з сайтом.

Відповідно до вимог Загального регламенту про захист даних (GDPR), який регулює обробку та передачу персональних даних осіб у ЄС, ми надаємо вам можливість заборонити використання певних типів cookies під час відвідування нашого сайту.

Ознайомтеся з нашими Правилами використання cookies та Політикою конфіденційності, щоб дізнатися більше про те, як BSG збирає та використовує cookies.
Зверніть увагу, що заборона певних типів cookies може вплинути на роботу сайту та обмежити доступ до деяких сервісів. Оберіть відповідну категорію нижче, щоб дізнатися більше або вимкнути cookies.

Прийняти всі cookies*
*Рекомендовано для комфортного користування сайтом
Прийняти лише необхідні cookies
Прийняти лише вибрані cookies
Необхідні cookies
Соціальні мережі
Аналітика
Маркетинг

BSG переїхав на новий DevPortal
щоб швидше випускати найновіші версії One API

Використовуйте його для актуальних ендпоінтів, гайдів і журналів змін

Перейти на новий DevPortal
Документація для розробників
Number Intelligence

MNP

1. Загальна інформація

Сервіс MNP Lookup призначений для визначення поточного оператора обслуговування, країни та статусу перенесення мобільного номера.

Інтеграція доступна двома способами: через HTTP API та ENUM API.

Сервіс підтримує автентифікацію за IP-адресою та портом і надає тестові ендпоінти для перевірки коректності інтеграції.

2. HTTP API

2.1. Автентифікація

Запити до HTTP API потребують автентифікації, щоб ідентифікувати клієнта, повертати коректні результати та гарантувати безпеку.

Автентифікація базується на IP-адресі клієнта, вказаній у його профілі, та порті, який використовується під час запиту.

Перед використанням HTTP API для запитів MNP Lookup (як у тестовому, так і в продакшн-середовищі) клієнт має передати список IP-адрес своєму акаунт-менеджеру для автентифікації.

2.2. Формат запиту

Метод: GET / POST

Продакшн:

Домен: mnp.bsg.world
Порт: 5010
Синтаксис URL: https://mnp.bsg.world:5010/msisdn/{NUMBER}
Синтаксис URL (необовʼязково)* https://mnp.bsg.world:5010/msisdn/{NUMBER}/tariff/{TARIFF_ID}

*HTTP API також дозволяє обрати тариф, передавши його код у запиті (необовʼязково, лише для клієнтів із кількома тарифами).

Тестування:

Домен: mnp-test.bsg.world
Порт: 5012
Синтаксис URL: https://mnp-test.bsg.world:5012/msisdn/{NUMBER}

{NUMBER} — це MSISDN (номер телефону в міжнародному форматі) без знака «+».

{TARIFF_ID} — це код тарифу в системі BSG.

2.3. Отримання результату MNP Lookup для номера

Опис: Повертає інформацію про мобільний номер: країну, MCC/MNC, поточного оператора обслуговування, індикатор перенесення номера та додаткові атрибути (докладніше див. розділ 5).

2.3.1. Приклад запиту (продакшн):

Стандартний запит:

https://mnp.bsg.world:5010/msisdn/380123456789
              

Запит із тарифом (необовʼязково):

https://mnp.bsg.world:5010/msisdn/380123456789/tariff/22
              

2.3.2. Приклад запиту (тестування):

https://mnp-test.bsg.world:5012/msisdn/380123456789
              

2.3.3. Приклад відповіді

Успіх:

{
  "tn": "380123456789",
  "cc": "UA",
  "cn": "lifecell",
  "mcc": "255",
  "mnc": "06",
  "sii": 1,
  "npi": false,
  "nt": "mobile",
  "rc": "000"
}
              

Помилка (діапазони Reason Code 010 - 070):

{
  "rc": "010"
}
              

Примітка: визначення полів відповіді див. у розділах 5–6.

3. ENUM API

3.1. Автентифікація

Запити до ENUM API потребують автентифікації, щоб ідентифікувати клієнта, повертати коректні результати та гарантувати безпеку.

Автентифікація базується на IP-адресі клієнта, вказаній у його профілі, та порті, який використовується під час запиту.

Перед використанням ENUM API для запитів MNP Lookup (як у тестовому, так і в продакшн-середовищі) клієнт має передати список IP-адрес своєму акаунт-менеджеру для автентифікації.

3.2. Формат запиту

Продакшн:

IP-адреса сервера: 141.95.255.235
Порт: 5000
Синтаксис запиту: dig @141.95.255.235 -p 5000 -t naptr {NUMBER}.enum

Тестування:

IP-адреса сервера: 141.95.255.235
Порт: 5002
Синтаксис запиту: dig @141.95.255.235 -p 5002 -t naptr {NUMBER}.enum

{NUMBER} — це MSISDN (номер телефону в міжнародному форматі) без знака «+».

Примітка: MSISDN у запиті слід записати у зворотному порядку, розділяючи цифри крапками (напр., 380123456789 → 9.8.7.6.5.4.3.2.1.0.8.3.).

3.3. Отримання результату MNP для номера

Опис: Повертає інформацію про мобільний номер: країну, MCC/MNC, поточного оператора обслуговування, індикатор перенесення номера та додаткові атрибути (докладніше див. розділ 5).

3.3.1. Приклад запиту (продакшн):

dig @141.95.255.235 -p 5000 -t naptr 9.8.7.6.5.4.3.2.1.0.8.3.enum
              

3.3.2. Приклад запиту (тестування):

dig @141.95.255.235 -p 5002 -t naptr 9.8.7.6.5.4.3.2.1.0.8.3.enum
              

3.3.3. Приклад відповіді:

Успіх:

; <<>> DiG 9.20.4-3ubuntu1.2-Ubuntu <<>> @141.95.255.235 -p 5000 -t naptr 9.8.7.6.5.4.3.2.1.0.8.3.enum
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49443
;; flags: qr; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;9.8.7.6.5.4.3.2.1.0.8.3.enum.   IN      NAPTR

;; ANSWER SECTION:
9.8.7.6.5.4.3.2.1.0.8.3.enum. 300 IN    NAPTR   100 10 "U" "E2U+pstn:tel" "!^.*$!tn:380123456789;cc:UA;cn:lifecell;mcc:255;mnc:06;sii:2;npi:false;nt:mobile;rc:000!" .

;; Query time: 53 msec
;; SERVER: 141.95.255.235#5000(141.95.255.235) (UDP)
;; WHEN: Tue Aug 11 11:11:11 EEST 2025
;; MSG SIZE  rcvd: 167
              

Помилка (діапазони Reason Code 010 - 070):

; <<>> DiG 9.20.4-3ubuntu1.2-Ubuntu <<>> @141.95.255.235 -p 5000 -t naptr 9.8.7.6.5.4.3.2.1.0.8.3.enum
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30411
;; flags: qr; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;9.8.7.6.5.4.3.2.1.0.8.3.enum.   IN      NAPTR

;; ANSWER SECTION:
9.8.7.6.5.4.3.2.1.0.8.3.enum. 300 IN    NAPTR   100 10 "U" "E2U+pstn:tel" "!^.*$!rc:013!" .

;; Query time: 48 msec
;; SERVER: 141.95.255.235#5000(141.95.255.235) (UDP)
;; WHEN: Tue Aug 11 11:11:11 EEST 2025
;; MSG SIZE  rcvd: 78
              

Примітка: визначення полів відповіді див. у розділах 5–6.

4. Тестування налаштування інтеграції

Для перевірки інтеграції з HTTP та ENUM API доступні тестові ендпоінти. Вони дозволяють перевірити авторизацію, зʼєднання та коректність формату запитів і відповідей.

Як і в продакшні, доступ до тестового середовища надається лише попередньо переданим IP-адресам клієнта.

Примітка: подробиці про тестові ендпоінти див. у розділах 2.2. і 3.2.

Примітка: тестові відповіді не містять реальних даних абонентів і включають таку інформацію:

  • cc — реальний, визначається за префіксом запитуваного номера;

  • решта параметрів (cn, mcc, mnc, sii, npi, nt, rc тощо) — не реальні, тестові значення.

5. Поля відповіді MNP Lookup

Поле Тип Опис
tn string Telephone Number — номер телефону, для якого виконано запит
cc string Carrier Country — код країни у форматі ISO 3166-1 alpha-2 (напр., UA)
cn string Carrier Name — назва оператора
mcc string Mobile Country Code — мобільний код країни
mnc string Mobile Network Code — код мобільної мережі
sii integer Source Information Indicator — індикатор джерела інформації
1 — tn перевірено через HLR lookup; може надаватись актуальна маршрутна інформація
2 — tn перевірено через MNP lookup; може надаватись актуальна маршрутна інформація
3 — tn перевірено за даними маршрутизації BSG; доступна лише маршрутна інформація з глобальної бази нумерації
npi boolean Number Portability Indicator — індикатор перенесення номера
true — номер було перенесено
false — номер не було перенесено
nt string Number Type — тип номера
• mobile
• landline
rc string Reason Code — код причини (докладніше див. розділ 6)

6. Reason Code

Поле Reason Code rc надає додаткову інформацію про те, як запит було оброблено в системі BSG. Ці коди можуть вказувати на причини помилки (наприклад, некоректну довжину номера) або містити іншу корисну інформацію.

У таблиці нижче наведено поточні значення поля; перелік розширюватиметься з появою нових кодів причин або сервісів.

Код Опис Коментар
000 SUCCESS Успішний запит
010 ERROR_AUTH Помилка авторизації, перевірте параметри
011 ERROR_SYSTEM Внутрішня помилка системи BSG. Зазвичай це тимчасове явище
012 ERROR_INVALID_ MSISDN Некоректна послідовність цифр номера; невідомі країна та оператор
013 ERROR_INVALID_ MSISDN_LENGTH Довжина номера не відповідає стандартній довжині для вказаної країни
014 ERROR_INVALID_ MSISDN_MCC Перевірка номера повернула результат з неочікуваним MCC для вказаної країни
015 ERROR_INVALID_ BY_WRONG_PREFIX Номер належить до недійсного або нерозподіленого діапазону нумерації
016 ERROR_INVALID_ USER_TARIFF У запиті вказано код тарифу, який не призначено клієнту, або для сервісу не призначено жодного тарифу

Зацікавлені у спеціальній пропозиції?

Готові розширювати можливості?
Давайте обговоримо.

Надіслати

Корисні Матеріали

WhatsApp Business API: повний гайд — налаштування, ціни, сценарії [2026]
WhatsApp Business API: повний гайд — налаштування, ціни, сценарії використання [2026]

WhatsApp Business API у 2026 — кроки налаштування, нова модель тарифікації за повідомлення та перевірені сценарії використання за галузями.

Що таке CPaaS? Повний бізнес-гайд із Communications Platform as a Service
Що таке CPaaS? Повний бізнес-гайд із Communications Platform as a Service

Що таке CPaaS? Хмарний API-шар, що додає SMS, WhatsApp, голос та OTP у ваші застосунки — як це працює і чому це краще за стек із кількох вендорів.

Один комунікаційний API для SMS, WhatsApp, Viber і RCS — чому він кращий за пʼять
Один комунікаційний API для SMS, WhatsApp, Viber та RCS — чому він кращий за пʼять

Чому один комунікаційний API для SMS, WhatsApp, Viber та RCS кращий за пʼять окремих інтеграцій — каскадний fallback, єдині звіти.