Почетак рада

Глобална инфраструктура мобилне мреже функционише на систему познатом као SS7 сигнализациона мрежа. Ова мрежа омогућава размену података о претплатницима, рутирање позива, пренос SMS порука и ажурирање статуса мобилне повезаности у реалном времену између оператера. Свака мобилна мрежа одржава Home Location Register (HLR) - централну базу података која чува кључне информације о својим претплатницима.

HLR Lookup технологија омогућава предузећима да упитују ове регистре и преузму податке о повезаности и мрежи у реалном времену за било који мобилни број. Ово укључује информације да ли је телефон укључен, којој мрежи је тренутно додељен, да ли је пренет, да ли је број важећи или деактивиран и да ли је у роумингу.

HLR Lookups API пружа беспрекоран приступ овим подацима у реалном времену, омогућавајући предузећима да верификују мобилне бројеве, оптимизују рутирање и унапреде комуникацију са клијентима. Ова документација ће вас водити кроз интеграцију HLR Lookups у ваш софтвер, омогућавајући аутоматско преузимање мобилних података у реалном времену.

Коришћење HLR Lookups API-ја

Извршавање HLR Lookup упита је брзо, сигурно и једноставно. Након што се региструјете и добијете свој API кључ, можете се аутентификовати и покренути тренутне упите једноставним HTTP POST захтевима, преко POST /hlr-lookup. Алтернативно, можете обрађивати велике скупове података бирајући брзе асинхроне API захтеве са резултатима који се шаљу назад на ваш сервер преко webhook-а, као што је објашњено у одељку концепти.

Пример захтева

curl -X POST 'https://www.hlr-lookups.com/api/v2/hlr-lookup' \
          -H "X-Digest-Key: YOUR_API_KEY" \
          -H "X-Digest-Signature: DIGEST_AUTH_SIGNATURE" \
          -H "X-Digest-Timestamp: UNIX_TIMESTAMP" \
          -d "@payload.json"

Аутентификација се врши преко HTTP заглавља, а payload.json треба (минимално) да садржи следећи JSON објекат:

Пример садржаја

{
   "msisdn": "+14156226819"
}

Након успешног извршења, добићете одговор који садржи детаље о повезаности у реалном времену за наведени мобилни број.

Успешан одговор application/json

{
   "id":"f94ef092cb53",
   "msisdn":"+14156226819",
   "connectivity_status":"CONNECTED",
   "mccmnc":"310260",
   "mcc":"310",
   "mnc":"260",
   "imsi":"***************",
   "msin":"**********",
   "msc":"************",
   "original_network_name":"Verizon Wireless",
   "original_country_name":"United States",
   "original_country_code":"US",
   "original_country_prefix":"+1",
   "is_ported":true,
   "ported_network_name":"T-Mobile US",
   "ported_country_name":"United States",
   "ported_country_code":"US",
   "ported_country_prefix":"+1",
   "is_roaming":false,
   "roaming_network_name":null,
   "roaming_country_name":null,
   "roaming_country_code":null,
   "roaming_country_prefix":null,
   "cost":"0.0100",
   "timestamp":"2020-08-07 19:16:17.676+0300",
   "storage":"SYNC-API-2020-08",
   "route":"IP1",
   "processing_status":"COMPLETED",
   "error_code":null,
   "error_description":null,
   "data_source":"LIVE_HLR",
   "routing_instruction":"STATIC:IP1"
}

За потпуну спецификацију атрибута захтева и одговора и статуса повезаности, погледајте POST /hlr-lookup.

Додатне услуге упита

Упити о преносивости мобилног броја (MNP)

Користите MNP упите да утврдите власништво над мрежом и детаље о преносивости без упита о повезаности у реалном времену. Ако вам је потребан само MCCMNC броја, погледајте POST /mnp-lookup.

Упити за откривање типа броја (NT)

Утврдите да ли телефонски број припада фиксној линији, мобилном, премијум тарифи, VoIP-у, пејџеру или другим опсезима нумеричког плана помоћу POST /nt-lookup.

Пакети за развој софтвера (SDK)

HLR Lookups API ради са било којим REST клијентом у било ком програмском језику и објавили смо SDK-ове за PHP, Ruby и NodeJS на нашем GitHub-у да вам помогнемо да брзо почнете.

Алати

Да бисмо обезбедили беспрекорно искуство развоја, нудимо свеобухватан сет алата, укључујући праћење API захтева и webhook-ова у прегледачу, белу листу IP адреса, робусне опције аутентификације и тестну тачку за аутентификацију.

Нисте програмер?

HLR Lookups и упити о преносивости броја могу се извршити без икаквог програмирања. Сазнајте више о нашем корпоративном веб клијенту и функцијама извештавања у прегледачу.

Аутентификација

Да би се обезбедила сигурност и правилна контрола приступа, већина захтева према HLR Lookups API-ју захтева аутентификацију. Крајње тачке су категорисане као јавне или заштићене. Приликом приступа заштићеној крајњој тачки, ваш захтев мора бити аутентификован коришћењем вашег API кључа и тајне путем Digest-Auth или Basic-Auth методе. Digest-Auth је сигурнија опција и снажно се препоручује. Користите GET /auth-test крајњу тачку да верификујете вашу аутентификациону поставку.

API кључ и API тајна

Преузмите ваш API кључ и тајну са странице API подешавања. Такође можете конфигурисати вашу преферирану методу аутентификације и омогућити белу листу IP адреса за побољшану сигурност. Уколико сумњате да је ваша API тајна компромитована, можете генерисати нову у било ком тренутку.

Преузми API кључ
Basic аутентификација Digest аутентификација IP белилиста

Стандардна Basic аутентификација је једноставна за имплементацију и широко подржана. Можете се аутентификовати прослеђивањем вашег API кључа и тајне као user:pass пара у HTTP захтеву.

HTTP Basic аутентификација

curl 'https://YOUR_API_KEY:YOUR_API_SECRET@www.hlr-lookups.com/api/v2/auth-test'

Ово шаље Authorization заглавље:

Authorization: Basic BASE64(YOUR_API_KEY:YOUR_API_SECRET)

Препоручено: X-Basic заглавље са SHA256

За побољшану сигурност, можете послати SHA256 хеш ваших акредитива уместо њиховог директног преноса као base64. Да користите ову методу, израчунајте хеш вашег YOUR_API_KEY:YOUR_API_SECRET пара и пошаљите га путем X-Basic заглавља:

Basic аутентификациони захтев

curl 'https://www.hlr-lookups.com/api/v2/auth-test' \
  -H "X-Basic: BASIC_AUTH_HASH"

Basic аутентификациона заглавља

Кључ Тип Опис
X-Basic string SHA256 хеш од YOUR_API_KEY:YOUR_API_SECRET. Укључите симбол двотачке (:) у хеш. обавезно

PHP Пример кода

$key = 'YOUR_API_KEY';
$secret = 'YOUR_API_SECRET';

$basicAuthHash = hash('sha256', $key . ':' . $secret);

Digest-Auth је препоручена метода за обезбеђивање приступа заштићеним HLR Lookup API крајњим тачкама. Сваки захтев мора садржати следећа заглавља: X-Digest-Key, X-Digest-Signature и X-Digest-Timestamp, која су објашњена у наставку.

Пример захтева

curl 'https://www.hlr-lookups.com/api/v2/auth-test' \
  -H "X-Digest-Key: YOUR_API_KEY" \
  -H "X-Digest-Signature: DIGEST_AUTH_SIGNATURE" \
  -H "X-Digest-Timestamp: UNIX_TIMESTAMP"

Заглавља захтева

Кључ Тип Опис
X-Digest-Key string Ваш јединствени HLR Lookups API кључ. обавезно
X-Digest-Signature string Јединствени аутентификациони потпис (погледајте испод). обавезно
X-Digest-Timestamp integer Тренутни Unix временски печат (такође погледајте GET /time). обавезно

Креирање потписа

X-Digest-Signature се креира коришћењем SHA256 HMAC хеша, са вашом API тајном као дељеним кључем.

Стринг за хеширање је структуриран на следећи начин:

ENDPOINT_PATH . UNIX_TIMESTAMP . REQUEST_METHOD . REQUEST_BODY

. симбол представља конкатенацију стрингова.

Компоненте Digest потписа

Компонента Тип Опис
ENDPOINT_PATH string Захтевана API крајња тачка, нпр. /auth-test малим словима.
UNIX_TIMESTAMP integer Тренутни Unix временски печат (мора бити у оквиру 30 секунди). Погледајте GET /time.
REQUEST_METHOD string Коришћена HTTP метода, нпр. POST или GET.
REQUEST_BODY string Подаци тела захтева. Поставите на null за GET захтеве.

Примери кода

PHP PHP NodeJS NodeJS Ruby Ruby
$path = '/auth-test'
    $timestamp = time();
    $method = 'GET';
    $body = $method == 'GET' ? null : json_encode($params);
    $secret = 'YOUR_API_SECRET';

    $signature = hash_hmac('sha256', $path . $timestamp . $method . $body, $secret);
require('crypto');

    let path = '/auth-test'
    let timestamp = Date.now() / 1000 | 0;
    let method = 'GET'
    let body = method === 'GET' ? '' : JSON.stringify(params)
    let secret = 'YOUR_API_SECRET'

    let signature = crypto.createHmac('sha256', secret)
                    .update(path + timestamp + method + body)
                    .digest('hex');
require 'openssl'

path = '/auth-test'
timestamp = Time.now.to_i
method = 'GET'
body = method == 'GET' ? NIL : params.to_json
secret = 'YOUR_API_SECRET'

signature = OpenSSL::HMAC.hexdigest('sha256', secret, path + timestamp.to_s + method + body.to_s)

Користите API подешавања да ограничите приступ на специфичне IP адресе за побољшану сигурност. Ово се посебно препоручује у продукционим окружењима.

Помери нагоре

Концепти

Имплементација HLR претрага у било ком програмском језику или систему преко нашег HTTP REST API-ја је једноставна и ефикасна. Уз једноставан процес интеграције, можете започети упите мобилних мрежа у реалном времену за тренутне увиде у валидност телефонских бројева, статус повезаности и детаље рутирања.

Избор одговарајућег API-ја зависи од вашег специфичног случаја употребе. Ако вам је потребан резултат претраге у реалном времену за апликације као што су VoIP телефонија, откривање превара или SMS рутирање, синхрони API је најбољи избор. Међутим, ако ваш случај употребе укључује обраду великих количина података, масовне претраге или верификацију података у великом обиму, асинхрони API нуди оптимизоване перформансе са ефикасношћу пропусног опсега и могућностима групних претрага.

Конфигуришите API да користи једну од наших прилагођених опција рутирања за оптимизацију брзине, тачности и исплативости. Такође можете чувати резултате претрага у складиштима за једноставно преузимање CSV и JSON извештаја, као и напредну аналитику преко веб интерфејса.

Синхрони HLR Lookup API

POST /hlr-lookup крајња тачка обрађује један број мобилног телефона (MSISDN) по захтеву и враћа резултате тренутно у телу HTTP одговора. Резултати су форматирани као JSON и идеални су за апликације у реалном времену, укључујући валидацију мобилних бројева, рутирање позива и испоруку SMS порука.

Синхрони API позив се састоји од директног HTTP захтева и одговора. Ваш систем шаље један MSISDN (мобилни број) по захтеву и прима тренутан одговор који садржи резултате HLR претраге у реалном времену у JSON формату. Овај API је оптимизован за случајеве употребе који захтевају тренутну верификацију и провере повезаности, као што су откривање превара, VoIP рутирање позива и оптимизација SMS gateway-а.

Асинхрони HLR Lookup API

POST /hlr-lookups крајња тачка је дизајнирана за масовну обраду великих количина података, омогућавајући вам да пошаљете до 1,000 MSISDN-ова по захтеву. Уместо да враћа резултате тренутно, овај API користи аутоматизоване webhook-ове да шаље резултате прогресивно на ваш сервер. Резултати претрага се враћају као JSON објекти преко HTTP POST callback-ова.

Асинхрони API је оптимизован за брзину, ефикасност и скалабилност. Елиминише проблеме мрежног кашњења повезане са синхроним позивима, чинећи га идеалним за предузећа која захтевају претраге високог протока. Ваш систем шаље до 1,000 MSISDN-ова по захтеву, а наша платформа их обрађује паралелно, достављајући резултате назад на ваш сервер преко HTTP webhook-ова у групама од до 1,000 резултата по callback-у.

SDK-ови (Комплети за развој софтвера)

Наши комплети за развој софтвера (SDK-ови) за PHP, NodeJS и Ruby поједностављују процес интеграције, омогућавајући вам да се ефикасно и са минималним напором повежете са HLR Lookups API-јем.

Ови SDK-ови пружају унапред изграђене функције, управљање аутентификацијом и структуриране шаблоне API захтева, смањујући време развоја и обезбеђујући најбоље праксе.

Погледајте комплетну листу доступних SDK-ова на GitHub-у и започните интеграцију данас.

PHP PHP NodeJS NodeJS Ruby Ruby
PHP лого

PHP SDK

Тренутна API интеграција за PHP
1   include('HLRLookupClient.class.php');
2
3   $client = new HLRLookupClient(
4       'YOUR-API-KEY',
5       'YOUR-API-SECRET',
6       '/var/log/hlr-lookups.log'
7   );
8
9   $params = array('msisdn' => '+14156226819');
10  $response = $client->post('/hlr-lookup', $params);
NodeJS лого

NodeJS SDK

Тренутна API интеграција за NodeJS
1   require('node-hlr-client');
2
3   let response = await client.post('/hlr-lookup', {msisdn: '+491788735000'});
4
5   if (response.status === 200) {
6      // lookup was successful
7      let data = response.data;
8   }
Ruby лого

Ruby SDK

Тренутна API интеграција за Ruby
1   require 'ruby_hlr_client/client'
2
3   client = HlrLookupsSDK::Client.new(
4       'YOUR-API-KEY',
5       'YOUR-API-SECRET',
6       '/var/log/hlr-lookups.log'
7   )
8
9   params = { :msisdn => '+14156226819' }
10  response = client.get('/hlr-lookup', params)
Помери нагоре

POST/hlr-lookupзаштићено

Извршава синхрону HLR претрагу, пружајући податке о повезаности и преносивости мобилних телефона у реалном времену директно од мрежних оператера. Овај крајњи ресурс је идеалан за сценарије уживо саобраћаја где временски осетљиве апликације захтевају тренутну верификацију да ли је телефонски број тренутно доступан (повезан) или недоступан (искључен). Додатно, помаже у разликовању активних бројева од неважећих, непознатих или лажних.

За масовну обраду великих скупова података који не захтевају тренутне резултате, размотрите коришћење асинхроног POST /hlr-lookups, који је оптимизован за брзу серијску обраду.

Ако је ваш примарни фокус преузимање података о преносивости мобилних бројева (MCCMNC) и не захтевате статус повезаности уживо, POST /mnp-lookup пружа исплативу алтернативу за упите о преносивости мобилних бројева.

Захтев Успешан одговор Одговор са грешком Референца статуса
curl -X POST 'https://www.hlr-lookups.com/api/v2/hlr-lookup' \
          -d "@payload.json"

Садржај

{
   "msisdn":"+14156226819",
   "route":null,
   "storage":null
}

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
msisdn string Број мобилног телефона (MSISDN) који се претражује, наведен у међународном формату (нпр. +14156226819 или 0014156226819). Позивни бројеви земаља морају бити укључени. null обавезно
route string(3) Опциони идентификатор од три знака који одређује руту за ову претрагу. Поставите на null или изоставите овај параметар да бисте применили вашу прилагођену мапу рутирања или дозволите нашем систему да аутоматски одреди најбољу руту за ову претрагу. null опционо
storage string Опциони идентификатор складишта који одређује извештај где ће резултати бити сачувани за ручни преглед, аналитику и извештавање. Систем аутоматски додаје временску ознаку са текућим месецом. Ако је изостављено или постављено на null, систем ће аутоматски груписати резултате по месецима у сврху извештавања. null опционо
{
   "id":"f94ef092cb53",
   "msisdn":"+14156226819",
   "connectivity_status":"CONNECTED",
   "mccmnc":"310260",
   "mcc":"310",
   "mnc":"260",
   "imsi":"***************",
   "msin":"**********",
   "msc":"************",
   "original_network_name":"Verizon Wireless",
   "original_country_name":"United States",
   "original_country_code":"US",
   "original_country_prefix":"+1",
   "is_ported":true,
   "ported_network_name":"T-Mobile US",
   "ported_country_name":"United States",
   "ported_country_code":"US",
   "ported_country_prefix":"+1",
   "is_roaming":false,
   "roaming_network_name":null,
   "roaming_country_name":null,
   "roaming_country_code":null,
   "roaming_country_prefix":null,
   "cost":"0.0100",
   "timestamp":"2020-08-07 19:16:17.676+0300",
   "storage":"SYNC-API-2020-08",
   "route":"IP1",
   "processing_status":"COMPLETED",
   "error_code":null,
   "error_description":null,
   "data_source":"LIVE_HLR",
   "routing_instruction":"STATIC:IP1"
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
id string(12) Јединствени идентификатор додељен овом захтеву за претрагу. false
msisdn string Број мобилног телефона који се проверава, форматиран у међународном формату (нпр. +14156226819 или 0014156226819). false
connectivity_status string Означава да ли је статус повезаности броја успешно преузет. Могуће вредности: CONNECTED , ABSENT , INVALID_MSISDN или UNDETERMINED . false
mccmnc string(5|6) Петоцифрени или шестоцифрени Mobile Country Code (MCC) и Mobile Network Code (MNC) који идентификују мрежу тренутно повезану са бројем телефона. true
mcc string(3) Троцифрени Mobile Country Code (MCC) који идентификује земљу у којој је број телефона регистрован. true
mnc string(2|3) Двоцифрени или троцифрени Mobile Network Code (MNC) који идентификује специфичну мрежу којој број телефона припада. true
imsi string International Mobile Subscriber Identity (IMSI), јединствени идентификатор за SIM картицу повезану са овим бројем. Доступност зависи од конфигурације мреже. true
msin string(10) Mobile Subscription Identification Number (MSIN) у бази података мобилног оператера. Доступност зависи од конфигурације мреже. true
msc string(12) Mobile Switching Center (MSC) који тренутно обрађује комуникације овог претплатника. Доступност зависи од конфигурације мреже. true
original_network_name string Оригинални (матични) назив мрежног оператера повезаног са овим бројем. true
original_country_name string Пун назив земље у којој је број мобилног телефона првобитно регистрован, наведен на енглеском језику. true
original_country_code string(2) Двословна ISO ознака земље која представља земљу у којој је број телефона први път додељен. true
original_country_prefix string Међународни позивни број (позивни број земље) који одговара оригиналној земљи броја мобилног телефона. true
is_ported boolean Означава да ли је мобилни број пренет са своје оригиналне мреже на другог оператера. true
ported_network_name string Назив мрежног оператера на којег је мобилни број пренет, ако је применљиво. true
ported_country_name string Назив земље у коју је мобилни број пренет, ако је применљиво. true
ported_country_code string(2) Двословна ISO ознака земље која представља земљу у коју је мобилни број пренет, ако је применљиво. true
ported_country_prefix string Међународни позивни број (позивни број земље) за земљу у коју је мобилни број пренет, ако је применљиво. true
is_roaming boolean Означава да ли се мобилни број тренутно налази у роумингу на страној мрежи. Доступност статуса роуминга зависи од мобилног мрежног оператера. true
roaming_network_name string Назив мреже на којој се мобилни број тренутно налази у роумингу, ако је применљиво. true
roaming_country_name string Назив земље у којој се мобилни број тренутно налази у роумингу, ако је применљиво. true
roaming_country_code string(2) Двословна ISO ознака земље у којој се мобилни број тренутно налази у роумингу, ако је применљиво. true
roaming_country_prefix string Међународни позивни број (позивни број земље) земље у којој се мобилни број тренутно налази у роумингу, ако је применљиво. true
cost string Децимална вредност представљена као стринг, која означава трошак претраге у еурима (EUR). true
timestamp string W3C форматирана временска ознака која укључује временску зону и одређује када је претрага завршена. true
storage string Назив складишта у којем су сачувани резултати претраге. Ово одговара називима извештаја и CSV преузимањима доступним преко веб интерфејса. true
route string(3) Троцифрени идентификатор који означава методу рутирања коришћену за овај захтев за претрагу. true
processing_status string Резултат обраде претраге. Могуће вредности: COMPLETED (успешно), REJECTED (мрежа недоступна, без наплате) или FAILED (дошло је до грешке током обраде). false
error_code integer Опциони интерни код грешке који пружа додатне дијагностичке информације за корисничку подршку. true
error_description string Кратко објашњење датог кода грешке (ако постоји) на енглеском језику у обичном тексту. true
data_source string Извор података коришћен за овај захтев. Могуће вредности: LIVE_HLR (HLR упит у реалном времену) или MNP_DB (статична база података преносивости мобилних бројева). Погледајте опције рутирања за детаље. false
routing_instruction string Стринг раздвојен двотачкама који описује инструкцију рутирања коришћену у захтеву. Прва компонента је STATIC када сте навели руту или AUTO за аутоматско рутирање; друга компонента је идентификатор руте, а за захтеве аутоматског рутирања трећа компонента приказује порекло на основу којег је донета одлука о рутирању (тј. SCORE, CUSTOM_GLOBAL_COUNTRY, CUSTOM_GLOBAL_MCCMNC, CUSTOM_GLOBAL_PREFIX, CUSTOM_USER_COUNTRY, CUSTOM_USER_MCCMNC, CUSTOM_USER_PREFIX, MNP_FALLBACK, PLATFORM_DEFAULT, USER_DEFAULT). false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Статус Опис
CONNECTED Број је важећи и циљни уређај је тренутно повезан на мобилну мрежу. Позиви, СМС поруке и остале услуге би требало успешно да стигну до примаоца.
ABSENT Број је важећи, али је циљни уређај или искључен или привремено ван покривености мреже. Поруке или позиви можда неће бити достављени док се уређај поново не повеже на мрежу.
INVALID_MSISDN Број је неважећи или тренутно није додељен ниједном претплатнику на мобилној мрежи. Позиви и поруке на овај број неће успети.
UNDETERMINED Статус повезаности броја није могао бити утврђен. Ово може бити због неважећег броја, SS7 грешке у одговору или недостатка повезаности са циљним мрежним оператером. Проверите код грешке и његов опис за додатну дијагностику.
Помери нагоре

POST/hlr-lookupsзаштићено

Покреће групу асинхроних HLR провера, преузимајући податке о повезаности и преносивости мобилних телефона у реалном времену од мрежних оператера. Резултати се достављају путем webhook-а на ваш сервер. Ова метода је оптимизована за обраду великих количина бројева који не захтевају тренутне одговоре, као што су чишћење и верификација базе података. За апликације у реалном времену као што су усмеравање позива или испорука SMS порука, размотрите коришћење POST /hlr-lookup endpoint-а.

Овај endpoint је идеалан за масовну обраду када је циљ идентификација телефонских бројева који су тренутно доступни (повезани) или недоступни (телефон искључен), уз филтрирање неважећих, недодељених или лажних бројева. Поред тога, пружа статус преносивости у реалном времену (MCCMNC) заједно са детаљима о повезаности.

Пре коришћења овог endpoint-а, уверите се да је конфигурисана webhook URL адреса за асинхрони пријем резултата провера. Можете подесити ово у вашим API подешавањима.

Захтев Успешан одговор Одговор са грешком Вебхукови Референца статуса
curl -X POST 'https://www.hlr-lookups.com/api/v2/hlr-lookups' \
          -d "@payload.json"

Садржај

{
   "msisdns":["+14156226819","+491788735000","+905536939460"],
   "route":null,
   "storage":null
}

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
msisdns array Низ бројева мобилних телефона (MSISDN) у међународном формату (нпр. +14156226819 или 0014156226819). Можете укључити до 1000 бројева по захтеву. null обавезно
route string(3) Опциони идентификатор од три знака који одређује руту за ову претрагу. Поставите на null или изоставите овај параметар да бисте применили вашу прилагођену мапу рутирања или дозволите нашем систему да аутоматски одреди најбољу руту за ову претрагу. null опционо
storage string Опциони идентификатор складишта који одређује извештај где ће резултати бити сачувани за ручни преглед, аналитику и извештавање. Систем аутоматски додаје временску ознаку са текућим месецом. Ако је изостављен или постављен на null, систем ће аутоматски груписати резултате по месецима у сврху извештавања. null опционо
{
   "accepted":[
      {
         "id":"0424928f332e",
         "msisdn":"+491788735000"
      }
   ],
   "accepted_count":1,
   "rejected":[
      {
         "id":null,
         "msisdn":"+31"
      }
   ],
   "rejected_count":1,
   "total_count":2,
   "cost":"0.01",
   "storage":"ASYNC-API-2020-08",
   "route":"IP1",
   "webhook_urls":[
      "https://your-server.com/endpoint"
   ]
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
accepted array Листа објеката који садрже јединствене идентификаторе и MSISDN бројеве који су прихваћени за обраду. false
accepted_count integer Укупан број MSISDN бројева успешно прихваћених за обраду. false
rejected array Листа објеката који садрже јединствене идентификаторе и MSISDN бројеве који су одбијени за обраду, обично због неважећих бројева. Одбијене ставке се не наплаћују. false
rejected_count integer Укупан број MSISDN бројева одбијених због грешака у валидацији. false
total_count integer Укупан број прихваћених и одбијених MSISDN бројева који су поднети за обраду. false
cost string Децимална вредност представљена као текст, која означава укупну цену у EUR за прихваћене провере. false
storage string Назив складишта где се додају резултати провера, коришћен за извештавање и преузимање CSV датотека преко веб интерфејса. false
route string(3|4) Идентификатор од три или четири карактера који одређује руту коришћену за овај захтев провере. Садржи AUTO ако је затражено аутоматско усмеравање на основу броја. false
webhook_urls array Webhook URL адресе конфигурисане у вашим API подешавањима. Резултати се шаљу овде. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false

Обрада вебхукова

Након слања, наша платформа почиње да обрађује достављене телефонске бројеве и шаље резултате на претходно наведену вебхук адресу на вашем серверу. Резултати се преносе као HTTP POST захтев са JSON објектом у телу захтева.

Аутентификација

Аутентификујте вебхук провером X-Signatures HTTP заглавља.

X-Signatures заглавље садржи листу потписа раздвојених тачком и зарезом. Сваки потпис у листи генерисан је коришћењем једне од API тајни конфигурисаних у вашем налогу. Да бисте верификовали вебхук, генеришите SHA-256 хеш користећи ваш API кључ, тајну и сирово HTTP тело - затим га упоредите са потписима у листи.

Подударање потврђује да је захтев аутентичан и потписан тајном коју ви контролишете.

PHP Пример кода

$signaturesHeader = (getallheaders() ?? [])['X-Signatures'] ?? ''; // list of signatures
$key = getenv('AUTH_KEY'); // Your API Key
$secret = getenv('AUTH_SECRET'); // Your API Secret
$payload = file_get_contents('php://input'); // The HTTP body of the incoming POST request

// Generate the expected signature
$expectedSignature = hash('sha256', $key . $secret . $payload);

// Split the header into individual signatures
$providedSignatures = explode(';', $signaturesHeader);

// Check if any signature matches
$valid = false;
foreach ($providedSignatures as $sig) {
    if (hash_equals($expectedSignature, $sig)) {
        $valid = true;
        break;
    }
}

Захтев је валидан ако било који од потписа наведених у заглављу одговара SHA256 хешу израчунатом над спојеним стрингом вашег API кључа, тајне и HTTP тела.

Потврда пријема

Од вашег сервера се очекује да одговори са HTTP статусним кодом 200 OK како би потврдио успешан пријем. Ако се врати било који други кôд одговора, дође до истека времена (10 секунди) или настане било који други проблем са испоруком, систем ће аутоматски поново покушати да пошаље вебхук након једног минута. Ако захтев настави да не успева, поновни покушаји ће следити стратегију експоненцијалног одлагања, са наредним покушајима након 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 минута.

Овај механизам поновних покушаја обезбеђује максималну поузданост у испоруци резултата претраге на вашу инфраструктуру. Минимизира ризик од губитка података услед привремених проблема са мрежом или недоступности сервера.

Садржај вебхука

{
   "type":"HLR",
   "results":[
      {
         "id":"3b4ac4b6ed1b",
         "msisdn":"+905536939460",
         "connectivity_status":"CONNECTED",
         "mccmnc":"28603",
         "mcc":"286",
         "mnc":"03",
         "imsi":"28603XXXXXXXXXX",
         "msin":"XXXXXXXXXX",
         "msc":"XXXXXXXXXX",
         "original_network_name":"Turk Telekom (AVEA)",
         "original_country_name":"Turkey",
         "original_country_code":"TR",
         "original_country_prefix":"+90",
         "is_ported":false,
         "ported_network_name":null,
         "ported_country_name":null,
         "ported_country_code":null,
         "ported_country_prefix":null,
         "is_roaming":false,
         "roaming_network_name":null,
         "roaming_country_name":null,
         "roaming_country_code":null,
         "roaming_country_prefix":null,
         "cost":"0.0100",
         "timestamp":"2020-08-13 00:04:38.261+0300",
         "storage":"ASYNC-API-2020-08",
         "route":"IP1",
         "processing_status":"COMPLETED",
         "error_code":null,
         "error_description":null,
         "data_source":"LIVE_HLR",
         "routing_instruction":"STATIC:IP1"
      }
   ]
}

Атрибути Webhook садржаја

JSON објекат садржи атрибут type => HLR заједно са атрибутом results који укључује листу објеката провера, како је документовано испод.

Име Тип Опис Може бити празно
id string(12) Јединствени идентификатор додељен овом захтеву за претрагу. false
msisdn string Број мобилног телефона који се проверава, форматиран у међународном формату (нпр. +14156226819 или 0014156226819). false
connectivity_status string Означава да ли је статус повезаности броја успешно преузет. Могуће вредности: CONNECTED , ABSENT , INVALID_MSISDN или UNDETERMINED . false
mccmnc string(5|6) Петоцифрени или шестоцифрени Mobile Country Code (MCC) и Mobile Network Code (MNC) који идентификују мрежу тренутно повезану са бројем телефона. true
mcc string(3) Троцифрени Mobile Country Code (MCC) који идентификује земљу у којој је број телефона регистрован. true
mnc string(2|3) Двоцифрени или троцифрени Mobile Network Code (MNC) који идентификује специфичну мрежу којој број телефона припада. true
imsi string International Mobile Subscriber Identity (IMSI), јединствени идентификатор за SIM картицу повезану са овим бројем. Доступност зависи од конфигурације мреже. true
msin string(10) Mobile Subscription Identification Number (MSIN) у бази података мобилног оператера. Доступност зависи од конфигурације мреже. true
msc string(12) Mobile Switching Center (MSC) који тренутно обрађује комуникације овог претплатника. Доступност зависи од конфигурације мреже. true
original_network_name string Оригинални (матични) назив мрежног оператера повезаног са овим бројем. true
original_country_name string Пун назив земље у којој је број мобилног телефона првобитно регистрован, наведен на енглеском језику. true
original_country_code string(2) Двословна ISO ознака земље која представља земљу у којој је број телефона први път додељен. true
original_country_prefix string Међународни позивни број (позивни број земље) који одговара оригиналној земљи броја мобилног телефона. true
is_ported boolean Означава да ли је мобилни број пренет са своје оригиналне мреже на другог оператера. true
ported_network_name string Назив мрежног оператера на којег је мобилни број пренет, ако је применљиво. true
ported_country_name string Назив земље у коју је мобилни број пренет, ако је применљиво. true
ported_country_code string(2) Двословна ISO ознака земље која представља земљу у коју је мобилни број пренет, ако је применљиво. true
ported_country_prefix string Међународни позивни број (позивни број земље) за земљу у коју је мобилни број пренет, ако је применљиво. true
is_roaming boolean Означава да ли се мобилни број тренутно налази у роумингу на страној мрежи. Доступност статуса роуминга зависи од мобилног мрежног оператера. true
roaming_network_name string Назив мреже на којој се мобилни број тренутно налази у роумингу, ако је применљиво. true
roaming_country_name string Назив земље у којој се мобилни број тренутно налази у роумингу, ако је применљиво. true
roaming_country_code string(2) Двословна ISO ознака земље у којој се мобилни број тренутно налази у роумингу, ако је применљиво. true
roaming_country_prefix string Међународни позивни број (позивни број земље) земље у којој се мобилни број тренутно налази у роумингу, ако је применљиво. true
cost string Децимална вредност представљена као стринг, која означава трошак претраге у еурима (EUR). true
timestamp string W3C форматирана временска ознака која укључује временску зону и одређује када је претрага завршена. true
storage string Назив складишта у којем су сачувани резултати претраге. Ово одговара називима извештаја и CSV преузимањима доступним преко веб интерфејса. true
route string(3) Троцифрени идентификатор који означава методу рутирања коришћену за овај захтев за претрагу. true
processing_status string Резултат обраде претраге. Могуће вредности: COMPLETED (успешно), REJECTED (мрежа недоступна, без наплате) или FAILED (дошло је до грешке током обраде). false
error_code integer Опциони интерни код грешке који пружа додатне дијагностичке информације за корисничку подршку. true
error_description string Кратко објашњење датог кода грешке (ако постоји) на енглеском језику у обичном тексту. true
data_source string Извор података коришћен за овај захтев. Могуће вредности: LIVE_HLR (HLR упит у реалном времену) или MNP_DB (статична база података преносивости мобилних бројева). Погледајте опције рутирања за детаље. false
routing_instruction string Стринг раздвојен двотачкама који описује инструкцију рутирања коришћену у захтеву. Прва компонента је STATIC када сте навели руту или AUTO за аутоматско рутирање; друга компонента је идентификатор руте, а за захтеве аутоматског рутирања трећа компонента приказује порекло на основу којег је донета одлука о рутирању (тј. SCORE, CUSTOM_GLOBAL_COUNTRY, CUSTOM_GLOBAL_MCCMNC, CUSTOM_GLOBAL_PREFIX, CUSTOM_USER_COUNTRY, CUSTOM_USER_MCCMNC, CUSTOM_USER_PREFIX, MNP_FALLBACK, PLATFORM_DEFAULT, USER_DEFAULT). false
Статус Опис
CONNECTED Број је важећи и циљни уређај је тренутно повезан на мобилну мрежу. Позиви, СМС поруке и остале услуге би требало успешно да стигну до примаоца.
ABSENT Број је важећи, али је циљни уређај или искључен или привремено ван покривености мреже. Поруке или позиви можда неће бити достављени док се уређај поново не повеже на мрежу.
INVALID_MSISDN Број је неважећи или тренутно није додељен ниједном претплатнику на мобилној мрежи. Позиви и поруке на овај број неће успети.
UNDETERMINED Статус повезаности броја није могао бити утврђен. Ово може бити због неважећег броја, SS7 грешке у одговору или недостатка повезаности са циљним мрежним оператером. Проверите код грешке и његов опис за додатну дијагностику.
Помери нагоре

POST/mnp-lookupзаштићено

Покреће синхрону MNP претрагу и пружа информације о преносивости мобилних бројева и мрежи. Овај endpoint је погодан ако је ваш примарни циљ да извучете тренутни MCCMNC одређеног мобилног телефонског броја и утврдите оригиналну и тренутну мрежу у реалном времену.

За групну обраду великих скупова података који не захтевају тренутне резултате, размотрите коришћење асинхроног POST /mnp-lookups, који је оптимизован за високобрзинску обраду у серијама.

MNP упити поуздано утврђују преносивост и информације о мрежи, али не указују да ли је циљни мобилни телефон тренутно повезан на мрежу и доступан. Да бисте извукли информације о тренутној повезаности, користите POST /hlr-lookup endpoint.

Захтев Успешан одговор Одговор са грешком
curl -X POST 'https://www.hlr-lookups.com/api/v2/mnp-lookup' \
          -d "@payload.json"

Садржај

{
   "msisdn":"+14156226819",
   "route":null,
   "storage":null
}

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
msisdn string Број мобилног телефона (MSISDN) који се претражује, наведен у међународном формату (нпр. +14156226819 или 0014156226819). Позивни бројеви земаља морају бити укључени. null обавезно
route string(3) Опциони идентификатор од три знака који одређује руту за ову претрагу. Поставите на null или изоставите овај параметар да бисте применили вашу прилагођену мапу рутирања или дозволите нашем систему да аутоматски одреди најбољу руту за ову претрагу. null опционо
storage string Опциони идентификатор складишта који одређује извештај где ће резултати бити сачувани за ручни преглед, аналитику и извештавање. Систем аутоматски додаје временску ознаку са текућим месецом. Ако је изостављен или постављен на null, систем ће аутоматски груписати резултате по месецима у сврху извештавања. null опционо
{
   "id":"e428acb1c0ae",
   "msisdn":"+14156226819",
   "query_status":"OK",
   "mccmnc":"310260",
   "mcc":"310",
   "mnc":"260",
   "is_ported":true,
   "original_network_name":"Verizon Wireless:6006 - SVR/2",
   "original_country_name":"United States",
   "original_country_code":"US",
   "original_country_prefix":"+1415",
   "ported_network_name":"T-Mobile US:6529 - SVR/2",
   "ported_country_name":"United States",
   "ported_country_code":"US",
   "ported_country_prefix":"+1",
   "extra":"LRN:4154250000",
   "cost":"0.0050",
   "timestamp":"2020-08-05 21:21:33.490+0300",
   "storage":"WEB-CLIENT-SOLO-MNP-2020-08",
   "route":"PTX",
   "error_code":null
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
id string(12) Јединствени идентификатор од 12 карактера за ову претрагу. false
msisdn string Број мобилног телефона који је процењен у овом захтеву за претрагу. false
query_status string Означава да ли је преузимање информација о преносивости и мрежи било успешно. Могуће вредности су OK или FAILED. false
mccmnc string(5|6) MCCMNC од пет или шест карактера (комбинација кода земље мобилне мреже и кода мобилне мреже) који идентификује мрежу којој тренутно припада број мобилног телефона. true
mcc string(3) MCC од три карактера (код земље мобилне мреже) који представља земљу повезану са тренутном мрежом броја мобилног телефона. true
mnc string(2|3) MNC од два или три карактера (код мобилне мреже) који идентификује тренутног оператера мреже за број мобилног телефона. true
is_ported boolean Означава да ли је број телефона пренет са своје оригиналне мреже на новог оператера. true
original_network_name string Произвољан текст (на енглеском) који наводи назив оригиналног оператера мреже проверавног броја мобилног телефона. true
original_country_name string Произвољан текст (на енглеском) који означава оригиналну земљу проверавног броја мобилног телефона. true
original_country_code string(2) ISO код земље од два карактера који представља оригиналну земљу проверавног броја мобилног телефона. true
original_country_prefix string Позивни број оригиналне земље повезане са проверавним бројем мобилног телефона. true
ported_network_name string Наводи оператера мреже на који је проверавани број мобилног телефона пренет, ако је применљиво. true
ported_country_name string Наводи земљу у коју је проверавани број мобилног телефона пренет, ако је применљиво. true
ported_country_code string(2) ISO код земље од два карактера који представља земљу у коју је проверавани број мобилног телефона пренет, ако је применљиво. true
ported_country_prefix string Позивни број земље у коју је проверавани број мобилног телефона пренет, ако је применљиво. true
extra string Произвољан текст који пружа опционе додатне детаље о броју телефона. true
cost string Децимална вредност, приказана као текст, која означава трошак у еврима за ову претрагу. true
timestamp string Временска ознака у W3C формату, укључујући информације о временској зони, која означава када је претрага завршена. true
storage string Назив складишта (или назив извештаја) коме су додати резултати претраге. Ово се користи за CSV преузимања и извештавање путем веб интерфејса. true
route string(3) Идентификатор од три карактера који наводи руту коришћену за овај захтев претраге. true
error_code integer Опциони интерни код грешке који пружа додатни контекст за дијагностику корисничке подршке. true
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

POST/mnp-lookupsзаштићено

Покреће серију асинхроних MNP (преносивост мобилних бројева) провера, преузимајући тренутни MCCMNC и прецизно одређујући оригиналну и тренутну мрежу у реалном времену. Резултати се испоручују путем webhook-а на ваш сервер. Ова метода је оптимизована за обраду великих количина бројева који не захтевају тренутне одговоре, као што су чишћење и верификација база података. За апликације у реалном времену као што су усмеравање позива или испорука SMS порука, размотрите коришћење POST /mnp-lookup крајње тачке.

МНП упити поуздано утврђују преносивост и информације о мрежи, али не указују на то да ли је циљни мобилни телефон тренутно повезан на мрежу и доступан. Да бисте извукли информације о тренутној повезаности, молимо користите POST /hlr-lookups крајњи ресурс.

Пре коришћења ове крајње тачке, уверите се да је конфигурисана webhook URL адреса за асинхрони пријем резултата провера. Можете то подесити у вашим API подешавањима.

Захтев Успешан одговор Одговор са грешком Вебхукови
curl -X POST 'https://www.hlr-lookups.com/api/v2/mnp-lookups' \
          -d "@payload.json"

Садржај

{
   "msisdns":["+14156226819","+491788735000","+905536939460"],
   "route":null,
   "storage":null
}

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
msisdns array Низ мобилних телефонских бројева (MSISDN) у међународном формату (нпр. +14156226819 или 0014156226819). Можете укључити до 1000 бројева по захтеву. null обавезно
route string(3) Опциони идентификатор од три карактера који одређује руту за ову проверу. Поставите на null или изоставите овај параметар да бисте применили вашу прилагођену мапу рутирања или аутоматски дозволили нашем систему да аутоматски одреди најбоље руте за овај захтев. null опционо
storage string Опциони идентификатор складишта који одређује извештај где ће резултати бити сачувани за ручни преглед, аналитику и извештавање. Систем аутоматски додаје временску ознаку са текућим месецом. Ако је изостављен или постављен на null, систем ће аутоматски груписати резултате по месецима у сврху извештавања. null опционо
{
   "accepted":[
      {
         "id":"0424928f332e",
         "msisdn":"+491788735000"
      }
   ],
   "accepted_count":1,
   "rejected":[
      {
         "id":null,
         "msisdn":"+31"
      }
   ],
   "rejected_count":1,
   "total_count":2,
   "cost":"0.01",
   "storage":"ASYNC-API-2020-08",
   "route":"IP1",
   "webhook_urls":[
      "https://your-server.com/endpoint"
   ]
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
accepted array Листа објеката који садрже јединствене идентификаторе и MSISDN бројеве који су прихваћени за обраду. false
accepted_count integer Укупан број MSISDN бројева успешно прихваћених за обраду. false
rejected array Листа објеката који садрже јединствене идентификаторе и MSISDN бројеве који су одбијени за обраду, обично због неважећих бројева. Одбијене ставке се не наплаћују. false
rejected_count integer Укупан број MSISDN бројева одбијених због грешака у валидацији. false
total_count integer Укупан број прихваћених и одбијених MSISDN бројева који су поднети за обраду. false
cost string Децимална вредност приказана као текст, која означава укупну цену у EUR за прихваћене провере. false
storage string Назив складишта у које се додају резултати провера, који се користи за извештавање и преузимање CSV датотека путем веб интерфејса. false
route string(3) Идентификатор од три карактера који наводи руту коришћену за овај захтев претраге. false
webhook_urls array Webhook URL адресе конфигурисане у вашим API подешавањима. Резултати се шаљу назад на ове адресе. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false

Обрада вебхукова

Након слања, наша платформа почиње да обрађује достављене телефонске бројеве и шаље резултате на претходно наведену вебхук адресу на вашем серверу. Резултати се преносе као HTTP POST захтев са JSON објектом у телу захтева.

Аутентификација

Аутентификујте вебхук провером X-Signatures HTTP заглавља.

X-Signatures заглавље садржи листу потписа раздвојених тачком и зарезом. Сваки потпис у листи генерисан је коришћењем једне од API тајни конфигурисаних у вашем налогу. Да бисте верификовали вебхук, генеришите SHA-256 хеш користећи ваш API кључ, тајну и сирово HTTP тело - затим га упоредите са потписима у листи.

Подударање потврђује да је захтев аутентичан и потписан тајном коју ви контролишете.

PHP Пример кода

$signaturesHeader = (getallheaders() ?? [])['X-Signatures'] ?? ''; // list of signatures
$key = getenv('AUTH_KEY'); // Your API Key
$secret = getenv('AUTH_SECRET'); // Your API Secret
$payload = file_get_contents('php://input'); // The HTTP body of the incoming POST request

// Generate the expected signature
$expectedSignature = hash('sha256', $key . $secret . $payload);

// Split the header into individual signatures
$providedSignatures = explode(';', $signaturesHeader);

// Check if any signature matches
$valid = false;
foreach ($providedSignatures as $sig) {
    if (hash_equals($expectedSignature, $sig)) {
        $valid = true;
        break;
    }
}

Захтев је валидан ако било који од потписа наведених у заглављу одговара SHA256 хешу израчунатом над спојеним стрингом вашег API кључа, тајне и HTTP тела.

Потврда пријема

Од вашег сервера се очекује да одговори са HTTP статусним кодом 200 OK како би потврдио успешан пријем. Ако се врати било који други кôд одговора, дође до истека времена (10 секунди) или настане било који други проблем са испоруком, систем ће аутоматски поново покушати да пошаље вебхук након једног минута. Ако захтев настави да не успева, поновни покушаји ће следити стратегију експоненцијалног одлагања, са наредним покушајима након 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 минута.

Овај механизам поновних покушаја обезбеђује максималну поузданост у испоруци резултата претраге на вашу инфраструктуру. Минимизира ризик од губитка података услед привремених проблема са мрежом или недоступности сервера.

Садржај вебхука

{
    "type":"MNP",
    "results":[
        {
           "id":"e428acb1c0ae",
           "msisdn":"+14156226819",
           "query_status":"OK",
           "mccmnc":"310260",
           "mcc":"310",
           "mnc":"260",
           "is_ported":true,
           "original_network_name":"Verizon Wireless:6006 - SVR/2",
           "original_country_name":"United States",
           "original_country_code":"US",
           "original_country_prefix":"+1415",
           "ported_network_name":"T-Mobile US:6529 - SVR/2",
           "ported_country_name":"United States",
           "ported_country_code":"US",
           "ported_country_prefix":"+1",
           "extra":"LRN:4154250000",
           "cost":"0.0050",
           "timestamp":"2020-08-05 21:21:33.490+0300",
           "storage":"WEB-CLIENT-SOLO-MNP-2020-08",
           "route":"PTX",
           "error_code":null
        }
    ]
}

Атрибути Webhook Садржаја

JSON објекат садржи атрибут type => MNP заједно са атрибутом results који укључује листу објеката провера, као што је документовано испод.

Име Тип Опис Може бити празно
id string(12) Јединствени идентификатор од 12 карактера за ову претрагу. false
msisdn string Број мобилног телефона који је процењен у овом захтеву за претрагу. false
query_status string Означава да ли је преузимање информација о преносивости и мрежи било успешно. Могуће вредности су OK или FAILED. false
mccmnc string(5|6) MCCMNC од пет или шест карактера (комбинација кода земље мобилне мреже и кода мобилне мреже) који идентификује мрежу којој тренутно припада број мобилног телефона. true
mcc string(3) MCC од три карактера (код земље мобилне мреже) који представља земљу повезану са тренутном мрежом броја мобилног телефона. true
mnc string(2|3) MNC од два или три карактера (код мобилне мреже) који идентификује тренутног оператера мреже за број мобилног телефона. true
is_ported boolean Означава да ли је број телефона пренет са своје оригиналне мреже на новог оператера. true
original_network_name string Произвољан текст (на енглеском) који наводи назив оригиналног оператера мреже проверавног броја мобилног телефона. true
original_country_name string Произвољан текст (на енглеском) који означава оригиналну земљу проверавног броја мобилног телефона. true
original_country_code string(2) ISO код земље од два карактера који представља оригиналну земљу проверавног броја мобилног телефона. true
original_country_prefix string Позивни број оригиналне земље повезане са проверавним бројем мобилног телефона. true
ported_network_name string Наводи оператера мреже на који је проверавани број мобилног телефона пренет, ако је применљиво. true
ported_country_name string Наводи земљу у коју је проверавани број мобилног телефона пренет, ако је применљиво. true
ported_country_code string(2) ISO код земље од два карактера који представља земљу у коју је проверавани број мобилног телефона пренет, ако је применљиво. true
ported_country_prefix string Позивни број земље у коју је проверавани број мобилног телефона пренет, ако је применљиво. true
extra string Произвољан текст који пружа опционе додатне детаље о броју телефона. true
cost string Децимална вредност, приказана као текст, која означава трошак у еврима за ову претрагу. true
timestamp string Временска ознака у W3C формату, укључујући информације о временској зони, која означава када је претрага завршена. true
storage string Назив складишта (или назив извештаја) коме су додати резултати претраге. Ово се користи за CSV преузимања и извештавање путем веб интерфејса. true
route string(3) Идентификатор од три карактера који наводи руту коришћену за овај захтев претраге. true
error_code integer Опциони интерни код грешке који пружа додатни контекст за дијагностику корисничке подршке. true
Помери нагоре

POST/nt-lookupзаштићено

Покреће синхрону проверу типа броја (NT). Овај крајњи ресурс је идеалан ако је ваш примарни циљ да утврдите да ли достављени телефонски бројеви припадају фиксним, мобилним, бројевима са премијум тарифом, VoIP, пејџер или другим опсезима нумеричког плана у реалном времену.

NT упити поузданo детектују тип телефонског броја; међутим, они не показују да ли је циљни број тренутно повезан на мрежу и доступан. За добијање информација о тренутној повезаности, молимо користите POST /hlr-lookup крајњи ресурс.

Ако ваш случај употребе захтева прецизне информације о мрежи и преносивости (MCCMNC) али не и статус тренутне повезаности, молимо користите POST /mnp-lookup крајњи ресурс за упите о преносивости мобилних бројева.

Захтев Успешан одговор Одговор са грешком Референца типова
curl -X POST 'https://www.hlr-lookups.com/api/v2/nt-lookup' \
          -d "@payload.json"

Садржај

{
   "number":"+14156226819",
   "route":null,
   "storage":null
}

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
number string Телефонски број у међународном формату (нпр. +4989702626 или 004989702626). null mandatory
route string(3) Опциони идентификатор од три знака који одређује руту за ову проверу. Поставите на null или изоставите овај параметар да бисте применили вашу прилагођену мапу рутирања или дозволите нашем систему да аутоматски одреди најбоље руте за овај захтев. null опционо
storage string Опциони идентификатор складишта који одређује извештај где ће резултати бити сачувани за ручни преглед, аналитику и извештавање. Систем аутоматски додаје временску ознаку са текућим месецом. Ако је изостављен или постављен на null, систем ће аутоматски груписати резултате по месецима у сврху извештавања. null опционо
{
     "id":"2ed0788379c6",
     "number":"+4989702626",
     "number_type":"LANDLINE",
     "query_status":"OK",
     "is_valid":true,
     "invalid_reason":null,
     "is_possibly_ported":false,
     "is_vanity_number":false,
     "qualifies_for_hlr_lookup":false,
     "mccmnc":null,
     "mcc":null,
     "mnc":null,
     "original_network_name":null,
     "original_country_name":"Germany",
     "original_country_code":"DE",
     "regions":[
        "Munich"
     ],
     "timezones":[
        "Europe/Berlin"
     ],
     "info_text":"This is a landline number.",
     "cost":"0.0050",
     "timestamp":"2015-12-04 10:36:41.866283+00",
     "storage":"SYNC-API-NT-2015-12",
     "route":"LC1"
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
id string(12) Јединствени идентификатор додељен овом захтеву за претрагу. false
number string Број телефона који је процењен током овог захтева за претрагу. false
number_type string Детектовани тип броја. Могуће вредности укључују: LANDLINE , MOBILE , MOBILE_OR_LANDLINE , TOLL_FREE , PREMIUM_RATE , SHARED_COST , VOIP , PAGER , UAN , VOICEMAIL , UNKNOWN . false
query_status string Означава да ли су информације о типу броја успешно добијене. Враћа OK ако је успешно, или FAILED ако је претрага неуспешна. false
is_valid boolean Означава да ли је број телефона синтаксички исправан. true
invalid_reason string Порука у обичном тексту на енглеском језику која наводи зашто се број телефона сматра неисправним (нпр. "too short" или "invalid prefix"), или null ако је број исправан. true
is_possibly_ported boolean Означава да ли је број телефона можда пренет са оригиналног оператера на другог оператера. За коначне информације о преносивости, користите MNP претраге. true
is_vanity_number boolean Означава да ли је број телефона vanity број, што значи да садржи абецедне карактере. true
qualifies_for_hlr_lookup boolean Означава да ли је број телефона подобан за додатне упите путем HLR претрага. true
mccmnc string(5|6) Низ од пет или шест карактера који представља MCCMNC пар (мобилни код земље и мобилни мрежни код) који идентификује оригиналну мрежу мобилног броја телефона. true
mcc string(3) Низ од три карактера који представља MCC (мобилни код земље) који идентификује земљу повезану са оригиналном мобилном мрежом броја телефона. true
mnc string(2|3) Низ од два или три карактера који представља MNC (мобилни мрежни код) који идентификује оригиналног оператера мобилне мреже броја телефона. true
original_network_name string Произвољни текст на енглеском језику који наводи назив оригиналног мрежног оператера прегледаног мобилног броја телефона. true
original_country_name string Произвољни текст на енглеском језику који наводи оригиналну земљу повезану са прегледаним мобилним бројем телефона. true
original_country_code string(2) Двословни ISO код земље који означава оригиналну земљу прегледаног мобилног броја телефона. true
regions array Листа читљивих текстова на енглеском језику који наводе географски регион(е) повезан(е) са овим бројем телефона. true
timezones array Листа временских зона (у Olson формату) повезаних са овим бројем телефона. true
info_text string Произвољни текст који може садржати додатне информације о броју телефона. true
cost string Децимална вредност представљена као текст, која означава трошак (у EUR) ове претраге. true
timestamp string Временска ознака у W3C формату (укључујући временску зону) која означава када је претрага завршена. true
storage string Наводи назив складишта где су резултати претраге додати. Ово одговара називу извештаја који се користи за CSV преузимања и аналитику путем веб интерфејса. true
route string(3) Идентификатор од три карактера који наводи руту коришћену за овај захтев претраге. true
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Тип Опис
LANDLINE Фиксни телефонски број.
MOBILE Мобилни телефонски број. Подобан за HLR провере ради добијања додатних информација о статусу везе, мрежи, преносивости и роумингу.
MOBILE_OR_LANDLINE Фиксни или мобилни телефонски број. Може бити подобан за HLR проверу.
TOLL_FREE Бесплатни телефонски број.
PREMIUM_RATE Телефонски број са премијум тарифом и додатним трошковима.
SHARED_COST Телефонски број са подељеним трошковима. Обично јефтинији од бројева са премијум тарифом.
VOIP Voice over IP телефонски број. Укључује TSoIP телефонске бројеве (телефонска услуга преко IP-а).
PAGER Број пејџера. Обично без функције гласовног позива.
UAN Универзални приступни број (број компаније). Може бити усмерен ка одређеним канцеларијама, али омогућава коришћење једног броја за целу компанију.
VOICEMAIL Број говорне поште.
UNKNOWN Тип броја није могао бити утврђен.
Помери нагоре

POST/nt-lookups заштићено

Овај крајњи ресурс покреће серију асинхроних провера типа броја са резултатима који се шаљу назад на ваш сервер путем webhook-а. Погодан је ако је ваш примарни циљ да утврдите да ли дати телефонски бројеви припадају фиксним, мобилним, премијум, VoIP, пејџер или другим опсезима нумеричког плана. Оптимизован за брзу обраду великих обима бројева, овај крајњи ресурс је идеалан за масовне операције (нпр. санитизација базе података). За живи саобраћај и временски критичне случајеве употребе, молимо користите крајњи ресурс POST /nt-lookup.

Потребно је да наведете webhook URL у вашим API подешавањима као предуслов за позивање овог крајњег ресурса.

Захтев Успешан одговор Одговор са грешком Вебхукови Референца типова
curl -X POST 'https://www.hlr-lookups.com/api/v2/nt-lookups' \
          -d "@payload.json"

Садржај

{
   "numbers":["+14156226819","+4989702626"],
   "route":null,
   "storage":null
}

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
numbers array Низ телефонских бројева у међународном формату (нпр. +14156226819 или 004989702626). Максимално 1000 бројева може бити укључено по захтеву. null обавезно
route string(3) Опциони идентификатор од три знака који одређује руту за ову проверу. Поставите на null или изоставите овај параметар да примените вашу прилагођену мапу рутирања или дозволите нашем систему да аутоматски одреди најбољу руту за овај захтев. null опционо
storage string Опциони идентификатор складишта који одређује извештај где ће резултати бити сачувани за ручни преглед, аналитику и извештавање. Систем аутоматски додаје временску ознаку са текућим месецом. Ако је изостављен или постављен на null, систем ће аутоматски груписати резултате по месецима у сврху извештавања. null опционо
{
   "accepted":[
      {
         "id":"9f8a52cfa7d2",
         "number":"+905536939460"
      }
   ],
   "accepted_count":1,
   "rejected":[
      {
         "id":null,
         "number":"+31"
      }
   ],
   "rejected_count":2,
   "total_count":3,
   "cost":0.005,
   "storage":"ASYNC-API-NT-2020-08",
   "route":"LC1",
   "webhook_urls":[
      "https://your-server.com/endpoint"
   ]
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
accepted array Низ објеката, од којих сваки садржи јединствени идентификатор и телефонски број који је прихваћен за обраду. false
accepted_count integer Укупан број телефонских бројева прихваћених за обраду. false
rejected array Низ објеката, од којих сваки садржи јединствени идентификатор и телефонски број који је одбијен за обраду. Обично су ови бројеви неважећи и не наплаћују се. false
rejected_count integer Укупан број телефонских бројева који су одбијени за обраду. false
total_count integer Укупан број прихваћених и одбијених телефонских бројева који су поднети за обраду. false
cost string Стринг који представља децималну вредност која указује на трошак у EUR за ове провере. false
storage string Назив складишта (извештаја) где су резултати провере додати. Овај назив се користи за CSV преузимања и аналитику преко веб интерфејса. false
route string(3) Идентификатор од три знака који одређује руту коришћену за овај захтев провере. false
webhook_urls array Webhook URL адресе конфигурисане у вашим API подешавањима. Резултати се шаљу назад на ове адресе. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false

Обрада вебхукова

Након слања, наша платформа почиње да обрађује достављене телефонске бројеве и шаље резултате на претходно наведену вебхук адресу на вашем серверу. Резултати се преносе као HTTP POST захтев са JSON објектом у телу захтева.

Аутентификација

Аутентификујте вебхук провером X-Signatures HTTP заглавља.

X-Signatures заглавље садржи листу потписа раздвојених тачком и зарезом. Сваки потпис у листи генерисан је коришћењем једне од API тајни конфигурисаних у вашем налогу. Да бисте верификовали вебхук, генеришите SHA-256 хеш користећи ваш API кључ, тајну и сирово HTTP тело - затим га упоредите са потписима у листи.

Подударање потврђује да је захтев аутентичан и потписан тајном коју ви контролишете.

PHP Пример кода

$signaturesHeader = (getallheaders() ?? [])['X-Signatures'] ?? ''; // list of signatures
$key = getenv('AUTH_KEY'); // Your API Key
$secret = getenv('AUTH_SECRET'); // Your API Secret
$payload = file_get_contents('php://input'); // The HTTP body of the incoming POST request

// Generate the expected signature
$expectedSignature = hash('sha256', $key . $secret . $payload);

// Split the header into individual signatures
$providedSignatures = explode(';', $signaturesHeader);

// Check if any signature matches
$valid = false;
foreach ($providedSignatures as $sig) {
    if (hash_equals($expectedSignature, $sig)) {
        $valid = true;
        break;
    }
}

Захтев је валидан ако било који од потписа наведених у заглављу одговара SHA256 хешу израчунатом над спојеним стрингом вашег API кључа, тајне и HTTP тела.

Потврда пријема

Од вашег сервера се очекује да одговори са HTTP статусним кодом 200 OK како би потврдио успешан пријем. Ако се врати било који други кôд одговора, дође до истека времена (10 секунди) или настане било који други проблем са испоруком, систем ће аутоматски поново покушати да пошаље вебхук након једног минута. Ако захтев настави да не успева, поновни покушаји ће следити стратегију експоненцијалног одлагања, са наредним покушајима након 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 минута.

Овај механизам поновних покушаја обезбеђује максималну поузданост у испоруци резултата претраге на вашу инфраструктуру. Минимизира ризик од губитка података услед привремених проблема са мрежом или недоступности сервера.

Садржај вебхука

{
   "type":"NT",
   "results":[
      {
         "id":"9f8a52cfa7d2",
         "number":"+905536939460",
         "numbertype":"MOBILE",
         "state":"COMPLETED",
         "isvalid":"Yes",
         "invalidreason":null,
         "ispossiblyported":"Yes",
         "isvanitynumber":"No",
         "qualifiesforhlrlookup":"Yes",
         "originalcarrier":"Turk Telekom (AVEA)",
         "mccmnc":"28603",
         "mcc":"286",
         "mnc":"03",
         "countrycode":"TR",
         "regions":[
            "Turkey"
         ],
         "timezones":[
            "Europe\/Istanbul"
         ],
         "infotext":"This number qualifies for HLR lookups. Determine if this subscriber number is connected, absent or invalid by running an HLR lookup. This is a mobile number and might be in roaming state. Run an HLR lookup to obtain roaming information (if available). This number is possibly ported and the carrier information might be inaccurate. To obtain portability information run an HLR lookup.",
         "usercharge":"0.0050",
         "inserttime":"2020-08-13 01:57:15.897+0300",
         "storage":"ASYNC-API-NT-2020-08",
         "route":"LC1",
         "interface":"Async API"
      }
   ]
}

Атрибути Webhook Садржаја

JSON објекат садржи атрибут type => NT заједно са атрибутом results који укључује листу објеката провера, као што је документовано испод.

Име Тип Опис Може бити празно
id string(12) Јединствени идентификатор додељен овом захтеву за претрагу. false
number string Број телефона који је процењен током овог захтева за претрагу. false
number_type string Детектовани тип броја. Могуће вредности укључују: LANDLINE , MOBILE , MOBILE_OR_LANDLINE , TOLL_FREE , PREMIUM_RATE , SHARED_COST , VOIP , PAGER , UAN , VOICEMAIL , UNKNOWN . false
query_status string Означава да ли су информације о типу броја успешно добијене. Враћа OK ако је успешно, или FAILED ако је претрага неуспешна. false
is_valid boolean Означава да ли је број телефона синтаксички исправан. true
invalid_reason string Порука у обичном тексту на енглеском језику која наводи зашто се број телефона сматра неисправним (нпр. "too short" или "invalid prefix"), или null ако је број исправан. true
is_possibly_ported boolean Означава да ли је број телефона можда пренет са оригиналног оператера на другог оператера. За коначне информације о преносивости, користите MNP претраге. true
is_vanity_number boolean Означава да ли је број телефона vanity број, што значи да садржи абецедне карактере. true
qualifies_for_hlr_lookup boolean Означава да ли је број телефона подобан за додатне упите путем HLR претрага. true
mccmnc string(5|6) Низ од пет или шест карактера који представља MCCMNC пар (мобилни код земље и мобилни мрежни код) који идентификује оригиналну мрежу мобилног броја телефона. true
mcc string(3) Низ од три карактера који представља MCC (мобилни код земље) који идентификује земљу повезану са оригиналном мобилном мрежом броја телефона. true
mnc string(2|3) Низ од два или три карактера који представља MNC (мобилни мрежни код) који идентификује оригиналног оператера мобилне мреже броја телефона. true
original_network_name string Произвољни текст на енглеском језику који наводи назив оригиналног мрежног оператера прегледаног мобилног броја телефона. true
original_country_name string Произвољни текст на енглеском језику који наводи оригиналну земљу повезану са прегледаним мобилним бројем телефона. true
original_country_code string(2) Двословни ISO код земље који означава оригиналну земљу прегледаног мобилног броја телефона. true
regions array Листа читљивих текстова на енглеском језику који наводе географски регион(е) повезан(е) са овим бројем телефона. true
timezones array Листа временских зона (у Olson формату) повезаних са овим бројем телефона. true
info_text string Произвољни текст који може садржати додатне информације о броју телефона. true
cost string Децимална вредност представљена као текст, која означава трошак (у EUR) ове претраге. true
timestamp string Временска ознака у W3C формату (укључујући временску зону) која означава када је претрага завршена. true
storage string Наводи назив складишта где су резултати претраге додати. Ово одговара називу извештаја који се користи за CSV преузимања и аналитику путем веб интерфејса. true
route string(3) Идентификатор од три карактера који наводи руту коришћену за овај захтев претраге. true
Тип Опис
LANDLINE Фиксни телефонски број.
MOBILE Мобилни телефонски број. Подобан за HLR провере ради добијања додатних информација о статусу везе, мрежи, преносивости и роумингу.
MOBILE_OR_LANDLINE Фиксни или мобилни телефонски број. Може бити подобан за HLR проверу.
TOLL_FREE Бесплатни телефонски број.
PREMIUM_RATE Телефонски број са премијум тарифом и додатним трошковима.
SHARED_COST Телефонски број са подељеним трошковима. Обично јефтинији од бројева са премијум тарифом.
VOIP Voice over IP телефонски број. Укључује TSoIP телефонске бројеве (телефонска услуга преко IP-а).
PAGER Број пејџера. Обично без функције гласовног позива.
UAN Универзални приступни број (број компаније). Може бити усмерен ка одређеним канцеларијама, али омогућава коришћење једног броја за целу компанију.
VOICEMAIL Број говорне поште.
UNKNOWN Тип броја није могао бити утврђен.
Помери нагоре

GET/routeзаштићено

Преузима руту која ће бити автоматски изабрана када покренете HLR упит без навођења параметра route.

Аутоматски избор руте заснива се на мапи рутирања која се може преузети помоћу GET /hlr-coverage крајње тачке, а која је примарно изведена из GET /routing-map. Можете прилагодити своју мапу рутирања и дефинисати прилагођена правила у подешавањима налога.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/route?msisdn=+491788735000'

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
msisdn string MSISDN за који се преузимају информације о аутоматски изабраном рутирању. null обавезно
{
   "route":"V11",
   "confidence_level":"HIGH",
   "mccmnc":"26203",
   "origin":"SCORE"
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
route string Препоручена рута. false
confidence_level string Ниво поузданости са којим је ова рута изабрана, тј. LOW, NORMAL, HIGH, MNP_FALLBACK. false
mccmnc string MCCMNC заснован на плану нумерације за овај број. false
origin string Извор на коме се заснива одлука о рутирању, тј. SCORE, CUSTOM_GLOBAL_COUNTRY, CUSTOM_GLOBAL_MCCMNC, CUSTOM_GLOBAL_PREFIX, CUSTOM_USER_COUNTRY, CUSTOM_USER_MCCMNC, CUSTOM_USER_PREFIX, MNP_FALLBACK, PLATFORM_DEFAULT, USER_DEFAULT false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/routesзаштићено

Овај крајњи ресурс враћа листу доступних HLR, MNP и NT рута. Свака рута, заједно са њеним карактеристикама и ограничењима, објашњена је на страници детаљи рутирања.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/routes'
{
   "routes":{
      "HLR":[
         "V11",
         "E10",
         "MS9",
         "DV8",
         "SV3",
         "IP1"
      ],
      "MNP":[
         "PTX",
         "IP4"
      ],
      "NT":[
         "LC1"
      ]
   }
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
routes object Објекат са рутама груписаним по типу руте. false
HLR|MNP|NT string[] Садржи листу идентификатора рута. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/routing-mapзаштићено

Преузима конфигурацију аутоматског рутирања која је тренутно примењена на HLR провере за ваш налог. Ова подразумевана конфигурација се користи увек када шаљете HLR провере без навођења route параметра. Можете прилагодити вашу мапу рутирања и креирати прилагођена правила у вашим подешавањима налога.

Хијерархија конфигурације се каскадно примењује од правила на нивоу земље до правила на нивоу MCCMNC кода, и коначно до мапирања појединачних префикса телефонских бројева. У праксі, то значи да мапирања појединачних префикса телефонских бројева имају предност над конфликтним MCCMNC додељивањима, која заузврат премошћују правила на нивоу земље. Напомињемо да MNP резервна опција премошћује сва конфликтна прилагођена правила док је омогућена.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/routing-map'
{
   "routing":{
      "map":{
         "defaultRoute":"V11",
         "mnpFallback":true,
         "mccmncs":[
            {
               "mccmnc":20201,
               "countrycode":"GR",
               "route":"E10",
               "mno":"Cosmote",
               "confidence":"HIGH",
               "origin":"SCORE"
            }
         ],
         "prefixes":[
            {
               "countrycode":"DE",
               "cns":"+4917821",
               "route":"DV8",
               "mccmnc":"26203",
               "mno":"O2"
            }
         ],
         "countries":[
            {
               "countrycode":"US",
               "route":"DV8"
            }
         ]
      }
   }
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
default_route string Подразумевана рута која се користи када се не може утврдити преферирана опција рутирања за MSISDN и када се не примењују прилагођена правила рутирања. false
mnp_fallback boolean Означава да ли је MNP резервна опција омогућена. Када је омогућена и HLR упити нису подржани од стране мреже (статус повезивости недоступан), систем ће уместо тога извршити MNP проверу. false
mccmncs array Мапирање MCCMNC кодова на њихове аутоматски изабране руте. Приликом извршавања HLR провере за број у датом MCCMNC коду, користи се одговарајућа рута. false
mccmnc string(5|6) Пет- или шестоцифрени MCCMNC (комбинација мобилног кода земље и мобилног мрежног кода) који идентификује мобилног мрежног оператера. false
countrycode string(2) Двословни ISO код земље који идентификује земљу мреже. false
route string(3) Изабрана рута за мрежу. false
mno string Бренд оријентисан ка потрошачима под којим ова мрежа послује. false
confidence string Ниво поузданости са којим је извршен избор. Могуће вредности су: HIGH, NORMAL, LOW, MNP_REDIRECT. У случају последњег, систем преусмерава саобраћај за ову мрежу на MNP, уколико је ово понашање омогућено на вашем налогу. У супротном користи подразумевану руту на налогу. false
origin string Извор на коме се заснива избор. Могуће вредности су: SCORE, CUSTOM_GLOBAL_COUNTRY, CUSTOM_GLOBAL_MCCMNC, CUSTOM_GLOBAL_PREFIX, CUSTOM_USER_COUNTRY, CUSTOM_USER_MCCMNC, CUSTOM_USER_PREFIX, MNP_FALLBACK, PLATFORM_DEFAULT, USER_DEFAULT false
prefixes array Листа прилагођених правила рутирања заснованих на префиксу конфигурисаних на вашем налогу, уколико постоје. false
countrycode string(2) Двословни ISO код земље који идентификује земљу префикса. false
cns string Префикс на који се примењује правило рутирања. false
route string(3) Изабрана рута за префикс. false
mccmnc string(5|6) Пет- или шестоцифрени MCCMNC (комбинација мобилног кода земље и мобилног мрежног кода) који идентификује мобилног мрежног оператера. true
mno string Бренд оријентисан ка потрошачима под којим ова мрежа послује. true
countries array Листа прилагођених правила заснованих на земљи конфигурисаних на вашем налогу, уколико постоје. false
countrycode string(2) Двословни ISO код земље који идентификује земљу. false
route string(3) Изабрана рута за земљу. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/hlr-coverage заштићено

Враћа увиде у HLR покривеност за подршку доношењу одлука заснованих на подацима. Овај крајњи ендпоинт вам помаже да анализирате опције HLR рутирања у реалном времену преко мобилних мрежа, идентификујете најефикасније путеве за ваше циљне регионе и конфигуришете аутоматско рутирање.

Препоручене руте из GET /route се заснивају на подацима о покривености преузетим овде. Подаци о покривености су такође доступни на покривености мреже страници. Можете додатно прилагодити вашу мапу рутирања и дефинисати правила у вашим подешавањима налога.

Препоручујемо да се упознате са овим водичем који ће вам помоћи у тумачењу резултата.

Захтев Успешан одговор Одговор са грешком Референца статуса
curl 'https://www.hlr-lookups.com/api/v2/hlr-coverage?countrycode=XX'

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
countrycode string(2) Обавезни двословни ISO код земље који се користи за филтрирање резултата, враћајући само записе повезане са наведеном земљом. null обавезно
sample_size string Опциони параметар који одређује величину узорка. Могуће вредности су LARGE, MEDIUM, SMALL. Већи узорци покривају дужи временски период, мањи узорци покривају веома недавни временски период. LARGE опционо
{
   "name":"Germany",
   "countrycode":"DE",
   "prefix":"+49",
   "mccs":[
      "262"
   ],
   "carriers":[
      {
         "mno":"Telekom",
         "mccmnc":"26201",
         "mcc":"262",
         "mnc":"01 ",
         "routes":[
            {
               "route":"V11",
               "selected":true,
               "selection_confidence":"HIGH",
               "n":361579,
               "CONNECTED":275273,
               "CONNECTED_PCT":76.13,
               "ABSENT":21529,
               "ABSENT_PCT":5.95,
               "INVALID_MSISDN":62582,
               "INVALID_MSISDN_PCT":17.3,
               "UNDETERMINED":2195,
               "UNDETERMINED_PCT":0.6
            },
            {
               "route":"E10",
               "selected":false,
               "selection_confidence":null,
               "n":122600,
               "CONNECTED":13721,
               "CONNECTED_PCT":11.19,
               "ABSENT":133,
               "ABSENT_PCT":0.1,
               "INVALID_MSISDN":55,
               "INVALID_MSISDN_PCT":0.04,
               "UNDETERMINED":108691,
               "UNDETERMINED_PCT":88.65
            }
         ]
      }
   ]
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
name string Назив изабране земље на енглеском језику. false
countrycode string(2) Двословни ISO код изабране земље. false
prefix string Међународни позивни префикс изабране земље. false
mccs string[] Листа MCC кодова (мобилних кодова земље) повезаних са изабраном земљом. false
carriers object[] Листа објеката оператера са метрикама повезаности специфичним за руту. false
mno string Назив мобилног мрежног оператера на енглеском језику. false
mccmnc string MCCMNC мобилног мрежног оператера. false
mcc string MCC (мобилни код земље) мобилног мрежног оператера. false
mnc string MNC (мобилни мрежни код) мобилног мрежног оператера. false
routes object[] Листа резултата повезаности специфичних за руту. false
route string Рута на коју се односе информације о повезаности. false
selected bool Означава да ли је ово изабрана рута за аутоматско рутирање. false
selection_confidence string Ниво поузданости са којим је ова рута изабрана, тј. LOW, NORMAL, HIGH, MNP_FALLBACK. Садржи null ако ово није изабрана рута. true
n int Укупан број претрага у овом узорку. false
CONNECTED int Број HLR претрага које су вратиле статус CONNECTED. false
CONNECTED_PCT float Проценат HLR претрага које су вратиле статус CONNECTED. false
ABSENT int Број HLR претрага које су вратиле статус ABSENT. false
ABSENT_PCT float Проценат HLR претрага које су вратиле статус ABSENT. false
INVALID_MSISDN int Број HLR претрага које су вратиле статус INVALID_MSISDN. false
INVALID_MSISDN_PCT float Проценат HLR претрага које су вратиле статус INVALID_MSISDN. false
UNDETERMINED int Број HLR претрага које су вратиле статус UNDETERMINED. false
UNDETERMINED_PCT float Проценат HLR претрага које су вратиле статус UNDETERMINED. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Статус Опис
CONNECTED Број је важећи и циљни уређај је тренутно повезан на мобилну мрежу. Позиви, СМС поруке и остале услуге би требало успешно да стигну до примаоца.
ABSENT Број је важећи, али је циљни уређај или искључен или привремено ван покривености мреже. Поруке или позиви можда неће бити достављени док се уређај поново не повеже на мрежу.
INVALID_MSISDN Број је неважећи или тренутно није додељен ниједном претплатнику на мобилној мрежи. Позиви и поруке на овај број неће успети.
UNDETERMINED Статус повезаности броја није могао бити утврђен. Ово може бити због неважећег броја, SS7 грешке у одговору или недостатка повезаности са циљним мрежним оператером. Проверите код грешке и његов опис за додатну дијагностику.
Помери нагоре

GET/mnp-coverageзаштићено

Овај крајњи ресурс враћа листу мобилних мрежних оператера, заједно са њиховим одговарајућим MCCMNC идентификаторима, који су тренутно подржани за претраге преносивости мобилних бројева.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/mnp-coverage?countrycode=XX'

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
countrycode string(2) Опциони двословни ISO код земље који се користи за филтрирање MCCMNC резултата, враћајући само податке релевантне за наведену земљу. null опционо
{
   "items":[
      {
         "country_name":"Germany",
         "country_code":"DE",
         "mccmnc":"26201",
         "mcc":"262",
         "mnc":"01 ",
         "brand":"Telekom",
         "operator":"Telekom Deutschland GmbH"
      },
      {
         "country_name":"Germany",
         "country_code":"DE",
         "mccmnc":"26202",
         "mcc":"262",
         "mnc":"02 ",
         "brand":"Vodafone",
         "operator":"Vodafone D2 GmbH"
      }
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
items[] array Листа оператера мобилних мрежа. false
country_name string Назив земље на енглеском језику. false
country_code string(2) Двословни ISO код земље. false
mccmnc string(5|6) Пет- или шестоцифрени MCCMNC (комбинација кода мобилне земље и кода мобилне мреже) који идентификује мобилног мрежног оператера. false
mcc string(3) Троцифрени MCC (код мобилне земље) који представља земљу мреже. false
mnc string(2|3) Дво- или троцифрени MNC (код мобилне мреже) који представља специфичног мобилног мрежног оператера. false
brand string Бренд окренут ка потрошачима под којим ова мрежа послује. true
operator string Правни назив мобилног мрежног оператера. true
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/price-listзаштићено

Овај крајњи ресурс враћа листу земаља где су подржане само MNP претраге, док HLR упити нису доступни за ове дестинације.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/mnp-countries'
{
   "countries":[
      "AG",
      "AI",
      "AR",
      "AS",
      "AW",
      "BB",
      "BM",
      ...
      "US",
      "UY",
      "VC",
      "VE",
      "VG",
      "VN"
   ]
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
countries string[] Листа двословних ISO кодова земаља. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/mccmncsзаштићено

Овај крајњи ресурс враћа свеобухватну листу мобилних мрежних оператера заједно са њиховим одговарајућим MCCMNC идентификаторима и додатним контекстуалним информацијама.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/mccmncs?countrycode=XX'

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
countrycode string(2) Опциони двословни ISO код земље који се користи за филтрирање MCCMNC резултата, враћајући само записе повезане са наведеном земљом. null опционо
{
   "items":[
      {
         "country_name":"Germany",
         "country_code":"DE",
         "mccmnc":"26201",
         "mcc":"262",
         "mnc":"01 ",
         "brand":"Telekom",
         "operator":"Telekom Deutschland GmbH"
      },
      {
         "country_name":"Germany",
         "country_code":"DE",
         "mccmnc":"26202",
         "mcc":"262",
         "mnc":"02 ",
         "brand":"Vodafone",
         "operator":"Vodafone D2 GmbH"
      }
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
items object[] Листа мобилних мрежних оператера. false
country_name string Пун назив земље на енглеском језику. false
country_code string(2) Двословни ISO код земље који представља земљу мобилног оператера. false
mccmnc string(5|6) Низ од пет или шест знакова који представља MCCMNC и јединствено идентификује мобилног мрежног оператера. false
mcc string(3) Трознаковни мобилни код земље (MCC) који идентификује земљу у којој мобилна мрежа послује. false
mnc string(2|3) Двознаковни или трознаковни мобилни мрежни код (MNC) који одређује мобилну мрежу унутар датог MCC кода. false
brand string Комерцијални назив бренда под којим мрежа послује и коју препознају корисници. true
operator string Званичан назив мобилног мрежног оператера, обично правног лица које управља мрежом. true
parent_mccmnc string(5|6) Низ од пет или шест знакова који представља MCCMNC матичног мобилног мрежног оператера, уколико постоји. true
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/priceзаштићено

Овај крајњи пункт враћа цену за HLR, MNP или NT претрагу.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/price?msisdn=+491788735000&route_type=HLR'

Параметри захтева

Кључ Тип Опис Подразумевано Обавезно
msisdn string Телефонски број за који се преузима цена. У међународном формату. null обавезно
route_type string Тип руте, тј. HLR, MNP, NT. null обавезно
route string(3) Рута за коју треба израчунати цену. Подразумевано је рута одређена аутоматским рутирањем. null опционо
{
   "price":{
      "amount":"0.01000",
      "msisdn":"+491788735000",
      "route_type":"HLR",
      "route":"DV8"
   }
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
price object Објекат са детаљима о ценама. false
amount string Износ у EUR. false
msisdn string MSISDN за који важи ова цена. false
route_type string(2|3) Тип руте за који важи ова цена. false
route string(3) Рута за коју важи ова цена. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/price-listзаштићено

Овај крајњи ресурс враћа ценовник за ваш налог.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/price-list'
{
   "pricing":[
      {
         "route":"V11",
         "countrycode":null,
         "countryname":null,
         "mccmnc":null,
         "cns":null,
         "route_type":"HLR",
         "price":"0.0090"
      },
      {
         "route":"V11",
         "countrycode":"DE",
         "countryname":"Germany",
         "mccmnc":"26201",
         "cns":null,
         "route_type":"HLR",
         "price":"0.0070"
      },
      {
         "route":"V11",
         "countrycode":"DE",
         "countryname":"Germany",
         "mccmnc":"26203",
         "cns":"4917821",
         "route_type":"HLR",
         "price":"0.0070"
      },
      {
         "route":"V11",
         "countrycode":"DE",
         "countryname":"Germany",
         "mccmnc":null,
         "cns":null,
         "route_type":"HLR",
         "price":"0.0070"
      },
      {
         "route":"PTX",
         "countrycode":null,
         "countryname":null,
         "mccmnc":null,
         "cns":null,
         "route_type":"MNP",
         "price":"0.00500"
      },
      ...
      {
         "route":"IP1",
         "countrycode":null,
         "countryname":null,
         "mccmnc":null,
         "cns":null,
         "route_type":"MIX",
         "price":"0.01000"
      },
      {
         "route":"LC1",
         "countrycode":null,
         "countryname":null,
         "mccmnc":null,
         "cns":null,
         "route_type":"NT",
         "price":"0.00500"
      }
   ]
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
pricing object[] Листа објеката са информацијама о ценама. false
route string Рута на коју се примењује овај ценовник. false
countrycode string Двословна ISO ознака земље на коју се примењује овај ценовник за одговарајућу руту, ако постоји. true
countryname string Назив земље на енглеском језику који одговара ознаци земље, ако постоји. true
mccmnc string MCCMNC на који се примењује овај ценовник за одговарајућу руту, ако постоји. Има предност над ценама на нивоу земље. true
cns string Позивни префикс на који се примењује овај ценовник за одговарајућу руту, ако постоји. Има предност над ценама на нивоу земље и MCCMNC нивоу. true
route_type string Одговарајући тип руте, тј. HLR, MNP, NT. false
route_type string Одговарајућа цена у EUR. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/balanceзаштићено

Овај крајњи ресурс приказује тренутно стање на вашем налогу, омогућавајући вам да аутоматизујете процесе на основу статуса кредита. Беспрекорно функционише са обавештењима о ниском кредиту путем е-поште која можете подесити на вашој страници за плаћања.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/balance'
{
    "balance":"1002.90"
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
balance string Тренутно стање на вашем налогу у EUR. Децимална вредност типа string. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/pingјавно

Овај крајњи пункт шаље ping захтев ка API-ју, пружајући једноставан метод за тестирање ваше везе са HLR Lookups API-јем.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/ping'
{
    "success":true
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
success boolean Означава да је захтев успешно обрађен. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/timeјавно

Овај крајњи пункт враћа Unix временску ознаку која представља тренутно време на HLR Lookups серверу. Користите га за синхронизацију сата вашег сервера приликом генерисања Digest-Auth потписа за аутентификацију, чиме се осигурава да су све разлике између времена вашег сервера и HLR Lookups сервера исправљене.

Захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/time'
{
    "time":1525898643
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
time integer Unix временска ознака која представља тренутно време HLR Lookups сервера. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

GET/auth-testзаштићено

Овај крајњи ресурс служи као почетни тест за вашу Basic-Auth или, пожељније, Digest-Auth имплементацију.

Basic Auth захтев Digest Auth захтев Успешан одговор Одговор са грешком
curl 'https://www.hlr-lookups.com/api/v2/auth-test' \
  -H "X-Basic: YOUR_API_KEY" 

Заглавља захтева

Кључ Тип Опис
X-Basic string SHA256 хеш од YOUR_API_KEY:YOUR_API_SECRET. Укључите симбол двотачке (:) у хеш.
curl 'https://www.hlr-lookups.com/api/v2/auth-test' \
  -H "X-Digest-Key: YOUR_API_KEY" \
  -H "X-Digest-Signature: DIGEST_AUTH_SIGNATURE" \
  -H "X-Digest-Timestamp: UNIX_TIMESTAMP" 

Заглавља захтева

Кључ Тип Опис
X-Digest-Key string Ваш HLR Lookups API кључ
X-Digest-Signature string Јединствени Digest-Auth потпис (погледајте аутентификација)
X-Digest-Timestamp integer Тренутна Unix временска ознака (такође погледајте GET /time)
{
    "success":true
}

Атрибути успешног одговора

Име Тип Опис Може бити празно
success boolean Означава да је захтев успешно обрађен. false
{
    "errors":[
        "Service unavailable."
    ]
}

Параметри одговора грешке

Име Тип Опис Може бити празно
errors[] string[] Листа текстова који објашњавају грешку. false
Помери нагоре

Документација застареле API верзије

Напомињемо да је застарела API верзија депрецирана и да је планирано њено укидање у будућности. Препоручујемо вам да што пре извршите надоградњу на најновију верзију.

Уколико сте имплементирали нашу HLR Lookups API између 2013. и почетка 2020. године, користите нашу застарелу API верзију. У том случају, молимо погледајте нашу документацију застареле API верзије.

Документација застареле API верзије

Унапредите вашу мобилну интелигенцију са најбољом HLR Lookups платформом


Контактирајте нас
© Velocity Made Good Ltd. 2013-2026 · Услови коришћења · Политика приватности · Уговор о обради података
Ротирајући индикатор учитавања Транспарентни Gif