KvK API

 


KvK en Kadaster API

Deze blog is gemaakt door Huib Preij van Preij Software.

De beschrijving van de Kadaster API staat onderaan, dus na de beschrijving van de KVK.

Het gebruik van de KvK API kost €5,65 per maand.
De Kadaster API is geheel gratis.
De test omgeving is gratis.



Zoals je hierboven ziet zijn er verschillende API's bij de KvK.
Met ZOEKEN krijg je maar een beperkt aantal gegevens. Wel de straatnaam maar niet het huisnummer. Maar belangrijk, je krijgt het KvKnummer en het Vestigingsnummer.
De opvragen zijn gratis (buiten de €5,65 per maand).

Afhankelijk welke gegevens je nodig hebt, gebruik je één van de API's 
Dus vaak zal je twee opvragen na elkaar moeten doen.
Eerst de ZOEKEN API om KvKnummer en Vestiginsnummer op te halen.

Daarna bijv BEDRIJFSPROFIEL, om mbv KvKnummer andere gegevens op te halen.

Als je op GET klikt krijg je voorbeeld scherm met alle zoek opties.
Kies bij Handelsnaam en vervolgens EXECUTE, en je krijgt de code te zien die hij gebruikt.
"Preij Software" kan je in de testomgeving niet gebruiken. Je moet één van de handelsnamen gebruiken van de voorbeelden of het KvKnummer. 

'https://developers.kvk.nl/test/api/v1/zoeken?handelsnaam=Preij%20Software&pagina=1&aantal=10'

Dit is de URL in de test-omgeving. Preij Software als handelsnaam zal hier niet werken omdat je uit de testdata moet kiezen die boven GET staat.

Als je de API-KEY hebt aangevraagd, duurde het bij mij nog geen 24 uur, dan kan je een "echte" test doen. De URL ziet er dan als volgt uit.

https://api.kvk.nl/api/v1/zoeken?handelsnaam=Preij%20Software&pagina=1&aantal=10

De code in WebDev ziet er dan alsvolgt uit:

ResultaatJson is JSON <description="OpvraagKvK">
ResultaatResponse is restResponse

hReq  is httpRequest
hReq..Method      = httpGet
hReq..Header["apikey"] = EDT_API_KEY
hReq..URL=URLENCODE( https://api.kvk.nl/api/v1/zoeken?handelsnaam=Preij%20Software&pagina=1&aantal=10)

ResultaatResponse = RESTSend(hReq)
ResultaatJson = ResultaatResponse..Content
IF ResultaatResponse..StatusCode = 200 THEN
EDT_Result = ResultaatJson
ELSE
Info("Fout opgetreden status is "+ ResultaatResponse..StatusCode)
END

Het kan zijn dat je URL nog middels URLEncode moet coderen. Spaties vervangen etc.


De JSON die je terug krijgt:

{ "pagina":1, "aantal":10, "totaal":1, "resultaten":[ { "kvkNummer":"62261673", "vestigingsnummer":"000010842535", "handelsnaam":"Preij Software", "adresType":"bezoekadres", "straatnaam":"Pluim-es", "plaats":"Krimpen aan den IJssel", "type":"hoofdvestiging", "links":[ { "rel":"basisprofiel", "href":"https:\/\/api.kvk.nl\/api\/v1\/basisprofielen\/62261673" }, { "rel":"vestigingsprofiel", "href":"https:\/\/api.kvk.nl\/api\/v1\/vestigingsprofielen\/000010842535" } ] } ] }

Plak de JSON in Notepad++



Sla het bestand vervolgens op als JSON sleep dat in WebDev naar de External Descriptions.
Dit moet een JSON bestand zijn vandaar dat ik de stap met Notepad++ maak.


Nu kan je de JSON openen met 
<description="OpvraagKvK">. 
ResultaatJson  is JSON <description="OpvraagKvK">

Zodat je straks bij het verwerken van het resultaat makkelijk de verschillende velden uit de JSON kan gebruiken, zoals

De opvraag kan meerdere resultaten geven, bijv op één adres zitten meerdere bedrijven.
Het aantal teruggegeven resultaten staat in dit geval in ResultaatResponse..count.

nAantal is int = ResultaatResponse..Count
EDT_Straatnaam = ResultaatHandelsnaam.resultaten[1].straatnaam

Als het aantal groter is dan één dan kan je met een loop door de resultaten lopen.

dat er bepaalde combinaties wel of niet mogelijk zijn.
Niet mogelijk:  Straatnaam+huisnummer+Plaats
Wel mogelijk:  Straatnaam+plaats
Wel mogelijk:  Postcode+huisnummer       (Postcode zonder spatie tussen cijfers en letters.

Bij huisnummer staat dat je dat alleen in combinatie met Postcode kan gebruiken.

Kadaster API

BAG betekent: Basisregistratie Adressen en Gebouwen
De kadaster API werkt in principe hetzelfde.
Er zijn echter een paar essentiële verschillen.

Het gebruik vd Kadaster API is gratis.
Je krijgt van het kadaster twee API-Keys:
1. Key voor de testomgeving.
    Haalt gegevens op van 2018. Geen actuele gegevens dus. 
    De URL wijkt ook iets af.
https://api.bag.acceptatie.kadaster.nl/lvbag/individuelebevragingen/v2/adressen?postcode=2925CN&huisnummer=96
    
2. Key voor de Productie omgeving.
    De Url voor de productie omgeving:
    https://api.bag.kadaster.nl/lvbag/individuelebevragingen/v2/adressen?postcode=2925CN&huisnummer=96
     Het woord "acceptatie" ontbreekt hier.

In de handleiding (Download) staat in het voorbeeld van de URL het woord "bag" op de verkeerde plaats. 

In de code van de Rest request Wijkt de Header van de Kadaster af van de KvK.

ResultaatJson is JSON 
ResultaatHandelsnaam is JSON <description="KadasterAdres">

ResultaatResponse is restResponse

hReq is httpRequest
hReq..Method = httpGet
hReq..Header["x-api-key"] = EDT_API_KEY
hReq..URL = URLEncode(EDT_HeleUrl)
ResultaatResponse = RESTSend(hReq)
ResultaatHandelsnaam= ResultaatResponse..Content

Bij Header staat hier "x-api-key" en bij de KvK staat daar "apikey"

Succes.
Huib Preij.

huib.preij@gmail.com
Tel: 0621540371













Reacties

Populaire posts van deze blog

Soms lijkt het alsof de CSS niet werkt.

MARIA DB

Strato problemen