Komma igång

Den globala mobilnätsinfrastrukturen bygger på ett system som kallas SS7-signaleringsnätverket. Detta nätverk möjliggör utbyte av abonnentdata, samtalsdirigering, SMS-överföring och realtidsuppdateringar av mobilanslutningsstatus mellan operatörer. Varje mobilnät upprätthåller ett Home Location Register (HLR) - en central databas som lagrar väsentliga uppgifter om dess abonnenter.

HLR Lookup-teknologi gör det möjligt för företag att söka i dessa register och hämta aktuella anslutnings- och nätverksuppgifter för vilket mobilnummer som helst. Detta inkluderar om telefonen är påslagen, vilket nätverk den för närvarande är tilldelad, om den har porterats, om numret är giltigt eller avaktiverat, samt om den är i roaming.

HLR Lookups API ger sömlös realtidsåtkomst till denna data, vilket gör det möjligt för företag att verifiera mobilnummer, optimera dirigering och förbättra kundkommunikation. Denna dokumentation guidar dig genom integrationen av HLR Lookups i din programvara, vilket möjliggör automatiserad hämtning av mobilinformation i realtid.

Använda HLR Lookups API

Att utföra HLR Lookup-förfrågningar är snabbt, säkert och enkelt. När du har registrerat dig och erhållit din API-nyckel kan du autentisera och initiera omedelbara uppslagningar med enkla HTTP POST-förfrågningar, via POST /hlr-lookup. Alternativt kan du bearbeta stora datamängder genom att välja snabba asynkrona API-förfrågningar med resultat som skickas tillbaka till din server via webhook, vilket förklaras i avsnittet koncept.

Exempelförfrågan

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"

Autentisering tillhandahålls via HTTP-headers, och payload.json bör (som minimum) innehålla följande JSON-objekt:

Exempelpayload

{
   "msisdn": "+14156226819"
}

Vid lyckad exekvering kommer du att få ett svar som innehåller realtidsanslutningsdetaljer för det angivna mobilnumret.

Lyckat svar 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"
}

För en fullständig översikt över attribut för förfrågningar och svar samt anslutningsstatus, se POST /hlr-lookup.

Ytterligare uppslagstjänster

Nummerportabilitet (MNP) uppslagningar

Använd MNP-uppslagningar för att fastställa nätverksägande och portabilitetsdetaljer utan att söka efter realtidsanslutning. Om du endast behöver MCCMNC för ett nummer, se POST /mnp-lookup.

Nummertypsdetektering (NT) uppslagningar

Fastställ om ett telefonnummer tillhör en fast telefon, mobil, premiumnummer, VoIP, personsökare eller andra nummerserieområden med POST /nt-lookup.

Programutvecklingskit (SDK)

HLR Lookups API fungerar med vilken REST-klient som helst i vilket programmeringsspråk som helst och vi har publicerat SDK:er för PHP, Ruby och NodeJS på vår GitHub för att hjälpa dig komma igång snabbt.

Verktyg

För att säkerställa en sömlös utvecklingsupplevelse erbjuder vi en omfattande uppsättning verktyg, inklusive webbläsarbaserad API-förfrågnings- och webhookmonitorering, vitlistning av IP-adresser, robusta autentiseringsalternativ och en autentiseringstestendpoint.

Inte utvecklare?

HLR Lookups och nummerportabilitetsförfrågningar kan utföras utan någon kodning. Läs mer om vår webbklient för företag och webbläsarbaserade rapporteringsfunktioner.

Autentisering

För att säkerställa säkerhet och korrekt åtkomstkontroll kräver de flesta förfrågningar till HLR Lookups API autentisering. Endpoints kategoriseras som antingen publika eller skyddade. Vid åtkomst till en skyddad endpoint måste din förfrågan autentiseras med din API-nyckel och hemlighet via antingen Digest-Auth eller Basic-Auth-metoden. Digest-Auth är det säkrare alternativet och rekommenderas starkt. Använd GET /auth-test-endpointen för att verifiera din autentiseringskonfiguration.

API-nyckel och API-hemlighet

Hämta din API-nyckel och hemlighet från sidan API-inställningar. Du kan även konfigurera din föredragna autentiseringsmetod och aktivera vitlistning av IP-adresser för förbättrad säkerhet. Om du misstänker att din API-hemlighet har komprometterats kan du när som helst generera en ny.

Hämta API-nyckel
Basic Auth Digest Auth IP-vitlistning

Standard Basic Authentication är enkelt att implementera och brett stödd. Du kan autentisera genom att skicka din API-nyckel och hemlighet som ett user:pass-par i HTTP-förfrågan.

HTTP Basic Auth

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

Detta skickar en Authorization-header:

Authorization: Basic BASE64(YOUR_API_KEY:YOUR_API_SECRET)

Rekommenderat: X-Basic-header med SHA256

För förbättrad säkerhet kan du skicka en SHA256-hash av dina autentiseringsuppgifter istället för att överföra dem direkt som base64. För att använda denna metod, beräkna hashen av ditt YOUR_API_KEY:YOUR_API_SECRET-par och skicka den via X-Basic-headern:

Basic Auth-förfrågan

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

Basic Authentication-headers

Nyckel Typ Beskrivning
X-Basic string SHA256-hash av YOUR_API_KEY:YOUR_API_SECRET. Inkludera kolonsymbolen (:) i hashen. obligatorisk

PHP Kodexempel

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

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

Digest-Auth är den rekommenderade metoden för att säkra åtkomst till skyddade HLR Lookup API-endpoints. Varje förfrågan måste inkludera följande headers: X-Digest-Key, X-Digest-Signature och X-Digest-Timestamp, vilka förklaras nedan.

Exempel på förfrågan

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"

Förfrågans headers

Nyckel Typ Beskrivning
X-Digest-Key string Din unika HLR Lookups API-nyckel. obligatorisk
X-Digest-Signature string En unik autentiseringssignatur (se nedan). obligatorisk
X-Digest-Timestamp integer Aktuell Unix-tidsstämpel (se även GET /time). obligatorisk

Konstruera signaturen

X-Digest-Signature skapas med en SHA256 HMAC-hash, där din API-hemlighet används som delad nyckel.

Strängen som ska hashas är strukturerad enligt följande:

ENDPOINT_PATH . UNIX_TIMESTAMP . REQUEST_METHOD . REQUEST_BODY

Symbolen . representerar strängkonkatenering.

Komponenter i Digest-signatur

Komponent Typ Beskrivning
ENDPOINT_PATH string Den begärda API-endpointen, t.ex. /auth-test i gemener.
UNIX_TIMESTAMP integer Aktuell Unix-tidsstämpel (måste vara inom 30 sekunder). Se GET /time.
REQUEST_METHOD string Den HTTP-metod som används, t.ex. POST eller GET.
REQUEST_BODY string Data i förfrågans body. Sätt till null för GET-förfrågningar.

Kodexempel

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)

Använd API-inställningar för att begränsa åtkomst till specifika IP-adresser för förbättrad säkerhet. Detta rekommenderas särskilt i produktionsmiljöer.

Rulla upp

Koncept

Att implementera HLR-uppslagningar i vilket programmeringsspråk eller system som helst via vårt HTTP REST API är enkelt och effektivt. Med en smidig integrationsprocess kan du börja fråga mobilnätverk i realtid för omedelbara insikter om telefonnummers giltighet, anslutningsstatus och routingdetaljer.

Val av lämpligt API beror på ditt specifika användningsfall. Om du behöver uppslagsresultat i realtid för applikationer som VoIP-telefoni, bedrägeridetektering eller SMS-routing är det synkrona API:et det bästa valet. Om ditt användningsfall däremot involverar högvolymbearbetning, bulkuppslagningar eller storskalig dataverifiering erbjuder det asynkrona API:et optimerad prestanda med bandbreddseffektivitet och batchuppslagsfunktioner.

Konfigurera API:et för att använda ett av våra anpassade routingalternativ för att optimera hastighet, noggrannhet och kostnadseffektivitet. Du kan också lagra uppslagsresultat i lagringar för enkla CSV- och JSON-rapportnedladdningar samt avancerad analys via webbgränssnittet.

Synkront HLR-uppslags-API

Endpointen POST /hlr-lookup bearbetar ett mobiltelefonnummer (MSISDN) per begäran och returnerar resultat omedelbart i HTTP-svarskroppen. Resultaten formateras som JSON och är idealiska för realtidsapplikationer, inklusive mobilnummervalidering, samtalsrouting och SMS-meddelandeleverans.

Ett synkront API-anrop består av en direkt HTTP-begäran och ett svar. Ditt system skickar ett enda MSISDN (mobilnummer) per begäran och får ett omedelbart svar som innehåller HLR-uppslagsresultat i realtid i JSON-format. Detta API är optimerat för användningsfall som kräver omedelbar verifiering och anslutningskontroller, såsom bedrägeridetektering, VoIP-samtalsrouting och SMS-gatewayoptimering.

Asynkront HLR Lookup API

Endpointen POST /hlr-lookups är utformad för bulk- och högvolymbearbetning och låter dig skicka upp till 1,000 MSISDN per begäran. Istället för att returnera resultat omedelbart använder detta API automatiserade webhooks för att skicka resultat progressivt till din server. Uppslagsresultat returneras som JSON-objekt via HTTP POST-callbacks.

Det asynkrona API:et är optimerat för hastighet, effektivitet och skalbarhet. Det eliminerar nätverkslatensproblemat som är förknippat med synkrona anrop, vilket gör det idealiskt för företag som behöver högthroughput-uppslagningar. Ditt system skickar upp till 1,000 MSISDN per begäran, och vår plattform bearbetar dem parallellt och levererar resultat tillbaka till din server via HTTP-webhooks i batcher om upp till 1,000 resultat per callback.

SDK:er (Software Development Kits)

Våra Software Development Kits (SDK:er) för PHP, NodeJS och Ruby effektiviserar integrationsprocessen och gör det möjligt att ansluta till HLR Lookups API på ett effektivt sätt med minimal arbetsinsats.

Dessa SDK:er tillhandahåller färdiga funktioner, autentiseringshantering och strukturerade API-förfrågningsmallar, vilket minskar utvecklingstiden och säkerställer bästa praxis.

Utforska vår kompletta lista över tillgängliga SDK:er på GitHub och börja integrera idag.

PHP PHP NodeJS NodeJS Ruby Ruby
PHP-logotyp

PHP SDK

Snabb API-integration för 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-logotyp

NodeJS SDK

Snabb API-integration för 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-logotyp

Ruby SDK

Snabb API-integration för 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)
Rulla upp

POST/hlr-lookupskyddad

Utför en synkron HLR-sökning som levererar realtidsdata om mobiltelefoners anslutningsstatus och portabilitet direkt från nätverksoperatörer. Denna endpoint är idealisk för livetrafik-scenarier där tidskritiska applikationer kräver omedelbar verifiering av huruvida ett telefonnummer för närvarande är nåbart (anslutet) eller otillgängligt (avstängt). Dessutom hjälper den till att särskilja aktiva nummer från ogiltiga, okända eller falska nummer.

För bulkbearbetning av stora datamängder som inte kräver omedelbara resultat, överväg att använda den asynkrona POST /hlr-lookups, som är optimerad för höghastighetsbatchbearbetning.

Om ditt primära fokus är att hämta mobilnummerportabilitetsdata (MCCMNC) och du inte behöver live-anslutningsstatus, erbjuder POST /mnp-lookup ett kostnadseffektivt alternativ för förfrågningar om mobilnummerportabilitet.

Förfrågan Lyckat svar Felsvar Statusreferens
curl -X POST 'https://www.hlr-lookups.com/api/v2/hlr-lookup' \
          -d "@payload.json"

Nyttolast

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

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
msisdn string Mobiltelefonnumret (MSISDN) som ska efterfrågas, angivet i internationellt format (t.ex. +14156226819 eller 0014156226819). Landskoder måste inkluderas. null obligatorisk
route string(3) En valfri treteckensidentifierare som specificerar rutten för denna sökning. Sätt till null eller utelämna denna parameter för att tillämpa din anpassade routingkarta eller låt vårt system automatiskt bestämma den bästa rutten för denna sökning. null valfritt
storage string En valfri lagringsidentifierare som specificerar rapporten där resultat kommer att lagras för manuell granskning, analys och rapportering. Systemet lägger automatiskt till en tidsstämpel med aktuell månad. Om parametern utelämnas eller sätts till null, kommer systemet automatiskt att gruppera resultat per månad för rapporteringsändamål. null valfritt
{
   "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"
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
id string(12) En unik identifierare som tilldelats denna uppslagningsförfrågan. false
msisdn string Mobiltelefonnumret som efterfrågas, formaterat i internationellt format (t.ex. +14156226819 eller 0014156226819). false
connectivity_status string Anger om numrets uppkopplingsstatus kunde hämtas. Möjliga värden: CONNECTED , ABSENT , INVALID_MSISDN eller UNDETERMINED . false
mccmnc string(5|6) En fem- eller sexsiffrig Mobile Country Code (MCC) och Mobile Network Code (MNC) som identifierar det nätverk som för närvarande är kopplat till telefonnumret. true
mcc string(3) En tresiffrig Mobile Country Code (MCC) som identifierar det land där telefonnumret är registrerat. true
mnc string(2|3) En två- eller tresiffrig Mobile Network Code (MNC) som identifierar det specifika nätverk som telefonnumret tillhör. true
imsi string International Mobile Subscriber Identity (IMSI), en unik identifierare för det SIM-kort som är kopplat till detta nummer. Tillgänglighet beror på nätverkskonfiguration. true
msin string(10) Mobile Subscription Identification Number (MSIN) i mobiloperatörens databas. Tillgänglighet beror på nätverkskonfiguration. true
msc string(12) Den Mobile Switching Center (MSC) som för närvarande hanterar denna abonnents kommunikation. Tillgänglighet beror på nätverkskonfiguration. true
original_network_name string Den ursprungliga (inhemska) nätverksoperatörens namn som är kopplat till detta nummer. true
original_country_name string Det fullständiga namnet på det land där mobiltelefonnumret ursprungligen registrerades, angivet på engelska. true
original_country_code string(2) Den tvåteckens ISO-landskod som representerar det land där telefonnumret först tilldelades. true
original_country_prefix string Den internationella uppringningskoden (landskod) som motsvarar mobiltelefonnumrets ursprungsland. true
is_ported boolean Anger om mobilnumret har porterats från sitt ursprungliga nätverk till en annan operatör. true
ported_network_name string Namnet på den nätverksoperatör som mobilnumret har porterats till, om tillämpligt. true
ported_country_name string Namnet på det land som mobilnumret porterats till, om tillämpligt. true
ported_country_code string(2) Den tvåteckens ISO-landskod som representerar det land som mobilnumret porterats till, om tillämpligt. true
ported_country_prefix string Den internationella uppringningskoden (landskod) för det land som mobilnumret porterats till, om tillämpligt. true
is_roaming boolean Anger om mobilnumret för närvarande roamar på ett utländskt nätverk. Tillgänglighet av roamingstatus beror på mobilnätoperatören. true
roaming_network_name string Namnet på det nätverk där mobilnumret för närvarande roamar, om tillämpligt. true
roaming_country_name string Namnet på det land där mobilnumret för närvarande roamar, om tillämpligt. true
roaming_country_code string(2) Den tvåteckens ISO-landskod för det land där mobilnumret för närvarande roamar, om tillämpligt. true
roaming_country_prefix string Den internationella uppringningskoden (landskod) för det land där mobilnumret för närvarande roamar, om tillämpligt. true
cost string Ett decimalvärde representerat som en sträng, som anger uppslagningskostnaden i EUR. true
timestamp string En W3C-formaterad tidsstämpel inklusive tidszon, som anger när uppslagningen slutfördes. true
storage string Namnet på lagringsplatsen där uppslagningsresultaten sparades. Detta motsvarar rapportnamn och CSV-nedladdningar som är tillgängliga via webbgränssnittet. true
route string(3) En treteckens identifierare som anger den routingmetod som användes för denna uppslagningsförfrågan. true
processing_status string Uppslagningens bearbetningsresultat. Möjliga värden: COMPLETED (lyckad), REJECTED (nätverk ej nåbart, ingen avgift tillämpas) eller FAILED (fel uppstod under bearbetning). false
error_code integer En valfri intern felkod som ger ytterligare diagnostisk information för kundsupport. true
error_description string En kort förklaring av den angivna felkoden (om någon) i klartext på engelska. true
data_source string Datakällan som användes för denna förfrågan. Möjliga värden: LIVE_HLR (realtids-HLR-förfrågan) eller MNP_DB (statisk databas för nummerportabilitet). Se routingalternativ för detaljer. false
routing_instruction string En kolonavgränsad sträng som beskriver routinginstruktionen som användes i förfrågan. Den första komponenten är STATIC när du angav en rutt eller AUTO för automatisk routing; den andra komponenten är ruttidentifieraren, och för automatiska routingförfrågningar visar en tredje komponent ursprunget som routingbeslutet baseras på (dvs. 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."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Status Beskrivning
CONNECTED Numret är giltigt och målenheten är för närvarande ansluten till mobilnätet. Samtal, SMS och andra tjänster bör nå mottagaren utan problem.
ABSENT Numret är giltigt, men målenheten är antingen avstängd eller tillfälligt utanför nättäckning. Meddelanden eller samtal kan eventuellt inte levereras förrän enheten återansluter till nätet.
INVALID_MSISDN Numret är ogiltigt eller för närvarande inte tilldelat någon abonnent i mobilnätet. Samtal och meddelanden till detta nummer kommer att misslyckas.
UNDETERMINED Anslutningsstatusen för numret kunde inte fastställas. Detta kan bero på ett ogiltigt nummer, SS7-felsvar eller bristande anslutning med måloperatören. Granska felkoden och dess beskrivningsfält för ytterligare diagnostik.
Rulla upp

POST/hlr-lookupsskyddad

Initierar en batch av asynkrona HLR-uppslagningar som hämtar live-data om mobiltelefoners nåbarhet och portabilitet från nätoperatörer. Resultat levereras via webhooks till din server. Denna metod är optimerad för bearbetning av stora volymer nummer som inte kräver omedelbara svar, såsom databasrensning och verifiering. För realtidsapplikationer som samtalsstyrning eller SMS-leverans, överväg att använda POST /hlr-lookup-endpointen istället.

Denna endpoint är idealisk för bulkbearbetning när målet är att identifiera telefonnummer som för närvarande är nåbara (anslutna) eller otillgängliga (telefon avstängd) samtidigt som ogiltiga, otilldelade eller falska nummer filtreras bort. Dessutom tillhandahåller den live-portabilitetsstatus (MCCMNC) tillsammans med nåbarhetsdetaljer.

Innan du använder denna endpoint, se till att en webhook-URL är konfigurerad för att ta emot uppslagningsresultat asynkront. Du kan ställa in detta i dina API-inställningar.

Förfrågan Lyckat svar Felsvar Webhooks Statusreferens
curl -X POST 'https://www.hlr-lookups.com/api/v2/hlr-lookups' \
          -d "@payload.json"

Nyttolast

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

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
msisdns array En array med mobiltelefonnummer (MSISDN) i internationellt format (t.ex. +14156226819 eller 0014156226819). Du kan inkludera upp till 1000 nummer per förfrågan. null obligatorisk
route string(3) En valfri treteckensidentifierare som specificerar rutten för denna sökning. Sätt till null eller utelämna denna parameter för att tillämpa din anpassade routingkarta eller låt vårt system automatiskt bestämma den bästa rutten för denna sökning. null valfritt
storage string En valfri lagringsidentifierare som specificerar rapporten där resultat kommer att lagras för manuell granskning, analys och rapportering. Systemet lägger automatiskt till en tidsstämpel med aktuell månad. Om parametern utelämnas eller sätts till null, kommer systemet automatiskt att gruppera resultat per månad för rapporteringsändamål. null valfritt
{
   "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"
   ]
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
accepted array En lista med objekt som innehåller unika identifierare och MSISDN som har accepterats för bearbetning. false
accepted_count integer Det totala antalet MSISDN som framgångsrikt accepterats för bearbetning. false
rejected array En lista med objekt som innehåller unika identifierare och MSISDN som har avvisats för bearbetning, vanligtvis på grund av ogiltiga nummer. Ingen avgift tillämpas för avvisade poster. false
rejected_count integer Det totala antalet MSISDN som avvisats på grund av valideringsfel. false
total_count integer Det totala antalet accepterade och avvisade MSISDN som skickades in för bearbetning. false
cost string Ett decimalvärde representerat som en sträng, som anger den totala kostnaden i EUR för de accepterade uppslagningarna. false
storage string Namnet på lagringen där uppslagningsresultaten läggs till, används för rapportering och CSV-nedladdningar via webbgränssnittet. false
route string(3|4) En tre- eller fyrateckens identifierare som specificerar den rutt som används för denna uppslagningsförfrågan. Innehåller AUTO om nummerbaserad automatisk routing begärdes. false
webhook_urls array Webhook-URL:erna som konfigurerats i dina API-inställningar. Resultat postas tillbaka hit. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false

Bearbetning av Webhooks

När uppslaget skickats in börjar vår plattform bearbeta de angivna telefonnumren och skickar resultaten till den tidigare angivna webhook-URL:en på din server. Resultaten överförs som en HTTP POST-förfrågan med ett JSON-objekt i förfrågans body.

Autentisering

Autentisera webhooken genom att inspektera HTTP-headern X-Signatures.

Headern X-Signatures innehåller en semikolonseparerad lista med signaturer. Varje signatur i listan genereras med hjälp av en av de API-hemligheter som konfigurerats i ditt konto. För att verifiera webhooken, generera en SHA-256-hash med din API-nyckel, hemlighet och den råa HTTP-bodyn - jämför sedan med signaturerna i listan.

En matchning bekräftar att förfrågan är autentisk och signerad med en hemlighet du kontrollerar.

PHP Kodexempel

$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;
    }
}

Förfrågan är giltig om någon av signaturerna i headern motsvarar en SHA256-hash beräknad över den sammanfogade strängen av din API-nyckel, hemlighet och HTTP-bodyn.

Bekräfta Mottagning

Din server förväntas svara med HTTP-statuskoden 200 OK för att bekräfta lyckad mottagning. Om någon annan statuskod returneras, en timeout inträffar (10 sekunder) eller något annat leveransproblem uppstår, kommer systemet automatiskt att försöka skicka webhooken igen efter en minut. Om förfrågan fortsätter att misslyckas följer nya försök en exponentiell backoff-strategi, med efterföljande försök efter 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 minuter.

Denna mekanism för nya försök säkerställer maximal tillförlitlighet vid leverans av uppslagsresultat till din infrastruktur. Den minimerar risken för dataförlust på grund av tillfälliga nätverksproblem eller serveravbrott.

Webhook-nyttolast

{
   "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"
      }
   ]
}

Attribut för Webhook-Payload

JSON-objektet innehåller ett attribut type => HLR tillsammans med ett attribut results som inkluderar en lista med uppslagningsobjekt, enligt dokumentationen nedan.

Namn Typ Beskrivning Nullbar
id string(12) En unik identifierare som tilldelats denna uppslagningsförfrågan. false
msisdn string Mobiltelefonnumret som efterfrågas, formaterat i internationellt format (t.ex. +14156226819 eller 0014156226819). false
connectivity_status string Anger om numrets uppkopplingsstatus kunde hämtas. Möjliga värden: CONNECTED , ABSENT , INVALID_MSISDN eller UNDETERMINED . false
mccmnc string(5|6) En fem- eller sexsiffrig Mobile Country Code (MCC) och Mobile Network Code (MNC) som identifierar det nätverk som för närvarande är kopplat till telefonnumret. true
mcc string(3) En tresiffrig Mobile Country Code (MCC) som identifierar det land där telefonnumret är registrerat. true
mnc string(2|3) En två- eller tresiffrig Mobile Network Code (MNC) som identifierar det specifika nätverk som telefonnumret tillhör. true
imsi string International Mobile Subscriber Identity (IMSI), en unik identifierare för det SIM-kort som är kopplat till detta nummer. Tillgänglighet beror på nätverkskonfiguration. true
msin string(10) Mobile Subscription Identification Number (MSIN) i mobiloperatörens databas. Tillgänglighet beror på nätverkskonfiguration. true
msc string(12) Den Mobile Switching Center (MSC) som för närvarande hanterar denna abonnents kommunikation. Tillgänglighet beror på nätverkskonfiguration. true
original_network_name string Den ursprungliga (inhemska) nätverksoperatörens namn som är kopplat till detta nummer. true
original_country_name string Det fullständiga namnet på det land där mobiltelefonnumret ursprungligen registrerades, angivet på engelska. true
original_country_code string(2) Den tvåteckens ISO-landskod som representerar det land där telefonnumret först tilldelades. true
original_country_prefix string Den internationella uppringningskoden (landskod) som motsvarar mobiltelefonnumrets ursprungsland. true
is_ported boolean Anger om mobilnumret har porterats från sitt ursprungliga nätverk till en annan operatör. true
ported_network_name string Namnet på den nätverksoperatör som mobilnumret har porterats till, om tillämpligt. true
ported_country_name string Namnet på det land som mobilnumret porterats till, om tillämpligt. true
ported_country_code string(2) Den tvåteckens ISO-landskod som representerar det land som mobilnumret porterats till, om tillämpligt. true
ported_country_prefix string Den internationella uppringningskoden (landskod) för det land som mobilnumret porterats till, om tillämpligt. true
is_roaming boolean Anger om mobilnumret för närvarande roamar på ett utländskt nätverk. Tillgänglighet av roamingstatus beror på mobilnätoperatören. true
roaming_network_name string Namnet på det nätverk där mobilnumret för närvarande roamar, om tillämpligt. true
roaming_country_name string Namnet på det land där mobilnumret för närvarande roamar, om tillämpligt. true
roaming_country_code string(2) Den tvåteckens ISO-landskod för det land där mobilnumret för närvarande roamar, om tillämpligt. true
roaming_country_prefix string Den internationella uppringningskoden (landskod) för det land där mobilnumret för närvarande roamar, om tillämpligt. true
cost string Ett decimalvärde representerat som en sträng, som anger uppslagningskostnaden i EUR. true
timestamp string En W3C-formaterad tidsstämpel inklusive tidszon, som anger när uppslagningen slutfördes. true
storage string Namnet på lagringsplatsen där uppslagningsresultaten sparades. Detta motsvarar rapportnamn och CSV-nedladdningar som är tillgängliga via webbgränssnittet. true
route string(3) En treteckens identifierare som anger den routingmetod som användes för denna uppslagningsförfrågan. true
processing_status string Uppslagningens bearbetningsresultat. Möjliga värden: COMPLETED (lyckad), REJECTED (nätverk ej nåbart, ingen avgift tillämpas) eller FAILED (fel uppstod under bearbetning). false
error_code integer En valfri intern felkod som ger ytterligare diagnostisk information för kundsupport. true
error_description string En kort förklaring av den angivna felkoden (om någon) i klartext på engelska. true
data_source string Datakällan som användes för denna förfrågan. Möjliga värden: LIVE_HLR (realtids-HLR-förfrågan) eller MNP_DB (statisk databas för nummerportabilitet). Se routingalternativ för detaljer. false
routing_instruction string En kolonavgränsad sträng som beskriver routinginstruktionen som användes i förfrågan. Den första komponenten är STATIC när du angav en rutt eller AUTO för automatisk routing; den andra komponenten är ruttidentifieraren, och för automatiska routingförfrågningar visar en tredje komponent ursprunget som routingbeslutet baseras på (dvs. 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
Status Beskrivning
CONNECTED Numret är giltigt och målenheten är för närvarande ansluten till mobilnätet. Samtal, SMS och andra tjänster bör nå mottagaren utan problem.
ABSENT Numret är giltigt, men målenheten är antingen avstängd eller tillfälligt utanför nättäckning. Meddelanden eller samtal kan eventuellt inte levereras förrän enheten återansluter till nätet.
INVALID_MSISDN Numret är ogiltigt eller för närvarande inte tilldelat någon abonnent i mobilnätet. Samtal och meddelanden till detta nummer kommer att misslyckas.
UNDETERMINED Anslutningsstatusen för numret kunde inte fastställas. Detta kan bero på ett ogiltigt nummer, SS7-felsvar eller bristande anslutning med måloperatören. Granska felkoden och dess beskrivningsfält för ytterligare diagnostik.
Rulla upp

POST/mnp-lookupskyddad

Utför en synkron MNP-sökning och tillhandahåller information om mobilnummerportabilitet och nätverk. Denna endpoint är lämplig om ditt primära mål är att extrahera aktuell MCCMNC för ett givet mobiltelefonnummer och identifiera ursprungligt och nuvarande nätverk i realtid.

För bulkbearbetning av stora datamängder som inte kräver omedelbara resultat, överväg att använda den asynkrona POST /mnp-lookups, som är optimerad för höghastighetsbatchbearbetning.

MNP-förfrågningar fastställer tillförlitligt portabilitet och nätverksinformation men indikerar inte om målmobiltelefonen för närvarande är ansluten till ett nätverk och nåbar. För att extrahera live-anslutningsinformation, vänligen använd POST /hlr-lookup-endpointen istället.

Förfrågan Lyckat svar Felsvar
curl -X POST 'https://www.hlr-lookups.com/api/v2/mnp-lookup' \
          -d "@payload.json"

Nyttolast

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

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
msisdn string Mobiltelefonnumret (MSISDN) som ska efterfrågas, angivet i internationellt format (t.ex. +14156226819 eller 0014156226819). Landskoder måste inkluderas. null obligatorisk
route string(3) En valfri treteckensidentifierare som specificerar rutten för denna sökning. Sätt till null eller utelämna denna parameter för att tillämpa din anpassade routingkarta eller låt vårt system automatiskt bestämma den bästa rutten för denna sökning. null valfritt
storage string En valfri lagringsidentifierare som specificerar rapporten där resultat kommer att lagras för manuell granskning, analys och rapportering. Systemet lägger automatiskt till en tidsstämpel med aktuell månad. Om parametern utelämnas eller sätts till null, kommer systemet automatiskt att gruppera resultat per månad för rapporteringsändamål. null valfritt
{
   "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
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
id string(12) En unik 12-teckens identifierare för denna sökning. false
msisdn string Det mobiltelefonnummer som utvärderades i denna sökförfrågan. false
query_status string Anger om hämtningen av portabilitets- och nätverksinformation lyckades. Möjliga värden är OK eller FAILED. false
mccmnc string(5|6) En fem- eller sexteckens MCCMNC (mobillandskod och mobilnätverkskod) som identifierar det nätverk som mobiltelefonnumret för närvarande tillhör. true
mcc string(3) En treteckens MCC (mobillandskod) som representerar det land som är associerat med mobiltelefonnumrets nuvarande nätverk. true
mnc string(2|3) En två- eller treteckens MNC (mobilnätverkskod) som identifierar den nuvarande nätverksoperatören för mobiltelefonnumret. true
is_ported boolean Anger om telefonnumret har porterats från sitt ursprungliga nätverk till en ny operatör. true
original_network_name string En godtycklig sträng (på engelska) som anger det ursprungliga nätverksoperatörsnamnet för det granskade mobiltelefonnumret. true
original_country_name string En godtycklig sträng (på engelska) som anger det ursprungliga landet för det granskade mobiltelefonnumret. true
original_country_code string(2) En tvåteckens ISO-landskod som representerar det ursprungliga landet för det granskade mobiltelefonnumret. true
original_country_prefix string Riktnumret för det ursprungliga land som är associerat med det granskade mobiltelefonnumret. true
ported_network_name string Anger den nätverksoperatör till vilken det granskade mobiltelefonnumret har porterats, om tillämpligt. true
ported_country_name string Anger det land till vilket det granskade mobiltelefonnumret har porterats, om tillämpligt. true
ported_country_code string(2) En tvåteckens ISO-landskod som representerar det land till vilket det granskade mobiltelefonnumret har porterats, om tillämpligt. true
ported_country_prefix string Riktnumret för det land till vilket det granskade mobiltelefonnumret har porterats, om tillämpligt. true
extra string En godtycklig sträng som tillhandahåller valfria ytterligare detaljer om telefonnumret. true
cost string Ett decimalvärde, representerat som en sträng, som anger kostnaden i EUR för denna sökning. true
timestamp string En W3C-formaterad tidsstämpel, inklusive tidszonsinformation, som anger när sökningen slutfördes. true
storage string Lagringsnamnet (eller rapportnamnet) till vilket sökresultaten lades till. Detta används för CSV-nedladdningar och rapportering via webbgränssnittet. true
route string(3) En treteckens identifierare som anger den rutt som användes för denna sökförfrågan. true
error_code integer En valfri intern felkod som tillhandahåller ytterligare kontext för kundsupportdiagnostik. true
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

POST/mnp-lookupsskyddad

Initierar en batch av asynkrona MNP-uppslagningar (mobilnummerportabilitet), hämtar aktuell MCCMNC och identifierar ursprungliga och nuvarande nätverk i realtid. Resultat levereras via webhooks till din server. Denna metod är optimerad för bearbetning av stora volymer nummer som inte kräver omedelbara svar, såsom databasrensning och verifiering. För realtidsapplikationer som samtalsstyrning eller SMS-leverans, överväg att använda POST /mnp-lookup-endpointen istället.

MNP-förfrågningar fastställer tillförlitligt portabilitet och nätverksinformation men indikerar inte om målmobiltelefonen för närvarande är ansluten till ett nätverk och nåbar. För att extrahera live-anslutningsinformation, vänligen använd POST /hlr-lookups-endpointen istället.

Innan du använder denna endpoint, se till att en webhook-URL är konfigurerad för att ta emot uppslagningsresultat asynkront. Du kan ställa in detta i dina API-inställningar.

Förfrågan Lyckat svar Felsvar Webhooks
curl -X POST 'https://www.hlr-lookups.com/api/v2/mnp-lookups' \
          -d "@payload.json"

Nyttolast

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

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
msisdns array En array med mobiltelefonnummer (MSISDN) i internationellt format (t.ex. +14156226819 eller 0014156226819). Du kan inkludera upp till 1000 nummer per förfrågan. null obligatorisk
route string(3) En valfri treställig identifierare som specificerar rutten för denna uppslagning. Sätt till null eller utelämna denna parameter för att tillämpa din anpassade routingkarta eller låta vårt system automatiskt bestämma de bästa rutterna för denna förfrågan. null valfritt
storage string En valfri lagringsidentifierare som specificerar rapporten där resultat kommer att lagras för manuell granskning, analys och rapportering. Systemet lägger automatiskt till en tidsstämpel med aktuell månad. Om parametern utelämnas eller sätts till null, kommer systemet automatiskt att gruppera resultat per månad för rapporteringsändamål. null valfritt
{
   "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"
   ]
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
accepted array En lista med objekt som innehåller unika identifierare och MSISDN som har accepterats för bearbetning. false
accepted_count integer Det totala antalet MSISDN som framgångsrikt accepterats för bearbetning. false
rejected array En lista med objekt som innehåller unika identifierare och MSISDN som har avvisats för bearbetning, vanligtvis på grund av ogiltiga nummer. Ingen avgift tillämpas för avvisade poster. false
rejected_count integer Det totala antalet MSISDN som avvisats på grund av valideringsfel. false
total_count integer Det totala antalet accepterade och avvisade MSISDN som skickades in för bearbetning. false
cost string Ett decimalvärde representerat som en sträng, som anger den totala kostnaden i EUR för de accepterade uppslagningarna. false
storage string Namnet på lagringen där uppslagningsresultaten läggs till, används för rapportering och CSV-nedladdningar via webbgränssnittet. false
route string(3) En treteckens identifierare som anger den rutt som användes för denna sökförfrågan. false
webhook_urls array Webhook-URL:erna som konfigurerats i dina API-inställningar. Resultat postas tillbaka hit. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false

Bearbetning av Webhooks

När uppslaget skickats in börjar vår plattform bearbeta de angivna telefonnumren och skickar resultaten till den tidigare angivna webhook-URL:en på din server. Resultaten överförs som en HTTP POST-förfrågan med ett JSON-objekt i förfrågans body.

Autentisering

Autentisera webhooken genom att inspektera HTTP-headern X-Signatures.

Headern X-Signatures innehåller en semikolonseparerad lista med signaturer. Varje signatur i listan genereras med hjälp av en av de API-hemligheter som konfigurerats i ditt konto. För att verifiera webhooken, generera en SHA-256-hash med din API-nyckel, hemlighet och den råa HTTP-bodyn - jämför sedan med signaturerna i listan.

En matchning bekräftar att förfrågan är autentisk och signerad med en hemlighet du kontrollerar.

PHP Kodexempel

$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;
    }
}

Förfrågan är giltig om någon av signaturerna i headern motsvarar en SHA256-hash beräknad över den sammanfogade strängen av din API-nyckel, hemlighet och HTTP-bodyn.

Bekräfta Mottagning

Din server förväntas svara med HTTP-statuskoden 200 OK för att bekräfta lyckad mottagning. Om någon annan statuskod returneras, en timeout inträffar (10 sekunder) eller något annat leveransproblem uppstår, kommer systemet automatiskt att försöka skicka webhooken igen efter en minut. Om förfrågan fortsätter att misslyckas följer nya försök en exponentiell backoff-strategi, med efterföljande försök efter 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 minuter.

Denna mekanism för nya försök säkerställer maximal tillförlitlighet vid leverans av uppslagsresultat till din infrastruktur. Den minimerar risken för dataförlust på grund av tillfälliga nätverksproblem eller serveravbrott.

Webhook-nyttolast

{
    "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
        }
    ]
}

Attribut för Webhook-Payload

JSON-objektet innehåller ett attribut type => MNP tillsammans med ett attribut results som inkluderar en lista med uppslagningsobjekt, enligt dokumentationen nedan.

Namn Typ Beskrivning Nullbar
id string(12) En unik 12-teckens identifierare för denna sökning. false
msisdn string Det mobiltelefonnummer som utvärderades i denna sökförfrågan. false
query_status string Anger om hämtningen av portabilitets- och nätverksinformation lyckades. Möjliga värden är OK eller FAILED. false
mccmnc string(5|6) En fem- eller sexteckens MCCMNC (mobillandskod och mobilnätverkskod) som identifierar det nätverk som mobiltelefonnumret för närvarande tillhör. true
mcc string(3) En treteckens MCC (mobillandskod) som representerar det land som är associerat med mobiltelefonnumrets nuvarande nätverk. true
mnc string(2|3) En två- eller treteckens MNC (mobilnätverkskod) som identifierar den nuvarande nätverksoperatören för mobiltelefonnumret. true
is_ported boolean Anger om telefonnumret har porterats från sitt ursprungliga nätverk till en ny operatör. true
original_network_name string En godtycklig sträng (på engelska) som anger det ursprungliga nätverksoperatörsnamnet för det granskade mobiltelefonnumret. true
original_country_name string En godtycklig sträng (på engelska) som anger det ursprungliga landet för det granskade mobiltelefonnumret. true
original_country_code string(2) En tvåteckens ISO-landskod som representerar det ursprungliga landet för det granskade mobiltelefonnumret. true
original_country_prefix string Riktnumret för det ursprungliga land som är associerat med det granskade mobiltelefonnumret. true
ported_network_name string Anger den nätverksoperatör till vilken det granskade mobiltelefonnumret har porterats, om tillämpligt. true
ported_country_name string Anger det land till vilket det granskade mobiltelefonnumret har porterats, om tillämpligt. true
ported_country_code string(2) En tvåteckens ISO-landskod som representerar det land till vilket det granskade mobiltelefonnumret har porterats, om tillämpligt. true
ported_country_prefix string Riktnumret för det land till vilket det granskade mobiltelefonnumret har porterats, om tillämpligt. true
extra string En godtycklig sträng som tillhandahåller valfria ytterligare detaljer om telefonnumret. true
cost string Ett decimalvärde, representerat som en sträng, som anger kostnaden i EUR för denna sökning. true
timestamp string En W3C-formaterad tidsstämpel, inklusive tidszonsinformation, som anger när sökningen slutfördes. true
storage string Lagringsnamnet (eller rapportnamnet) till vilket sökresultaten lades till. Detta används för CSV-nedladdningar och rapportering via webbgränssnittet. true
route string(3) En treteckens identifierare som anger den rutt som användes för denna sökförfrågan. true
error_code integer En valfri intern felkod som tillhandahåller ytterligare kontext för kundsupportdiagnostik. true
Rulla upp

POST/nt-lookupskyddad

Utför en synkron nummertypsuppslag (NT). Denna endpoint är idealisk om ditt primära mål är att avgöra om de angivna telefonnumren tillhör fasttelefoni, mobil, premiumtjänster, VoIP, personsökare eller andra nummerplanintervall i realtid.

NT-förfrågningar identifierar tillförlitligt telefonnumrets typ, men de indikerar inte om målnumret för närvarande är anslutet till ett nätverk och nåbart. För att hämta information om live-anslutning, vänligen använd POST /hlr-lookup-endpointen.

Om ditt användningsfall kräver korrekt nätverks- och portabilitetsinformation (MCCMNC) men inte live-anslutningsstatus, vänligen använd POST /mnp-lookup-endpointen för mobilnummerportabilitetsförfrågningar.

Förfrågan Lyckat svar Felsvar Typreferens
curl -X POST 'https://www.hlr-lookups.com/api/v2/nt-lookup' \
          -d "@payload.json"

Nyttolast

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

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
number string Ett telefonnummer i internationellt format (t.ex. +4989702626 eller 004989702626). null mandatory
route string(3) En valfri tre-teckens identifierare som specificerar rutten för denna uppslag. Sätt till null eller utelämna denna parameter för att tillämpa din anpassade routingkarta eller låt vårt system automatiskt bestämma de bästa rutterna för denna förfrågan. null valfritt
storage string En valfri lagringsidentifierare som specificerar rapporten där resultat kommer att lagras för manuell granskning, analys och rapportering. Systemet lägger automatiskt till en tidsstämpel med aktuell månad. Om parametern utelämnas eller sätts till null, kommer systemet automatiskt att gruppera resultat per månad för rapporteringsändamål. null valfritt
{
     "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"
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
id string(12) En unik identifierare som tilldelats denna uppslagningsförfrågan. false
number string Telefonnumret som utvärderades under denna uppslagningsförfrågan. false
number_type string Den detekterade nummertypen. Möjliga värden inkluderar: LANDLINE , MOBILE , MOBILE_OR_LANDLINE , TOLL_FREE , PREMIUM_RATE , SHARED_COST , VOIP , PAGER , UAN , VOICEMAIL , UNKNOWN . false
query_status string Anger om information om nummertyp erhölls framgångsrikt. Returnerar OK vid framgång, eller FAILED om uppslagningen misslyckades. false
is_valid boolean Anger om telefonnumret är syntaktiskt giltigt. true
invalid_reason string Ett textmeddelande på engelska som specificerar varför telefonnumret anses ogiltigt (t.ex. "too short" eller "invalid prefix"), eller null om numret är giltigt. true
is_possibly_ported boolean Anger om telefonnumret kan ha porterats från sin ursprungliga operatör till en annan operatör. För definitiv porteringsinformation, använd MNP-uppslagningar. true
is_vanity_number boolean Anger om telefonnumret är ett vanitynummer, vilket innebär att det innehåller alfabetiska tecken. true
qualifies_for_hlr_lookup boolean Anger om telefonnumret är berättigat för ytterligare förfrågningar genom HLR-uppslagningar. true
mccmnc string(5|6) En fem- eller sexsiffrig sträng som representerar MCCMNC-tupeln (mobillandskod och mobilnätverkskod) som identifierar det ursprungliga nätverket för mobiltelefonnumret. true
mcc string(3) En tresiffrig sträng som representerar MCC (mobillandskod) som identifierar landet associerat med det ursprungliga mobilnätverket för telefonnumret. true
mnc string(2|3) En två- eller tresiffrig sträng som representerar MNC (mobilnätverkskod) som identifierar den ursprungliga mobilnätverksoperatören för telefonnumret. true
original_network_name string En godtycklig textsträng på engelska som specificerar den ursprungliga nätverksoperatörens namn för det granskade mobiltelefonnumret. true
original_country_name string En godtycklig textsträng på engelska som specificerar det ursprungliga landet associerat med det granskade mobiltelefonnumret. true
original_country_code string(2) En tvåteckens ISO-landskod som anger det ursprungliga landet för det granskade mobiltelefonnumret. true
regions array En lista med läsbara strängar på engelska som specificerar den geografiska regionen/regionerna associerade med detta telefonnummer. true
timezones array En lista med tidszoner (i Olson-format) associerade med detta telefonnummer. true
info_text string En godtycklig sträng som kan innehålla ytterligare information om telefonnumret. true
cost string Ett decimalvärde representerat som en sträng, som anger kostnaden (i EUR) för denna uppslagning. true
timestamp string En W3C-formaterad tidsstämpel (inklusive tidszon) som anger när uppslagningen slutfördes. true
storage string Specificerar lagringsnamnet där uppslagningsresultaten har lagts till. Detta motsvarar rapportnamnet som används för CSV-nedladdningar och analys via webbgränssnittet. true
route string(3) En treteckens identifierare som anger den rutt som användes för denna sökförfrågan. true
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Typ Beskrivning
LANDLINE Fastnätsnummer.
MOBILE Mobilnummer. Kvalificerar för HLR-uppslagningar för att erhålla ytterligare information om anslutningsstatus, nätverk, portabilitet och roaming.
MOBILE_OR_LANDLINE Fastnäts- eller mobilnummer. Kan kvalificera för HLR-uppslagning.
TOLL_FREE Avgiftsfritt telefonnummer.
PREMIUM_RATE Premiumnummer med tilläggsavgifter.
SHARED_COST Delad kostnad-nummer. Vanligtvis billigare än premiumnummer.
VOIP Voice over IP-nummer. Inkluderar TSoIP-nummer (Telephony Service over IP).
PAGER Personsökarnummer. Vanligtvis ingen röstfunktionalitet.
UAN Universellt åtkomstnummer (företagsnummer). Kan dirigeras till specifika kontor men möjliggör att ett nummer används för hela företaget.
VOICEMAIL Röstbrevlådenummer.
UNKNOWN Nummertyp kunde inte fastställas.
Rulla upp

POST/nt-lookups skyddad

Denna endpoint initierar en serie asynkrona nummertypsuppslag med resultat som skickas tillbaka till din server via webhook. Den är lämplig om ditt primära mål är att avgöra om givna telefonnummer tillhör fast telefoni, mobil, premiumtjänster, VoIP, personsökare eller andra nummerserieområden. Optimerad för snabb bearbetning av stora volymer nummer, denna endpoint är idealisk för bulkoperationer (t.ex. databassanering). För livstrafik och tidskritiska användningsfall, vänligen använd POST /nt-lookup-endpointen istället.

Du behöver ange en webhook-URL i dina API-inställningar som en förutsättning för att anropa denna endpoint.

Förfrågan Lyckat svar Felsvar Webhooks Typreferens
curl -X POST 'https://www.hlr-lookups.com/api/v2/nt-lookups' \
          -d "@payload.json"

Nyttolast

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

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
numbers array En array med telefonnummer i internationellt format (t.ex. +14156226819 eller 004989702626). Maximalt 1000 nummer kan inkluderas per förfrågan. null obligatorisk
route string(3) En valfri treteckensidentifierare som specificerar rutten för detta uppslag. Sätt till null eller utelämna denna parameter för att tillämpa din anpassade routingkarta eller låt vårt system automatiskt bestämma den bästa rutten för denna förfrågan. null valfritt
storage string En valfri lagringsidentifierare som specificerar rapporten där resultat kommer att lagras för manuell granskning, analys och rapportering. Systemet lägger automatiskt till en tidsstämpel med aktuell månad. Om parametern utelämnas eller sätts till null, kommer systemet automatiskt att gruppera resultat per månad för rapporteringsändamål. null valfritt
{
   "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"
   ]
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
accepted array En array med objekt, där varje objekt innehåller en unik identifierare och ett telefonnummer som har accepterats för bearbetning. false
accepted_count integer Det totala antalet telefonnummer som accepterats för bearbetning. false
rejected array En array med objekt, där varje objekt innehåller en unik identifierare och ett telefonnummer som avvisades för bearbetning. Vanligtvis är dessa nummer ogiltiga och ingen debitering sker. false
rejected_count integer Det totala antalet telefonnummer som avvisades för bearbetning. false
total_count integer Det totala antalet accepterade och avvisade telefonnummer som skickades in för bearbetning. false
cost string En sträng som representerar ett decimalvärde som anger kostnaden i EUR för dessa uppslag. false
storage string Namnet på lagringen (rapporten) där uppslagsresultaten har lagts till. Detta namn används för CSV-nedladdningar och analys via webbgränssnittet. false
route string(3) En treteckensidentifierare som specificerar den rutt som användes för denna uppslagsförfrågan. false
webhook_urls array Webhook-URL:erna som konfigurerats i dina API-inställningar. Resultat postas tillbaka hit. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false

Bearbetning av Webhooks

När uppslaget skickats in börjar vår plattform bearbeta de angivna telefonnumren och skickar resultaten till den tidigare angivna webhook-URL:en på din server. Resultaten överförs som en HTTP POST-förfrågan med ett JSON-objekt i förfrågans body.

Autentisering

Autentisera webhooken genom att inspektera HTTP-headern X-Signatures.

Headern X-Signatures innehåller en semikolonseparerad lista med signaturer. Varje signatur i listan genereras med hjälp av en av de API-hemligheter som konfigurerats i ditt konto. För att verifiera webhooken, generera en SHA-256-hash med din API-nyckel, hemlighet och den råa HTTP-bodyn - jämför sedan med signaturerna i listan.

En matchning bekräftar att förfrågan är autentisk och signerad med en hemlighet du kontrollerar.

PHP Kodexempel

$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;
    }
}

Förfrågan är giltig om någon av signaturerna i headern motsvarar en SHA256-hash beräknad över den sammanfogade strängen av din API-nyckel, hemlighet och HTTP-bodyn.

Bekräfta Mottagning

Din server förväntas svara med HTTP-statuskoden 200 OK för att bekräfta lyckad mottagning. Om någon annan statuskod returneras, en timeout inträffar (10 sekunder) eller något annat leveransproblem uppstår, kommer systemet automatiskt att försöka skicka webhooken igen efter en minut. Om förfrågan fortsätter att misslyckas följer nya försök en exponentiell backoff-strategi, med efterföljande försök efter 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 minuter.

Denna mekanism för nya försök säkerställer maximal tillförlitlighet vid leverans av uppslagsresultat till din infrastruktur. Den minimerar risken för dataförlust på grund av tillfälliga nätverksproblem eller serveravbrott.

Webhook-nyttolast

{
   "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"
      }
   ]
}

Attribut för Webhook-Payload

JSON-objektet innehåller ett attribut type => NT tillsammans med ett attribut results som inkluderar en lista med uppslagningsobjekt, enligt dokumentationen nedan.

Namn Typ Beskrivning Nullbar
id string(12) En unik identifierare som tilldelats denna uppslagningsförfrågan. false
number string Telefonnumret som utvärderades under denna uppslagningsförfrågan. false
number_type string Den detekterade nummertypen. Möjliga värden inkluderar: LANDLINE , MOBILE , MOBILE_OR_LANDLINE , TOLL_FREE , PREMIUM_RATE , SHARED_COST , VOIP , PAGER , UAN , VOICEMAIL , UNKNOWN . false
query_status string Anger om information om nummertyp erhölls framgångsrikt. Returnerar OK vid framgång, eller FAILED om uppslagningen misslyckades. false
is_valid boolean Anger om telefonnumret är syntaktiskt giltigt. true
invalid_reason string Ett textmeddelande på engelska som specificerar varför telefonnumret anses ogiltigt (t.ex. "too short" eller "invalid prefix"), eller null om numret är giltigt. true
is_possibly_ported boolean Anger om telefonnumret kan ha porterats från sin ursprungliga operatör till en annan operatör. För definitiv porteringsinformation, använd MNP-uppslagningar. true
is_vanity_number boolean Anger om telefonnumret är ett vanitynummer, vilket innebär att det innehåller alfabetiska tecken. true
qualifies_for_hlr_lookup boolean Anger om telefonnumret är berättigat för ytterligare förfrågningar genom HLR-uppslagningar. true
mccmnc string(5|6) En fem- eller sexsiffrig sträng som representerar MCCMNC-tupeln (mobillandskod och mobilnätverkskod) som identifierar det ursprungliga nätverket för mobiltelefonnumret. true
mcc string(3) En tresiffrig sträng som representerar MCC (mobillandskod) som identifierar landet associerat med det ursprungliga mobilnätverket för telefonnumret. true
mnc string(2|3) En två- eller tresiffrig sträng som representerar MNC (mobilnätverkskod) som identifierar den ursprungliga mobilnätverksoperatören för telefonnumret. true
original_network_name string En godtycklig textsträng på engelska som specificerar den ursprungliga nätverksoperatörens namn för det granskade mobiltelefonnumret. true
original_country_name string En godtycklig textsträng på engelska som specificerar det ursprungliga landet associerat med det granskade mobiltelefonnumret. true
original_country_code string(2) En tvåteckens ISO-landskod som anger det ursprungliga landet för det granskade mobiltelefonnumret. true
regions array En lista med läsbara strängar på engelska som specificerar den geografiska regionen/regionerna associerade med detta telefonnummer. true
timezones array En lista med tidszoner (i Olson-format) associerade med detta telefonnummer. true
info_text string En godtycklig sträng som kan innehålla ytterligare information om telefonnumret. true
cost string Ett decimalvärde representerat som en sträng, som anger kostnaden (i EUR) för denna uppslagning. true
timestamp string En W3C-formaterad tidsstämpel (inklusive tidszon) som anger när uppslagningen slutfördes. true
storage string Specificerar lagringsnamnet där uppslagningsresultaten har lagts till. Detta motsvarar rapportnamnet som används för CSV-nedladdningar och analys via webbgränssnittet. true
route string(3) En treteckens identifierare som anger den rutt som användes för denna sökförfrågan. true
Typ Beskrivning
LANDLINE Fastnätsnummer.
MOBILE Mobilnummer. Kvalificerar för HLR-uppslagningar för att erhålla ytterligare information om anslutningsstatus, nätverk, portabilitet och roaming.
MOBILE_OR_LANDLINE Fastnäts- eller mobilnummer. Kan kvalificera för HLR-uppslagning.
TOLL_FREE Avgiftsfritt telefonnummer.
PREMIUM_RATE Premiumnummer med tilläggsavgifter.
SHARED_COST Delad kostnad-nummer. Vanligtvis billigare än premiumnummer.
VOIP Voice over IP-nummer. Inkluderar TSoIP-nummer (Telephony Service over IP).
PAGER Personsökarnummer. Vanligtvis ingen röstfunktionalitet.
UAN Universellt åtkomstnummer (företagsnummer). Kan dirigeras till specifika kontor men möjliggör att ett nummer används för hela företaget.
VOICEMAIL Röstbrevlådenummer.
UNKNOWN Nummertyp kunde inte fastställas.
Rulla upp

GET/routeskyddad

Hämtar den rutt som automatiskt väljs när du kör en HLR-sökning utan att ange parametern route.

Automatiskt ruttval baseras på ruttkartan som kan hämtas via GET /hlr-coverage-endpointen, vilken primärt härleds från GET /routing-map. Du kan anpassa din ruttkarta och definiera anpassade regler i dina kontoinställningar.

Förfrågan Lyckat svar Felsvar
curl 'https://www.hlr-lookups.com/api/v2/route?msisdn=+491788735000'

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
msisdn string Det MSISDN för vilket den automatiskt valda ruttinformationen ska hämtas. null obligatorisk
{
   "route":"V11",
   "confidence_level":"HIGH",
   "mccmnc":"26203",
   "origin":"SCORE"
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
route string Den rekommenderade rutten. false
confidence_level string Konfidensnivån med vilken denna rutt valdes, dvs. LOW, NORMAL, HIGH, MNP_FALLBACK. false
mccmnc string Det nummerplansbaserade MCCMNC för detta nummer. false
origin string Ursprunget som ruttbeslutet baseras på, dvs. 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."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/routesskyddad

Denna endpoint returnerar en lista över tillgängliga HLR-, MNP- och NT-rutter. Varje rutt, tillsammans med dess funktioner och begränsningar, förklaras på sidan ruttdetaljer.

Förfrågan Lyckat svar Felsvar
curl 'https://www.hlr-lookups.com/api/v2/routes'
{
   "routes":{
      "HLR":[
         "V11",
         "E10",
         "MS9",
         "DV8",
         "SV3",
         "IP1"
      ],
      "MNP":[
         "PTX",
         "IP4"
      ],
      "NT":[
         "LC1"
      ]
   }
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
routes object Ett objekt med rutter grupperade efter rutttyp. false
HLR|MNP|NT string[] Innehåller en lista över ruttidentifierare. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/routing-mapskyddad

Hämtar den automatiserade routingkonfiguration som för närvarande tillämpas på HLR-uppslagningar för ditt konto. Denna standardkonfiguration används när du skickar HLR-uppslagningar utan att ange en route-parameter. Du kan anpassa din routingkarta och skapa anpassade regler i dina kontoinställningar.

Konfigurationshierarkin kaskaderar från regler på landsnivå till regler på MCCMNC-nivå, och slutligen till individuella telefonnummerprefixmappningar. I praktiken innebär detta att individuella telefonnummerprefixmappningar har företräde framför motstridiga MCCMNC-tilldelningar, vilka i sin tur åsidosätter regler på landsnivå. Observera att MNP-fallback åsidosätter eventuella motstridiga anpassade regler när den är aktiverad.

Förfrågan Lyckat svar Felsvar
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"
            }
         ]
      }
   }
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
default_route string Standardrouten som används när inget föredraget routingalternativ kan fastställas för ett MSISDN och inga anpassade routingregler gäller. false
mnp_fallback boolean Anger om MNP-fallback är aktiverad. När den är aktiverad och HLR-förfrågningar inte stöds av ett nätverk (anslutningsstatus ej tillgänglig), kommer systemet att utföra en MNP-uppslagning istället. false
mccmncs array En mappning av MCCMNC-koder till deras automatiskt valda router. När en HLR-uppslagning utförs för ett nummer i ett givet MCCMNC används motsvarande route. false
mccmnc string(5|6) En fem- eller sexsiffrig MCCMNC (kombination av mobillandskod och mobilnätskod) som identifierar mobiloperatören. false
countrycode string(2) En tvåteckens ISO-landskod som identifierar nätverkets land. false
route string(3) Den valda routen för nätverket. false
mno string Det konsumentinriktade varumärket under vilket detta nätverk verkar. false
confidence string Konfidensnivån med vilken valet gjordes. Möjliga värden är: HIGH, NORMAL, LOW, MNP_REDIRECT. I det sistnämnda fallet omdirigerar systemet trafik till detta nätverk till MNP, om detta beteende är aktiverat i ditt konto. Annars används standardrouten i kontot. false
origin string Ursprunget som valet baseras på. Möjliga värden är: 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 En lista över anpassade prefixbaserade routingregler som konfigurerats i ditt konto, om några finns. false
countrycode string(2) En tvåteckens ISO-landskod som identifierar prefixets land. false
cns string Prefixet som routingregeln gäller för. false
route string(3) Den valda routen för prefixet. false
mccmnc string(5|6) En fem- eller sexsiffrig MCCMNC (kombination av mobillandskod och mobilnätskod) som identifierar mobiloperatören. true
mno string Det konsumentinriktade varumärket under vilket detta nätverk verkar. true
countries array En lista över anpassade landsbaserade regler som konfigurerats i ditt konto, om några finns. false
countrycode string(2) En tvåteckens ISO-landskod som identifierar landet. false
route string(3) Den valda routen för landet. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/hlr-coverage skyddad

Returnerar HLR-täckningsinsikter för att stödja datadrivna beslut. Denna endpoint hjälper dig analysera HLR-routingalternativ i realtid över mobilnät, identifiera de mest effektiva vägarna för dina målregioner och konfigurera din automatiska routing.

Rekommenderade rutter från GET /route baseras på täckningsdata som hämtas här. Täckningsdata finns även tillgänglig på sidan nättäckning. Du kan ytterligare anpassa din routingkarta och definiera regler i dina kontoinställningar.

Vi rekommenderar att du bekantar dig med denna guide för att underlätta tolkningen av resultaten.

Förfrågan Lyckat svar Felsvar Statusreferens
curl 'https://www.hlr-lookups.com/api/v2/hlr-coverage?countrycode=XX'

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
countrycode string(2) En obligatorisk ISO-landskod med två bokstäver som används för att filtrera resultat och endast returnera poster associerade med det angivna landet. null obligatorisk
sample_size string En valfri parameter som anger urvalsstorlek. Möjliga värden är LARGE, MEDIUM, SMALL. Större urval täcker en längre tidsperiod, mindre urval täcker en mycket aktuell tidsperiod. LARGE valfritt
{
   "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
            }
         ]
      }
   ]
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
name string Det valda landets namn på engelska i klartext. false
countrycode string(2) ISO-landskoden med två tecken för det valda landet. false
prefix string Det internationella riktnumret för det valda landet. false
mccs string[] En lista över MCC:er (mobile country codes) associerade med det valda landet. false
carriers object[] En lista över operatörsobjekt med ruttspecifika anslutningsstatistik. false
mno string Mobilnätsoperatörens namn på engelska i klartext. false
mccmnc string Mobilnätsoperatörens MCCMNC. false
mcc string Mobilnätsoperatörens MCC (mobile country code). false
mnc string Mobilnätsoperatörens MNC (mobile network code). false
routes object[] En lista över ruttspecifika anslutningsresultat. false
route string Den rutt som anslutningsinformationen gäller för. false
selected bool Indikerar om detta är den valda rutten för automatisk routing. false
selection_confidence string Konfidensnivån med vilken denna rutt valdes, dvs. LOW, NORMAL, HIGH, MNP_FALLBACK. Innehåller null om detta inte är den valda rutten. true
n int Det totala antalet uppslagningar i detta urval. false
CONNECTED int Antalet HLR-uppslagningar som returnerade status CONNECTED. false
CONNECTED_PCT float Andelen HLR-uppslagningar som returnerade status CONNECTED. false
ABSENT int Antalet HLR-uppslagningar som returnerade status ABSENT. false
ABSENT_PCT float Andelen HLR-uppslagningar som returnerade status ABSENT. false
INVALID_MSISDN int Antalet HLR-uppslagningar som returnerade status INVALID_MSISDN. false
INVALID_MSISDN_PCT float Andelen HLR-uppslagningar som returnerade status INVALID_MSISDN. false
UNDETERMINED int Antalet HLR-uppslagningar som returnerade status UNDETERMINED. false
UNDETERMINED_PCT float Andelen HLR-uppslagningar som returnerade status UNDETERMINED. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Status Beskrivning
CONNECTED Numret är giltigt och målenheten är för närvarande ansluten till mobilnätet. Samtal, SMS och andra tjänster bör nå mottagaren utan problem.
ABSENT Numret är giltigt, men målenheten är antingen avstängd eller tillfälligt utanför nättäckning. Meddelanden eller samtal kan eventuellt inte levereras förrän enheten återansluter till nätet.
INVALID_MSISDN Numret är ogiltigt eller för närvarande inte tilldelat någon abonnent i mobilnätet. Samtal och meddelanden till detta nummer kommer att misslyckas.
UNDETERMINED Anslutningsstatusen för numret kunde inte fastställas. Detta kan bero på ett ogiltigt nummer, SS7-felsvar eller bristande anslutning med måloperatören. Granska felkoden och dess beskrivningsfält för ytterligare diagnostik.
Rulla upp

GET/mnp-coverageskyddad

Denna endpoint returnerar en lista över mobiloperatörer, tillsammans med deras motsvarande MCCMNC-identifierare, som för närvarande stöds för nummerbärbarhetssökningar.

Förfrågan Lyckat svar Felsvar
curl 'https://www.hlr-lookups.com/api/v2/mnp-coverage?countrycode=XX'

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
countrycode string(2) En valfri tvåbokstavig ISO-landskod som används för att filtrera MCCMNC-resultaten och endast returnera data relevant för det angivna landet. null valfritt
{
   "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"
      }
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
items[] array En lista över mobilnätsoperatörer. false
country_name string Landets namn på engelska. false
country_code string(2) En tvåbokstavig ISO-landskod. false
mccmnc string(5|6) En fem- eller sexsiffrig MCCMNC (kombination av mobillandskod och mobilnätskod) som identifierar mobiloperatören. false
mcc string(3) En tresiffrig MCC (mobillandskod) som representerar nätverkets land. false
mnc string(2|3) En två- eller tresiffrig MNC (mobilnätskod) som representerar den specifika mobiloperatören. false
brand string Det konsumentinriktade varumärket under vilket detta nätverk verkar. true
operator string Mobiloperatörens juridiska namn. true
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/price-listskyddad

Denna endpoint returnerar en lista över länder där endast MNP-uppslag stöds och HLR-frågor inte är tillgängliga för dessa destinationer.

Förfrågan Lyckat svar Felsvar
curl 'https://www.hlr-lookups.com/api/v2/mnp-countries'
{
   "countries":[
      "AG",
      "AI",
      "AR",
      "AS",
      "AW",
      "BB",
      "BM",
      ...
      "US",
      "UY",
      "VC",
      "VE",
      "VG",
      "VN"
   ]
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
countries string[] En lista med tvåteckens ISO-landskoder. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/mccmncsskyddad

Denna endpoint returnerar en omfattande lista över mobilnätsoperatörer tillsammans med deras motsvarande MCCMNC-identifierare och ytterligare kontextuell information.

Förfrågan Lyckat svar Felsvar
curl 'https://www.hlr-lookups.com/api/v2/mccmncs?countrycode=XX'

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
countrycode string(2) En valfri tvåbokstavig ISO-landskod som används för att filtrera MCCMNC-resultat och returnera endast poster associerade med det angivna landet. null valfritt
{
   "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"
      }
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
items object[] En lista över mobilnätsoperatörer. false
country_name string Landets fullständiga namn på engelska. false
country_code string(2) En tvåbokstavig ISO-landskod som representerar mobiloperatörens land. false
mccmnc string(5|6) En fem- eller sexsiffrig sträng som representerar MCCMNC, vilken unikt identifierar mobilnätsoperatören. false
mcc string(3) En tresiffrig Mobile Country Code (MCC) som identifierar det land där mobilnätet är verksamt. false
mnc string(2|3) En två- eller tresiffrig Mobile Network Code (MNC) som specificerar mobilnätet inom den givna MCC:n. false
brand string Det kommersiella varumärke under vilket nätet är verksamt och känns igen av konsumenter. true
operator string Det officiella namnet på mobilnätsoperatören, vanligtvis den juridiska enhet som förvaltar nätet. true
parent_mccmnc string(5|6) En fem- eller sexsiffrig sträng som representerar MCCMNC för den överordnade mobilnätsoperatören, om sådan finns. true
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/priceskyddad

Denna endpoint returnerar priset för en HLR-, MNP- eller NT-sökning.

Förfrågan Lyckat svar Felsvar
curl 'https://www.hlr-lookups.com/api/v2/price?msisdn=+491788735000&route_type=HLR'

Förfrågningsparametrar

Nyckel Typ Beskrivning Standard Obligatorisk
msisdn string Telefonnumret för vilket priset ska hämtas. I internationellt format. null obligatorisk
route_type string Routetypen, dvs. HLR, MNP, NT. null obligatorisk
route string(3) Den route för vilken priset ska beräknas. Standardvärde är den route som bestäms av automatisk routing. null valfritt
{
   "price":{
      "amount":"0.01000",
      "msisdn":"+491788735000",
      "route_type":"HLR",
      "route":"DV8"
   }
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
price object Ett objekt med prisuppgifter. false
amount string Beloppet i EUR. false
msisdn string Det MSISDN för vilket detta pris gäller. false
route_type string(2|3) Den routetyp för vilket detta pris gäller. false
route string(3) Den route för vilket detta pris gäller. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/price-listskyddad

Denna endpoint returnerar prissättningen i ditt konto.

Förfrågan Lyckat svar Felsvar
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"
      }
   ]
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
pricing object[] En lista med objekt som innehåller prisinformation. false
route string Den rutt som denna prissättning gäller för. false
countrycode string Den tvåställiga ISO-landskoden som denna prissättning gäller för den motsvarande rutten, om tillämpligt. true
countryname string Det engelska landsnamnet som motsvarar landskoden, om tillämpligt. true
mccmnc string Den MCCMNC som denna prissättning gäller för den motsvarande rutten, om tillämpligt. Åsidosätter prissättning på landsnivå. true
cns string Det uppringningsprefix som denna prissättning gäller för den motsvarande rutten, om tillämpligt. Åsidosätter prissättning på landsnivå och MCCMNC-nivå. true
route_type string Den motsvarande rutttypen, dvs. HLR, MNP, NT. false
route_type string Det motsvarande priset i EUR. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/balanceskyddad

Denna endpoint hämtar ditt aktuella kontosaldo och gör det möjligt att automatisera processer baserat på din kreditstatus. Den fungerar sömlöst tillsammans med aviseringar om lågt saldo som du kan konfigurera på din betalningssida.

Förfrågan Lyckat svar Felsvar
curl 'https://www.hlr-lookups.com/api/v2/balance'
{
    "balance":"1002.90"
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
balance string Ditt aktuella kontosaldo i EUR. Ett decimalvärde av typen sträng. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/pingpublik

Denna endpoint skickar en ping-förfrågan till API:et och tillhandahåller en enkel metod för att testa din anslutning till HLR Lookups API.

Förfrågan Lyckat svar Felsvar
curl 'https://www.hlr-lookups.com/api/v2/ping'
{
    "success":true
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
success boolean Indikerar att förfrågan behandlades framgångsrikt. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/timepublik

Denna endpoint returnerar en Unix-tidsstämpel som representerar aktuell tid på HLR Lookups-servern. Använd den för att synkronisera din servers klocka när du genererar Digest-Auth-signaturen för autentisering, vilket säkerställer att eventuella avvikelser mellan din servertid och HLR Lookups-servertid korrigeras.

Förfrågan Lyckat svar Felsvar
curl 'https://www.hlr-lookups.com/api/v2/time'
{
    "time":1525898643
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
time integer Unix-tidsstämpel som representerar aktuell HLR Lookups-servertid. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

GET/auth-testskyddad

Denna endpoint fungerar som ett initialt test för din Basic-Auth eller, helst, Digest-Auth implementering.

Basic Auth-förfrågan Digest Auth-förfrågan Lyckat svar Felsvar
curl 'https://www.hlr-lookups.com/api/v2/auth-test' \
  -H "X-Basic: YOUR_API_KEY" 

Förfrågans headers

Nyckel Typ Beskrivning
X-Basic string SHA256-hash av YOUR_API_KEY:YOUR_API_SECRET. Inkludera kolonsymbolen (:) i hashen.
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" 

Förfrågans headers

Nyckel Typ Beskrivning
X-Digest-Key string Din HLR Lookups API-nyckel
X-Digest-Signature string Unik Digest-Auth-signatur (se autentisering)
X-Digest-Timestamp integer Aktuell Unix-tidsstämpel (se även GET /time)
{
    "success":true
}

Attribut för lyckat svar

Namn Typ Beskrivning Nullbar
success boolean Indikerar att förfrågan behandlades framgångsrikt. false
{
    "errors":[
        "Service unavailable."
    ]
}

Felsvar-parametrar

Namn Typ Beskrivning Nullbar
errors[] string[] En lista med strängar som förklarar felet. false
Rulla upp

Legacy API-dokumentation

Observera att det äldre API:et är föråldrat och planeras att fasas ut i framtiden. Vi rekommenderar starkt att du uppgraderar till den senaste versionen så snart som möjligt.

Om du implementerade vårt HLR Lookups API mellan 2013 och början av 2020 använder du vårt äldre API. Vänligen se vår dokumentation för det äldre API:et i så fall.

Legacy API-dokumentation
Roterande laddningsikon Transparent Gif