Stormodtagerpostnumre i formularer
Hvad stormodtagerpostnumre er, hvordan API'et viser dem i /postnumre, på adresser og i autocomplete, og hvordan din formular håndterer dem.
Nogle store virksomheder og myndigheder har deres eget postnummer. Post til dem sorteres direkte til modtageren i stedet for til et postdistrikt. Det kaldes et stormodtagerpostnummer, f.eks. 1092 København K for Danske Bank på Holmens Kanal 2. Det står på fakturaer og breve fra den slags organisationer, og derfor dukker det op i B2B-formularer, fakturaadresser og CRM-data.
Et stormodtagerpostnummer peger på en organisations postmodtagelse. Bygningen har stadig sit almindelige, geografiske postnummer: Holmens Kanal 2 ligger i 1060 København K.
Hvad API'et returnerer
API'et følger DAWA:
| Sted | Hvad du får |
|---|---|
GET /postnumre | Kun geografiske postnumre, som i DAWA |
GET /postnumre?stormodtagere=true | Også stormodtagerpostnumrene |
GET /postnumre/{nr} | Virker for alle postnumre, også stormodtagernumre |
stormodtager på et postnummer | true for et stormodtagerpostnummer, ellers false |
stormodtageradresser på et postnummer | De adgangsadresser, der modtager post på nummeret, som [{href, id}]. null for geografiske postnumre |
stormodtagerpostnummer på /adgangsadresser | {href, nr, navn} for en indgang med et stormodtagerpostnummer, ellers null |
stormodtagerpostnr og stormodtagerpostnrnavn i autocomplete | Udfyldt på forslag til en adresse med et stormodtagerpostnummer |
Autocomplete med stormodtagerpostnumre=true | Sådan en adresse foreslås to gange: med det geografiske postnummer og med stormodtagerpostnummeret |
Tjek et postnummer
GET /postnumre/{nr} svarer 200 for et kendt postnummer og fortæller, om det er et stormodtagerpostnummer:
curl -s "https://api.danadresse.dk/postnumre/1092" \ -H "X-Api-Key: $DANADRESSE_API_KEY"
{
"href": "https://api.danadresse.dk/postnumre/1092",
"nr": "1092",
"navn": "København K",
"stormodtageradresser": [
{
"href": "https://api.danadresse.dk/adgangsadresser/0a3f507a-8f2e-32b8-e044-0003ba298018",
"id": "0a3f507a-8f2e-32b8-e044-0003ba298018"
},
{
"href": "https://api.danadresse.dk/adgangsadresser/0a3f507a-8f34-32b8-e044-0003ba298018",
"id": "0a3f507a-8f34-32b8-e044-0003ba298018"
}
],
"stormodtager": true,
"kommuner": [
{
"href": "https://api.danadresse.dk/kommuner/0101",
"kode": "0101",
"navn": "København"
}
]
}Et 404 betyder, at nummeret ikke er et postnummer i registret. Det er typisk en tastefejl eller et nedlagt nummer.
Sådan håndterer du det i formularen
Formularens formål afgør, hvad du gør:
| Formular | Anbefaling |
|---|---|
| Leveringsadresse til pakker, besøg, montage | Kræv en fysisk adresse med det geografiske postnummer. Brug autocomplete og datavask. Et stormodtagerpostnummer er ikke en leveringsadresse |
| Faktura- eller postadresse for virksomheder | Accepter et stormodtagerpostnummer. Det er et gyldigt postnummer til breve |
| Import af CRM-data | Marker rækker med ukendt postnummer til manuel kontrol i stedet for at slette dem. Rækker med et stormodtagerpostnummer er gyldige postadresser |
Her er en lille kontrol i Node, som skelner mellem "geografisk", "stormodtager", "ukendt" og "ugyldigt format":
async function tjekPostnr(nr) { if (!/^\d{4}$/.test(nr)) return { status: "ugyldigt", tekst: "Postnummeret skal være fire cifre" }; const res = await fetch(`https://api.danadresse.dk/postnumre/${nr}`, { headers: { "X-Api-Key": process.env.DANADRESSE_API_KEY }, signal: AbortSignal.timeout(5000), }); if (res.status === 404) return { status: "ukendt", tekst: `${nr} er ikke et kendt postnummer` }; if (!res.ok) return { status: "kunne ikke tjekke", tekst: "Kunne ikke tjekke postnummeret lige nu", }; const p = await res.json(); if (p.stormodtager) { return { status: "stormodtager", tekst: `${p.nr} ${p.navn} er et firmapostnummer. Brug det til post, ikke til levering.`, }; } return { status: "geografisk", tekst: `${p.nr} ${p.navn}` }; } for (const nr of ["2900", "1092", "9999", "29OO"]) { console.log(nr, JSON.stringify(await tjekPostnr(nr))); }
Hent eventuelt hele listen med GET /postnumre?stormodtagere=true én gang i døgnet og tjek lokalt i stedet for at kalde API'et ved hvert tastetryk. Feltet stormodtager fortæller, hvilke numre der kun er til post. Se Postnumre og kommuner til dropdowns.
Gem det rå input
Når du accepterer et postnummer, API'et ikke kender, så gem det præcis som kunden skrev det, og marker rækken, f.eks. med postnr_valideret = false. Så kan I finde rækkerne igen, hvis I senere vil kontrollere dem. Et stormodtagerpostnummer på en fakturaadresse gemmer du som det er. Overskriv det ikke med det geografiske postnummer fra datavask.
Kanttilfælde
- Datavask bruger det geografiske postnummer. "Holmens Kanal 2, 1092 København K" giver kategori C, fordi postnummeret afviger fra bygningens (
forskelle.postnr). Kandidaten er den rigtige bygning med1060. Feltetanvendtstormodtagerpostnummerernull. - Autocomplete finder bygningen. Forslaget viser det geografiske postnummer og har stormodtagerpostnummeret i
data.stormodtagerpostnr. Vil du tilbyde begge varianter, så tilføjstormodtagerpostnumre=true. - Postnumre med foranstillet nul. Alle geografiske postnumre har fire cifre fra 1000 og op. Numre under 1000, som
0800 Høje Taastrupog0999 København C, er stormodtagerpostnumre. API'et returnerer altid postnumre med fire cifre, så gem dem som tekst, så nullet ikke forsvinder. - Kommune ud fra postnummer.
kommunerpå et stormodtagerpostnummer er kommunerne for dets stormodtageradresser. Skal du kende kommunen for en bestemt kunde, så brug adressen.
Næste skridt
Relaterede guides
Markdown-kilde Fejl i guiden? Skriv til os API-reference (Swagger)