API Viite

Integroi Conzent Suostumushallintapalvelun kanssa. Nämä päätepisteet ohjaavat suostumusbanneria, geolokaatio kohdistusta, suostumusarkistointia ja evästeiden skannausta.

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

Kaikki päätepisteet ovat suhteellisia itse isännöidylle Conzent-instanssillesi. Korvaa perus-URL todellisella verkkotunnuksellasi.

Todennus

Useimmat päätepisteet ovat julkisia — niitä kutsutaan suostumusbannerin skriptistä kävijöidesi selaimissa.

Päätepisteet, jotka hyväksyvät tietoja, käyttävät Verkkosivuston avainta tunnistaakseen, mihin sivustoon pyyntö kuuluu. Löydä verkkosivustosi avain Conzentin hallintapaneelista kohdasta Sivustot.

Skannerin Webhook on ainoa päätepiste, joka vaatii API-avaimen. Siirrä se X-Api-Key -otsikossa. Avaimen on vastattava SCANNER_WEBHOOK_SECRET ympäristömuuttujaa.
AutentikointimenetelmäKäyttäjätKuinka
Ei mitäänTerveystarkistus, GeolokaatioEi vaadita todennusta
Verkkosivuston avainSivunäkymä, Suostumus, SkannausdataSiirrä key pyynnön rungossa
API-avainSkannaus WebhookX-Api-Key -otsikko

Vastausmuoto

API-vastaukset käyttävät kahta muotoa riippuen päätepisteestä:

Standardivastaus

Käytetään Terveystarkistuksessa ja Skannaus Webhookissa.

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

Kevyt vastaus

Käytetään beacon-päätepisteissä (Sivunäkymä, Suostumus, Skannausdata) minimaalisen ylikuormituksen vuoksi.

JSON
{
  "status": "ok"
}
Beacon-päätepisteet palauttavat aina 200. Virheelliset pyynnöt palauttavat {"status": "ignored"} HTTP 200:lla virheiden välttämiseksi navigator.sendBeacon():ssa.
GET /health

Terveystarkistus

Palauttaa sovelluksen ja taustapalveluiden terveysstatuksen. Käytä valvontaan, kuormantasaustarkistuksiin ja Dockerin terveysmittauksiin.

Ei todennusta

Vastaus

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

Esimerkki

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

Geolokaatio

Palauttaa kävijän maan koodin ja EU-jäsenyystilan. Käytetään suostumus-skriptissä geokohdistettujen sääntöjen soveltamiseen (GDPR, CCPA).

Ei todennusta Välimuisti 1h CORS

Vastauskentät

KenttäTyyppiKuvaus
countrystringISO 3166-1 alpha-2 koodi (pienet kirjaimet)
in_eubooleanOnko maa EU:ssa

Vastaus

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

Esimerkki

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

Sivunäkymä Beacon

Kirjaa sivunäkymä- ja bannerin lataustapahtumat. Lähetetään navigator.sendBeacon() muodossa multipart/form-data. Lisää päivittäistä sivunäkymä-laskuria ja puskee evästeobservaatioita asynkroniseen käsittelyyn.

Verkkosivuston avain CORS

Pyyntöruumis multipart/form-data

ParametriTyyppiPakollinenKuvaus
keystringPakollinenVerkkosivustosi avain
request_typestringPakollinenbanner_load tai banner_view
log_timeintegerValinnainenTapahtuman Unix-aikaleima
payloadJSON-merkkijonoValinnainenObjekti, jossa on consent_session_id, banner_id, url, cookies

Vastaus

200 OK
{
  "status": "ok"
}

Esimerkki

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

Skannausdata Beacon

Vastaanottaa asiakaspuolen evästeiden skannausdataa. Suostumus-skripti tunnistaa evästeet kävijän selaimessa ja raportoi ne automaattista luokittelua varten. Data pusketaan Redisissä ja käsitellään asynkronisesti.

Verkkosivuston avain 600 pyyntöä/min CORS

Pyyntöruumis multipart/form-data

ParametriTyyppiPakollinenKuvaus
keystringPakollinenVerkkosivustosi avain
payloadJSON-merkkijonoPakollinenSkannausdata-objekti (katso alla)

Payload-rakenne

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

Vastaus

200 OK
{
  "status": "ok"
}

Esimerkki

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

Skannerin Webhook

Vastaanottaa skannauksen tulokset ulkoisilta skanneripalvelimilta, kun evästeiden skannaus on valmis. Todennettu X-Api-Key -otsikolla, joka vastaa SCANNER_WEBHOOK_SECRET ympäristömuuttujaa.

API-avain

Otsikot

OtsikkoPakollinenKuvaus
X-Api-KeyPakollinenOn oltava sama kuin SCANNER_WEBHOOK_SECRET
Content-TypePakollinenapplication/json

Pyyntöruumis application/json

ParametriTyyppiPakollinenKuvaus
actionstringValinnainenwebhook (oletusarvo), runscan tai client_scan
scan_idintegerEhkäPakollinen runscan / client_scan -tilanteissa
scan_urlstringEhkäSkannattu URL
dataobjectValinnainenSkannauksen tulostiedot (evästeet, skriptit)

Vastaus

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

Virhe

401 Ei valtuutettu
{
  "success": false,
  "error": "Ei valtuutettu"
}

Esimerkki

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