Documentatie voor ontwikkelaars
Koppel uw applicatie, portaal of GIS aan InfraBIDShare: quickstart, OpenAPI, clients voor TypeScript, Python en Django, OGC-instructies voor QGIS en embeds.
Basis-URL en authenticatie
Elke koppeling gebruikt dezelfde host: https://www.infrabidshare.com. De OpenAPI-beschrijving staat op https://www.infrabidshare.com/api/public/v1/openapi.json.
Stuur uw token altijd in de header x-api-key. Zet het token in een omgevingsvariabele, nooit in broncode of in een gedeelde link.
Alleen als uw GIS geen headers ondersteunt, mag u het token tijdelijk in de querystring zetten: https://www.infrabidshare.com/api/public/v1/ogc/wfs?token=<uw-api-token>. Zo'n URL komt in serverlogs en browsergeschiedenis terecht. Gebruik dan een apart token met een korte geldigheid en beperkte rechten, en trek het in zodra de koppeling werkt.
Verbinding testen
Vul het dataset-id uit de catalogus in. De test is eenmalig en slaat niets op.
Quickstart (curl)
curl -s "https://www.infrabidshare.com/api/public/v1/catalog" \
-H "x-api-key: <uw-api-token>"TypeScript
const BASIS = "https://www.infrabidshare.com";
export async function haalRecords(limiet = 100) {
const res = await fetch(
`${BASIS}/api/public/v1/records?dataset_id=<dataset-id>&limit=${limiet}`,
{ headers: { "x-api-key": process.env.INFRABIDSHARE_TOKEN ?? "<uw-api-token>" } },
);
if (!res.ok) throw new Error(`InfraBIDShare gaf status ${res.status}`);
return res.json();
}Python
import os, requests
BASIS = "https://www.infrabidshare.com"
HEADERS = {"x-api-key": os.environ["INFRABIDSHARE_TOKEN"]}
res = requests.get(
f"{BASIS}/api/public/v1/records",
params={"dataset_id": "<dataset-id>", "limit": 100},
headers=HEADERS,
timeout=30,
)
res.raise_for_status()
print(res.json())Django
# settings.py
INFRABIDSHARE_BASIS = "https://www.infrabidshare.com"
INFRABIDSHARE_TOKEN = os.environ["INFRABIDSHARE_TOKEN"]
# services/infrabidshare.py
import requests
from django.conf import settings
from django.core.cache import cache
def dataset_records(dataset_id="<dataset-id>", limit=100):
sleutel = f"ibs:{dataset_id}:{limit}"
data = cache.get(sleutel)
if data is None:
res = requests.get(
f"{settings.INFRABIDSHARE_BASIS}/api/public/v1/records",
params={"dataset_id": dataset_id, "limit": limit},
headers={"x-api-key": settings.INFRABIDSHARE_TOKEN},
timeout=30,
)
res.raise_for_status()
data = res.json()
cache.set(sleutel, data, 300)
return dataQGIS (WFS en WMTS)
1. QGIS: Laag > Laag toevoegen > WFS-laag toevoegen > Nieuw.
2. URL: https://www.infrabidshare.com/api/public/v1/ogc/wfs
3. Authenticatie: nieuwe configuratie van het type "HTTP-header",
header x-api-key met uw token.
4. Verbinden, laag kiezen en toevoegen. WMTS gebruikt dezelfde host:
https://www.infrabidshare.com/api/public/v1/ogc/wmtsEmbed in uw eigen site
<iframe
src="https://www.infrabidshare.com/embed/kaart?token=<uw-embedtoken>"
width="100%" height="640" loading="lazy"
title="InfraBIDShare kaartviewer"></iframe>Werkt een bron niet zoals verwacht? Kijk eerst op de servicestatuspagina: daar staat of het aan een externe bronhouder ligt of aan onze eigen diensten.
