Referencia API
Integrujte enuchat do svojich systémov pomocou Tenant API. Spravujte konverzácie, posielajte správy a programovo pristupujte k fakturačným údajom.
Autentifikácia
Všetky API požiadavky sa autentifikujú pomocou API kľúča poslaného v hlavičke X-Api-Key.
Získanie vášho API kľúča
- Prejdite na Nastavenia → API kľúče vo vašom paneli
- Kliknite na Vytvoriť API kľúč a dajte mu názov
- Skopírujte kľúč okamžite — zobrazí sa iba raz
- Uschovajte ho bezpečne (premenná prostredia, správca tajomstiev)
Odosielanie požiadaviek
Zahrňte kľúč v každej požiadavke:
curl -H "X-Api-Key: tak_your_key_here" \
https://api.enuchat.com/api/v1/tenant-api/widgetsVšetky odpovede sú JSON. Úspešné odpovede majú pole data. Chyby majú pole error s code a message.
Bezpečnosť: API kľúče sú hashované (SHA-256) v našej databáze. Nikdy neukladáme surový kľúč. Zaobchádzajte s vaším kľúčom ako s heslom — nepripájajte ho do kódu ani ho nezdieľajte verejne.
Základná URL
https://api.enuchat.com/api/v1/tenant-apiVšetky koncové body uvedené nižšie sú relatívne k tejto základnej URL.
Koncové body
GET /widgets
Zoznam všetkých widgetov vo vašom účte.
Odpoveď
{'{'}
"data": [
{'{'}
"id": "019d19c6-7e0b-...",
"name": "Main Website Chat",
"isActive": true,
"aiEnabled": true,
"translationEnabled": true,
"primaryColor": "#2563eb",
"position": "bottom-right"
}
]
}GET /conversations
Zoznam konverzácií, zoradených podľa najnovšej správy.
Parametre dopytu
| Parameter | Typ | Popis |
|---|---|---|
status | string | Filtrovať podľa stavu: open, pending, closed |
widgetId | string | Filtrovať podľa UUID widgetu |
limit | integer | Max výsledky (predvolené 20, max 100) |
offset | integer | Preskočiť N výsledkov |
Príklad
curl -H "X-Api-Key: tak_..." \
"https://api.enuchat.com/api/v1/tenant-api/conversations?status=open&limit=10"Odpoveď
{'{'}
"data": [
{'{'}
"id": "019d6724-000e-...",
"widgetId": "019d19c6-7e0b-...",
"visitorId": "v-abc123",
"visitorName": "John",
"visitorEmail": "john{'@'}example.com",
"visitorLanguage": "en",
"status": "open",
"assignedTo": null,
"lastMessageAt": "2026-04-11T14:30:00+00:00",
"startedAt": "2026-04-11T14:25:00+00:00"
}
]
}GET /conversations/{'{'}id}
Získať konverzáciu so všetkými správami.
Parametre dopytu
| Parameter | Typ | Popis |
|---|---|---|
limit | integer | Max správy (predvolené 50, max 200) |
Odpoveď
{'{'}
"data": {'{'}
"id": "019d6724-000e-...",
"visitorLanguage": "en",
"status": "open",
"messages": [
{'{'}
"id": "019d6724-1234-...",
"role": "visitor",
"content": "Hello, how much does it cost?",
"contentLanguage": "en",
"translatedContent": "Cześć, ile to kosztuje?",
"translatedLanguage": "pl",
"isAutoReply": false,
"createdAt": "2026-04-11T14:25:30+00:00"
},
{'{'}
"id": "019d6724-5678-...",
"role": "ai",
"content": "Our plans start at €19/month...",
"isAutoReply": true,
"createdAt": "2026-04-11T14:25:32+00:00"
}
]
}
}POST /conversations/{'{'}id}/messages
Odoslať správu do konverzácie. Správa bude doručená návštevníkovi v reálnom čase cez chat widget.
Telo požiadavky
{'{'}
"content": "Thanks for reaching out! We'll process your request.",
"role": "system"
}| Pole | Typ | Popis |
|---|---|---|
content | string | Povinné. Text správy. |
role | string | system (predvolené) alebo operator |
Odpoveď (201 Created)
{'{'}
"data": {'{'}
"id": "019d6725-abcd-...",
"role": "system",
"content": "Thanks for reaching out!",
"createdAt": "2026-04-11T14:35:00+00:00"
}
}PATCH /conversations/{'{'}id}
Aktualizovať stav alebo priradenie konverzácie.
Telo požiadavky
{'{'}
"status": "closed"
}| Pole | Typ | Popis |
|---|---|---|
status | string | open, pending alebo closed |
assignedTo | string|null | UUID operátora na priradenie alebo null na zrušenie priradenia |
GET /billing/balance
Získajte svoj aktuálny plán a zostatok kreditov.
Odpoveď
{'{'}
"data": {'{'}
"plan": "pro",
"creditBalance": 4500000,
"totalCreditsAdded": 10000000
}
}Spracovanie chýb
Chyby vracajú stavový kód mimo rozsahu 2xx s JSON telom:
{'{'}
"error": {'{'}
"code": "NOT_FOUND",
"message": "Conversation not found."
}
}| HTTP stav | Význam |
|---|---|
401 | Neplatný, vypršaný alebo chýbajúci API kľúč |
400 | Neplatné telo požiadavky alebo parametre |
404 | Zdroj nenájdený (alebo patrí inému tenantovi) |
500 | Chyba servera |
Bežné prípady použitia
Integrácia CRM
Dopytujte nové konverzácie a synchronizujte údaje o návštevníkoch (meno, e-mail, jazyk) do vášho CRM. Použite ID konverzácie ako externú referenciu.
Automatizované následné kontakty
Po uzavretí konverzácie pošlite následnú správu cez API: „Ďakujeme za chat! Je niečo iné, s čím vám môžeme pomôcť?"
Alternatíva k webhookom
Kým nebudú dostupné odchádzajúce webhooky, periodicky dopytujte koncový bod konverzácií, aby ste detekovali nové správy alebo zmeny stavu.
Hromadné operácie
Uzavrite všetky konverzácie staršie ako 7 dní, priraďte konverzácie operátorom na základe externej logiky alebo exportujte históriu konverzácií pre analytiku.
Rýchlostné limity
API umožňuje až 60 požiadaviek za minútu na API kľúč. Ak prekročíte tento limit, dostanete odpoveď 429 Too Many Requests. Počkajte a skúste znova s exponenciálnym backoff.