Adressen register & GEOpunt API
Adressen input is altijd een moeilijk punt op de analyze kalender. Hier zijn vele oplossingen mogelijk zoals: Google maps, Openstreetmaps, Waze, TomTom, …. Nu, is het altijd nodig om een grote provider te gebruiken voor je adressen te kunnen opzoeken of suggereren?
In veel gevallen, denkende vooral aan bedrijven in België met een belgisch klantenbestand, is dat helemaal niet noodzakelijk. Meestal is adressen kunnen opzoeken van België meer als genoeg. Om speciaal hiervoor naar een mega GIS provider zoals Google maps of Openstreetmaps te gaan is het meestal veel te groot en en liggen vooral de kosten een pak hoger. Om hier eigenlijk geen rekening mee te hoeven houden maken we gebruik van de GEOpunt en Adressenregister API van de Vlaamse overheid. Dit zijn GIS API’s die de overheid voorziet van up-to-date adressen data waar mee gezocht en gesuggereerd kan worden in België.
Om een praktisch voorbeeld te geven halen we 1 van onze projecten er bij: “Vlaams Steunpunt Vrijwilligerswerk - Vrijwilligersverzekering (VSVW)”.
De klant is met de vraag gekomen om voor vrijwilligers de mogelijkheid te kunnen geven om hun adres in te geven met een auto suggestie van enkel Vlaamse adressen. Weliswaar met een failsafe dat het moment dat de API niet beschikbaar zou zijn ze manueel hun adres in kunnen geven en dat deze via de adressenregister API gecontroleerd kan worden.
Voor de adressen suggestie hebben we de GEOpunt API gebruikt. Eveneens is dit een API die ze ter beschikking stellen waar autosuggestie endpoints al mee inbegrepen zijn. Op dit moment is deze nog werkende met CRAB. Weet wel, dat de CRAB ondersteuning beëindigd wordt eind 2023 (info). Nu hebben ze ons wel al laten weten dat ze de API gaan updaten zodat deze niet achterblijft op oude data en deze mee zal gekoppeld worden in de toekomst aan het Adressen register.
Geopunt
Zoals eerder vermeld hebben we voor de autosuggestie gebruik gemaakt van de GEOpunt API. Deze API voorziet een tal van endpoint die het mogelijk maken om deze autosuggestie te integreren volgens de noden van je applicatie.
https://loc.geopunt.be/swagger/ui/index#/
Voor ons was de beste toepassing om de V4 Location API te gebruiken aangezien dat we al bestaande functionaliteit moesten overzetten die dezelfde logica hanteerde als de return data van de endpoint.
Adressen register
Het adressenregister is de nieuwste toepassing van de Vlaamse overheid om adressen op te zoeken en valideren. Deze is volledig vernieuwd en van CRAB gehaald zodat het met de meest recente data kan werken. Jammer genoeg bezit deze nog niet de mogelijkheid om autosuggestie te doen van adressen. Wat wel voor ons belangrijk was is de validatie van postbus informatie. In de GEOpunt API is enkel het huisnummer dat je kan valideren maar het adressen register valideert eveneens de nodige bus/apt info.
In dit voorbeeld hebben we gebruik gemaakt van /v1/adresmatch
https://docs.basisregisters.dev-vlaanderen.be/docs/api-documentation.html
Toepassing
Concreet hebben we beide API’s op de volgende manier geïntegreerd. Autosuggestie van adressen wordt gedaan door de GEOpunt API. Deze vult de nodige velden in in het formulier.
Eenmaal dat de data submit wordt zal deze data gevalideerd worden door de Adressenregister API. Deze zal rekening houden met de postbus/apt info die je manueel hebt meegegeven.
Mocht je adres niet kloppen? Zal hij de nodige error validatie doen zodat de eindgebruiker weet dat zijn/haar adres niet bestaat en de nodige aanpassingen kan doen.
Adres suggesties en validatie is ondertussen iets wat bij ons al op meerdere projecten is ingebakken, zoals bijvoorbeeld bij Brugge TDMS. We hebben eveneens gebruik gemaakt van dezelfde functionaliteiten. Hier hebben we in Laravel Nova een Vue component gemaakt dat op basis van CRAB format adressen gaat suggereren en valideren om dan in het juiste formaat op te kunnen slagen in de database. Eveneens een goede use case dus om niet te moeten grijpen naar een grote GIS provider maar naar een data punt dichter bij huis.