API Referentie
Integreer met het Conzent Toestemmingsbeheerplatform. Deze eindpunten ondersteunen de toestemmingsbanner, geolocatie-targeting, toestemmingsauditlogging en cookie-scanning.
Alle eindpunten zijn relatief ten opzichte van uw zelf-gehoste Conzent-instantie. Vervang de basis-URL door uw werkelijke domein.
Authenticatie
De meeste eindpunten zijn publiek — ze worden aangeroepen vanuit het script van de toestemmingsbanner dat draait op de browsers van uw bezoekers.
Eindpunten die gegevens accepteren, gebruiken een Website Sleutel om te identificeren bij welke site het verzoek hoort. Vind uw website sleutel in het Conzent-dashboard onder Sites.
X-Api-Key header. De sleutel moet overeenkomen met de SCANNER_WEBHOOK_SECRET omgevingsvariabele. | Auth-methode | Gebruikt door | Hoe |
|---|---|---|
| Geen | Gezondheidscontrole, Geolocatie | Geen authenticatie vereist |
| Website Sleutel | Paginaweergave, Toestemming, Scangegevens | Geef key door in de aanvraagbody |
| API-sleutel | Scan Webhook | X-Api-Key header |
Antwoordformaat
API-antwoorden gebruiken twee formaten, afhankelijk van het eindpunt:
Standaard Antwoord
Gebruikt door Gezondheidscontrole en Scan Webhook.
{
"success": true,
"data": {
"status": "ok"
}
} Lichtgewicht Antwoord
Gebruikt door beacon-eindpunten (Paginaweergave, Toestemming, Scangegevens) voor minimale overhead.
{
"status": "ok"
} {"status": "ignored"} met HTTP 200 om fouten in navigator.sendBeacon() te voorkomen. Gezondheidscontrole
Geeft de gezondheidsstatus van de applicatie en de achterliggende diensten terug. Gebruik voor monitoring, load balancer controles en Docker gezondheidscontroles.
Antwoord
{
"success": true,
"data": {
"status": "ok",
"services": {
"database": true,
"redis": true
},
"environment": "production",
"timestamp": "2026-03-16T12:00:00+00:00"
}
} {
"success": true,
"data": {
"status": "degraded",
"services": {
"database": true,
"redis": false
}
}
} Voorbeeld
curl https://your-instance.example.com/health Geolocatie
Geeft de landcode en de EU-lidmaatschapsstatus van de bezoeker terug. Gebruikt door het toestemmingsscript om geo-gerichte regelgeving toe te passen (GDPR, CCPA).
Antwoordvelden
| Veld | Type | Beschrijving |
|---|---|---|
| country | string | ISO 3166-1 alpha-2 code (kleine letters) |
| in_eu | boolean | Of het land in de EU is |
Antwoord
{
"country": "dk",
"in_eu": true
} Voorbeeld
curl https://your-instance.example.com/api/v1/geo_ip Paginaweergave Beacon
Registreert paginaweergave- en banner-laad evenementen. Verzendt via navigator.sendBeacon() als multipart/form-data. Verhoogt de dagelijkse paginaweergave teller en buffert cookie-observaties voor asynchrone verwerking.
Aanvraagbody multipart/form-data
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
| key | string | Verplicht | De website sleutel van uw site |
| request_type | string | Verplicht | banner_load of banner_view |
| log_time | integer | Optioneel | Unix-tijdstempel van het evenement |
| payload | JSON string | Optioneel | Object met consent_session_id, banner_id, url, cookies |
Antwoord
{
"status": "ok"
} Voorbeeld
curl -X POST https://your-instance.example.com/api/v1/log \
-F "key=YOUR_WEBSITE_KEY" \
-F "request_type=banner_load" \
-F "log_time=$(date +%s)" Toestemmingslog
Registreert het GDPR-toestemmingsauditpad wanneer een bezoeker toestemming accepteert, afwijst of aanpast. Dit is het primaire compliance-eindpunt.
Aanvraagbody multipart/form-data
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
| key | string | Verplicht | De website sleutel van uw site |
| conzent_id | string | Verplicht | Session identifier (40-karakter willekeurige string) |
| log | JSON string | Optioneel | Toestemmingskeuzes per cookiecategorie |
| consented_domain | string | Optioneel | Domein waar toestemming is gegeven |
| cookie_list_version | string | Optioneel | Cookie-lijst versie hash op het moment van toestemming |
| language | string | Optioneel | Taalcode van de bezoeker |
| country | string | Optioneel | Landcode van de bezoeker |
| consent_time | string | Optioneel | Tijdstempel aan de clientzijde |
| tcf_data | string | Optioneel | IAB TCF v2.2 toestemmingsstring |
| gacm_data | string | Optioneel | Google Consent Mode v2-gegevens |
| variant_id | integer | Optioneel | A/B-test variant-ID |
Antwoord
{
"status": "ok"
} Voorbeeld
curl -X POST https://your-instance.example.com/api/v1/consent \
-F "key=YOUR_WEBSITE_KEY" \
-F "conzent_id=a1b2c3d4e5f6..." \
-F 'log=[{"category":"analytics","consented":true}]' \
-F "consented_domain=example.com" \
-F "language=en" \
-F "country=dk" Scangegevens Beacon
Ontvangt client-side cookie scan gegevens. Het toestemmingsscript detecteert cookies in de browser van de bezoeker en rapporteert deze voor automatische categorisatie. Gegevens worden gebufferd in Redis en asynchroon verwerkt.
Aanvraagbody multipart/form-data
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
| key | string | Verplicht | De website sleutel van uw site |
| payload | JSON string | Verplicht | Scan gegevens object (zie hieronder) |
Payloadstructuur
{
"scan_id": 123,
"action": "runscan",
"scan_url": "https://example.com/",
"consent_phase": "pre_consent",
"data": {
"cookies": [
{ "name": "_ga", "domain": ".example.com" }
]
}
} Antwoord
{
"status": "ok"
} Voorbeeld
curl -X POST https://your-instance.example.com/api/v1/scan_data \
-F "key=YOUR_WEBSITE_KEY" \
-F 'payload={"scan_id":123,"action":"runscan","scan_url":"https://example.com/"}' Scanner Webhook
Ontvangt scanresultaten van externe scannerservers wanneer een cookie-scan is voltooid. Geauthenticeerd via X-Api-Key header die overeenkomt met de SCANNER_WEBHOOK_SECRET omgevingsvariabele.
Headers
| Header | Verplicht | Beschrijving |
|---|---|---|
| X-Api-Key | Verplicht | Moet overeenkomen met SCANNER_WEBHOOK_SECRET |
| Content-Type | Verplicht | application/json |
Aanvraagbody application/json
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
| action | string | Optioneel | webhook (standaard), runscan, of client_scan |
| scan_id | integer | Voorwaardelijk | Verplicht voor runscan / client_scan |
| scan_url | string | Voorwaardelijk | URL die is gescand |
| data | object | Optioneel | Scanresultaatgegevens (cookies, scripts) |
Antwoord
{
"success": true,
"data": {
"status": "processed"
}
} Fout
{
"success": false,
"error": "Unauthorized"
} Voorbeeld
curl -X POST https://your-instance.example.com/api/v1/scan-webhook \
-H "X-Api-Key: YOUR_SCANNER_WEBHOOK_SECRET" \
-H "Content-Type: application/json" \
-d '{
"action": "webhook",
"scan_id": 456,
"scan_url": "https://example.com/",
"data": {
"cookies": [
{"name": "_ga", "domain": ".example.com", "category": "analytics"}
]
}
}'