Spørgsmål · Adresser
Hvordan tilføjer jeg autocomplete af adresser til min formular?
Du kobler widgetten til adressefeltet i din formular: mens brugeren skriver, dukker de rigtige veje op med postby, og ved valget udfyldes felterne af sig selv med adressen i den korrekte form, postnummer inklusive. Din server fungerer som mellemled til vores API, så din token aldrig kommer i browseren. Bruger du DAWA i dag, er der en side om, hvad der sker, når den lukker.
Hvad den, der udfylder, ser
Brugeren skriver »rådhusplads« og ser »Rådhuspladsen« med de postbyer, hvor den vej findes; er byen allerede udfyldt, indsnævres forslagene til den. Når vejen er valgt, skriver brugeren husnummeret, og formularen siger, om det findes: postnummeret, der kommer, er det, der hører til netop det nummer, ikke et gæt ud fra bynavnet, og i København er det nummeret, der afgør, om det er »København V« eller »København K«.
Ved valget udfyldes felterne vej, husnummer, postnummer og by med posten, som motoren har verificeret, den samme som ved adresseverificeringen. Registret fødes rent i stedet for at skulle ryddes op bagefter.
Sådan betales det
Pr. session, ikke pr. tastetryk. Forslagene, mens der skrives, er gratis; der tælles én behandling, når brugeren vælger adressen, og felterne udfyldes. Ændrer brugeren derefter husnummeret og vælger igen i samme session, betales der ikke igen. Hver session tillader op til tredive kald og gælder i ti minutter. Prislisten står på siden Priser.
Sådan integreres den
Tre dele:
- En API-token fra dit kontoområde.
- En lille proxy på din server, en side, der modtager kaldet fra browseren, tilføjer din token og sender det videre til vores endpoint. Den skal bruges, fordi din token aldrig må ligge i den kode, der kører i browseren.
- Widgetten
ra-suggerisci.js, uden afhængigheder: du angiver proxyens adresse og selektorerne for felterne i formularen, og den klarer resten: ventetiden, mens der skrives, konteksten fra de felter, der allerede er udfyldt, og udfyldningen ved valget.
Vil du hellere gøre det selv, kalder du endpointet /api/v1/suggest direkte: et sessions-id genereret af klienten, den skrevne tekst, de allerede kendte felter som kontekst; derefter valghandlingen med den valgte vej og husnummeret. Det hele står i API-dokumentationen og i OpenAPI-specifikationen.
Særlige tilfælde
- Andre lande: forslagene findes i alle lande, hvis nationale adresseregister er i drift (listen); formularen sender det land, brugeren har valgt, og widgetten søger dér, med det lands form for husnummer og postnummer. Brugeren kan skrive det hele i ét felt (»Karl Johans gate 22 Oslo«): svaret siger, hvordan det blev læst (
parsed: vej, husnummer, postnummer). I et land uden register siger svaret det og åbner ingen session: udfyldningen fortsætter i hånden, uden at der trækkes noget. - WooCommerce og PrestaShop: der skal ikke skrives noget, der findes pluginet til WooCommerce og modulet til PrestaShop med autocomplete i kassen og verificering af ordrerne.
- En vej, der ikke dukker op: brugeren kan altid skrive hele adressen selv; posten kan verificeres senere, fra en fil eller fra API'et.
- Flere formularer, flere websites: den samme token betjener alle formularer; proxyen kan ligge på hvert website eller være fælles.
Hvad der sker med felterne
by: aarhus
8000 AARHUS
Vejen fuldføres i registrets form, husnummeret verificeret, postnummeret sat af motoren ud fra netop det nummer: brugeren har ikke skrevet det. Postbyen med store bogstaver, som posten vil have den.
Spørgsmålene herunder
Kræver det et bestemt bibliotek eller framework?
Nej. Widgetten er én JavaScript-fil uden afhængigheder, som kobler sig på de eksisterende felter via deres selektorer. Den virker med enhver HTML-formular, i et CMS såvel som i en hjemmelavet applikation.
Hvorfor skal der en proxy på min server?
Fordi API-tokenet er en nøgle til din konto: lå den i den kode, der kører i browseren, kunne enhver læse den og bruge den på din regning. Proxyen er en side på få linjer, der modtager kaldet, tilføjer din token og sender det videre.
Hvad koster det, hvis brugeren skriver og så ikke vælger noget?
Ingenting. Forslagene er gratis: der tælles én behandling, kun når brugeren vælger en adresse, og felterne udfyldes.
Virker det også på husnumre?
Ja. Når vejen er valgt, kommer de eksisterende husnumre på den vej, efterhånden som der skrives, og formularen ved, om det skrevne findes. Postnummeret følger husnummeret, ikke bynavnet.
Kan jeg bruge den til udenlandske adresser?
Ja, i alle lande, hvis nationale adresseregister er i drift: formularen sender landet, og forslagene kommer fra det lands register, i det lands form. I et land uden register siger svaret det uden at åbne en session, så formularen fortsætter med manuel udfyldning uden omkostninger.
Hvad kommer der i felterne ved valget?
Adressen, som motoren allerede har verificeret: vejen i registrets form, husnummeret, postnummeret og postbyen. Det er den samme post, du ville få fra verificeringen af én adresse, bare i det øjeblik, dataene kommer ind.
Jeg har en WooCommerce- eller PrestaShop-shop: skal jeg integrere widgetten i hånden?
Nej: RadarAddress-pluginet til WooCommerce og modulet til PrestaShop sætter autocomplete i kassen og verificerer hver ordre. Du installerer, indsætter din token, og det virker.
Jeg bruger DAWA i dag: kan jeg skifte til dette?
Ja, men det er ikke en kopi af DAWA's API: felterne og svarene er andre. Klimadatastyrelsen har selv en gratis afløser til danske adresser; RadarAddress giver mening, hvis du vil have ét felt til alle de lande, du sender til, eller et færdigt plugin til din webshop.
Læs dokumentationen til autocomplete
Endpoint, session, widget og proxy: alt det, du skal bruge for at sætte den i din formular.
Læs dokumentationen til autocompleteLæs også: Et API til at normalisere adresser · DAWA lukker: hvad nu med adresserne? · Pluginet til WooCommerce · Modulet til PrestaShop