Dokumentacja

Wszystko, co musisz wiedzieć, aby szybko wdrożyć Consentio

API publiczne

Pelna dokumentacja REST API Consentio dla developerow

Przeglad

API publiczne Consentio zapewnia programowy dostep do danych o zgodach. Mozesz je wykorzystac do:

  • Integracji z wlasnymi narzedziami analitycznymi
  • Eksportu danych do raportow
  • Automatyzacji zarzadzania witryna
  • Tworzenia wlasnych dashboardow
Wazne: API publiczne jest dostepne wylacznie w planie Pro. Plan Free nie ma dostepu do API.

Uwierzytelnianie

API korzysta z uwierzytelniania kluczem API. Przekaz klucz w naglowku Authorization:

Naglowek HTTP
Authorization: ApiKey sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Uzyskiwanie klucza API

  1. Zaloguj sie do panelu Consentio
  2. Przejdz do Ustawienia → Klucze API
  3. Kliknij Wygeneruj nowy klucz
  4. Skopiuj klucz i przechowuj go w bezpiecznym miejscu
Bezpieczenstwo: Nigdy nie udostepniaj klucza API ani nie przechowuj go w publicznych repozytoriach. Klucz daje dostep do wszystkich danych na Twoim koncie.

Adres bazowy

Wszystkie zapytania API kieruj na adres:

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

Limity zapytan

API ma limit liczby zapytan na godzine:

Plan Zapytania/godzine
Pro 1000

Odpowiedz zawiera naglowki z informacjami o limicie zapytan:

Naglowki odpowiedzi
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 950
X-RateLimit-Reset: 1704067200

Format odpowiedzi

Wszystkie odpowiedzi maja format JSON o spojnej strukturze:

Odpowiedz w przypadku sukcesu

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

Odpowiedz z bledem

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

Endpointy

GET /websites

Zwraca liste wszystkich witryn przypisanych do Twojego konta.

Przyklad zapytania

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

Przyklad odpowiedzi

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

Zwraca szczegoly konkretnej witryny wraz z ustawieniami.

Parametry

Parametr Typ Opis
id string ID witryny (w adresie URL)

Przyklad zapytania

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

GET /websites/:id/cookies

Zwraca liste plikow cookie wykrytych na witrynie.

Przyklad zapytania

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

GET /analytics

Zwraca dane analityczne witryny - statystyki zgod, geografie, urzadzenia i trendy.

Parametry zapytania

Parametr Typ Wymagany Opis
websiteId string Tak ID witryny
period string Nie Okres: 7d, 30d, 90d, all (domyslnie: 30d)

Przyklad zapytania

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

Przyklad odpowiedzi

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

Zwraca liste pojedynczych zgod z paginacja.

Parametry zapytania

Parametr Typ Wymagany Opis
websiteId string Tak ID witryny
startDate ISO 8601 Nie Data od (np. 2025-01-01)
endDate ISO 8601 Nie Data do
limit number Nie Liczba rekordow (domyslnie: 100, maks.: 1000)
offset number Nie Liczba pominietych rekordow (domyslnie: 0)

Przyklad zapytania

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

Przyklad odpowiedzi

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

Eksportuje zgody do pliku CSV lub JSON.

Parametry body

Parametr Typ Wymagany Opis
websiteId string Tak ID witryny
startDate ISO 8601 Nie Data od
endDate ISO 8601 Nie Data do
format string Nie "csv" lub "json" (domyslnie: json)

Przyklad zapytania

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

Zwraca biezace zuzycie konta w porownaniu z limitami planu.

Przyklad zapytania

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

Przyklad odpowiedzi

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

Kody bledow

Status HTTP Kod Opis
400 MISSING_WEBSITE_ID Brak wymaganego parametru websiteId
400 INVALID_FORMAT Nieprawidlowy format eksportu
401 UNAUTHORIZED Brakujacy lub nieprawidlowy klucz API
403 API_ACCESS_DENIED Twoj plan nie ma dostepu do API
404 WEBSITE_NOT_FOUND Witryna nie zostala znaleziona lub brak dostepu
429 RATE_LIMIT_EXCEEDED Przekroczono limit zapytan
500 INTERNAL_ERROR Wewnetrzny blad serwera

SDK i biblioteki

Przygotowujemy oficjalne SDK dla popularnych jezykow:

  • JavaScript/TypeScript (npm)
  • Python (pip)
  • PHP (composer)
Wskazowka: Chcesz otrzymac powiadomienie, gdy SDK zostana udostepnione? Sledz nasze aktualnosci lub napisz do nas na adres [email protected].
Jezyki