De ‘BRP Bewoning’ Web API biedt functionaliteit om de bewoning van een adresseerbaar object te bevragen.
De ‘BRP Bewoning’ Web API is gespecificeerd met behulp van de OpenAPI Specification v3.0.3.
Je kunt de OAS3 specificatie van de ‘BRP Bewoning’ Web API bekijken met behulp van Redoc.
De functionele documentatie van de ‘BRP Bewoning’ Web API vind je in de features overzicht.
Je kunt de ‘BRP Bewoning’ Web API uitproberen in de demo omgeving. Bevraag de API op het volgende endpoint: https://demo-omgeving.haalcentraal.nl/haalcentraal/api/bewoning/bewoningen. Hiervoor heb je een apikey nodig.
De demo omgeving ontsluit de bewoning van adresseerbaar objecten die voorkomen in de Testdataset Basisregistratie Personen
Vraag een apikey aan bij de product owner of gebruik de apikey die is uitgereikt op de API Labs.
Met behulp van het volgende curl statement wordt op basis van een adresseerbaar object identificatie en peildatum de bewoning van het adresseerbaar object op de peildatum opgehaald:
curl --request POST \
--url 'https://proefomgeving.haalcentraal.nl/haalcentraal/api/bewoning/bewoningen' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <<APIKEY>>' \
--data '{
"type": "BewoningMetPeildatum",
"adresseerbaarObjectIdentificatie": "0599010000208579",
"peildatum": "2015-08-08"
}'
Onderstaand figuur visualiseert de configuratie van bovenstaande aanroep in Postman.
Opmerking. In de demo omgeving kan alleen de bewoning van adresseerbaar objecten in de gemeente Rotterdam worden geraadpleegd.
Door wettelijke restricties kan de ‘BRP Bewoning’ Web API bepaalde bewerkingen niet uitvoeren. Er wordt op dit moment gewerkt aan het Experimentbesluit Dataminimalisatie om deze restricties weg te halen. Totdat het experimentbesluit van kracht is moet de ‘BRP Bewoning’ Proxy worden gebruikt om de bewerkte gegevens te kunnen krijgen.
De ‘BRP Bewoning’ Proxy is een containerized applicatie die in de omgeving van een consumer moet worden gehost. Bevragingen van de ‘BRP Bewoning’ Web API moet naar de ‘BRP Bewoning’ Proxy worden gestuurd, zodat deze de bevragingen kan routeren naar de GBA variant van de ‘BRP Bewoning’ Web API. Responses van deze Web API worden getransformeerd naar responses conform de BRP Bewoning OAS3 specificatie voordat deze naar de bevrager worden gestuurd.
Onderstaand figuur is een globale illustratie van de communicatie tussen een consumer applicatie en een BRP Web API.
De ‘BRP Bewoning’ Proxy kan lokaal worden uitgeprobeerd met behulp van Docker Desktop. Hiervoor moet:
Start een command prompt in de map met het gedownloade docker compose bestand en voer het volgende statement uit om de ‘BRP Bewoning’ Proxy op te starten:
docker-compose up -d
Behalve de ‘BRP Bewoning’ Proxy wordt lokaal ook een mock van de GBA variant van de ‘BRP Bewoning’ Web API opgestart. De mock maakt het mogelijk om lokaal zonder apikey de functionaliteit van de ‘BRP Bewoning’ Web API uit te proberen.
Met behulp van het volgende curl statement wordt op basis van een adresseerbaar object identificatie en peildatum de bewoning van het adresseerbaar object op de peildatum via de ‘BRP Bewoning’ Proxy bij de mock opgehaald:
curl --request POST \
--url 'http://localhost:5003/haalcentraal/api/bewoning/bewoningen' \
--header 'Content-Type: application/json' \
--data '{
"type": "BewoningMetPeildatum",
"adresseerbaarObjectIdentificatie": "0599010000208579",
"peildatum": "2015-08-08"
}'
Om de Proxy en de mock containers te stoppen moet de volgende statement worden uitgevoerd:
docker-compose down
De ‘BRP Bewoning’ Proxy kan lokaal ook worden uitgeprobeerd met behulp van Kubernetes. Hiervoor moet:
Start een command prompt in de map met de gedownloade [Kubernetes manifest bestanden]https://github.com/BRP-API/Haal-Centraal-BRP-bewoning/blob/master/.k8s){:target=”_blank” rel=”noopener”} en voer het volgende statement uit om de ‘BRP Bewoning’ Proxy op te starten:
kubectl apply -f .k8s/proxy-deployment.yaml \
-f .k8s/proxy-service.yaml \
-f .k8s/mock-deployment.yaml \
-f .k8s/mock-service.yaml
Behalve de ‘BRP Bewoning’ Proxy wordt lokaal ook een mock van de GBA variant van de ‘BRP Bewoning’ Web API opgestart. De mock maakt het mogelijk om lokaal zonder apikey de functionaliteit van de ‘BRP Bewoning’ Web API uit te proberen.
Met behulp van het volgende curl statement wordt op basis van een adresseerbaar object identificatie en peildatum de bewoning van het adresseerbaar object op de peildatum via de ‘BRP Bewoning’ Proxy bij de mock opgehaald:
curl --request POST \
--url 'http://localhost:5003/haalcentraal/api/bewoning/bewoningen' \
--header 'Content-Type: application/json' \
--data '{
"type": "BewoningMetPeildatum",
"adresseerbaarObjectIdentificatie": "0599010000208579",
"peildatum": "2015-08-08"
}'
Om de Proxy en de mock containers te stoppen moet het volgende statement worden uitgevoerd:
kubectl delete -f .k8s/proxy-deployment.yaml \
-f .k8s/proxy-service.yaml \
-f .k8s/mock-deployment.yaml \
-f .k8s/mock-service.yaml
Hiervoor moeten environment variabelen worden toegevoegd aan de ‘BRP Bewoning’ Proxy in het docker compose bestand.
Stop eerst de proxy container met behulp van het volgende statement:
docker-compose down
Voeg de volgende environment variabelen toe aan de configuratie van de ‘BRP Bewoning’ Proxy in het docker compose bestand:
De configuratie van de ‘BRP Bewoning’ Proxy ziet in het docker compose bestand er dan als volgt uit:
bewoningproxy:
container_name: bewoningproxy
image: ghcr.io/brp-api/haal-centraal-bewoning-bevragen-proxy:latest
build:
context: .
dockerfile: src/BewoningProxy/Dockerfile
environment:
- ASPNETCORE_ENVIRONMENT=Release
- ASPNETCORE_URLS=http://+:5000
- Routes__0__DownstreamScheme=https
- Routes__0__DownstreamHostAndPorts__0__Host=proefomgeving-gba.haalcentraal.nl
- Routes__0__DownstreamHostAndPorts__0__Port=443
ports:
- "5003:5000"
networks:
- bewoningen-api-network
Start de ‘BRP Bewoning’ Proxy met behulp van het volgende statement:
docker-compose up -d
Met behulp van het volgende curl statement wordt op basis van een adresseerbaar object identificatie en peildatum de bewoning van het adresseerbaar object op peildatum via de ‘BRP Bewoning’ Proxy bij de GBA variant van de ‘BRP Bewoning’ Web API in de proef omgeving opgehaald:
curl --request POST \
--url 'http://localhost:5003/haalcentraal/api/bewoning/bewoningen' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <<APIKEY>>' \
--data '{
"type": "BewoningMetPeildatum",
"adresseerbaarObjectIdentificatie": "0599010000208579",
"peildatum": "2015-08-08"
}'
Raadpleeg de Proxy configuratie documentatie voor een overzicht van de configuratie settings.