Clients
Dunne wrappers rond hetzelfde endpoint, in drie talen. Broncode op github.com/WozApi/wozapi-clients, MIT-licentie.
Uitgangspunten
Alle drie de clients volgen dezelfde regels, zodat je bij het overstappen van taal niets opnieuw hoeft te leren:
- Geen externe afhankelijkheden. Alleen de standaardbibliotheek. Een HTTP-wrapper hoort geen dependency-discussie te veroorzaken.
- Eén foutsoort per taal, met de HTTP-status en de servermelding erin.
- Nederlandse veldnamen blijven staan. De API geeft
peildatumenvastgesteldeWaarde; die vertalen zou alleen verwarring geven bij het lezen van deze documentatie. - Geen getypeerd responsemodel. Je krijgt de JSON zoals hij is, zodat een nieuw veld in de API geen nieuwe clientversie vraagt.
| Taal | Bestand | Pakketnaam (gereserveerd) |
|---|---|---|
| Python 3.9+ | python/ | wozapi |
| Node.js 18+ | node/ | wozapi |
| .NET 6+ | dotnet/ | WozApi.Client |
Python
from wozapi import WozApi, WozApiError
client = WozApi("jouw-api-key")
try:
adres = client.adres("Spuistraat 36C, 1012 TT Amsterdam")
for woz in adres["woz"]:
print(woz["peildatum"], woz["vastgesteldeWaarde"])
except WozApiError as fout:
print(fout.status, fout.bericht)
Node.js
import { WozApi, WozApiError } from 'wozapi';
const client = new WozApi('jouw-api-key');
try {
const adres = await client.adres('Spuistraat 36C, 1012 TT Amsterdam');
for (const woz of adres.woz) {
console.log(woz.peildatum, woz.vastgesteldeWaarde);
}
} catch (fout) {
if (fout instanceof WozApiError) console.error(fout.status, fout.bericht);
else throw fout;
}
.NET
De client neemt een HttpClient mee in plaats van er zelf een te maken: een eigen
HttpClient per instantie is de klassieke bron van socket-uitputting in langlopende
processen. Gebruik in ASP.NET dus IHttpClientFactory.
using WozApi.Client;
var client = new WozApiClient(httpClient, "jouw-api-key");
try
{
using var adres = await client.AdresAsync("Spuistraat 36C, 1012 TT Amsterdam");
foreach (var woz in adres.RootElement.GetProperty("woz").EnumerateArray())
{
Console.WriteLine($"{woz.GetProperty("peildatum").GetString()}: " +
$"{woz.GetProperty("vastgesteldeWaarde").GetInt32()}");
}
}
catch (WozApiException fout)
{
Console.Error.WriteLine($"{fout.Status}: {fout.Bericht}");
}
Methoden
Dezelfde vier in elke taal, met de naamgevingsconventie van die taal.
| Endpoint | Python | Node.js | .NET |
|---|---|---|---|
/Api/Adres | adres() | adres() | AdresAsync() |
/Api/Nummeraanduiding/{id} | nummeraanduiding() | nummeraanduiding() | NummeraanduidingAsync() |
/Api/AdresseerbaarObject/{id} | adresseerbaar_object() | adresseerbaarObject() | AdresseerbaarObjectAsync() |
/Api/Credits | credits() | credits() | CreditsAsync() |
Elke methode neemt geometrie als optionele parameter om perceelgrenzen als
GeoJSON mee te sturen. Standaard uit, want dat maakt de respons fors groter.
Liever geen code?
De Excel-wizard vult een bestand met adressen in één keer aan met WOZ-waarde, peildatum en oppervlakte per rij. Zonder account en zonder API-sleutel, tot 10.000 rijen per upload.