Vragen · Adressen

Hoe voeg ik adres-autocomplete toe aan mijn formulier?

Je koppelt de widget aan het adresveld van je formulier: terwijl de gebruiker typt, verschijnen de bestaande straten met hun plaats, en bij de keuze vullen de velden zich vanzelf met het adres al in de juiste vorm, postcode inbegrepen. Je eigen server geeft de aanvraag door aan onze API, zodat het token nooit door de browser gaat.

Wat degene die invult ziet

Iemand typt “kalverstr” en ziet “Kalverstraat”, met de plaatsen waar die straat bestaat; is de plaats al ingevuld, dan beperken de suggesties zich daartoe. Na de keuze van de straat typt hij het huisnummer en het formulier zegt of het bestaat: in Nederland bepaalt het huisnummer de postcode, en de postcode die binnenkomt is de juiste voor dat nummer en dat straatdeel, niet een algemene code van de plaats.

Bij de selectie worden de velden straat, huisnummer, postcode en plaats gevuld met het record dat door de engine is gegaan, hetzelfde als bij de adresverificatie. Het bestand wordt schoon geboren in plaats van achteraf te worden opgeschoond.

Hoe je ervoor betaalt

Per sessie, niet per toetsaanslag. De suggesties tijdens het typen zijn gratis; er wordt één bewerking geteld op het moment dat de gebruiker het adres selecteert en de velden worden gevuld. Verandert hij daarna het huisnummer en selecteert hij opnieuw in dezelfde sessie, dan betaal je niet nog een keer. Elke sessie laat tot dertig aanvragen toe en geldt tien minuten. De prijslijst staat op de prijzenpagina.

Hoe je het integreert

Drie onderdelen:

  1. Een API-token, uit je account.
  2. Een kleine proxy op je server: een pagina die de aanvraag van de browser ontvangt, het token toevoegt en doorstuurt naar ons endpoint. Die is nodig omdat het token nooit in code mag staan die in de browser draait.
  3. De widget ra-suggerisci.js, zonder afhankelijkheden: je geeft hem het adres van de proxy en de selectors van de formuliervelden, en hij doet de rest: hij wacht zelf terwijl er getypt wordt, gebruikt de al ingevulde velden als context en vult de velden bij de keuze.

Wie het liever zelf doet, roept rechtstreeks het endpoint /api/v1/suggest aan: een sessie-identificatie die de client aanmaakt, de getypte tekst, de al bekende velden als context; daarna de selectie-actie met de gekozen straat en het huisnummer. Alles staat in de API-documentatie, en op de pagina autocomplete in je formulier vind je de drie bestanden klaar om over te nemen.

Bijzondere gevallen

  • Andere landen: de suggesties bestaan in elk land met een adressenregister in dienst (de lijst); het formulier geeft het door de gebruiker gekozen land door en de widget zoekt daar, met de vorm van huisnummer en postcode van dat land. De gebruiker mag alles in één veld schrijven (“Kalverstraat 92 Amsterdam”, of in Nederland zelfs “1012PH 92”): het antwoord zegt hoe het gelezen is (parsed: straat, huisnummer, postcode). In een land zonder register zegt het antwoord dat en opent het geen sessie: het invullen gaat met de hand verder, zonder afboeking.
  • WooCommerce, PrestaShop en Joomla: je hoeft niets te schrijven, er zijn de WooCommerce-plugin, de PrestaShop-module en de plugin voor Joomla-formulieren, met autocomplete bij de checkout of in het formulier en verificatie van wat wordt verzonden.
  • Straat die niet verschijnt: de gebruiker kan het adres altijd volledig uitschrijven; het record gaat later door de verificatie, uit het bestand of via de API.
  • Meerdere formulieren, meerdere sites: hetzelfde token bedient alle formulieren; de proxy kan op elke site staan of er kan één zijn.

Wat er met de velden gebeurt

Voor
adres: kalverstr 92
plaats: amsterdam
Na
Kalverstraat 92
1012 PH AMSTERDAM

De straat wordt aangevuld in de juiste vorm, de plaats gekozen uit de plaatsen die die straat hebben, de postcode door de engine ingevuld. Met het huisnummer komt de postcode van dat straatdeel, geverifieerd in het nationale register.

De vragen die volgen

Heb ik een bepaalde bibliotheek of een framework nodig?

Nee. De widget is één JavaScript-bestand zonder afhankelijkheden dat zich via hun selectors aan de bestaande velden hangt. Het werkt met elk HTML-formulier, in een CMS net zo goed als in een zelfgebouwde toepassing.

Waarom is er een proxy op mijn server nodig?

Omdat het API-token een sleutel van je account is: zou het in code staan die in de browser draait, dan kan iedereen het lezen en op jouw kosten gebruiken. De proxy is een pagina van een paar regels die de aanvraag ontvangt, het token toevoegt en doorstuurt.

Wat betaal ik als de gebruiker typt en dan niets kiest?

Niets. De suggesties zijn gratis: er wordt alleen een bewerking geteld als de gebruiker een adres selecteert en de velden worden gevuld.

Werkt het ook op huisnummers?

Ja. Na de keuze van de straat komen met een gedeeltelijk huisnummer de bestaande huisnummers van die straat, en het formulier weet of het getypte nummer bestaat. Met het huisnummer komt de juiste postcode van het straatdeel.

Kan ik het gebruiken voor buitenlandse adressen?

Ja, in elk land met een adressenregister in dienst: het formulier geeft het land door en de suggesties komen uit dat register, in de vorm van dat land. In een land zonder register meldt het antwoord dat zonder een sessie te openen, zodat het formulier zonder kosten met handmatige invoer verdergaat.

Wat komt er bij de selectie in de velden?

Het adres dat al door de verificatie-engine is gegaan: straat in de juiste vorm, huisnummer, postcode en plaats. Het is hetzelfde record dat je uit de verificatie van een adres zou krijgen, verkregen op het moment dat het gegeven binnenkomt.

Ik heb een WooCommerce- of PrestaShop-winkel: moet ik de widget met de hand integreren?

Nee: de RadarAddress-plugin voor WooCommerce en de module voor PrestaShop zetten de autocomplete bij de checkout en verifiëren elke bestelling. Installeren, het token plakken, klaar.

Lees de documentatie van de autocomplete

Endpoint, sessie, widget en proxy: alles wat je nodig hebt om het in je formulier te zetten.

Lees de documentatie van de autocomplete

Lees ook: De API om adressen te normaliseren · De adressen in een Excel-bestand verifiëren · De plugin voor WooCommerce · De module voor PrestaShop