Dokumentation

Alles, was Sie für die schnelle Einrichtung von Consentio wissen müssen

Öffentliche API

Vollständige REST-API-Dokumentation von Consentio für Entwickler

Überblick

Die öffentliche Consentio-API bietet programmatischen Zugriff auf Ihre Consent-Daten. Sie können sie nutzen für:

  • Integration mit Ihren eigenen Analyse-Tools
  • Datenexport für Berichte
  • Automatisierung der Website-Verwaltung
  • Erstellung individueller Dashboards
Wichtig: Die öffentliche API ist nur im Pro-Tarif verfügbar. Der Free-Tarif bietet keinen API-Zugriff.

Authentifizierung

Die API verwendet API-Key-Authentifizierung. Übergeben Sie den Schlüssel im Authorization-Header:

HTTP-Header
Authorization: ApiKey sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

API-Key erhalten

  1. Melden Sie sich im Consentio-Dashboard an
  2. Gehen Sie zu Einstellungen → API-Keys
  3. Klicken Sie auf Neuen Schlüssel generieren
  4. Kopieren Sie den Schlüssel und bewahren Sie ihn sicher auf
Sicherheit: Teilen Sie Ihren API-Key niemals und speichern Sie ihn nicht in öffentlichen Repositories. Der Schlüssel gewährt Zugriff auf alle Daten in Ihrem Konto.

Basis-URL

Senden Sie alle API-Anfragen an:

URL
https://consentio.cz/api/v1

Rate-Limiting

Die API begrenzt die Anzahl der Anfragen pro Stunde:

Tarif Anfragen/Stunde
Pro 1.000

Die Antwort enthält Header mit Informationen zum Rate-Limit:

Response-Header
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 950
X-RateLimit-Reset: 1704067200

Antwortformat

Alle Antworten liegen im JSON-Format mit einer konsistenten Struktur vor:

Erfolgreiche Antwort

JSON
{
  "success": true,
  "data": { ... }
}

Fehlerantwort

JSON
{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Error description"
  }
}

Endpunkte

GET /websites

Gibt eine Liste aller Ihrem Konto zugewiesenen Websites zurück.

Beispielanfrage

curl
curl -X GET "https://consentio.cz/api/v1/websites" \
  -H "Authorization: ApiKey sk_live_xxx"

Beispielantwort

JSON
{
  "success": true,
  "data": [
    {
      "id": "clx1234567890",
      "name": "My e-shop",
      "domain": "my-eshop.com",
      "description": "Main e-shop",
      "status": "active",
      "cookieCount": 15,
      "consentCount": 1250,
      "consentRate": 78,
      "viewsThisMonth": 450,
      "lastScanAt": "2025-01-15T10:30:00.000Z",
      "createdAt": "2024-06-01T08:00:00.000Z",
      "updatedAt": "2025-01-15T10:30:00.000Z"
    }
  ]
}

GET /websites/:id

Gibt die Details einer bestimmten Website einschließlich der Einstellungen zurück.

Parameter

Parameter Typ Beschreibung
id string Website-ID (in der URL)

Beispielanfrage

curl
curl -X GET "https://consentio.cz/api/v1/websites/clx1234567890" \
  -H "Authorization: ApiKey sk_live_xxx"

GET /websites/:id/cookies

Gibt eine Liste der auf der Website erkannten Cookies zurück.

Beispielanfrage

curl
curl -X GET "https://consentio.cz/api/v1/websites/clx1234567890/cookies" \
  -H "Authorization: ApiKey sk_live_xxx"

GET /analytics

Gibt Analysedaten für eine Website zurück - Consent-Statistiken, Geografie, Geräte und Trends.

Abfrageparameter

Parameter Typ Erforderlich Beschreibung
websiteId string Ja Website-ID
period string Nein Zeitraum: 7d, 30d, 90d, all (Standard: 30d)

Beispielanfrage

curl
curl -X GET "https://consentio.cz/api/v1/analytics?websiteId=clx123&period=30d" \
  -H "Authorization: ApiKey sk_live_xxx"

Beispielantwort

JSON
{
  "success": true,
  "data": {
    "summary": {
      "totalViews": 1250,
      "consentRate": 78.5,
      "acceptedCount": 850,
      "rejectedCount": 275,
      "customCount": 125,
      "uniqueVisitors": 980,
      "totalImpressions": 2500
    },
    "consentBreakdown": {
      "acceptAll": 68,
      "rejectAll": 22,
      "custom": 10
    },
    "categoryConsent": {
      "necessary": 100,
      "analytics": 72,
      "marketing": 45,
      "functionality": 58
    },
    "geographic": [
      {
        "country": "Czechia",
        "countryCode": "CZ",
        "flag": "🇨🇿",
        "count": 850,
        "percentage": 68
      }
    ],
    "devices": {
      "desktop": 55,
      "mobile": 40,
      "tablet": 5
    },
    "trend": [
      {
        "date": "2025-01-01",
        "views": 45,
        "accepted": 35,
        "rejected": 10
      }
    ],
    "utmBreakdown": {
      "sources": [...],
      "mediums": [...],
      "campaigns": [...]
    }
  }
}

GET /consents

Gibt eine Liste einzelner Consents mit Paginierung zurück.

Abfrageparameter

Parameter Typ Erforderlich Beschreibung
websiteId string Ja Website-ID
startDate ISO 8601 Nein Ab Datum (z. B. 2025-01-01)
endDate ISO 8601 Nein Bis Datum
limit number Nein Anzahl der Datensätze (Standard: 100, max.: 1000)
offset number Nein Zu überspringende Datensätze (Standard: 0)

Beispielanfrage

curl
curl -X GET "https://consentio.cz/api/v1/consents?websiteId=clx123&limit=50&offset=0" \
  -H "Authorization: ApiKey sk_live_xxx"

Beispielantwort

JSON
{
  "success": true,
  "data": [
    {
      "id": "consent_abc123",
      "visitorId": "v_xyz789",
      "action": "ACCEPT_ALL",
      "categories": {
        "necessary": true,
        "analytics": true,
        "marketing": true,
        "functionality": true
      },
      "ipCountry": "CZ",
      "device": "desktop",
      "utmSource": "google",
      "utmMedium": "cpc",
      "utmCampaign": "brand",
      "createdAt": "2025-01-15T14:30:00.000Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 50,
    "total": 1250,
    "hasMore": true
  }
}

POST /consents/export

Exportiert Consents in eine CSV- oder JSON-Datei.

Body-Parameter

Parameter Typ Erforderlich Beschreibung
websiteId string Ja Website-ID
startDate ISO 8601 Nein Ab Datum
endDate ISO 8601 Nein Bis Datum
format string Nein "csv" oder "json" (Standard: json)

Beispielanfrage

curl
curl -X POST "https://consentio.cz/api/v1/consents/export" \
  -H "Authorization: ApiKey sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "websiteId": "clx1234567890",
    "startDate": "2025-01-01",
    "endDate": "2025-01-31",
    "format": "csv"
  }' \
  -o consents.csv

GET /account/usage

Gibt die aktuelle Nutzung des Kontos im Vergleich zu den Tariflimits zurück.

Beispielanfrage

curl
curl -X GET "https://consentio.cz/api/v1/account/usage" \
  -H "Authorization: ApiKey sk_live_xxx"

Beispielantwort

JSON
{
  "success": true,
  "data": {
    "plan": "PRO",
    "websites": {
      "used": 3,
      "limit": 15
    },
    "pageviews": {
      "used": 45000,
      "limit": 250000,
      "periodStart": "2025-01-01T00:00:00.000Z",
      "periodEnd": "2025-01-31T23:59:59.999Z"
    },
    "analyticsRetention": "unlimited",
    "scanInterval": "1 day",
    "apiRequests": {
      "used": 150,
      "limit": 1000,
      "resetAt": "2025-01-15T15:00:00.000Z"
    }
  }
}

Fehlercodes

HTTP-Status Code Beschreibung
400 MISSING_WEBSITE_ID Der erforderliche Parameter websiteId fehlt
400 INVALID_FORMAT Ungültiges Exportformat
401 UNAUTHORIZED Fehlender oder ungültiger API-Key
403 API_ACCESS_DENIED Ihr Tarif hat keinen API-Zugriff
404 WEBSITE_NOT_FOUND Website nicht gefunden oder Zugriff verweigert
429 RATE_LIMIT_EXCEEDED Anfragelimit überschritten
500 INTERNAL_ERROR Interner Serverfehler

SDKs und Bibliotheken

Wir bereiten offizielle SDKs für gängige Programmiersprachen vor:

  • JavaScript/TypeScript (npm)
  • Python (pip)
  • PHP (composer)
Tipp: Möchten Sie benachrichtigt werden, sobald die SDKs veröffentlicht werden? Folgen Sie unseren News oder kontaktieren Sie uns unter [email protected].
Sprachen