Kom i Gang

Den globale mobile netværksinfrastruktur opererer på et system kendt som SS7-signaleringsnetværket. Dette netværk faciliterer udveksling af abonnentdata, opkaldsrouting, SMS-transmission og realtidsopdateringer af mobil forbindelsesstatus mellem operatører. Hvert mobilnetværk vedligeholder et Home Location Register (HLR) - en central database, der gemmer væsentlige detaljer om dets abonnenter.

HLR Lookup-teknologi gør det muligt for virksomheder at forespørge disse registre og hente live forbindelses- og netværksdetaljer for ethvert mobiltelefonnummer. Dette inkluderer om telefonen er tændt, hvilket netværk den aktuelt er tilknyttet, om den er blevet porteret, om nummeret er gyldigt eller deaktiveret, og om den er i roaming.

HLR Lookups API'en giver problemfri realtidsadgang til disse data og gør det muligt for virksomheder at verificere mobilnumre, optimere routing og forbedre kundekommunikation. Denne dokumentation vil guide dig gennem integrationen af HLR Lookups i din software og muliggøre automatiseret indhentning af realtids mobilintelligens.

Brug af HLR Lookups API'en

Udførelse af HLR Lookup-forespørgsler er hurtig, sikker og ligetil. Når du har tilmeldt dig og opnået din API-nøgle, kan du autentificere og igangsætte øjeblikkelige opslag med simple HTTP POST-anmodninger via POST /hlr-lookup. Alternativt kan du behandle store datasæt ved at vælge hurtige asynkrone API-anmodninger med resultater, der sendes tilbage til din server via webhook, som forklaret i koncepter-sektionen.

Eksempel på Anmodning

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"

Autentificering leveres via HTTP-headers, og payload.json skal (som minimum) indeholde følgende JSON-objekt:

Eksempel på Payload

{
   "msisdn": "+14156226819"
}

Ved vellykket udførelse vil du modtage et svar, der indeholder realtids forbindelsesdetaljer for det angivne mobilnummer.

Succesrespons 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"
}

For en komplet oversigt over anmodnings- og svarattributter samt forbindelsesstatusser, se POST /hlr-lookup.

Yderligere Opslagstjenester

Mobile Number Portability (MNP) Opslag

Brug MNP-opslag til at bestemme netværksejerskab og porteringsdetaljer uden at forespørge realtidsforbindelse. Hvis du kun har brug for MCCMNC for et nummer, se POST /mnp-lookup.

Number Type Detection (NT) Opslag

Bestem om et telefonnummer tilhører en fastnettelefon, mobil, premium-rate, VoIP, pager eller andre nummerplanintervaller med POST /nt-lookup.

Software Development Kits (SDK'er)

HLR Lookups API'en fungerer med enhver REST-klient i ethvert programmeringssprog, og vi har udgivet SDK'er til PHP, Ruby og NodeJS på vores GitHub for at hjælpe dig hurtigt i gang.

Værktøjer

For at sikre en problemfri udviklingsoplevelse tilbyder vi en omfattende pakke af værktøjer, herunder browser-baseret API-anmodnings- og webhook-overvågning, IP-adresse whitelisting, robuste autentificeringsmuligheder og et autentificeringstestendpoint.

Ikke Udvikler?

HLR Lookups og Number Portability-forespørgsler kan udføres uden kodning. Lær mere om vores enterprise webklient og browser-baserede rapporteringsfunktioner.

Autentificering

For at sikre sikkerhed og korrekt adgangskontrol kræver de fleste forespørgsler til HLR Lookups API autentificering. Endpoints er kategoriseret som enten offentlige eller beskyttede. Ved adgang til et beskyttet endpoint skal din forespørgsel autentificeres ved hjælp af din API-nøgle og -hemmelighed via enten Digest-Auth eller Basic-Auth metoden. Digest-Auth er den mere sikre mulighed og anbefales stærkt. Brug GET /auth-test endpointet til at verificere din autentificeringsopsætning.

API-nøgle og API-hemmelighed

Hent din API-nøgle og -hemmelighed fra siden API-indstillinger. Du kan også konfigurere din foretrukne autentificeringsmetode og aktivere IP-adresse whitelisting for øget sikkerhed. Hvis du har mistanke om, at din API-hemmelighed er blevet kompromitteret, kan du generere en ny når som helst.

Hent API-nøgle
Basic Auth Digest Auth IP-hvidlistning

Standard Basic Authentication er nem at implementere og bredt understøttet. Du kan autentificere ved at sende din API-nøgle og -hemmelighed som et user:pass par i HTTP-forespørgslen.

HTTP Basic Auth

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

Dette sender en Authorization header:

Authorization: Basic BASE64(YOUR_API_KEY:YOUR_API_SECRET)

Anbefalet: X-Basic Header med SHA256

For forbedret sikkerhed kan du sende en SHA256 hash af dine legitimationsoplysninger i stedet for at transmittere dem direkte som base64. For at bruge denne metode skal du beregne hashen af dit YOUR_API_KEY:YOUR_API_SECRET par og sende den via X-Basic headeren:

Basic Auth-forespørgsel

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

Basic Authentication Headers

Nøgle Type Beskrivelse
X-Basic string SHA256 hash af YOUR_API_KEY:YOUR_API_SECRET. Inkluder kolonsymbolet (:) i hashen. obligatorisk

PHP Kodeeksempel

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

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

Digest-Auth er den anbefalede metode til at sikre adgang til beskyttede HLR Lookup API-endpoints. Hver forespørgsel skal inkludere følgende headers: X-Digest-Key, X-Digest-Signature og X-Digest-Timestamp, som forklares nedenfor.

Forespørgselseksempel

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"

Forespørgsels-headers

Nøgle Type Beskrivelse
X-Digest-Key string Din unikke HLR Lookups API-nøgle. obligatorisk
X-Digest-Signature string En unik autentificeringssignatur (se nedenfor). obligatorisk
X-Digest-Timestamp integer Nuværende Unix-tidsstempel (se også GET /time). obligatorisk

Konstruktion af signaturen

X-Digest-Signature oprettes ved hjælp af en SHA256 HMAC-hash med din API-hemmelighed som den delte nøgle.

Strengen, der skal hashes, er struktureret som følger:

ENDPOINT_PATH . UNIX_TIMESTAMP . REQUEST_METHOD . REQUEST_BODY

. symbolet repræsenterer strengsammenkædning.

Digest Signature-komponenter

Komponent Type Beskrivelse
ENDPOINT_PATH string Det ønskede API-endpoint, f.eks. /auth-test med små bogstaver.
UNIX_TIMESTAMP integer Nuværende Unix-tidsstempel (skal være inden for 30 sekunder). Se GET /time.
REQUEST_METHOD string Den anvendte HTTP-metode, f.eks. POST eller GET.
REQUEST_BODY string Forespørgselsdata. Sæt til null for GET forespørgsler.

Kodeeksempler

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)

Brug API-indstillinger til at begrænse adgang til specifikke IP-adresser for øget sikkerhed. Dette anbefales især i produktionsmiljøer.

Rul op

Koncepter

Implementering af HLR-opslag i ethvert programmeringssprog eller system via vores HTTP REST API er ligetil og effektivt. Med en simpel integrationsproces kan du begynde at forespørge mobilnetværk i realtid for øjeblikkelig indsigt i telefonnumres gyldighed, forbindelsesstatus og routingdetaljer.

Valg af det passende API afhænger af dit specifikke anvendelsesområde. Hvis du har brug for opslagsresultater i realtid til applikationer som VoIP-telefoni, svindeldetektering eller SMS-routing, er det synkrone API det bedste valg. Hvis dit anvendelsesområde derimod involverer højvolumenbehandling, masseopslag eller storskaleret dataverificering, tilbyder det asynkrone API optimeret ydeevne med båndbreddeeffektivitet og batch-opslagsfunktioner.

Konfigurer API'et til at bruge en af vores tilpassede routingmuligheder for at optimere hastighed, nøjagtighed og omkostningseffektivitet. Du kan også gemme opslagsresultater i lagre for nem download af CSV- og JSON-rapporter samt avanceret analyse via webgrænsefladen.

Synkront HLR-opslags-API

POST /hlr-lookup-endpointet behandler ét mobiltelefonnummer (MSISDN) pr. forespørgsel og returnerer resultater øjeblikkeligt i HTTP-svarkroppen. Resultaterne er formateret som JSON og er ideelle til realtidsapplikationer, herunder mobilnummervalidering, opkaldsrouting og SMS-beskedlevering.

Et synkront API-kald består af en direkte HTTP-forespørgsel og -svar. Dit system indsender et enkelt MSISDN (mobilnummer) pr. forespørgsel og modtager et øjeblikkeligt svar indeholdende HLR-opslagsresultater i realtid i JSON-format. Dette API er optimeret til anvendelsesområder, der kræver øjeblikkelig verificering og forbindelsestjek, såsom svindeldetektering, VoIP-opkaldsrouting og SMS-gateway-optimering.

Asynkron HLR Opslags-API

POST /hlr-lookups-endpointet er designet til masse- og højvolumenbehandling, hvilket giver dig mulighed for at indsende op til 1,000 MSISDN'er pr. forespørgsel. I stedet for at returnere resultater øjeblikkeligt bruger dette API automatiserede webhooks til at sende resultater progressivt til din server. Opslagsresultater returneres som JSON-objekter via HTTP POST-callbacks.

Det asynkrone API er optimeret til hastighed, effektivitet og skalerbarhed. Det eliminerer netværksforsinkelser forbundet med synkrone kald, hvilket gør det ideelt til virksomheder, der har brug for opslag med høj gennemstrømning. Dit system indsender op til 1,000 MSISDN'er pr. forespørgsel, og vores platform behandler dem parallelt og leverer resultater tilbage til din server via HTTP-webhooks i batches på op til 1,000 resultater pr. callback.

SDK'er (Software Development Kits)

Vores Software Development Kits (SDK'er) til PHP, NodeJS og Ruby strømliner integrationsprocessen og giver dig mulighed for at forbinde til HLR Lookups API'en effektivt og med minimal indsats.

Disse SDK'er leverer færdigbyggede funktioner, håndtering af autentificering og strukturerede API-anmodningsskabeloner, hvilket reducerer udviklingstiden og sikrer best practices.

Udforsk vores komplette liste over tilgængelige SDK'er på GitHub og kom i gang med integrationen i dag.

PHP PHP NodeJS NodeJS Ruby Ruby
PHP-logo

PHP SDK

Øjeblikkelig API-integration til 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-logo

NodeJS SDK

Øjeblikkelig API-integration til 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-logo

Ruby SDK

Øjeblikkelig API-integration til 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)
Rul op

POST/hlr-lookupbeskyttet

Udfører et synkront HLR-opslag, der leverer realtidsdata om mobiltelefonens tilslutningsmuligheder og porterbarhed direkte fra netværksoperatører. Dette endpoint er ideelt til live-trafikscenarier, hvor tidskritiske applikationer kræver øjeblikkelig verificering af, om et telefonnummer i øjeblikket er tilgængeligt (tilsluttet) eller utilgængeligt (slukket). Derudover hjælper det med at skelne aktive numre fra ugyldige, ukendte eller falske numre.

Til bulkbehandling af store datasæt, der ikke kræver øjeblikkelige resultater, kan du overveje at bruge det asynkrone POST /hlr-lookups, som er optimeret til højhastighedsbatchbehandling.

Hvis dit primære fokus er at hente data om mobilnummerporterbarhed (MCCMNC), og du ikke har brug for live-tilslutningsstatus, tilbyder POST /mnp-lookup et omkostningseffektivt alternativ til forespørgsler om mobilnummerporterbarhed.

Forespørgsel Succesrespons Fejlrespons Statusreference
curl -X POST 'https://www.hlr-lookups.com/api/v2/hlr-lookup' \
          -d "@payload.json"

Payload

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

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
msisdn string Mobiltelefonnummeret (MSISDN), der skal forespørges, angivet i internationalt format (f.eks. +14156226819 eller 0014156226819). Landekoder skal inkluderes. null obligatorisk
route string(3) En valgfri tre-tegns identifikator, der specificerer ruten for dette opslag. Sæt til null eller udelad denne parameter for at anvende dit tilpassede rutekort eller lade vores system automatisk bestemme den bedste rute for dette opslag. null valgfri
storage string En valgfri lagringsidentifikator, der specificerer rapporten, hvor resultater vil blive gemt til manuel gennemgang, analyse og rapportering. Systemet tilføjer automatisk et tidsstempel med den aktuelle måned. Hvis udeladt eller sat til null, vil systemet automatisk gruppere resultater efter måned til rapporteringsformål. null valgfri
{
   "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"
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
id string(12) En unik identifikator tildelt denne opslag-anmodning. false
msisdn string Det mobiltelefonnummer, der forespørges, formateret i internationalt format (f.eks. +14156226819 eller 0014156226819). false
connectivity_status string Angiver om nummerets forbindelsesstatus blev hentet korrekt. Mulige værdier: CONNECTED , ABSENT , INVALID_MSISDN eller UNDETERMINED . false
mccmnc string(5|6) En fem- eller seks-cifret Mobile Country Code (MCC) og Mobile Network Code (MNC), der identificerer det netværk, som telefonnummeret aktuelt er tilknyttet. true
mcc string(3) En tre-cifret Mobile Country Code (MCC), der identificerer det land, hvor telefonnummeret er registreret. true
mnc string(2|3) En to- eller tre-cifret Mobile Network Code (MNC), der identificerer det specifikke netværk, som telefonnummeret tilhører. true
imsi string International Mobile Subscriber Identity (IMSI), en unik identifikator for det SIM-kort, der er tilknyttet dette nummer. Tilgængelighed afhænger af netværkskonfiguration. true
msin string(10) Mobile Subscription Identification Number (MSIN) i mobiloperatørens database. Tilgængelighed afhænger af netværkskonfiguration. true
msc string(12) Den Mobile Switching Center (MSC), der aktuelt håndterer denne abonnents kommunikation. Tilgængelighed afhænger af netværkskonfiguration. true
original_network_name string Den oprindelige (native) netværksoperatørs navn tilknyttet dette nummer. true
original_country_name string Det fulde navn på det land, hvor mobiltelefonnummeret oprindeligt blev registreret, angivet på engelsk. true
original_country_code string(2) Den to-tegns ISO-landekode, der repræsenterer det land, hvor telefonnummeret først blev tildelt. true
original_country_prefix string Den internationale opkaldskode (landekode), der svarer til mobiltelefonnummerets oprindelsesland. true
is_ported boolean Angiver om mobilnummeret er blevet porteret fra dets oprindelige netværk til en anden operatør. true
ported_network_name string Navnet på den netværksoperatør, som mobilnummeret er blevet porteret til, hvis relevant. true
ported_country_name string Navnet på det land, som mobilnummeret blev porteret til, hvis relevant. true
ported_country_code string(2) Den to-tegns ISO-landekode, der repræsenterer det land, som mobilnummeret blev porteret til, hvis relevant. true
ported_country_prefix string Den internationale opkaldskode (landekode) for det land, som mobilnummeret blev porteret til, hvis relevant. true
is_roaming boolean Angiver om mobilnummeret aktuelt roamer på et udenlandsk netværk. Tilgængelighed af roamingstatus afhænger af mobilnetværksoperatøren. true
roaming_network_name string Navnet på det netværk, som mobilnummeret aktuelt roamer på, hvis relevant. true
roaming_country_name string Navnet på det land, hvor mobilnummeret aktuelt roamer, hvis relevant. true
roaming_country_code string(2) Den to-tegns ISO-landekode for det land, hvor mobilnummeret aktuelt roamer, hvis relevant. true
roaming_country_prefix string Den internationale opkaldskode (landekode) for det land, hvor mobilnummeret aktuelt roamer, hvis relevant. true
cost string En decimalværdi repræsenteret som en streng, der angiver opslags-omkostningen i EUR. true
timestamp string Et W3C-formateret tidsstempel inklusiv tidszone, der angiver hvornår opslaget blev gennemført. true
storage string Navnet på det lager, hvor opslags-resultaterne blev gemt. Dette svarer til rapportnavne og CSV-downloads tilgængelige via webgrænsefladen. true
route string(3) En tre-tegns identifikator, der angiver den routingmetode, der blev anvendt til denne opslags-anmodning. true
processing_status string Behandlingsresultatet af opslaget. Mulige værdier: COMPLETED (vellykket), REJECTED (netværk utilgængeligt, ingen opkrævning), eller FAILED (fejl opstod under behandling). false
error_code integer En valgfri intern fejlkode, der giver yderligere diagnostiske oplysninger til kundesupport. true
error_description string En kort forklaring af den givne fejlkode (hvis nogen) på engelsk i klartekst. true
data_source string Den datakilde, der blev anvendt til denne anmodning. Mulige værdier: LIVE_HLR (realtids HLR-forespørgsel) eller MNP_DB (statisk mobilnummerporteringsdatabase). Se routingmuligheder for detaljer. false
routing_instruction string En kolon-adskilt streng, der beskriver den routinginstruktion, der blev anvendt i anmodningen. Den første komponent er STATIC, når du specificerede en rute, eller AUTO for automatisk routing; den anden komponent er rute-identifikatoren, og for automatiske routinganmodninger viser en tredje komponent oprindelsen, som routingbeslutningen er baseret 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."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Status Beskrivelse
CONNECTED Nummeret er gyldigt, og målenheden er i øjeblikket tilsluttet mobilnetværket. Opkald, SMS og andre tjenester bør nå modtageren uden problemer.
ABSENT Nummeret er gyldigt, men målenheden er enten slukket eller midlertidigt uden netværksdækning. Beskeder eller opkald leveres muligvis ikke, før enheden genopretter forbindelsen til netværket.
INVALID_MSISDN Nummeret er ugyldigt eller ikke i øjeblikket tildelt nogen abonnent på mobilnetværket. Opkald og beskeder til dette nummer vil fejle.
UNDETERMINED Nummerets forbindelsesstatus kunne ikke fastslås. Dette kan skyldes et ugyldigt nummer, SS7-fejlrespons eller manglende forbindelse til målnetværksoperatøren. Undersøg fejlkoden og dens beskrivelse for yderligere diagnostik.
Rul op

POST/hlr-lookupsbeskyttet

Initierer en batch af asynkrone HLR-opslag, som henter live data om mobiltelefonforbindelse og porterbarhed fra netværksoperatører. Resultater leveres via webhooks til din server. Denne metode er optimeret til behandling af store mængder numre, der ikke kræver øjeblikkelige svar, såsom databaserensning og verificering. Til realtidsapplikationer som opkaldsrouting eller SMS-levering bør du overveje at bruge POST /hlr-lookup-endpointet i stedet.

Dette endpoint er ideelt til bulkbehandling, når målet er at identificere telefonnumre, der i øjeblikket er tilgængelige (forbundet) eller utilgængelige (telefon slukket), samtidig med at ugyldige, ikke-tildelte eller falske numre filtreres fra. Derudover leverer det live porterbarhedsstatus (MCCMNC) sammen med forbindelsesdetaljer.

Før du bruger dette endpoint, skal du sikre, at en webhook-URL er konfigureret til at modtage opslagsresultater asynkront. Du kan opsætte dette i dine API-indstillinger.

Forespørgsel Succesrespons Fejlrespons Webhooks Statusreference
curl -X POST 'https://www.hlr-lookups.com/api/v2/hlr-lookups' \
          -d "@payload.json"

Payload

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

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
msisdns array Et array af mobiltelefonnumre (MSISDN'er) i internationalt format (f.eks. +14156226819 eller 0014156226819). Du kan inkludere op til 1000 numre pr. anmodning. null obligatorisk
route string(3) En valgfri tre-tegns identifikator, der specificerer ruten for dette opslag. Sæt til null eller udelad denne parameter for at anvende dit tilpassede rutekort eller lade vores system automatisk bestemme den bedste rute for dette opslag. null valgfri
storage string En valgfri lagringsidentifikator, der specificerer rapporten, hvor resultater vil blive gemt til manuel gennemgang, analyse og rapportering. Systemet tilføjer automatisk et tidsstempel med den aktuelle måned. Hvis udeladt eller sat til null, vil systemet automatisk gruppere resultater efter måned til rapporteringsformål. null valgfri
{
   "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"
   ]
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
accepted array En liste over objekter, der indeholder unikke identifikatorer og MSISDN'er, som er blevet accepteret til behandling. false
accepted_count integer Det samlede antal MSISDN'er, der er blevet accepteret til behandling. false
rejected array En liste over objekter, der indeholder unikke identifikatorer og MSISDN'er, som er blevet afvist til behandling, typisk på grund af ugyldige numre. Der opkræves ingen gebyr for afviste poster. false
rejected_count integer Det samlede antal MSISDN'er afvist på grund af valideringsfejl. false
total_count integer Den samlede optælling af accepterede og afviste MSISDN'er, der blev indsendt til behandling. false
cost string En decimalværdi repræsenteret som en streng, der angiver de samlede omkostninger i EUR for de accepterede opslag. false
storage string Navnet på det lager, hvor opslagsresultaterne tilføjes, bruges til rapportering og CSV-downloads via webgrænsefladen. false
route string(3|4) En tre- eller firetegnsidentifikator, der specificerer den rute, der bruges til denne opslagsanmodning. Indeholder AUTO, hvis nummerbaseret automatisk routing blev anmodet. false
webhook_urls array Webhook-URL'erne konfigureret i dine API-indstillinger. Resultater sendes tilbage hertil. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false

Behandling af Webhooks

Når anmodningen er indsendt, begynder vores platform at behandle de angivne telefonnumre og sender resultaterne til den tidligere specificerede webhook-URL på din server. Resultaterne transmitteres som en HTTP POST-anmodning med et JSON-objekt i anmodningens body.

Autentificering

Autentificer webhooken ved at inspicere X-Signatures HTTP-headeren.

X-Signatures-headeren indeholder en semikolon-separeret liste af signaturer. Hver signatur i listen genereres ved hjælp af en af de API-secrets, der er konfigureret i din konto. For at verificere webhooken skal du generere en SHA-256 hash ved hjælp af din API-nøgle, secret og den rå HTTP-body - og derefter sammenligne den med signaturerne i listen.

Et match bekræfter, at anmodningen er autentisk og signeret med en secret, du kontrollerer.

PHP Kodeeksempel

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

Anmodningen er gyldig, hvis en af signaturerne i headeren matcher en SHA256-hash beregnet over den sammenkædede streng af din API-nøgle, secret og HTTP-body.

Bekræftelse af Modtagelse

Din server forventes at svare med HTTP-statuskode 200 OK for at bekræfte vellykket modtagelse. Hvis en anden svarkode returneres, der opstår en timeout (10 sekunder), eller andre leveringsproblemer opstår, vil systemet automatisk forsøge at sende webhooken igen efter et minut. Hvis anmodningen fortsat fejler, vil nye forsøg følge en eksponentiel backoff-strategi med efterfølgende forsøg efter 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 minutter.

Denne retry-mekanisme sikrer maksimal pålidelighed ved levering af opslags-resultater til din infrastruktur. Den minimerer risikoen for datatab på grund af midlertidige netværksproblemer eller server-nedetid.

Webhook Payload

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

Webhook Payload-attributter

JSON-objektet indeholder en attribut type => HLR sammen med en attribut results, der inkluderer en liste over opslagsobjekter, som dokumenteret nedenfor.

Navn Type Beskrivelse Nullable
id string(12) En unik identifikator tildelt denne opslag-anmodning. false
msisdn string Det mobiltelefonnummer, der forespørges, formateret i internationalt format (f.eks. +14156226819 eller 0014156226819). false
connectivity_status string Angiver om nummerets forbindelsesstatus blev hentet korrekt. Mulige værdier: CONNECTED , ABSENT , INVALID_MSISDN eller UNDETERMINED . false
mccmnc string(5|6) En fem- eller seks-cifret Mobile Country Code (MCC) og Mobile Network Code (MNC), der identificerer det netværk, som telefonnummeret aktuelt er tilknyttet. true
mcc string(3) En tre-cifret Mobile Country Code (MCC), der identificerer det land, hvor telefonnummeret er registreret. true
mnc string(2|3) En to- eller tre-cifret Mobile Network Code (MNC), der identificerer det specifikke netværk, som telefonnummeret tilhører. true
imsi string International Mobile Subscriber Identity (IMSI), en unik identifikator for det SIM-kort, der er tilknyttet dette nummer. Tilgængelighed afhænger af netværkskonfiguration. true
msin string(10) Mobile Subscription Identification Number (MSIN) i mobiloperatørens database. Tilgængelighed afhænger af netværkskonfiguration. true
msc string(12) Den Mobile Switching Center (MSC), der aktuelt håndterer denne abonnents kommunikation. Tilgængelighed afhænger af netværkskonfiguration. true
original_network_name string Den oprindelige (native) netværksoperatørs navn tilknyttet dette nummer. true
original_country_name string Det fulde navn på det land, hvor mobiltelefonnummeret oprindeligt blev registreret, angivet på engelsk. true
original_country_code string(2) Den to-tegns ISO-landekode, der repræsenterer det land, hvor telefonnummeret først blev tildelt. true
original_country_prefix string Den internationale opkaldskode (landekode), der svarer til mobiltelefonnummerets oprindelsesland. true
is_ported boolean Angiver om mobilnummeret er blevet porteret fra dets oprindelige netværk til en anden operatør. true
ported_network_name string Navnet på den netværksoperatør, som mobilnummeret er blevet porteret til, hvis relevant. true
ported_country_name string Navnet på det land, som mobilnummeret blev porteret til, hvis relevant. true
ported_country_code string(2) Den to-tegns ISO-landekode, der repræsenterer det land, som mobilnummeret blev porteret til, hvis relevant. true
ported_country_prefix string Den internationale opkaldskode (landekode) for det land, som mobilnummeret blev porteret til, hvis relevant. true
is_roaming boolean Angiver om mobilnummeret aktuelt roamer på et udenlandsk netværk. Tilgængelighed af roamingstatus afhænger af mobilnetværksoperatøren. true
roaming_network_name string Navnet på det netværk, som mobilnummeret aktuelt roamer på, hvis relevant. true
roaming_country_name string Navnet på det land, hvor mobilnummeret aktuelt roamer, hvis relevant. true
roaming_country_code string(2) Den to-tegns ISO-landekode for det land, hvor mobilnummeret aktuelt roamer, hvis relevant. true
roaming_country_prefix string Den internationale opkaldskode (landekode) for det land, hvor mobilnummeret aktuelt roamer, hvis relevant. true
cost string En decimalværdi repræsenteret som en streng, der angiver opslags-omkostningen i EUR. true
timestamp string Et W3C-formateret tidsstempel inklusiv tidszone, der angiver hvornår opslaget blev gennemført. true
storage string Navnet på det lager, hvor opslags-resultaterne blev gemt. Dette svarer til rapportnavne og CSV-downloads tilgængelige via webgrænsefladen. true
route string(3) En tre-tegns identifikator, der angiver den routingmetode, der blev anvendt til denne opslags-anmodning. true
processing_status string Behandlingsresultatet af opslaget. Mulige værdier: COMPLETED (vellykket), REJECTED (netværk utilgængeligt, ingen opkrævning), eller FAILED (fejl opstod under behandling). false
error_code integer En valgfri intern fejlkode, der giver yderligere diagnostiske oplysninger til kundesupport. true
error_description string En kort forklaring af den givne fejlkode (hvis nogen) på engelsk i klartekst. true
data_source string Den datakilde, der blev anvendt til denne anmodning. Mulige værdier: LIVE_HLR (realtids HLR-forespørgsel) eller MNP_DB (statisk mobilnummerporteringsdatabase). Se routingmuligheder for detaljer. false
routing_instruction string En kolon-adskilt streng, der beskriver den routinginstruktion, der blev anvendt i anmodningen. Den første komponent er STATIC, når du specificerede en rute, eller AUTO for automatisk routing; den anden komponent er rute-identifikatoren, og for automatiske routinganmodninger viser en tredje komponent oprindelsen, som routingbeslutningen er baseret 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 Beskrivelse
CONNECTED Nummeret er gyldigt, og målenheden er i øjeblikket tilsluttet mobilnetværket. Opkald, SMS og andre tjenester bør nå modtageren uden problemer.
ABSENT Nummeret er gyldigt, men målenheden er enten slukket eller midlertidigt uden netværksdækning. Beskeder eller opkald leveres muligvis ikke, før enheden genopretter forbindelsen til netværket.
INVALID_MSISDN Nummeret er ugyldigt eller ikke i øjeblikket tildelt nogen abonnent på mobilnetværket. Opkald og beskeder til dette nummer vil fejle.
UNDETERMINED Nummerets forbindelsesstatus kunne ikke fastslås. Dette kan skyldes et ugyldigt nummer, SS7-fejlrespons eller manglende forbindelse til målnetværksoperatøren. Undersøg fejlkoden og dens beskrivelse for yderligere diagnostik.
Rul op

POST/mnp-lookupbeskyttet

Udfører et synkront MNP-opslag og leverer information om mobilnummerportabilitet og netværk. Dette endpoint er velegnet, hvis dit primære mål er at udtrække den aktuelle MCCMNC for et givet mobilnummer og identificere det oprindelige og nuværende netværk i realtid.

Til bulkbehandling af store datasæt, der ikke kræver øjeblikkelige resultater, kan du overveje at bruge det asynkrone POST /mnp-lookups, som er optimeret til højhastighedsbatchbehandling.

MNP-forespørgsler fastslår pålideligt portabilitet og netværksinformation, men indikerer ikke om det pågældende mobilnummer i øjeblikket er forbundet til et netværk og kan nås. For at udtrække live forbindelsesinformation, brug venligst POST /hlr-lookup endpoint i stedet.

Forespørgsel Succesrespons Fejlrespons
curl -X POST 'https://www.hlr-lookups.com/api/v2/mnp-lookup' \
          -d "@payload.json"

Payload

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

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
msisdn string Mobiltelefonnummeret (MSISDN), der skal forespørges, angivet i internationalt format (f.eks. +14156226819 eller 0014156226819). Landekoder skal inkluderes. null obligatorisk
route string(3) En valgfri tre-tegns identifikator, der specificerer ruten for dette opslag. Sæt til null eller udelad denne parameter for at anvende dit tilpassede rutekort eller lade vores system automatisk bestemme den bedste rute for dette opslag. null valgfri
storage string En valgfri lagringsidentifikator, der specificerer rapporten, hvor resultater vil blive gemt til manuel gennemgang, analyse og rapportering. Systemet tilføjer automatisk et tidsstempel med den aktuelle måned. Hvis udeladt eller sat til null, vil systemet automatisk gruppere resultater efter måned til rapporteringsformål. null valgfri
{
   "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
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
id string(12) En unik 12-tegns identifikator for dette opslag. false
msisdn string Det mobiltelefonnummer, der evalueres i denne opslagsanmodning. false
query_status string Angiver, om hentningen af portabilitets- og netværksinformation lykkedes. Mulige værdier er OK eller FAILED. false
mccmnc string(5|6) En fem- eller seks-tegns MCCMNC (mobillandekode og mobilnetværkskode-tupel), der identificerer det netværk, som mobiltelefonnummeret aktuelt tilhører. true
mcc string(3) En tre-tegns MCC (mobillandekode), der repræsenterer det land, der er tilknyttet mobiltelefonnummerets aktuelle netværk. true
mnc string(2|3) En to- eller tre-tegns MNC (mobilnetværkskode), der identificerer den aktuelle netværksudbyder for mobiltelefonnummeret. true
is_ported boolean Angiver, om telefonnummeret er blevet porteret fra dets oprindelige netværk til en ny operatør. true
original_network_name string En vilkårlig streng (på engelsk), der angiver den oprindelige netværksudbyders navn for det undersøgte mobiltelefonnummer. true
original_country_name string En vilkårlig streng (på engelsk), der angiver det oprindelige land for det undersøgte mobiltelefonnummer. true
original_country_code string(2) En to-tegns ISO-landekode, der repræsenterer det oprindelige land for det undersøgte mobiltelefonnummer. true
original_country_prefix string Opkaldskoden for det oprindelige land, der er tilknyttet det undersøgte mobiltelefonnummer. true
ported_network_name string Angiver den netværksudbyder, som det undersøgte mobiltelefonnummer er blevet porteret til, hvis relevant. true
ported_country_name string Angiver det land, som det undersøgte mobiltelefonnummer er blevet porteret til, hvis relevant. true
ported_country_code string(2) En to-tegns ISO-landekode, der repræsenterer det land, som det undersøgte mobiltelefonnummer er blevet porteret til, hvis relevant. true
ported_country_prefix string Opkaldskoden for det land, som det undersøgte mobiltelefonnummer er blevet porteret til, hvis relevant. true
extra string En vilkårlig streng, der giver valgfrie yderligere detaljer om telefonnummeret. true
cost string En decimalværdi, repræsenteret som en streng, der angiver omkostningen i EUR for dette opslag. true
timestamp string Et W3C-formateret tidsstempel, inklusive tidszoneinformation, der angiver, hvornår opslaget blev gennemført. true
storage string Lagringsnavnet (eller rapportnavnet), som opslagsresultaterne blev tilføjet til. Dette bruges til CSV-downloads og rapportering via webgrænsefladen. true
route string(3) En tre-tegns identifikator, der angiver den rute, der blev brugt til denne opslagsanmodning. true
error_code integer En valgfri intern fejlkode, der giver yderligere kontekst til kundesupportdiagnostik. true
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

POST/mnp-lookupsbeskyttet

Initierer en batch af asynkrone MNP (mobilnummerportabilitet) opslag, der henter den aktuelle MCCMNC og identificerer de oprindelige og nuværende netværk i realtid. Resultater leveres via webhooks til din server. Denne metode er optimeret til behandling af store mængder numre, der ikke kræver øjeblikkelige svar, såsom databaserensning og verificering. Til realtidsapplikationer som opkaldsrouting eller SMS-levering bør du overveje at bruge POST /mnp-lookup-endpointet i stedet.

MNP-forespørgsler fastslår pålideligt portabilitet og netværksinformation, men indikerer ikke om det pågældende mobilnummer i øjeblikket er forbundet til et netværk og kan nås. For at udtrække live forbindelsesinformation, brug venligst POST /hlr-lookups endpoint i stedet.

Før du bruger dette endpoint, skal du sikre, at en webhook-URL er konfigureret til at modtage opslagsresultater asynkront. Du kan opsætte dette i dine API-indstillinger.

Forespørgsel Succesrespons Fejlrespons Webhooks
curl -X POST 'https://www.hlr-lookups.com/api/v2/mnp-lookups' \
          -d "@payload.json"

Payload

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

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
msisdns array Et array af mobiltelefonnumre (MSISDN'er) i internationalt format (f.eks. +14156226819 eller 0014156226819). Du kan inkludere op til 1000 numre pr. anmodning. null obligatorisk
route string(3) En valgfri tre-tegns identifikator, der specificerer ruten for dette opslag. Sæt til null eller udelad denne parameter for at anvende dit tilpassede routing-kort eller automatisk lade vores system automatisk bestemme de bedste ruter for denne forespørgsel. null valgfri
storage string En valgfri lagringsidentifikator, der specificerer rapporten, hvor resultater vil blive gemt til manuel gennemgang, analyse og rapportering. Systemet tilføjer automatisk et tidsstempel med den aktuelle måned. Hvis udeladt eller sat til null, vil systemet automatisk gruppere resultater efter måned til rapporteringsformål. null valgfri
{
   "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"
   ]
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
accepted array En liste over objekter, der indeholder unikke identifikatorer og MSISDN'er, som er blevet accepteret til behandling. false
accepted_count integer Det samlede antal MSISDN'er, der er blevet accepteret til behandling. false
rejected array En liste over objekter, der indeholder unikke identifikatorer og MSISDN'er, som er blevet afvist til behandling, typisk på grund af ugyldige numre. Der opkræves ingen gebyr for afviste poster. false
rejected_count integer Det samlede antal MSISDN'er afvist på grund af valideringsfejl. false
total_count integer Den samlede optælling af accepterede og afviste MSISDN'er, der blev indsendt til behandling. false
cost string En decimalværdi repræsenteret som en streng, der angiver de samlede omkostninger i EUR for de accepterede opslag. false
storage string Navnet på det lager, hvor opslagsresultaterne tilføjes, bruges til rapportering og CSV-downloads via webgrænsefladen. false
route string(3) En tre-tegns identifikator, der angiver den rute, der blev brugt til denne opslagsanmodning. false
webhook_urls array Webhook-URL'erne konfigureret i dine API-indstillinger. Resultater sendes tilbage hertil. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false

Behandling af Webhooks

Når anmodningen er indsendt, begynder vores platform at behandle de angivne telefonnumre og sender resultaterne til den tidligere specificerede webhook-URL på din server. Resultaterne transmitteres som en HTTP POST-anmodning med et JSON-objekt i anmodningens body.

Autentificering

Autentificer webhooken ved at inspicere X-Signatures HTTP-headeren.

X-Signatures-headeren indeholder en semikolon-separeret liste af signaturer. Hver signatur i listen genereres ved hjælp af en af de API-secrets, der er konfigureret i din konto. For at verificere webhooken skal du generere en SHA-256 hash ved hjælp af din API-nøgle, secret og den rå HTTP-body - og derefter sammenligne den med signaturerne i listen.

Et match bekræfter, at anmodningen er autentisk og signeret med en secret, du kontrollerer.

PHP Kodeeksempel

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

Anmodningen er gyldig, hvis en af signaturerne i headeren matcher en SHA256-hash beregnet over den sammenkædede streng af din API-nøgle, secret og HTTP-body.

Bekræftelse af Modtagelse

Din server forventes at svare med HTTP-statuskode 200 OK for at bekræfte vellykket modtagelse. Hvis en anden svarkode returneres, der opstår en timeout (10 sekunder), eller andre leveringsproblemer opstår, vil systemet automatisk forsøge at sende webhooken igen efter et minut. Hvis anmodningen fortsat fejler, vil nye forsøg følge en eksponentiel backoff-strategi med efterfølgende forsøg efter 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 minutter.

Denne retry-mekanisme sikrer maksimal pålidelighed ved levering af opslags-resultater til din infrastruktur. Den minimerer risikoen for datatab på grund af midlertidige netværksproblemer eller server-nedetid.

Webhook Payload

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

Webhook Payload-attributter

JSON-objektet indeholder en attribut type => MNP sammen med en attribut results, der inkluderer en liste over opslagsobjekter, som dokumenteret nedenfor.

Navn Type Beskrivelse Nullable
id string(12) En unik 12-tegns identifikator for dette opslag. false
msisdn string Det mobiltelefonnummer, der evalueres i denne opslagsanmodning. false
query_status string Angiver, om hentningen af portabilitets- og netværksinformation lykkedes. Mulige værdier er OK eller FAILED. false
mccmnc string(5|6) En fem- eller seks-tegns MCCMNC (mobillandekode og mobilnetværkskode-tupel), der identificerer det netværk, som mobiltelefonnummeret aktuelt tilhører. true
mcc string(3) En tre-tegns MCC (mobillandekode), der repræsenterer det land, der er tilknyttet mobiltelefonnummerets aktuelle netværk. true
mnc string(2|3) En to- eller tre-tegns MNC (mobilnetværkskode), der identificerer den aktuelle netværksudbyder for mobiltelefonnummeret. true
is_ported boolean Angiver, om telefonnummeret er blevet porteret fra dets oprindelige netværk til en ny operatør. true
original_network_name string En vilkårlig streng (på engelsk), der angiver den oprindelige netværksudbyders navn for det undersøgte mobiltelefonnummer. true
original_country_name string En vilkårlig streng (på engelsk), der angiver det oprindelige land for det undersøgte mobiltelefonnummer. true
original_country_code string(2) En to-tegns ISO-landekode, der repræsenterer det oprindelige land for det undersøgte mobiltelefonnummer. true
original_country_prefix string Opkaldskoden for det oprindelige land, der er tilknyttet det undersøgte mobiltelefonnummer. true
ported_network_name string Angiver den netværksudbyder, som det undersøgte mobiltelefonnummer er blevet porteret til, hvis relevant. true
ported_country_name string Angiver det land, som det undersøgte mobiltelefonnummer er blevet porteret til, hvis relevant. true
ported_country_code string(2) En to-tegns ISO-landekode, der repræsenterer det land, som det undersøgte mobiltelefonnummer er blevet porteret til, hvis relevant. true
ported_country_prefix string Opkaldskoden for det land, som det undersøgte mobiltelefonnummer er blevet porteret til, hvis relevant. true
extra string En vilkårlig streng, der giver valgfrie yderligere detaljer om telefonnummeret. true
cost string En decimalværdi, repræsenteret som en streng, der angiver omkostningen i EUR for dette opslag. true
timestamp string Et W3C-formateret tidsstempel, inklusive tidszoneinformation, der angiver, hvornår opslaget blev gennemført. true
storage string Lagringsnavnet (eller rapportnavnet), som opslagsresultaterne blev tilføjet til. Dette bruges til CSV-downloads og rapportering via webgrænsefladen. true
route string(3) En tre-tegns identifikator, der angiver den rute, der blev brugt til denne opslagsanmodning. true
error_code integer En valgfri intern fejlkode, der giver yderligere kontekst til kundesupportdiagnostik. true
Rul op

POST/nt-lookupbeskyttet

Udfører et synkront nummertype (NT) opslag. Dette endpoint er ideelt, hvis dit primære mål er at afgøre, om de angivne telefonnumre tilhører fastnet, mobil, premium rate, VoIP, pager eller andre nummerplanintervaller i realtid.

NT-forespørgsler detekterer pålideligt telefonnummertypen, men de angiver ikke, om målnummeret aktuelt er forbundet til et netværk og kan nås. For at hente live forbindelsesoplysninger bedes du bruge POST /hlr-lookup endpointet.

Hvis dit use case kræver præcise netværks- og portabilitetsoplysninger (MCCMNC), men ikke live forbindelsesstatus, bedes du bruge POST /mnp-lookup endpointet til forespørgsler om mobilnummerportabilitet.

Forespørgsel Succesrespons Fejlrespons Typereference
curl -X POST 'https://www.hlr-lookups.com/api/v2/nt-lookup' \
          -d "@payload.json"

Payload

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

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
number string Et telefonnummer i internationalt format (f.eks. +4989702626 eller 004989702626). null mandatory
route string(3) En valgfri tre-tegns identifikator, der specificerer ruten for dette opslag. Sæt til null eller udelad denne parameter for at anvende dit tilpassede routing map eller lade vores system automatisk bestemme de bedste ruter til denne forespørgsel. null valgfri
storage string En valgfri lagringsidentifikator, der specificerer rapporten, hvor resultater vil blive gemt til manuel gennemgang, analyse og rapportering. Systemet tilføjer automatisk et tidsstempel med den aktuelle måned. Hvis udeladt eller sat til null, vil systemet automatisk gruppere resultater efter måned til rapporteringsformål. null valgfri
{
     "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"
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
id string(12) En unik identifikator tildelt denne opslag-anmodning. false
number string Det telefonnummer, der blev evalueret under denne opslag-anmodning. false
number_type string Den detekterede nummertype. Mulige værdier inkluderer: LANDLINE , MOBILE , MOBILE_OR_LANDLINE , TOLL_FREE , PREMIUM_RATE , SHARED_COST , VOIP , PAGER , UAN , VOICEMAIL , UNKNOWN . false
query_status string Angiver, om informationen om nummertypen blev hentet korrekt. Returnerer OK ved succes, eller FAILED hvis opslaget mislykkedes. false
is_valid boolean Angiver, om telefonnummeret er syntaktisk gyldigt. true
invalid_reason string En tekstbesked på engelsk, der specificerer hvorfor telefonnummeret betragtes som ugyldigt (f.eks. "too short" eller "invalid prefix"), eller null hvis nummeret er gyldigt. true
is_possibly_ported boolean Angiver, om telefonnummeret muligvis er blevet porteret fra den oprindelige operatør til en anden udbyder. For definitiv porteringsoplysning, brug MNP-opslag. true
is_vanity_number boolean Angiver, om telefonnummeret er et vanity-nummer, hvilket betyder at det inkluderer alfabetiske tegn. true
qualifies_for_hlr_lookup boolean Angiver, om telefonnummeret er berettiget til yderligere forespørgsler via HLR-opslag. true
mccmnc string(5|6) En fem- eller seks-tegns streng, der repræsenterer MCCMNC-tuplen (mobillandekode og mobilnetværkskode), som identificerer det oprindelige netværk for mobiltelefonnummeret. true
mcc string(3) En tre-tegns streng, der repræsenterer MCC (mobillandekode), som identificerer det land, der er associeret med det oprindelige mobilnetværk for telefonnummeret. true
mnc string(2|3) En to- eller tre-tegns streng, der repræsenterer MNC (mobilnetværkskode), som identificerer den oprindelige mobilnetværksoperatør for telefonnummeret. true
original_network_name string En vilkårlig tekststreng på engelsk, der specificerer den oprindelige netværksoperatørs navn for det inspicerede mobiltelefonnummer. true
original_country_name string En vilkårlig tekststreng på engelsk, der specificerer det oprindelige land associeret med det inspicerede mobiltelefonnummer. true
original_country_code string(2) En to-tegns ISO-landekode, der angiver det oprindelige land for det inspicerede mobiltelefonnummer. true
regions array En liste af læsbare strenge på engelsk, der specificerer den/de geografiske region(er) associeret med dette telefonnummer. true
timezones array En liste af tidszoner (i Olson-format) associeret med dette telefonnummer. true
info_text string En vilkårlig streng, der kan indeholde yderligere information om telefonnummeret. true
cost string En decimalværdi repræsenteret som en streng, der angiver omkostningen (i EUR) for dette opslag. true
timestamp string Et W3C-formateret tidsstempel (inklusiv tidszone), der angiver hvornår opslaget blev fuldført. true
storage string Specificerer lagringsnavnet, hvor opslagsresultaterne er blevet tilføjet. Dette svarer til rapportnavnet, der bruges til CSV-downloads og analyser via webgrænsefladen. true
route string(3) En tre-tegns identifikator, der angiver den rute, der blev brugt til denne opslagsanmodning. true
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Type Beskrivelse
LANDLINE Fastnettelefonnummer.
MOBILE Mobiltelefonnummer. Kvalificerer til HLR-opslag for at indhente yderligere information om forbindelsesstatus, netværk, porterbarhed og roaming.
MOBILE_OR_LANDLINE Fastnet- eller mobiltelefonnummer. Kan kvalificere til HLR-opslag.
TOLL_FREE Gratis telefonnummer.
PREMIUM_RATE Premium rate telefonnummer med ekstra omkostninger.
SHARED_COST Delt betalingsnummer. Typisk billigere end premium rate telefonnumre.
VOIP Voice over IP telefonnummer. Inkluderer TSoIP telefonnumre (Telephony Service over IP).
PAGER Personsøgernummer. Typisk ingen talefunktionalitet.
UAN Univeral Access Number (virksomhedsnummer). Kan rutes til specifikke kontorer, men giver mulighed for at bruge ét nummer til hele virksomheden.
VOICEMAIL Voicemail telefonnummer.
UNKNOWN Nummertype kunne ikke bestemmes.
Rul op

POST/nt-lookups beskyttet

Dette endpoint udfører en serie af asynkrone nummertype-opslag med resultater, der sendes tilbage til din server via webhook. Det er velegnet, hvis dit primære mål er at fastslå, om givne telefonnumre tilhører fastnet, mobil, premium rate, VoIP, personsøger eller andre nummerplan-intervaller. Optimeret til hurtig behandling af store mængder numre er dette endpoint ideelt til bulk-operationer (f.eks. database-sanering). Til live-trafik og tidskritiske anvendelser bedes du i stedet bruge POST /nt-lookup-endpointet.

Du skal angive en webhook-URL i dine API-indstillinger som en forudsætning for at kalde dette endpoint.

Forespørgsel Succesrespons Fejlrespons Webhooks Typereference
curl -X POST 'https://www.hlr-lookups.com/api/v2/nt-lookups' \
          -d "@payload.json"

Payload

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

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
numbers array Et array af telefonnumre i internationalt format (f.eks. +14156226819 eller 004989702626). Maksimalt 1000 numre kan inkluderes pr. anmodning. null obligatorisk
route string(3) En valgfri tre-tegns identifikator, der specificerer ruten for dette opslag. Sæt til null eller udelad denne parameter for at anvende dit tilpassede routing-map eller lade vores system automatisk bestemme den bedste rute for denne anmodning. null valgfri
storage string En valgfri lagringsidentifikator, der specificerer rapporten, hvor resultater vil blive gemt til manuel gennemgang, analyse og rapportering. Systemet tilføjer automatisk et tidsstempel med den aktuelle måned. Hvis udeladt eller sat til null, vil systemet automatisk gruppere resultater efter måned til rapporteringsformål. null valgfri
{
   "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"
   ]
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
accepted array Et array af objekter, der hver indeholder en unik identifikator og et telefonnummer, som er accepteret til behandling. false
accepted_count integer Det samlede antal telefonnumre accepteret til behandling. false
rejected array Et array af objekter, der hver indeholder en unik identifikator og et telefonnummer, som blev afvist til behandling. Typisk er disse numre ugyldige, og der opkræves intet gebyr. false
rejected_count integer Det samlede antal telefonnumre, der blev afvist til behandling. false
total_count integer Det samlede antal accepterede og afviste telefonnumre, der blev indsendt til behandling. false
cost string En streng, der repræsenterer en decimalværdi, som angiver omkostningen i EUR for disse opslag. false
storage string Navnet på lageret (rapporten), hvor opslagsresultaterne er blevet tilføjet. Dette navn bruges til CSV-downloads og analyse via webgrænsefladen. false
route string(3) En tre-tegns identifikator, der specificerer den rute, som blev brugt til denne opslagsanmodning. false
webhook_urls array Webhook-URL'erne konfigureret i dine API-indstillinger. Resultater sendes tilbage hertil. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false

Behandling af Webhooks

Når anmodningen er indsendt, begynder vores platform at behandle de angivne telefonnumre og sender resultaterne til den tidligere specificerede webhook-URL på din server. Resultaterne transmitteres som en HTTP POST-anmodning med et JSON-objekt i anmodningens body.

Autentificering

Autentificer webhooken ved at inspicere X-Signatures HTTP-headeren.

X-Signatures-headeren indeholder en semikolon-separeret liste af signaturer. Hver signatur i listen genereres ved hjælp af en af de API-secrets, der er konfigureret i din konto. For at verificere webhooken skal du generere en SHA-256 hash ved hjælp af din API-nøgle, secret og den rå HTTP-body - og derefter sammenligne den med signaturerne i listen.

Et match bekræfter, at anmodningen er autentisk og signeret med en secret, du kontrollerer.

PHP Kodeeksempel

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

Anmodningen er gyldig, hvis en af signaturerne i headeren matcher en SHA256-hash beregnet over den sammenkædede streng af din API-nøgle, secret og HTTP-body.

Bekræftelse af Modtagelse

Din server forventes at svare med HTTP-statuskode 200 OK for at bekræfte vellykket modtagelse. Hvis en anden svarkode returneres, der opstår en timeout (10 sekunder), eller andre leveringsproblemer opstår, vil systemet automatisk forsøge at sende webhooken igen efter et minut. Hvis anmodningen fortsat fejler, vil nye forsøg følge en eksponentiel backoff-strategi med efterfølgende forsøg efter 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 minutter.

Denne retry-mekanisme sikrer maksimal pålidelighed ved levering af opslags-resultater til din infrastruktur. Den minimerer risikoen for datatab på grund af midlertidige netværksproblemer eller server-nedetid.

Webhook Payload

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

Webhook Payload-attributter

JSON-objektet indeholder en attribut type => NT sammen med en attribut results, der inkluderer en liste over opslagsobjekter, som dokumenteret nedenfor.

Navn Type Beskrivelse Nullable
id string(12) En unik identifikator tildelt denne opslag-anmodning. false
number string Det telefonnummer, der blev evalueret under denne opslag-anmodning. false
number_type string Den detekterede nummertype. Mulige værdier inkluderer: LANDLINE , MOBILE , MOBILE_OR_LANDLINE , TOLL_FREE , PREMIUM_RATE , SHARED_COST , VOIP , PAGER , UAN , VOICEMAIL , UNKNOWN . false
query_status string Angiver, om informationen om nummertypen blev hentet korrekt. Returnerer OK ved succes, eller FAILED hvis opslaget mislykkedes. false
is_valid boolean Angiver, om telefonnummeret er syntaktisk gyldigt. true
invalid_reason string En tekstbesked på engelsk, der specificerer hvorfor telefonnummeret betragtes som ugyldigt (f.eks. "too short" eller "invalid prefix"), eller null hvis nummeret er gyldigt. true
is_possibly_ported boolean Angiver, om telefonnummeret muligvis er blevet porteret fra den oprindelige operatør til en anden udbyder. For definitiv porteringsoplysning, brug MNP-opslag. true
is_vanity_number boolean Angiver, om telefonnummeret er et vanity-nummer, hvilket betyder at det inkluderer alfabetiske tegn. true
qualifies_for_hlr_lookup boolean Angiver, om telefonnummeret er berettiget til yderligere forespørgsler via HLR-opslag. true
mccmnc string(5|6) En fem- eller seks-tegns streng, der repræsenterer MCCMNC-tuplen (mobillandekode og mobilnetværkskode), som identificerer det oprindelige netværk for mobiltelefonnummeret. true
mcc string(3) En tre-tegns streng, der repræsenterer MCC (mobillandekode), som identificerer det land, der er associeret med det oprindelige mobilnetværk for telefonnummeret. true
mnc string(2|3) En to- eller tre-tegns streng, der repræsenterer MNC (mobilnetværkskode), som identificerer den oprindelige mobilnetværksoperatør for telefonnummeret. true
original_network_name string En vilkårlig tekststreng på engelsk, der specificerer den oprindelige netværksoperatørs navn for det inspicerede mobiltelefonnummer. true
original_country_name string En vilkårlig tekststreng på engelsk, der specificerer det oprindelige land associeret med det inspicerede mobiltelefonnummer. true
original_country_code string(2) En to-tegns ISO-landekode, der angiver det oprindelige land for det inspicerede mobiltelefonnummer. true
regions array En liste af læsbare strenge på engelsk, der specificerer den/de geografiske region(er) associeret med dette telefonnummer. true
timezones array En liste af tidszoner (i Olson-format) associeret med dette telefonnummer. true
info_text string En vilkårlig streng, der kan indeholde yderligere information om telefonnummeret. true
cost string En decimalværdi repræsenteret som en streng, der angiver omkostningen (i EUR) for dette opslag. true
timestamp string Et W3C-formateret tidsstempel (inklusiv tidszone), der angiver hvornår opslaget blev fuldført. true
storage string Specificerer lagringsnavnet, hvor opslagsresultaterne er blevet tilføjet. Dette svarer til rapportnavnet, der bruges til CSV-downloads og analyser via webgrænsefladen. true
route string(3) En tre-tegns identifikator, der angiver den rute, der blev brugt til denne opslagsanmodning. true
Type Beskrivelse
LANDLINE Fastnettelefonnummer.
MOBILE Mobiltelefonnummer. Kvalificerer til HLR-opslag for at indhente yderligere information om forbindelsesstatus, netværk, porterbarhed og roaming.
MOBILE_OR_LANDLINE Fastnet- eller mobiltelefonnummer. Kan kvalificere til HLR-opslag.
TOLL_FREE Gratis telefonnummer.
PREMIUM_RATE Premium rate telefonnummer med ekstra omkostninger.
SHARED_COST Delt betalingsnummer. Typisk billigere end premium rate telefonnumre.
VOIP Voice over IP telefonnummer. Inkluderer TSoIP telefonnumre (Telephony Service over IP).
PAGER Personsøgernummer. Typisk ingen talefunktionalitet.
UAN Univeral Access Number (virksomhedsnummer). Kan rutes til specifikke kontorer, men giver mulighed for at bruge ét nummer til hele virksomheden.
VOICEMAIL Voicemail telefonnummer.
UNKNOWN Nummertype kunne ikke bestemmes.
Rul op

GET/routebeskyttet

Henter den rute, der automatisk vælges, når du udfører et HLR-opslag uden at angive route-parameteren.

Automatisk rutevalg er baseret på ruteoversigten, der kan hentes med GET /hlr-coverage-endpointet, som primært er afledt af GET /routing-map. Du kan tilpasse din ruteoversigt og definere brugerdefinerede regler i dine kontoindstillinger.

Forespørgsel Succesrespons Fejlrespons
curl 'https://www.hlr-lookups.com/api/v2/route?msisdn=+491788735000'

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
msisdn string Det MSISDN, som den automatisk valgte ruteinformation skal hentes for. null obligatorisk
{
   "route":"V11",
   "confidence_level":"HIGH",
   "mccmnc":"26203",
   "origin":"SCORE"
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
route string Den anbefalede rute. false
confidence_level string Det konfidensniveau, hvormed denne rute blev valgt, dvs. LOW, NORMAL, HIGH, MNP_FALLBACK. false
mccmnc string Den nummerplan-baserede MCCMNC for dette nummer. false
origin string Oprindelsen som rutebeslutningen er baseret 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."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/routesbeskyttet

Dette endpoint returnerer en liste over tilgængelige HLR-, MNP- og NT-ruter. Hver rute, sammen med dens funktioner og begrænsninger, er forklaret på siden rutingdetaljer.

Forespørgsel Succesrespons Fejlrespons
curl 'https://www.hlr-lookups.com/api/v2/routes'
{
   "routes":{
      "HLR":[
         "V11",
         "E10",
         "MS9",
         "DV8",
         "SV3",
         "IP1"
      ],
      "MNP":[
         "PTX",
         "IP4"
      ],
      "NT":[
         "LC1"
      ]
   }
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
routes object Et objekt med ruter grupperet efter rutetype. false
HLR|MNP|NT string[] Indeholder en liste over ruteidentifikatorer. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/routing-mapbeskyttet

Henter den automatiserede routingkonfiguration, der aktuelt anvendes til HLR-opslag for din konto. Denne standardkonfiguration bruges, når du indsender HLR-opslag uden at angive en route-parameter. Du kan tilpasse dit routingkort og oprette brugerdefinerede regler i dine kontoindstillinger.

Konfigurationshierarkiet kaskaderer fra landeregler til MCCMNC-regler og til sidst til individuelle telefonnummerpræfikskortlægninger. I praksis betyder dette, at individuelle telefonnummerpræfikskortlægninger har forrang over modstridende MCCMNC-tildeling, som igen tilsidesætter landeregler. Bemærk venligst, at MNP-fallback tilsidesætter eventuelle modstridende brugerdefinerede regler, når den er aktiveret.

Forespørgsel Succesrespons Fejlrespons
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"
            }
         ]
      }
   }
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
default_route string Standardrouten, der bruges, når ingen foretrukken routingmulighed kan bestemmes for et MSISDN, og ingen brugerdefinerede routingregler gælder. false
mnp_fallback boolean Angiver om MNP-fallback er aktiveret. Når aktiveret og HLR-forespørgsler ikke understøttes af et netværk (tilgængelighedsstatus ikke tilgængelig), vil systemet i stedet udføre et MNP-opslag. false
mccmncs array En kortlægning af MCCMNC-koder til deres automatisk valgte ruter. Ved udførelse af et HLR-opslag for et nummer i en given MCCMNC bruges den tilsvarende rute. false
mccmnc string(5|6) En fem- eller seks-tegns MCCMNC (kombination af mobillandekode og mobilnetkode), der identificerer mobilnetoperatøren. false
countrycode string(2) En ISO-landekode på to tegn, der identificerer netværkets land. false
route string(3) Den valgte rute for netværket. false
mno string Det forbrugervendte brand, som dette netværk opererer under. false
confidence string Konfidensniveauet, hvormed valget blev foretaget. Mulige værdier er: HIGH, NORMAL, LOW, MNP_REDIRECT. I tilfælde af sidstnævnte omdirigerer systemet trafik til dette netværk til MNP, hvis denne adfærd er aktiveret på din konto. Ellers bruges standardrouten på kontoen. false
origin string Oprindelsen, som valget er baseret på. Mulige værdier er: 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 liste over brugerdefinerede præfiksbaserede routingregler konfigureret på din konto, hvis nogen. false
countrycode string(2) En ISO-landekode på to tegn, der identificerer præfiksets land. false
cns string Præfikset, som routingreglen gælder for. false
route string(3) Den valgte rute for præfikset. false
mccmnc string(5|6) En fem- eller seks-tegns MCCMNC (kombination af mobillandekode og mobilnetkode), der identificerer mobilnetoperatøren. true
mno string Det forbrugervendte brand, som dette netværk opererer under. true
countries array En liste over brugerdefinerede landebaserede regler konfigureret på din konto, hvis nogen. false
countrycode string(2) En ISO-landekode på to tegn, der identificerer landet. false
route string(3) Den valgte rute for landet. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/hlr-coverage beskyttet

Returnerer HLR-dækningsindsigt til understøttelse af datadrevet beslutningstagning. Dette endpoint hjælper dig med at analysere realtids HLR-rutingsmuligheder på tværs af mobilnetværk, identificere de mest effektive stier for dine målregioner og konfigurere din automatiske ruting.

Anbefalede ruter fra GET /route er baseret på de dækningsdata, der hentes her. Dækningsdata er også tilgængelige på siden netværksdækning. Du kan yderligere tilpasse dit rutingskort og definere regler i dine kontoindstillinger.

Vi anbefaler, at du gør dig fortrolig med denne guide for at hjælpe med at fortolke resultaterne.

Forespørgsel Succesrespons Fejlrespons Statusreference
curl 'https://www.hlr-lookups.com/api/v2/hlr-coverage?countrycode=XX'

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
countrycode string(2) En obligatorisk to-bogstavs ISO-landekode, der bruges til at filtrere resultater og kun returnere poster tilknyttet det angivne land. null obligatorisk
sample_size string En valgfri parameter, der angiver en stikprøvestørrelse. Mulige værdier er LARGE, MEDIUM, SMALL. Større stikprøver dækker en længere tidsramme, mindre stikprøver dækker en meget nylig tidsramme. LARGE valgfri
{
   "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
            }
         ]
      }
   ]
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
name string Det valgte landenavn på engelsk i klartekst. false
countrycode string(2) Den to-tegns ISO-landekode for det valgte land. false
prefix string Det internationale opkaldspræfiks for det valgte land. false
mccs string[] En liste over MCC'er (mobile country codes) tilknyttet det valgte land. false
carriers object[] En liste over operatørobjekter med rutespecifikke forbindelsesmålinger. false
mno string Mobilnetværksoperatørens navn på engelsk i klartekst. false
mccmnc string Mobilnetværksoperatørens MCCMNC. false
mcc string Mobilnetværksoperatørens MCC (mobile country code). false
mnc string Mobilnetværksoperatørens MNC (mobile network code). false
routes object[] En liste over rutespecifikke forbindelsesresultater. false
route string Den rute, som forbindelsesoplysningerne gælder for. false
selected bool Angiver, om dette er den valgte rute til automatiseret ruting. false
selection_confidence string Det konfidensniveau, hvormed denne rute blev valgt, dvs. LOW, NORMAL, HIGH, MNP_FALLBACK. Indeholder null, hvis dette ikke er den valgte rute. true
n int Det samlede antal opslag i denne stikprøve. false
CONNECTED int Antallet af HLR-opslag, der returnerede en CONNECTED-status. false
CONNECTED_PCT float Procentdelen af HLR-opslag, der returnerede en CONNECTED-status. false
ABSENT int Antallet af HLR-opslag, der returnerede en ABSENT-status. false
ABSENT_PCT float Procentdelen af HLR-opslag, der returnerede en ABSENT-status. false
INVALID_MSISDN int Antallet af HLR-opslag, der returnerede en INVALID_MSISDN-status. false
INVALID_MSISDN_PCT float Procentdelen af HLR-opslag, der returnerede en INVALID_MSISDN-status. false
UNDETERMINED int Antallet af HLR-opslag, der returnerede en UNDETERMINED-status. false
UNDETERMINED_PCT float Procentdelen af HLR-opslag, der returnerede en UNDETERMINED-status. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Status Beskrivelse
CONNECTED Nummeret er gyldigt, og målenheden er i øjeblikket tilsluttet mobilnetværket. Opkald, SMS og andre tjenester bør nå modtageren uden problemer.
ABSENT Nummeret er gyldigt, men målenheden er enten slukket eller midlertidigt uden netværksdækning. Beskeder eller opkald leveres muligvis ikke, før enheden genopretter forbindelsen til netværket.
INVALID_MSISDN Nummeret er ugyldigt eller ikke i øjeblikket tildelt nogen abonnent på mobilnetværket. Opkald og beskeder til dette nummer vil fejle.
UNDETERMINED Nummerets forbindelsesstatus kunne ikke fastslås. Dette kan skyldes et ugyldigt nummer, SS7-fejlrespons eller manglende forbindelse til målnetværksoperatøren. Undersøg fejlkoden og dens beskrivelse for yderligere diagnostik.
Rul op

GET/mnp-coveragebeskyttet

Dette endpoint returnerer en liste over mobilnetoperatører sammen med deres tilhørende MCCMNC-identifikatorer, som i øjeblikket understøttes til nummerporteringsopslag.

Forespørgsel Succesrespons Fejlrespons
curl 'https://www.hlr-lookups.com/api/v2/mnp-coverage?countrycode=XX'

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
countrycode string(2) En valgfri ISO-landekode på to bogstaver, der bruges til at filtrere MCCMNC-resultaterne og kun returnere data relevant for det angivne land. null valgfri
{
   "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"
      }
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
items[] array En liste over mobilnetværksoperatører. false
country_name string Landenavnet på engelsk. false
country_code string(2) En ISO-landekode på to bogstaver. false
mccmnc string(5|6) En fem- eller seks-tegns MCCMNC (kombination af mobillandekode og mobilnetkode), der identificerer mobilnetoperatøren. false
mcc string(3) En tre-tegns MCC (mobillandekode), der repræsenterer landets netværk. false
mnc string(2|3) En to- eller tre-tegns MNC (mobilnetkode), der repræsenterer den specifikke mobilnetoperatør. false
brand string Det forbrugervendte brand, som dette netværk opererer under. true
operator string Det juridiske navn på mobilnetoperatøren. true
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/price-listbeskyttet

Dette endpoint returnerer en liste over lande, hvor kun MNP-opslag understøttes, og HLR-forespørgsler ikke er tilgængelige for disse destinationer.

Forespørgsel Succesrespons Fejlrespons
curl 'https://www.hlr-lookups.com/api/v2/mnp-countries'
{
   "countries":[
      "AG",
      "AI",
      "AR",
      "AS",
      "AW",
      "BB",
      "BM",
      ...
      "US",
      "UY",
      "VC",
      "VE",
      "VG",
      "VN"
   ]
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
countries string[] En liste over to-tegns ISO-landekoder. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/mccmncsbeskyttet

Dette endpoint returnerer en omfattende liste over mobilnetværksoperatører sammen med deres tilhørende MCCMNC-identifikatorer og yderligere kontekstuel information.

Forespørgsel Succesrespons Fejlrespons
curl 'https://www.hlr-lookups.com/api/v2/mccmncs?countrycode=XX'

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
countrycode string(2) En valgfri ISO-landekode på to bogstaver, der bruges til at filtrere MCCMNC-resultater og kun returnere poster tilknyttet det angivne land. null valgfri
{
   "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"
      }
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
items object[] En liste over mobilnetværksoperatører. false
country_name string Det fulde landenavn på engelsk. false
country_code string(2) En ISO-landekode på to bogstaver, der repræsenterer mobiloperatørens land. false
mccmnc string(5|6) En streng på fem eller seks tegn, der repræsenterer MCCMNC, som entydigt identificerer mobilnetværksoperatøren. false
mcc string(3) En Mobile Country Code (MCC) på tre tegn, der identificerer det land, hvor mobilnetværket opererer. false
mnc string(2|3) En Mobile Network Code (MNC) på to eller tre tegn, der specificerer mobilnetværket inden for den givne MCC. false
brand string Det kommercielle brandnavn, som netværket opererer under og er kendt af forbrugerne. true
operator string Det officielle navn på mobilnetværksoperatøren, typisk den juridiske enhed, der administrerer netværket. true
parent_mccmnc string(5|6) En streng på fem eller seks tegn, der repræsenterer MCCMNC for moderselskabets mobilnetværksoperatør, hvis relevant. true
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/pricebeskyttet

Dette endpoint returnerer prisen for et HLR-, MNP- eller NT-opslag.

Forespørgsel Succesrespons Fejlrespons
curl 'https://www.hlr-lookups.com/api/v2/price?msisdn=+491788735000&route_type=HLR'

Anmodningsparametre

Nøgle Type Beskrivelse Standard Obligatorisk
msisdn string Telefonnummeret som prisen skal hentes for. I internationalt format. null obligatorisk
route_type string Rutetype, dvs. HLR, MNP, NT. null obligatorisk
route string(3) Den rute som prisen skal beregnes for. Standard er den rute der bestemmes af automatisk routing. null valgfri
{
   "price":{
      "amount":"0.01000",
      "msisdn":"+491788735000",
      "route_type":"HLR",
      "route":"DV8"
   }
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
price object Et objekt med prisoplysninger. false
amount string Beløbet i EUR. false
msisdn string Det MSISDN som denne pris gælder for. false
route_type string(2|3) Den rutetype som denne pris gælder for. false
route string(3) Den rute som denne pris gælder for. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/price-listbeskyttet

Dette endpoint returnerer priserne i din konto.

Forespørgsel Succesrespons Fejlrespons
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"
      }
   ]
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
pricing object[] En liste af objekter med prisinformation. false
route string Den rute som denne prissætning gælder for. false
countrycode string Den to-tegns ISO landekode som denne prissætning gælder for på den tilsvarende rute, hvis relevant. true
countryname string Det engelske landenavn svarende til landekoden, hvis relevant. true
mccmnc string Den MCCMNC som denne prissætning gælder for på den tilsvarende rute, hvis relevant. Tilsidesætter prissætning på landeniveau. true
cns string Det opkaldspræfiks som denne prissætning gælder for på den tilsvarende rute, hvis relevant. Tilsidesætter prissætning på landeniveau og MCCMNC-niveau. true
route_type string Den tilsvarende rutetype, dvs. HLR, MNP, NT. false
route_type string Den tilsvarende pris i EUR. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/balancebeskyttet

Dette endpoint henter din aktuelle kontosaldo, så du kan automatisere processer baseret på din kreditstatus. Det fungerer problemfrit sammen med notifikationsemails om lav kredit, som du kan konfigurere på din betalingsside.

Forespørgsel Succesrespons Fejlrespons
curl 'https://www.hlr-lookups.com/api/v2/balance'
{
    "balance":"1002.90"
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
balance string Din aktuelle kontosaldo i EUR. En decimalværdi af typen string. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/pingoffentlig

Dette endpoint sender en ping-anmodning til API'en og giver en simpel metode til at teste din forbindelse til HLR Lookups API.

Forespørgsel Succesrespons Fejlrespons
curl 'https://www.hlr-lookups.com/api/v2/ping'
{
    "success":true
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
success boolean Indikerer at anmodningen blev behandlet succesfuldt. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/timeoffentlig

Dette endpoint returnerer et Unix-tidsstempel, der repræsenterer den aktuelle tid på HLR Lookups-serveren. Brug det til at synkronisere dit servers ur, når du genererer Digest-Auth-signaturen til autentificering, hvilket sikrer, at eventuelle uoverensstemmelser mellem dit servers tid og HLR Lookups-serverens tid bliver korrigeret.

Forespørgsel Succesrespons Fejlrespons
curl 'https://www.hlr-lookups.com/api/v2/time'
{
    "time":1525898643
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
time integer Unix-tidsstempel, der repræsenterer den aktuelle HLR Lookups-servertid. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

GET/auth-testbeskyttet

Dette endpoint fungerer som en indledende test af din Basic-Auth eller, fortrinsvis, Digest-Auth implementering.

Basic Auth-forespørgsel Digest Auth-anmodning Succesrespons Fejlrespons
curl 'https://www.hlr-lookups.com/api/v2/auth-test' \
  -H "X-Basic: YOUR_API_KEY" 

Forespørgsels-headers

Nøgle Type Beskrivelse
X-Basic string SHA256 hash af YOUR_API_KEY:YOUR_API_SECRET. Inkluder kolonsymbolet (:) 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" 

Forespørgsels-headers

Nøgle Type Beskrivelse
X-Digest-Key string Din HLR Lookups API-nøgle
X-Digest-Signature string Unik Digest-Auth-signatur (se autentificering)
X-Digest-Timestamp integer Aktuel Unix-tidsstempel (se også GET /time)
{
    "success":true
}

Attributter for succesrespons

Navn Type Beskrivelse Nullable
success boolean Indikerer at anmodningen blev behandlet succesfuldt. false
{
    "errors":[
        "Service unavailable."
    ]
}

Fejlrespons Parametre

Navn Type Beskrivelse Nullable
errors[] string[] En liste af tekststrenge der forklarer fejlen. false
Rul op

Legacy API-dokumentation

Bemærk venligst, at legacy API'en er forældet og vil blive udfaset i fremtiden. Vi anbefaler kraftigt, at du opgraderer til den nyeste version ved din nærmeste lejlighed.

Hvis du implementerede vores HLR Lookups API mellem 2013 og begyndelsen af 2020, bruger du vores legacy API. Se venligst vores legacy API-dokumentation i så fald.

Legacy API-dokumentation
Roterende indlæser Transparent Gif