API Reference

Integrer med Conzent Consent Management Platform. Disse endepunkter driver samtykke banneret, geolocation målretning, samtykke revisionslogning og cookie scanning.

Basis URL
https://your-instance.example.com

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.

Scanner Webhook er det eneste endepunkt, der kræver en API-nøgle. Send den via X-Api-Key headeren. Nøglen skal matche SCANNER_WEBHOOK_SECRET miljøvariablen.
GodkendelsesmetodeBrugt afHvordan
IngenSundhedstjek, GeolocationIngen godkendelse krævet
Website KeySidevisning, Samtykke, Scan DataSend key i anmodningskroppen
API KeyScan WebhookX-Api-Key header

Svarformat

API-svar bruger to formater afhængigt af endepunktet:

Standard Svar

Bruges af Sundhedstjek og Scan Webhook.

JSON
{
  "success": true,
  "data": {
    "status": "ok"
  }
}

Letvægts Svar

Bruges af beacon endepunkter (Sidevisning, Samtykke, Scan Data) for minimal overhead.

JSON
{
  "status": "ok"
}
Beacon endepunkter returnerer altid 200. Ugyldige anmodninger returnerer {"status": "ignored"} med HTTP 200 for at undgå fejl i navigator.sendBeacon().
GET /health

Sundhedstjek

Returnerer sundhedstilstanden for applikationen og bagvedliggende tjenester. Bruges til overvågning, load balancer tjek og Docker sundhedstjek.

Ingen godkendelse

Svar

200 OK
{
  "success": true,
  "data": {
    "status": "ok",
    "services": {
      "database": true,
      "redis": true
    },
    "environment": "production",
    "timestamp": "2026-03-16T12:00:00+00:00"
  }
}
503 — Degraderet
{
  "success": true,
  "data": {
    "status": "degraderet",
    "services": {
      "database": true,
      "redis": false
    }
  }
}

Eksempel

curl
curl https://your-instance.example.com/health
GET /api/v1/geo_ip

Geolocation

Returnerer besøgendes landekode og EU medlemskabsstatus. Bruges af samtykke scriptet til at anvende geo-målrettede reguleringer (GDPR, CCPA).

Ingen godkendelse Cachet 1 time CORS

Svarfelter

FeltTypeBeskrivelse
countrystringISO 3166-1 alpha-2 kode (små bogstaver)
in_eubooleanOm landet er i EU

Svar

200 OK
{
  "country": "dk",
  "in_eu": true
}

Eksempel

curl
curl https://your-instance.example.com/api/v1/geo_ip
POST /api/v1/log

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.

Website Key CORS

Anmodningskrop multipart/form-data

ParameterTypeObligatoriskBeskrivelse
keystringObligatoriskDin sides website nøgle
request_typestringObligatoriskbanner_load eller banner_view
log_timeintegerValgfriUnix tidsstempel for begivenheden
payloadJSON stringValgfriObjekt med consent_session_id, banner_id, url, cookies

Svar

200 OK
{
  "status": "ok"
}

Eksempel

curl
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)"
POST /api/v1/scan_data

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.

Website Key 600 req/min CORS

Anmodningskrop multipart/form-data

ParameterTypeObligatoriskBeskrivelse
keystringObligatoriskDin sides website nøgle
payloadJSON stringObligatoriskScan data objekt (se nedenfor)

Payload Struktur

payload (JSON string)
{
  "scan_id": 123,
  "action": "runscan",
  "scan_url": "https://example.com/",
  "consent_phase": "pre_consent",
  "data": {
    "cookies": [
      { "name": "_ga", "domain": ".example.com" }
    ]
  }
}

Svar

200 OK
{
  "status": "ok"
}

Eksempel

curl
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/"}'
POST /api/v1/scan-webhook

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.

API Nøgle

Headers

HeaderObligatoriskBeskrivelse
X-Api-KeyObligatoriskSkal matche SCANNER_WEBHOOK_SECRET
Content-TypeObligatoriskapplication/json

Anmodningskrop application/json

ParameterTypeObligatoriskBeskrivelse
actionstringValgfriwebhook (standard), runscan, eller client_scan
scan_idintegerBetingetObligatorisk for runscan / client_scan
scan_urlstringBetingetURL der blev scannet
dataobjectValgfriScan resultat data (cookies, scripts)

Svar

200 OK
{
  "success": true,
  "data": {
    "status": "processed"
  }
}

Fejl

401 Uautoriseret
{
  "success": false,
  "error": "Unauthorized"
}

Eksempel

curl
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"}
      ]
    }
  }'