Adressenregister
Inleiding
Via de adressenregister connector is het mogelijk om gegevens voor een specifiek adres, gebouw of gebouwunit in Vlaanderen op te vragen.
Setup
Maven dependency
Om de connector te kunnen gebruiken, voeg je deze eerst als maven dependency toe aan het pom.xml bestand van je applicatie. Deze haalt de code voor de connector op bij het maken van de build voor je app.
<dependency>
<groupId>com.skryv.connectors</groupId>
<artifactId>adressenregister</artifactId>
<version>${skryv.version}</version>
</dependency>
Onboardingsprocedure adressenregister
Hoewel je de API ook anoniem kan gebruiken, is het aangeraden om de onboardingsprocedure te doorlopen en een API key aan te vragen. Dit zorgt er ook voor dat je een groter aantal requests per seconde kan sturen.
Applicatie instellingen
Volgende applicatie eigenschappen kunnen ingesteld worden bij de technische setup van de Adressenregister-connector.
Let op: Applicatie-instellingen in application.properties kunnen worden overschreven door waarden die via terraform worden ingesteld als omgevingsvariabelen of door externe configuratiebronnen (zoals AWS Parameter Store of Secrets Manager).
Eigenschap | Beschrijving |
|---|---|
| Deze parameter bevat de URL van de service waarmee de applicatie verbinding maakt met het Adressenregister. |
| Deze parameter bevat de API-sleutel die wordt gebruikt voor authenticatie bij de Adressenregister-service. De API-sleutel wordt meegestuurd met elk verzoek om toegang te krijgen tot de service en is vereist om de identiteit van de applicatie te verifiëren. |
Resilience4j
Het adressenregister hanteert een maximum van 50 requests per seconde. Indien je dit debiet overschrijdt, dan krijg je een errorcode 429 Too Many Requests terug. Om dit te voorkomen, maken we gebruik van resilience4j en stellen we een maximale rate limit in.
Default instelling voor de adressenregister connector.
resilience4j.ratelimiter.instances.adressenregister.limit-for-period=1
resilience4j.ratelimiter.instances.adressenregister.limit-refresh-period=5s
resilience4j.ratelimiter.instances.adressenregister.timeout-duration=10s
resilience4j.retry.instances.adressenregister.max-attempts=3
resilience4j.retry.instances.adressenregister.wait-duration=1000
Services en functies
Adressenregister - Algemeen
getBuildingV2
Via deze functie verkrijg je een object met alle informatie over een specifiek gebouw.
Voorbeeld workflowexpressie
${adressenregister.getBuildingV2(String objectId)}
Input
Inputparameters | Data type | Voorbeeld | Uitleg |
|---|---|---|---|
objectId | String | - | Unieke Id van het gebouw. Krijg je terug uit |
Output
Je krijgt een object BuildingOsloResponse terug met alle informatie over een specifieke gebouwunit.
getBuildingUnitV2
Via deze functie verkrijg je een object met alle informatie over een specifieke gebouwunit.
Voorbeeld workflowexpressie
${adressenregister.getBuildingUnitV2(String objectId)}
Input
Inputparameters | Data type | Voorbeeld | Uitleg |
|---|---|---|---|
objectId | String | - | Unieke Id van de gebouwenunit. Krijg je terug uit |
Output
Je krijgt een object BuildingUnitOsloResponse terug met alle informatie over een specifieke gebouwunit.
listBuildingUnitsV2
Via deze functie krijg je een lijst van gebouwunits die gelinkt zijn aan een specifiek adres en/of gebouw.
Voorbeeld workflowexpressie
${adressenregister.listBuildingUnitsV2(String offset, String limit, String adressObjectId, String buildingObjectId)}
Input
Inputparameters | Data type | Voorbeeld | Uitleg |
|---|---|---|---|
offset | String | 0 | Aantal gebouwunits die je wil overslaan en die je niet wil terugzien in het antwoord |
limit | String | 10 | Maximum aantal gebouwunits die je wil terugzien in het antwoord. |
addressObjectId | String | - | Unieke Id van het adres. Krijg je uit |
buildingObjectId | String | - | Unieke Id van het gebouw. Krijg je uit |
Output
Je krijgt een object listBuildingUnitsV2 terug met daarin een collectie van gebouwunits die gelinkt zijn aan een specifiek adres en/of gebouw.
matchAddressV2
Via deze functie kan je checken of een opgegeven adres inderdaad bestaat en in Vlaanderen ligt. Je krijgt een object terug met daarin alle informatie over het adres.
Voorbeeld workflowexpressie
${adressenregister.matchAddressV2(String municipalityName, String postalCode, String street, String houseNumber, String busNumber)}
Input
Inputparameters | Data type | Voorbeeld | Uitleg |
|---|---|---|---|
municipalityName | String | Antwerpen | - |
postalCode | String | 2000 | - |
street | String | Markt | - |
houseNumber | String | 1 | - |
busNumber | String | 1 | - |
Ouput
Je krijgt een object AdressMatchOsloCollection terug met alle officiële gegevens voor het opgegeven adres (id van het adres, id van de gebouwen op het adres, of die gebouwen al dan niet actief zijn, etcetera). Indien het adres niet bestaat of er is geen voldoende match, dan krijg je een gepaste foutmelding terug.