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
Uwierzytelnianie
API korzysta z uwierzytelniania kluczem API. Przekaz klucz w naglowku Authorization:
Authorization: ApiKey sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Uzyskiwanie klucza API
- Zaloguj sie do panelu Consentio
- Przejdz do Ustawienia → Klucze API
- Kliknij Wygeneruj nowy klucz
- Skopiuj klucz i przechowuj go w bezpiecznym miejscu
Adres bazowy
Wszystkie zapytania API kieruj na adres:
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:
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
{
"success": true,
"data": { ... }
}
Odpowiedz z bledem
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Error description"
}
}
Endpointy
GET /websites
Zwraca liste wszystkich witryn przypisanych do Twojego konta.
Przyklad zapytania
curl -X GET "https://consentio.cz/api/v1/websites" \
-H "Authorization: ApiKey sk_live_xxx"
Przyklad odpowiedzi
{
"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 -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 -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 -X GET "https://consentio.cz/api/v1/analytics?websiteId=clx123&period=30d" \
-H "Authorization: ApiKey sk_live_xxx"
Przyklad odpowiedzi
{
"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 -X GET "https://consentio.cz/api/v1/consents?websiteId=clx123&limit=50&offset=0" \
-H "Authorization: ApiKey sk_live_xxx"
Przyklad odpowiedzi
{
"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 -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 -X GET "https://consentio.cz/api/v1/account/usage" \
-H "Authorization: ApiKey sk_live_xxx"
Przyklad odpowiedzi
{
"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)