API Referens

Integrera med Conzent Consent Management Platform. Dessa slutpunkter driver samtyckesbanner, geolokalisering, samtyckesgranskning och kakskanning.

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

Alla slutpunkter är relativa till din självhostade Conzent-instans. Byt ut bas-URL:en mot din faktiska domän.

Autentisering

De flesta slutpunkter är offentliga — de anropas från samtyckesbanner-skriptet som körs i dina besökares webbläsare.

Slutpunkter som accepterar data använder en Webbplatsnyckel för att identifiera vilken webbplats begäran tillhör. Hitta din webbplatsnyckel i Conzent-instrumentpanelen under Webbplatser.

Scanner Webhook är den enda slutpunkten som kräver en API-nyckel. Skicka den via X-Api-Key-huvudet. Nyckeln måste matcha SCANNER_WEBHOOK_SECRET-miljövariabeln.
Auth-metodAnvänds avHur
IngenHälsokontroll, GeolokaliseringIngen autentisering krävs
WebbplatsnyckelSidvisning, Samtycke, SkanningsdataSkicka key i begärningskroppen
API-nyckelSkanningswebhookX-Api-Key-huvud

Svarformat

API-svar använder två format beroende på slutpunkten:

Standard Svar

Används av Hälsokontroll och Skanningswebhook.

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

Lättvikts Svar

Används av signaler (Sidvisning, Samtycke, Skanningsdata) för minimal overhead.

JSON
{
  "status": "ok"
}
Signal slutpunkter returnerar alltid 200. Ogiltiga begärningar returnerar {"status": "ignored"} med HTTP 200 för att undvika fel i navigator.sendBeacon().
GET /health

Hälsokontroll

Returnerar hälsostatus för applikationen och stödjande tjänster. Används för övervakning, lastbalanseringskontroller och Docker hälsokontroller.

Ingen autentisering

Svar

200 OK
{
  "success": true,
  "data": {
    "status": "ok",
    "services": {
      "database": true,
      "redis": true
    },
    "environment": "production",
    "timestamp": "2026-03-16T12:00:00+00:00"
  }
}
503 — Försämrad
{
  "success": true,
  "data": {
    "status": "degraded",
    "services": {
      "database": true,
      "redis": false
    }
  }
}

Exempel

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

Geolokalisering

Returnerar besökarens landskod och EU-medlemskapsstatus. Används av samtyckesskriptet för att tillämpa geotargeterade regler (GDPR, CCPA).

Ingen autentisering Cachad 1 timme CORS

Svarsfält

FältTypBeskrivning
countrystringISO 3166-1 alpha-2 kod (gemener)
in_eubooleanOm landet är i EU

Svar

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

Exempel

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

Sidvisningssignal

Registrerar sidvisningar och bannerladdningsevent. Skickas via navigator.sendBeacon() som multipart/form-data. Ökar den dagliga sidvisningsräknaren och buffrar kakobservationer för asynkron bearbetning.

Webbplatsnyckel CORS

Begärningskropp multipart/form-data

ParameterTypKrävsBeskrivning
keystringKrävsDin webbplats webbplatsnyckel
request_typestringKrävsbanner_load eller banner_view
log_timeintegerValfrittUnix-tidsstämpel för händelsen
payloadJSON-strängValfrittObjekt med consent_session_id, banner_id, url, cookies

Svar

200 OK
{
  "status": "ok"
}

Exempel

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

Skanningsdatabanner

Tar emot klientbaserad kakskanningsdata. Samtyckesskriptet upptäcker kakor i besökarens webbläsare och rapporterar dem för automatisk kategorisering. Data buffras i Redis och bearbetas asynkront.

Webbplatsnyckel 600 begärningar/min CORS

Begärningskropp multipart/form-data

ParameterTypKrävsBeskrivning
keystringKrävsDin webbplats webbplatsnyckel
payloadJSON-strängKrävsSkanningsdataobjekt (se nedan)

Payload-struktur

payload (JSON-sträng)
{
  "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"
}

Exempel

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

Tar emot skanningsresultat från externa skannerservrar när en kakskanning är klar. Autentiseras via X-Api-Key-huvudet som matchar SCANNER_WEBHOOK_SECRET-miljövariabeln.

API-nyckel

Huvuden

HeaderKrävsBeskrivning
X-Api-KeyKrävsMåste matcha SCANNER_WEBHOOK_SECRET
Content-TypeKrävsapplication/json

Begärningskropp application/json

ParameterTypKrävsBeskrivning
actionstringValfrittwebhook (standard), runscan, eller client_scan
scan_idintegerVillkorligKrävs för runscan / client_scan
scan_urlstringVillkorligURL som skannades
dataobjectValfrittSkanningsresultatdata (kakor, skript)

Svar

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

Fel

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

Exempel

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