API nuoroda
Integruokite enuchat į savo sistemas naudodami Tenant API. Tvarkykite pokalbius, siųskite žinutes ir programinėmis priemonėmis pasiekite atsiskaitymo duomenis.
Autentifikavimas
Visos API užklausos autentifikuojamos naudojant API raktą, siunčiamą X-Api-Key antraštėje.
Gauti savo API raktą
- Eikite į Nustatymai → API raktai savo skydelyje
- Spustelėkite Sukurti API raktą ir suteikite jam pavadinimą
- Iš karto nukopijuokite raktą — jis rodomas tik vieną kartą
- Saugokite jį saugiai (aplinkos kintamasis, paslapčių valdiklis)
Užklausų siuntimas
Įtraukite raktą į kiekvieną užklausą:
curl -H "X-Api-Key: tak_your_key_here" \
https://api.enuchat.com/api/v1/tenant-api/widgetsVisi atsakymai yra JSON. Sėkmingi atsakymai turi data lauką. Klaidos turi error lauką su code ir message.
Saugumas: API raktai yra maišomi (SHA-256) mūsų duomenų bazėje. Mes niekada nesaugome neapdoroto rakto. Elgiatės su savo raktu kaip su slaptažodžiu — neįrašykite jo į kodą ir nesidalinkite viešai.
Bazinis URL
https://api.enuchat.com/api/v1/tenant-apiVisi žemiau esantys galiniai taškai yra reliatyvūs šio bazinio URL.
Galiniai taškai
GET /widgets
Sąrašas visų valdiklių jūsų paskyroje.
Atsakymas
{'{'}
"data": [
{'{'}
"id": "019d19c6-7e0b-...",
"name": "Main Website Chat",
"isActive": true,
"aiEnabled": true,
"translationEnabled": true,
"primaryColor": "#2563eb",
"position": "bottom-right"
}
]
}GET /conversations
Sąrašas pokalbių, išrikiuotų pagal naujausią žinutę.
Užklausos parametrai
| Parametras | Tipas | Aprašymas |
|---|---|---|
status | string | Filtruoti pagal būseną: open, pending, closed |
widgetId | string | Filtruoti pagal valdiklio UUID |
limit | integer | Maksimumas rezultatų (numatyta 20, maks. 100) |
offset | integer | Praleisti N rezultatų |
Pavyzdys
curl -H "X-Api-Key: tak_..." \
"https://api.enuchat.com/api/v1/tenant-api/conversations?status=open&limit=10"Atsakymas
{'{'}
"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}
Gauti pokalbį su visomis žinutėmis.
Užklausos parametrai
| Parametras | Tipas | Aprašymas |
|---|---|---|
limit | integer | Maksimumas žinučių (numatyta 50, maks. 200) |
Atsakymas
{'{'}
"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
Siųsti žinutę į pokalbį. Žinutė bus pristatyta lankytojui realiu laiku per pokalbių valdiklį.
Užklausos kūnas
{'{'}
"content": "Thanks for reaching out! We'll process your request.",
"role": "system"
}| Laukas | Tipas | Aprašymas |
|---|---|---|
content | string | Privaloma. Žinutės tekstas. |
role | string | system (numatyta) arba operator |
Atsakymas (201 Created)
{'{'}
"data": {'{'}
"id": "019d6725-abcd-...",
"role": "system",
"content": "Thanks for reaching out!",
"createdAt": "2026-04-11T14:35:00+00:00"
}
}PATCH /conversations/{'{'}id}
Atnaujinti pokalbio būseną arba priskyrimą.
Užklausos kūnas
{'{'}
"status": "closed"
}| Laukas | Tipas | Aprašymas |
|---|---|---|
status | string | open, pending arba closed |
assignedTo | string|null | Operatoriaus UUID priskirti arba null, kad atskirtumėte |
GET /billing/balance
Gauti savo dabartinį planą ir kreditų likutį.
Atsakymas
{'{'}
"data": {'{'}
"plan": "pro",
"creditBalance": 4500000,
"totalCreditsAdded": 10000000
}
}Klaidų tvarkymas
Klaidos grąžina ne 2xx būsenos kodą su JSON kūnu:
{'{'}
"error": {'{'}
"code": "NOT_FOUND",
"message": "Conversation not found."
}
}| HTTP būsena | Reikšmė |
|---|---|
401 | Neteisingas, pasibaigęs arba trūkstamas API raktas |
400 | Neteisingas užklausos kūnas arba parametrai |
404 | Išteklius nerastas (arba priklauso kitam nuomininkui) |
500 | Serverio klaida |
Dažni naudojimo atvejai
CRM integracija
Apklauskite naujus pokalbius ir sinchronizuokite lankytojų duomenis (vardą, el. paštą, kalbą) su savo CRM. Naudokite pokalbio ID kaip išorinę nuorodą.
Automatiniai tolimesni pranešimai
Kai pokalbis uždaromas, siųskite tolesnę žinutę per API: „Ačiū už pokalbį! Ar yra dar kas nors, su kuo galime padėti?"
Webhook alternatyva
Kol nebus galimi išeinantys webhooks, periodiškai apklauskite pokalbių galinį tašką, kad aptiktumėte naujas žinutes ar būsenos pakeitimus.
Masinės operacijos
Uždarykite visus senesnius nei 7 dienų pokalbius, priskirkite pokalbius operatoriams remdamiesi išorine logika arba eksportuokite pokalbių istoriją analitikai.
Greičio ribos
API leidžia iki 60 užklausų per minutę vienam API raktui. Jei viršysite šį limitą, gausite 429 Too Many Requests atsakymą. Palaukite ir pakartokite su eksponentiniu vėlinimu.
Pasiruošę integruoti?
Sukurkite savo nemokamą paskyrą ir per kelias minutes sugeneruokite API raktą.
Pradėti nemokamai