Spørgsmål · API

Findes der et API til adressevalidering og normalisering af adresser?

Ja: RadarAddress' adressevalidering er et JSON-API med endpointet POST /api/v1/contact. Du sender en adresse, eller op til fem hundrede ad gangen, og får vej, postnummer og by tilbage i den korrekte postform for deres land, med resultatet af valideringen: hvad der blev ændret og hvorfor. I Danmark, Norge, Finland, Tyskland og de andre lande, hvis nationale adresseregister er i drift, valideres vej og husnummer ét for ét, med koordinater.

Hvad API'et til adressevalidering gør

Endpointet for adressevalidering sætter adressen i landets postform, og med den det navn, der følger med. I samme behandling kontrollerer det også e-mail, telefon og website, hvis du sender dem. Det læser vej, husnummer, postnummer og by sammen og oplyser hver rettelse. Landet angives i feltet country_code (ISO 3166-1) eller i feltet country, skrevet på enhver måde.

Én kontakt ad gangen i forespørgslens body eller en liste i feltet items, op til fem hundrede pr. kald. Hvert kald kræver et token, som du opretter på din konto efter registreringen og sender med i headeren Authorization: Bearer. Tokenet kan få en udløbsdato eller gælde, indtil du tilbagekalder det.

Resultatet af valideringen, felt for felt

Svaret indeholder to former af samme adresse: en læsbar med æ, ø og å, og postformen til udskrivning af etiketter, med store bogstaver. Du har brug for begge, af forskellige grunde: den første til at vise adressen for en medarbejder eller i en brugerflade, den anden til selve udskrivningen.

Med dem følger et resultat i nøgleord — korrekt, ændret med detaljerne om, hvad der blev ændret felt for felt, eller skal tjekkes, når adressen ikke kan genopbygges med sikkerhed, med årsagen i klar tekst: vej ikke fundet i kommunen, utilstrækkelige data, husnummer ikke fundet. Hver rettelse oplyses, og når motoren ikke er sikker, siger den det lige så tydeligt. Hvor registret er i drift, får du også husnummerets koordinater, kommunekoden og, i de byer, der har dem, bydelen.

Én adresse eller batchkørsler

Under fem hundrede får du svaret med det samme, i samme kald: det typiske tilfælde er en tilmeldingsformular eller en checkout, hvor adressen skal tjekkes i det øjeblik, brugeren skriver den. Til større lister, op til hundrede tusind adresser ad gangen, tilføjer du "async": true: forespørgslen returnerer straks en jobkode, og behandlingen går i kø, den samme, som håndterer batchjob uploadet fra websitet. Du læser resultatet med et GET-kald til samme endpoint med koden, i JSON eller, hvis du har brug for en fil at downloade, i CSV.

Autocomplete af adresser i dine formularer

Bygger du en adresseformular, giver /api/v1/suggest autofuldførelse, mens brugeren skriver: vej, by og husnummer foreslås undervejs, og feltet er allerede verificeret, når forslaget vælges, uden et separat kald. Bruges fra din egen server, som fungerer som proxy til endpointet: tokenet må aldrig komme ud i slutbrugerens browser.

Hvornår integrationen kan betale sig

Det giver mening, når adressen kommer ind i registret løbende: en tilmeldingsformular, en webshops checkout, et CRM, der fyldes fra flere kanaler. At tjekke den dér, i det øjeblik den kommer ind, forhindrer, at forkerte adresser hober sig op og skal ryddes op i partier før hver forsendelse. Har du derimod allerede en liste, der skal rettes én gang, er det enklere at uploade den som Excel- eller CSV-fil fra websitet: samme motor, uden en eneste linje kode.

Fejlkoder, grænser og dokumentationen til API'et

Hvert svar har en HTTP-kode, der svarer til det, der skete: 401, hvis tokenet mangler eller er ugyldigt, 413, hvis partiet overskrider grænsen, 429, hvis du har overskredet det tilladte antal forespørgsler i minuttet, 402, hvis kreditten ikke rækker til kaldet. Også når en adresse ikke kan normaliseres, kommer svaret, med det resultat, der forklarer hvorfor.

På API-siden finder du alle endpoints — adresse, deduplikering, e-mail, telefon, website, berigelse af navn — med parametre, curl-eksempler og fejlkoder i deres helhed. Arbejder du med et værktøj, der importerer specifikationer, findes der også openapi.json.

Et minimalt kald

Før
POST /api/v1/contact
{"address":"rådhuspladsen 1","postcode":"DK-1550","city":"københavn v","country_code":"DK"}
Efter
Rådhuspladsen 1
1550 KØBENHAVN V

resultat: ændret (postnummer), verificeret i det nationale register

Det fulde svar indeholder også postformen, detaljerne for hvert ændret felt, husnummerets koordinater og dataene, som du sendte dem, til sammenligning.

Spørgsmålene herunder

Skal jeg oprette mig for at bruge API'et?

Ja. Du opretter dig gratis, opretter et token på din konto og bruger det i Authorization-headeren i hvert kald. Tokenet kan tilbagekaldes og genskabes når som helst.

Hvor mange adresser kan jeg sende i ét kald?

Op til fem hundrede i feltet items, med øjeblikkeligt svar. Derover tilføjer du async:true: forespørgslen går i kø, og du læser resultatet, når det er klar.

Hvilke lande verificeres?

Dem, hvis nationale adresseregister er i drift, Danmark iblandt: den opdaterede liste står på landesiden. For alle andre lande kommer adressen tilbage i sin postform, og resultatet siger, hvilken af de to der blev gjort.

Hvad sker der, hvis en adresse ikke kan rettes med sikkerhed?

Svaret kommer under alle omstændigheder, med et resultat, der forklarer årsagen: vej ikke fundet i kommunen, utilstrækkelige data, husnummer ikke fundet.

Kan jeg prøve, før jeg integrerer API'et i min applikation?

Ja: siden til adressevalidering kører på samme motor og kræver ikke en eneste linje kode, nyttig til at få en fornemmelse, før du kobler API'et på.

Læs API-dokumentationen

Endpoints, parametre, curl-eksempler og OpenAPI-specifikationen: alt, hvad du skal bruge for at integrere adressevalidering i din applikation.

Læs API-dokumentationen

Læs også: Prøv adressevalidering · Verificer en Excel-fil · Hvorfor post kommer retur