Dokumentace

Vše, co potřebujete vědět pro rychlou implementaci Consentio

Public API

Kompletní dokumentace Consentio REST API pro vývojáře

Přehled

Consentio Public API umožňuje programatický přístup k vašim datům o souhlasech. Můžete ho použít pro:

  • Integraci s vlastními analytickými nástroji
  • Export dat pro reporty
  • Automatizaci správy webů
  • Vytvoření vlastních dashboardů
Důležité: Public API je dostupné pouze pro plán Pro. Free plán nemá přístup k API.

Autentizace

API používá autentizaci pomocí API klíče. Klíč předáváte v hlavičce Authorization:

HTTP Header
Authorization: ApiKey sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Získání API klíče

  1. Přihlaste se do Consentio dashboardu
  2. Přejděte do Nastavení → API klíče
  3. Klikněte na Vygenerovat nový klíč
  4. Zkopírujte klíč a bezpečně ho uložte
Bezpečnost: API klíč nikdy nesdílejte a neukládejte do veřejných repozitářů. Klíč umožňuje přístup ke všem datům vašeho účtu.

Base URL

Všechny API požadavky směřujte na:

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

Rate Limiting

API má limit na počet požadavků za hodinu:

Plán Požadavky/hodinu
Pro 1 000

V odpovědi najdete hlavičky s informacemi o limitu:

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

Formát odpovědí

Všechny odpovědi jsou ve formátu JSON a mají jednotnou strukturu:

Úspěšná odpověď

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

Odpověď s chybou

JSON
{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Popis chyby"
  }
}

Endpointy

GET /websites

Vrátí seznam všech webů přiřazených k vašemu účtu.

Příklad požadavku

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

Příklad odpovědi

JSON
{
  "success": true,
  "data": [
    {
      "id": "clx1234567890",
      "name": "Můj e-shop",
      "domain": "muj-eshop.cz",
      "description": "Hlavní 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

Vrátí detail konkrétního webu včetně nastavení.

Parametry

Parametr Typ Popis
id string ID webu (v URL)

Příklad požadavku

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

GET /websites/:id/cookies

Vrátí seznam cookies detekovaných na webu.

Příklad požadavku

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

GET /analytics

Vrátí analytická data pro web - statistiky souhlasů, geografii, zařízení a trendy.

Query parametry

Parametr Typ Povinný Popis
websiteId string Ano ID webu
period string Ne Období: 7d, 30d, 90d, all (výchozí: 30d)

Příklad požadavku

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

Příklad odpovědi

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": "Česko",
        "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

Vrátí seznam jednotlivých souhlasů s paginací.

Query parametry

Parametr Typ Povinný Popis
websiteId string Ano ID webu
startDate ISO 8601 Ne Od data (např. 2025-01-01)
endDate ISO 8601 Ne Do data
limit number Ne Počet záznamů (výchozí: 100, max: 1000)
offset number Ne Přeskočit záznamů (výchozí: 0)

Příklad požadavku

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

Příklad odpovědi

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

Exportuje souhlasy do CSV nebo JSON souboru.

Body parametry

Parametr Typ Povinný Popis
websiteId string Ano ID webu
startDate ISO 8601 Ne Od data
endDate ISO 8601 Ne Do data
format string Ne "csv" nebo "json" (výchozí: json)

Příklad požadavku

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

Vrátí aktuální využití účtu vs. limity plánu.

Příklad požadavku

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

Příklad odpovědi

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

Chybové kódy

HTTP Status Kód Popis
400 MISSING_WEBSITE_ID Chybí povinný parametr websiteId
400 INVALID_FORMAT Neplatný formát exportu
401 UNAUTHORIZED Chybí nebo neplatný API klíč
403 API_ACCESS_DENIED Váš plán nemá přístup k API
404 WEBSITE_NOT_FOUND Web nenalezen nebo nemáte přístup
429 RATE_LIMIT_EXCEEDED Překročen limit požadavků
500 INTERNAL_ERROR Interní chyba serveru

SDK a knihovny

Připravujeme oficiální SDK pro populární jazyky:

  • JavaScript/TypeScript (npm)
  • Python (pip)
  • PHP (composer)
Tip: Chcete být informováni o vydání SDK? Sledujte naše novinky nebo nás kontaktujte na info@consentio.cz.
Jazyky