API referencia
Integráld az enuchatot a rendszereidbe a Tenant API használatával. Kezelj beszélgetéseket, küldj üzeneteket és érj el számlázási adatokat programozottan.
Hitelesítés
Minden API kérés hitelesítve van egy API kulccsal, amit a X-Api-Key fejlécben küldenek.
Az API kulcsod megszerzése
- Menj a Beállítások → API kulcsok-hoz az irányítópultodban
- Kattints az API kulcs létrehozása-ra és adj neki nevet
- Másold a kulcsot azonnal — csak egyszer jelenik meg
- Tárold biztonságosan (környezeti változó, secret manager)
Kérések készítése
Tartalmazd a kulcsot minden kérésben:
curl -H "X-Api-Key: tak_your_key_here" \
https://api.enuchat.com/api/v1/tenant-api/widgetsMinden válasz JSON. A sikeres válaszoknak van data mezőjük. A hibáknak van error mezőjük code-dal és message-dzsel.
Biztonság: Az API kulcsok hash-elve vannak (SHA-256) az adatbázisunkban. Soha nem tároljuk a nyers kulcsot. Kezeld a kulcsod úgy, mint egy jelszót — ne commitáld a kódba vagy oszd meg nyilvánosan.
Alap URL
https://api.enuchat.com/api/v1/tenant-apiMinden alábbi végpont ehhez az alap URL-hez képest relatív.
Végpontok
GET /widgets
Listázza az összes widgetet a fiókodban.
Válasz
{'{'}
"data": [
{'{'}
"id": "019d19c6-7e0b-...",
"name": "Main Website Chat",
"isActive": true,
"aiEnabled": true,
"translationEnabled": true,
"primaryColor": "#2563eb",
"position": "bottom-right"
}
]
}GET /conversations
Listázza a beszélgetéseket a legutóbbi üzenet szerint rendezve.
Lekérdezési paraméterek
| Paraméter | Típus | Leírás |
|---|---|---|
status | string | Szűrés állapot szerint: open, pending, closed |
widgetId | string | Szűrés widget UUID szerint |
limit | integer | Max eredmények (alapértelmezett 20, max 100) |
offset | integer | N eredmény átugrása |
Példa
curl -H "X-Api-Key: tak_..." \
"https://api.enuchat.com/api/v1/tenant-api/conversations?status=open&limit=10"Válasz
{'{'}
"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}
Beszélgetés lekérése minden üzenettel.
Lekérdezési paraméterek
| Paraméter | Típus | Leírás |
|---|---|---|
limit | integer | Max üzenetek (alapértelmezett 50, max 200) |
Válasz
{'{'}
"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
Üzenet küldése egy beszélgetésbe. Az üzenet valós időben kézbesítődik a látogatónak a chat widgeten keresztül.
Kérés törzse
{'{'}
"content": "Thanks for reaching out! We'll process your request.",
"role": "system"
}| Mező | Típus | Leírás |
|---|---|---|
content | string | Kötelező. Az üzenet szövege. |
role | string | system (alapértelmezett) vagy operator |
Válasz (201 Created)
{'{'}
"data": {'{'}
"id": "019d6725-abcd-...",
"role": "system",
"content": "Thanks for reaching out!",
"createdAt": "2026-04-11T14:35:00+00:00"
}
}PATCH /conversations/{'{'}id}
Beszélgetés állapotának vagy hozzárendelésének frissítése.
Kérés törzse
{'{'}
"status": "closed"
}| Mező | Típus | Leírás |
|---|---|---|
status | string | open, pending, vagy closed |
assignedTo | string|null | Operátor UUID a hozzárendeléshez, vagy null a hozzárendelés megszüntetéséhez |
GET /billing/balance
Jelenlegi csomag és kreditegyenleg lekérése.
Válasz
{'{'}
"data": {'{'}
"plan": "pro",
"creditBalance": 4500000,
"totalCreditsAdded": 10000000
}
}Hibakezelés
A hibák nem-2xx állapotkódot adnak vissza JSON törzzsel:
{'{'}
"error": {'{'}
"code": "NOT_FOUND",
"message": "Conversation not found."
}
}| HTTP állapot | Jelentés |
|---|---|
401 | Érvénytelen, lejárt vagy hiányzó API kulcs |
400 | Érvénytelen kérés törzs vagy paraméterek |
404 | Erőforrás nem található (vagy másik tenanthoz tartozik) |
500 | Szerverhiba |
Gyakori felhasználási esetek
CRM integráció
Kérdezd le az új beszélgetéseket és szinkronizáld a látogatói adatokat (név, e-mail, nyelv) a CRM-edhez. Használd a beszélgetés ID-t külső referenciaként.
Automatizált nyomon követések
Miután egy beszélgetés lezárult, küldj nyomon követő üzenetet az API-n keresztül: „Köszönjük a chatet! Van még valami, amiben segíthetünk?”
Webhook alternatíva
Amíg a kimenő webhookok nem elérhetők, periodikusan kérdezd le a beszélgetések végpontot új üzenetek vagy állapotváltozások észlelésére.
Tömeges műveletek
Zárd le a 7 napnál régebbi beszélgetéseket, rendelj hozzá beszélgetéseket operátorokhoz külső logika alapján, vagy exportáld a beszélgetési előzményt analitikához.
Sebességkorlátok
Az API legfeljebb 60 kérést enged percenként API kulcsonként. Ha túllépsz ezen a limiten, 429 Too Many Requests választ kapsz. Várj és próbáld újra exponenciális backoffal.
Készen állsz integrálni?
Hozd létre az ingyenes fiókod és generálj API kulcsot percek alatt.
Kezdj ingyen