API Referanse
Integrer med Conzent Samtykkehåndteringsplattform. Disse endepunktene driver samtykkebanneret, geolokalisering målretting, samtykke revisjonslogging og informasjonskapselskanning.
Alle endepunkter er relative til din selvhostede Conzent-instans. Erstatt grunnleggende URL med ditt faktiske domene.
Autentisering
De fleste endepunkter er offentlige — de kalles fra samtykkebanner-skriptet som kjører på besøkendes nettlesere.
Endepunkter som aksepterer data bruker en Nettside-nøkkel for å identifisere hvilken side forespørselen tilhører. Finn nettsiden din nøkkel i Conzent-dashbordet under Nettsteder.
X-Api-Key header. Nøkkelen må samsvare med SCANNER_WEBHOOK_SECRET miljøvariabel. | Auth Metode | Brukt Av | Hvordan |
|---|---|---|
| Ingen | Helsekontroll, Geolokalisering | Ingen autentisering kreves |
| Nettside-nøkkel | Sidevisning, Samtykke, Skann Data | Send key i forespørselens kropp |
| API-nøkkel | Skann Webhook | X-Api-Key header |
Responsformat
API-responser bruker to formater avhengig av endepunktet:
Standard Respons
Brukes av Helsekontroll og Skann Webhook.
{
"success": true,
"data": {
"status": "ok"
}
} Lettvektsrespons
Brukes av beacon-endepunkter (Sidevisning, Samtykke, Skann Data) for minimal overhead.
{
"status": "ok"
} {"status": "ignored"} med HTTP 200 for å unngå feil i navigator.sendBeacon(). Helsekontroll
Returnerer helsestatusen til applikasjonen og støttetjenester. Brukes til overvåking, lastbalanseringskontroller og Docker helseprober.
Respons
{
"success": true,
"data": {
"status": "ok",
"services": {
"database": true,
"redis": true
},
"environment": "produksjon",
"timestamp": "2026-03-16T12:00:00+00:00"
}
} {
"success": true,
"data": {
"status": "degradert",
"services": {
"database": true,
"redis": false
}
}
} Eksempel
curl https://your-instance.example.com/health Geolokalisering
Returnerer besøkendes landskode og EU-medlemskapsstatus. Brukes av samtykkeskriptet for å anvende geo-målrettede forskrifter (GDPR, CCPA).
Responsfelt
| Felt | Type | Beskrivelse |
|---|---|---|
| land | string | ISO 3166-1 alpha-2 kode (små bokstaver) |
| in_eu | boolean | Om landet er i EU |
Respons
{
"country": "dk",
"in_eu": true
} Eksempel
curl https://your-instance.example.com/api/v1/geo_ip Sidevisning Beacon
Registrerer sidevisning og banner-laste hendelser. Sendes via navigator.sendBeacon() som multipart/form-data. Øker den daglige sidevisningstelleren og bufferer informasjonskapselobservasjoner for asynkron behandling.
Forespørsel Kropp multipart/form-data
| Parameter | Type | Kreves | Beskrivelse |
|---|---|---|---|
| key | string | Kreves | Din nettsides nettside-nøkkel |
| request_type | string | Kreves | banner_load eller banner_view |
| log_time | integer | Valgfritt | Unix-tidsstempel for hendelsen |
| payload | JSON-streng | Valgfritt | Objekt med consent_session_id, banner_id, url, cookies |
Respons
{
"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 Logg
Registrerer GDPR-samtykke revisjonsspor når en besøkende aksepterer, avviser eller tilpasser samtykke. Dette er det primære samsvars-endepunktet.
Forespørsel Kropp multipart/form-data
| Parameter | Type | Kreves | Beskrivelse |
|---|---|---|---|
| key | string | Kreves | Din nettsides nettside-nøkkel |
| conzent_id | string | Kreves | Sesjonsidentifikator (40-tegn tilfeldig streng) |
| log | JSON-streng | Valgfritt | Samtykkevalg per informasjonskapselkategori |
| consented_domain | string | Valgfritt | Domene der samtykke ble gitt |
| cookie_list_version | string | Valgfritt | Informasjonskapsellisteversjon hash ved samtykke |
| language | string | Valgfritt | Besøkerens språkkode |
| country | string | Valgfritt | Besøkerens landskode |
| consent_time | string | Valgfritt | Klient-side tidsstempel |
| tcf_data | string | Valgfritt | IAB TCF v2.2 samtykkestreng |
| gacm_data | string | Valgfritt | Google Samtykke-modus v2 data |
| variant_id | integer | Valgfritt | A/B test variant-ID |
Respons
{
"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" Skann Data Beacon
Mottar klient-side informasjonskapselskann data. Samtykkeskriptet oppdager informasjonskapsler i besøkendes nettleser og rapporterer dem for automatisk kategorisering. Data buffres i Redis og behandles asynkront.
Forespørsel Kropp multipart/form-data
| Parameter | Type | Kreves | Beskrivelse |
|---|---|---|---|
| key | string | Kreves | Din nettsides nettside-nøkkel |
| payload | JSON-streng | Kreves | Skann dataobjekt (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" }
]
}
} Respons
{
"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
Mottar skanneresultater fra eksterne skanner-servere når en informasjonskapselskanning er fullført. Autentisert via X-Api-Key header som samsvarer med SCANNER_WEBHOOK_SECRET miljøvariabel.
Headere
| Header | Kreves | Beskrivelse |
|---|---|---|
| X-Api-Key | Kreves | Må samsvare med SCANNER_WEBHOOK_SECRET |
| Content-Type | Kreves | application/json |
Forespørsel Kropp application/json
| Parameter | Type | Kreves | Beskrivelse |
|---|---|---|---|
| action | string | Valgfritt | webhook (standard), runscan, eller client_scan |
| scan_id | integer | Betinget | Kreves for runscan / client_scan |
| scan_url | string | Betinget | URL som ble skannet |
| data | object | Valgfritt | Skanneresultater (informasjonskapsler, skript) |
Respons
{
"success": true,
"data": {
"status": "behandlet"
}
} Feil
{
"success": false,
"error": "Uautorisert"
} 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"}
]
}
}'