API
De API (application programming interface) stelt u in staat om adres functionaliteit in uw eigen website in te bouwen. Zo kunt u formulieren maken waarin automatisch straatnaam en plaats worden ingevuld, nadat postcode en huisnummer zijn ingegeven. Andere opties zijn om ontbrekende postcodes op te vragen en om adressenbestanden aan te vullen en te controleren.Het enige wat hiervoor nodig is, is kennis van PHP of een vergelijkbare taal.
Hieronder vindt u diverse voorbeelden:
NB. Deze voorbeelden werken alleen als u zich registreert en uw eigen APIkey heeft ontvangen. Zie hieronder. U kunt sowieso na registratie direct kosteloos aan de slag om uit te proberen.
Straat en plaats aanvullen op basis van postcode, huisnummer en toevoeging:*)
U bouwt een link die er zo uitziet:
https://bwnr.nl/postcode.php?pc=1234AB&hn=1&tv=a&tg=data&ac=pc2adres&ak=apikey
Hierin laat u uw website de juiste gegevens invullen.
U laat uw website het resultaat hiervan afvangen, dat er zo uitziet: Hoofdstraat;Ergenshuizen;52.0000001;4.6000001;https://www.google.nl/maps?q=loc:52.0000001,4.6000001
Een voorbeeld in PHP:
<?php $pc = "1234AB"; // vul een geldige postcode in $hn = 1; // vul een geldig huisnummer in $tv = "a"; // vul een geldige toevoeging in of laat leeg $ak = "apikey"; // vul hier uw eigen key in (zie registratie hieronder). $getadrlnk = "https://bwnr.nl/postcode.php?pc=".urlencode($pc)."&hn=".urlencode($hn)."&tv=".urlencode($tv)."&tg=data&ac=pc2adres&ak=$ak"; $result = file_get_contents($getadrlnk); if ($result=="Geen resultaat.") {echo $result;} else { $adres = explode(";",$result); $str = $adres[0]; $pl = $adres[1]; $lat = $adres[2]; $lon = $adres[3]; $gm = $adres[4]; echo " straat : $str<br> plaats : $pl<br> lat : $lat<br> lon : $lon<br> googlemaps : $gm<br>"; } ?>*) Het is ook mogelijk de straat- en plaatsnaam op te halen op basis van alleen de postcode, dus zonder huisnummer:
https://bwnr.nl/postcode.php?pc=1234AB&tg=data&ac=pc2straat&ak=apikey
Resultaat hiervan is straat;plaats;breedte;lengte
Hierbij zijn breedte en lengte het gemiddelde van het postcode gebied.
Postcode opvragen op basis van straat, huisnummer, toevoeging en plaats:
U bouwt een link die er zo uitziet:
https://bwnr.nl/postcode.php?st=Hoofdstraat&hn=1&tv=a&pl=Ergenshuizen&tg=data&ac=adres2pc&ak=apikey
Hierin laat u uw website de juiste gegevens invullen.
U laat uw website het resultaat hiervan afvangen, dat er zo uitziet: 1234AB;52.0000001;4.6000001;https://www.google.nl/maps?q=loc:52.0000001,4.6000001
Een voorbeeld in PHP:
<?php $st = "Hoofdstraat"; $hn = 1; $tv = "a"; $pl = "Ergenshuizen"; $ak = "apikey"; // vul hier uw eigen key in. $getadrlnk = "https://bwnr.nl/postcode.php?st=".urlencode($st)."&hn=".urlencode($hn)."&tv=".urlencode($tv)."&pl=".urlencode($pl)."&tg=data&ac=adres2pc&ak=$ak"; $result=file_get_contents($getadrlnk); if ($result=="Geen resultaat.") {echo $result;} else { $adres = explode(";",$result); $pc = $adres[0]; $lat = $adres[1]; $lon = $adres[2]; $gm = $adres[3]; echo " postcode : $pc<br> lat : $lat<br> lon : $lon<br> googlemaps : $gm<br>"; } ?>
Adresvalidatie op basis van postcode, straat, huisnummer, toevoeging en plaats:
U bouwt een link die er zo uitziet:
https://bwnr.nl/postcode.php?pc=1234AB&st=Hoofdstraat&hn=1&tv=a&pl=Ergenshuizen&tg=data&ac=valideer&ak=apikey.
Hierin laat u uw website de juiste gegevens invullen.
U laat uw website het resultaat hiervan afvangen, dat er zo uitziet:
OK
FOUT
Een voorbeeld in PHP:
<?php $pc = "1234AB"; $st = "Hoofdstraat"; $hn = 1; $tv = "a"; $pl = "Ergenshuizen"; $ak = "apikey"; // vul hier uw eigen key in. $getadrlnk = "https://bwnr.nl/postcode.php?pc=".urlencode($pc)."&st=".urlencode($st)."&hn=".urlencode($hn)."&tv=".urlencode($tv)."&pl=".urlencode($pl)."&tg=data&ac=valideer&ak=$ak"; $result=file_get_contents($getadrlnk); if ($result=="Geen resultaat.") {echo $result;} else { echo " resultaat : $result<br>"; } ?>
Algemeen en functionaliteit
De API geeft een respons zoals in de eerste drie tabbladen omschreven. Daarnaast kan het zijn dat er iets fout gaat wat tot een andere respons leidt:
- "Geen resultaat." - de ingegeven adresgegevens leveren geen resultaat op, geen bekend adres.
- "Input onvolledig." - er ontbreekt een vereist adresgegeven.
- "Onjuiste postcode." - de postcode voldoet niet aan het format van 4 cijfers en 2 letters.
- "Huisnummer ontbreekt." - geen huisnummer of huisnummer is geen numerieke waarde.
- "Plaats ontbreekt." - geen plaatsnaam meegegeven (adres2pc).
- "Straat ontbreekt." - geen straatnaam meegegeven (adres2pc).
- "Onbekende API Key." - de ingegeven API key is onjuist.
- "Over quota." - U heeft het maximale aantal API calls bereikt. Dit geldt alleen bij niet-commercieel gebruik met een limiet van 5000/maand
- "Onvoldoende credit." - Uw credit saldo is nul. Dit geldt alleen bij commercieel gebruik.
- "Geen API Key. Registreer op bwnr.nl/pcapi.php" - Registratie is verplicht.
Op basis van deze respons kunt u actie ondernemen.
De fout kan van twee kanten komen.
Vanuit uw programma, dan kunt u dat corrigeren.
Of vanuit de gebruikersinput, dan moet u in uw programma zorgen voor de juiste feedback naar de gebruiker.
Let op: In PHP dient allow_url_fopen aan te staan, om de functie file_get_contents() te laten werken.
Voor quota en credit saldo informatie, ga naar de account pagina.
Verdere tips
Zorg dat u voordat u een apicall doet, gevalideerd heeft of er sprake is van een geldige postcode en huisnummer. Dat voorkomt nutteloze apicalls.
Voorbeeld op basis van Javascript/AJAX
Mogelijkheden zonder te registreren
- Op scherm opvragen, in principe onbeperkt.
Mogelijkheden met (gratis) registreren - niet-commercieel
- Via de API maximaal 5000 per maand.
Bij registratie krijgt u een api key. Voeg bij het opvragen &ak=[uw api key] toe aan de URL, dus als uw api key 123456789 is:
https://bwnr.nl/postcode.php?pc=1234AB&hn=1&tv=a&tg=data&ac=pc2adres&ak=123456789 - Afwijkingen zijn in overleg mogelijk.
- Wij hanteren een strikt privacy beleid. Uw contactgegevens worden nergens anders voor gebruikt.
- Wat is niet-commercieel? Uw organisatie dient voornamelijk op vrijwilligers te draaien, of als het om een privé persoon gaat, dient het om een hobby te gaan en geen winstoogmerk te hebben. Twijfelt u? Neem contact op.
- Let wel, niet-commerciële aanvragen worden beoordeeld. Dat betekent dat u in eerste instantie over 100 calls beschikt voor testen en implementeren. Na goedkeuring beschikt u over 5000 calls/maand.
Door met uw apikey in te loggen kunt u zien of uw aanvraag is beoordeeld / goedgekeurd.
Commercieel?
Voor commercieel gebruik geldt het volgende:
- Bij nieuwe registratie 100 calls gratis voor testen en implementatie. Deze hebben 10 dagen 'houdbaarheid'.
- U zit bij registratie nog nergens aan vast. U bepaalt zelf of u credit wilt kopen.
- € 0,005 per call. Aantal onbeperkt.
-
Betaling dmv credit systeem. Je koopt voor een €X bedrag in, daarvan wordt het verbruik afgetrokken.
Dat is gunstiger dan een vast bedrag per maand waarvoor een maximaal aantal calls gedaan kan worden.
Je betaalt alleen het werkelijke verbruik. Lees meer.. - Bij registratie krijgt u een api key. Voeg bij het opvragen &ak=[uw api key] toe aan de URL, dus als uw api key 123456789 is:
https://bwnr.nl/postcode.php?pc=1234AB&hn=1&tv=a&tg=data&ac=pc2adres&ak=123456789 - Indien gewenst kan credit worden terug gestort.
- Factuur voor ingekochte credit.
- Eigen inlog voor inzicht in verbruik.
- Waarschuwingsmail bij opraken credit.
- In principe onbeperkte ondersteuning, maar bestaande gebruikers hebben al ervaring hoe makkelijk het werkt en hoe weinig ondersteuning nodig is.
Vragen?