Спасылка на API
Інтэграваць enuchat у вашы сістэмы з дапамогай Tenant API. Кіруйце размовамі, адпраўляйце паведамленні і атрымлівайце даныя аб аплаце праграмна.
Аўтэнтыфікацыя
Усе API-запыты аўтэнтыфікуюцца з выкарыстаннем API-ключа, адпраўленага ў загалоўку X-Api-Key.
Атрыманне вашага API-ключа
- Перайдзіце ў Налады → API-ключы у вашай панэлі
- Націсніце Стварыць API-ключ і дайце яму імя
- Скапіруйце ключ неадкладна — ён паказваецца толькі адзін раз
- Захоўвайце яго бяспечна (зменная асяроддзя, менеджэр сакрэтаў)
Выкананне запытаў
Уключыце ключ у кожны запыт:
curl -H "X-Api-Key: tak_your_key_here" \
https://api.enuchat.com/api/v1/tenant-api/widgetsУсе адказы — JSON. Паспяховыя адказы маюць поле data. Памылкі маюць поле error з code і message.
Бяспека: API-ключы хэшуюцца (SHA-256) у нашай базе даных. Мы ніколі не захоўваем сыры ключ. Стаўцеся да вашага ключа як да пароля — не камітуйце яго ў код і не дзяліцеся ім публічна.
Базавы URL
https://api.enuchat.com/api/v1/tenant-apiУсе endpointы ніжэй адносныя да гэтага базавага URL.
Endpointы
GET /widgets
Спіс усіх віджэтаў для вашага акаўнта.
Адказ
{'{'}
"data": [
{'{'}
"id": "019d19c6-7e0b-...",
"name": "Main Website Chat",
"isActive": true,
"aiEnabled": true,
"translationEnabled": true,
"primaryColor": "#2563eb",
"position": "bottom-right"
}
]
}GET /conversations
Спіс размоў, упарадкаваных па самым нядаўнім паведамленні.
Параметры запыту
| Параметр | Тып | Апісанне |
|---|---|---|
status | string | Фільтр па статусе: open, pending, closed |
widgetId | string | Фільтр па UUID віджэта |
limit | integer | Макс. вынікі (па змаўчанні 20, макс. 100) |
offset | integer | Прапусціць N вынікаў |
Прыклад
curl -H "X-Api-Key: tak_..." \
"https://api.enuchat.com/api/v1/tenant-api/conversations?status=open&limit=10"Адказ
{'{'}
"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}
Атрымаць размову з усімі паведамленнямі.
Параметры запыту
| Параметр | Тып | Апісанне |
|---|---|---|
limit | integer | Макс. паведамленні (па змаўчанні 50, макс. 200) |
Адказ
{'{'}
"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
Адправіць паведамленне ў размову. Паведамленне будзе дастаўлена наведвальніку ў рэжыме рэальнага часу праз чат-віджэт.
Цела запыту
{'{'}
"content": "Thanks for reaching out! We'll process your request.",
"role": "system"
}| Поле | Тып | Апісанне |
|---|---|---|
content | string | Абавязкова. Тэкст паведамлення. |
role | string | system (па змаўчанні) або operator |
Адказ (201 Created)
{'{'}
"data": {'{'}
"id": "019d6725-abcd-...",
"role": "system",
"content": "Thanks for reaching out!",
"createdAt": "2026-04-11T14:35:00+00:00"
}
}PATCH /conversations/{'{'}id}
Абнавіць статус або прызначэнне размовы.
Цела запыту
{'{'}
"status": "closed"
}| Поле | Тып | Апісанне |
|---|---|---|
status | string | open, pending або closed |
assignedTo | string|null | UUID аператара для прызначэння або null для скасавання |
GET /billing/balance
Атрымаць ваш бягучы план і баланс крэдытаў.
Адказ
{'{'}
"data": {'{'}
"plan": "pro",
"creditBalance": 4500000,
"totalCreditsAdded": 10000000
}
}Апрацоўка памылак
Памылкі вяртаюць не-2xx код стану з целам JSON:
{'{'}
"error": {'{'}
"code": "NOT_FOUND",
"message": "Conversation not found."
}
}| HTTP-статус | Значэнне |
|---|---|
401 | Несапраўдны, скончаны або адсутны API-ключ |
400 | Несапраўднае цела запыту або параметры |
404 | Рэсурс не знойдзены (або належыць іншаму tenant) |
500 | Памылка сервера |
Звычайныя выпадкі выкарыстання
Інтэграцыя CRM
Запытвайце новыя размовы і сінхранізуйце даныя наведвальніка (імя, email, мова) з вашай CRM. Выкарыстоўвайце ID размовы як знешні ідэнтыфікатар.
Аўтаматызаваныя наступныя дзеянні
Пасля закрыцця размовы адпраўце наступнае паведамленне праз API: "Дзякуй за размову! Ці ёсць яшчэ нешта, з чым мы можам дапамагчы?"
Альтэрнатыва вэбхукам
Пакуль выходныя вэбхукі не даступныя, перыядычна апытвайце endpoint размоў, каб выявіць новыя паведамленні або змены статусу.
Аперацыі ў масавым парадку
Закрывайце ўсе размовы старэйшыя за 7 дзён, прызначайце размовы аператарам на аснове знешняй логікі або экспартуйце гісторыю размоў для аналітыкі.
Абмежаванні хуткасці
API дазваляе да 60 запытаў у хвіліну на API-ключ. Калі вы перавышаеце гэты ліміт, вы атрымаеце адказ 429 Too Many Requests. Пачакайце і паўтарыце з экспанентным backoff.
Гатовыя інтэгравацца?
Стварыце ваш бясплатны акаўнт і згенеруйце API-ключ за лічаныя хвіліны.
Пачаць бясплатна