API Reference
Integrer med Conzent Consent Management Platform. Disse endepunkter driver samtykke banneret, geolocation målretning, samtykke revisionslogning og cookie scanning.
Alle endepunkter er relative til din selvhostede Conzent instans. Erstat basis URL'en med dit faktiske domæne.
Godkendelse
De fleste endepunkter er offentlige — de kaldes fra samtykke banner scriptet der kører på dine besøgendes browsere.
Endepunkter, der accepterer data, bruger en Website Key til at identificere, hvilken side anmodningen tilhører. Find din website nøgle i Conzent dashboardet under Sites.
X-Api-Key headeren. Nøglen skal matche SCANNER_WEBHOOK_SECRET miljøvariablen. | Godkendelsesmetode | Brugt af | Hvordan |
|---|---|---|
| Ingen | Sundhedstjek, Geolocation | Ingen godkendelse krævet |
| Website Key | Sidevisning, Samtykke, Scan Data | Send key i anmodningskroppen |
| API Key | Scan Webhook | X-Api-Key header |
Svarformat
API-svar bruger to formater afhængigt af endepunktet:
Standard Svar
Bruges af Sundhedstjek og Scan Webhook.
{
"success": true,
"data": {
"status": "ok"
}
} Letvægts Svar
Bruges af beacon endepunkter (Sidevisning, Samtykke, Scan Data) for minimal overhead.
{
"status": "ok"
} {"status": "ignored"} med HTTP 200 for at undgå fejl i navigator.sendBeacon(). Sundhedstjek
Returnerer sundhedstilstanden for applikationen og bagvedliggende tjenester. Bruges til overvågning, load balancer tjek og Docker sundhedstjek.
Svar
{
"success": true,
"data": {
"status": "ok",
"services": {
"database": true,
"redis": true
},
"environment": "production",
"timestamp": "2026-03-16T12:00:00+00:00"
}
} {
"success": true,
"data": {
"status": "degraderet",
"services": {
"database": true,
"redis": false
}
}
} Eksempel
curl https://your-instance.example.com/health Geolocation
Returnerer besøgendes landekode og EU medlemskabsstatus. Bruges af samtykke scriptet til at anvende geo-målrettede reguleringer (GDPR, CCPA).
Svarfelter
| Felt | Type | Beskrivelse |
|---|---|---|
| country | string | ISO 3166-1 alpha-2 kode (små bogstaver) |
| in_eu | boolean | Om landet er i EU |
Svar
{
"country": "dk",
"in_eu": true
} Eksempel
curl https://your-instance.example.com/api/v1/geo_ip Sidevisning Beacon
Registrerer sidevisning og banner-læsning begivenheder. Sendes via navigator.sendBeacon() som multipart/form-data. Øger den daglige sidevisnings tæller og buffrer cookie observationer til asynkron behandling.
Anmodningskrop multipart/form-data
| Parameter | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
| key | string | Obligatorisk | Din sides website nøgle |
| request_type | string | Obligatorisk | banner_load eller banner_view |
| log_time | integer | Valgfri | Unix tidsstempel for begivenheden |
| payload | JSON string | Valgfri | Objekt med consent_session_id, banner_id, url, cookies |
Svar
{
"status": "ok"
} Eksempel
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)" Samtykke Log
Registrerer GDPR samtykke revisionsspor, når en besøgende accepterer, afviser eller tilpasser samtykke. Dette er det primære overholdelses endepunkt.
Anmodningskrop multipart/form-data
| Parameter | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
| key | string | Obligatorisk | Din sides website nøgle |
| conzent_id | string | Obligatorisk | Session identifikator (40-tegn tilfældig streng) |
| log | JSON string | Valgfri | Samtykke valg pr. cookie kategori |
| consented_domain | string | Valgfri | Domæne hvor samtykke blev givet |
| cookie_list_version | string | Valgfri | Cookie liste version hash ved samtykke tidspunkt |
| language | string | Valgfri | Besøgendes sprogkode |
| country | string | Valgfri | Besøgendes landekode |
| consent_time | string | Valgfri | Klient-side tidsstempel |
| tcf_data | string | Valgfri | IAB TCF v2.2 samtykke streng |
| gacm_data | string | Valgfri | Google Consent Mode v2 data |
| variant_id | integer | Valgfri | A/B test variant ID |
Svar
{
"status": "ok"
} Eksempel
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" Scan Data Beacon
Modtager klient-side cookie scan data. Samtykke scriptet opdager cookies i besøgendes browser og rapporterer dem til automatisk kategorisering. Data buffres i Redis og behandles asynkront.
Anmodningskrop multipart/form-data
| Parameter | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
| key | string | Obligatorisk | Din sides website nøgle |
| payload | JSON string | Obligatorisk | Scan data objekt (se nedenfor) |
Payload Struktur
{
"scan_id": 123,
"action": "runscan",
"scan_url": "https://example.com/",
"consent_phase": "pre_consent",
"data": {
"cookies": [
{ "name": "_ga", "domain": ".example.com" }
]
}
} Svar
{
"status": "ok"
} Eksempel
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
Modtager scanningsresultater fra eksterne scanner servere, når en cookie scanning er afsluttet. Godkendt via X-Api-Key header, der matcher SCANNER_WEBHOOK_SECRET miljøvariablen.
Headers
| Header | Obligatorisk | Beskrivelse |
|---|---|---|
| X-Api-Key | Obligatorisk | Skal matche SCANNER_WEBHOOK_SECRET |
| Content-Type | Obligatorisk | application/json |
Anmodningskrop application/json
| Parameter | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
| action | string | Valgfri | webhook (standard), runscan, eller client_scan |
| scan_id | integer | Betinget | Obligatorisk for runscan / client_scan |
| scan_url | string | Betinget | URL der blev scannet |
| data | object | Valgfri | Scan resultat data (cookies, scripts) |
Svar
{
"success": true,
"data": {
"status": "processed"
}
} Fejl
{
"success": false,
"error": "Unauthorized"
} Eksempel
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"}
]
}
}'