Endpoint

Validatie

Controleert een ingevoerd adres tegen de BAG en geeft een correctievoorstel terug. Voor formulieren waarin een gebruiker zelf typt.

Het verzoek

POST /v1/validate

Controleert een ingevoerd adres en geeft een correctievoorstel terug.

Parameter Type Verplicht Omschrijving
postcode string ja Postcode zoals ingevoerd, met of zonder spatie.
number string ja Huisnummer zoals ingevoerd, toevoeging mag erin staan.
street string nee Straatnaam zoals ingevoerd, voor de vergelijking.
city string nee Plaats zoals ingevoerd, voor de vergelijking.

De response

Een geslaagde aanroep geeft 200 met Content-Type: application/json en Cache-Control: public, max-age=86400.

200 application/json
{
  "valid": false,
  "reason": "street_mismatch",
  "suggestion": {
    "postcode": "1021JT",
    "number": 19,
    "letter": null,
    "addition": null,
    "street": "Hamerstraat",
    "city": "Amsterdam"
  }
}

Mogelijke waarden van reason

reason Type Omschrijving
ok string Het adres bestaat en komt overeen met wat je meestuurde. valid is dan true.
postcode_format string De postcode voldoet niet aan het patroon. Er is geen correctievoorstel.
not_found string De combinatie postcode en huisnummer bestaat niet in de BAG.
street_mismatch string Het adres bestaat, maar de meegestuurde straatnaam wijkt af. Het voorstel bevat de juiste naam.
city_mismatch string Het adres bestaat, maar de meegestuurde plaats wijkt af van de BAG-woonplaats.
addition_mismatch string Het huisnummer bestaat, maar niet met deze toevoeging. Het voorstel bevat de dichtstbijzijnde bestaande toevoeging.

Voorbeelden

curl -sS -X POST \
  -H "X-Api-Key: lat_test_demo_publiek_locatieapi_sandbox" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "postcode": "1021 jt",
    "number": "19",
    "street": "Hamerstraat",
    "city": "Amsterdam-Noord"
}' \
  "https://api.locatieapi.nl/v1/validate"

Hoe je dit inzet

Validatie is bedoeld voor het moment vlak voor het opslaan, niet voor elke toetsaanslag. Laat de gebruiker zijn adres invullen, valideer bij het verzenden en toon het correctievoorstel als een suggestie die hij kan overnemen of negeren.

Blokkeer nooit op een afwijking

De BAG kent afwijkende maar geldige schrijfwijzen, en mensen wonen soms op een adres dat administratief net anders heet. Gebruik valid: false als reden voor een vraag aan de gebruiker, niet als reden om zijn bestelling tegen te houden.

Validatie is verder handig bij het opschonen van een bestaande klantendatabase. Combineer hem dan met bulk om een heel bestand in één ronde te controleren.