API връзки
Свържете вашите външни API към enuchat, за да могат AI и правилата да извличат данни в реално време от вашите системи.
Как работи
API връзките ви позволяват да интегрирате enuchat с вашите собствени системи — системи за резервации, CRM, управление на поръчки, инвентар и още. Когато посетител зададе въпрос, enuchat може да извика вашия API, за да получи реални данни и да ги включи в отговора.
Процесът
- Конфигурирайте връзка — базовият URL на вашия API и автентикация
- Добавете endpoint — конкретни API извиквания с шаблони за пътища и съпоставяне на отговори
- Създайте правило — AI или статично правило с действие CALL_API
- Посетител задава въпрос — правилото се задейства, извиква вашия API, съпоставя отговора със сесийни променливи
- AI отговаря с реални данни — сесийните променливи са достъпни за AI за генериране на точен отговор
Пример: Наличност на хотелска стая
Посетител: "Стая 205 свободна ли е следващата седмица?"
AI правило съвпада: "Когато посетител пита за наличност на стая"
Действие CALL_API: GET https://api.hotel.com/rooms/205/availability
Съпоставен отговор: room_available = true, price = "€120/нощ"
AI отговаря: "Стая 205 е свободна следващата седмица на цена €120/нощ. Искате ли да я резервирате?"
Настройка на връзка
Отидете на Настройки → API връзки в панела за управление.
1. Създайте връзка
Връзката представлява един външен API. Необходими са ви:
| Поле | Описание | Пример |
|---|---|---|
| Име | Етикет за тази връзка | Hotel Booking API |
| Базов URL | Основният URL на API | https://api.hotel.com/v1 |
| Тип автентикация | Как да се автентикирате | Bearer Token, OAuth2 и т.н. |
2. Типове автентикация
None
За публични API, които не изискват автентикация.
API Key
Изпраща статичен ключ като хедър или параметър на заявката.
| Поле | Описание |
|---|---|
| Key | Стойността на вашия API ключ |
| Header Name | Хедър за използване (по подразбиране: X-Api-Key) |
Ключът се изпраща като: X-Api-Key: your_key_here
Bearer Token
Изпраща статичен токен в Authorization хедъра.
Изпраща се като: Authorization: Bearer your_token_here
Basic Auth
Изпраща потребителско име и парола, кодирани в base64.
Изпраща се като: Authorization: Basic dXNlcjpwYXNz
OAuth 2.0 (Client Credentials)
Извлича автоматично токен за достъп и го кешира до изтичане. Най-подходящ за модерни API като Salesforce, Google или персонализирани OAuth сървъри.
| Поле | Описание |
|---|---|
| Token URL | OAuth endpoint за токен (напр. https://auth.example.com/oauth/token) |
| Client ID | Вашият OAuth client ID |
| Client Secret | Вашият OAuth client secret |
| Scope | Обхвати, разделени с интервали (напр. read write) |
enuchat управлява жизнения цикъл на токена автоматично — извлича при първо извикване, кешира до изтичане, обновява при нужда.
Сигурност: Всички идентификационни данни се криптират в покой с libsodium. Никога не се излагат в API отговори — само маскирани стойности се показват в панела за управление.
Конфигуриране на endpoint
Всяка връзка може да има множество endpoint — конкретни API извиквания, които искате да правите.
| Поле | Описание | Пример |
|---|---|---|
| Име | Етикет за този endpoint | Провери наличност |
| Метод | HTTP метод | GET, POST, PUT, DELETE |
| Път | URL път (добавя се към базовия URL). Използвайте {'{'}variable} за динамични стойности | /rooms/{'{'}roomId}/availability |
| Параметри на заявката | URL параметри като двойки ключ-стойност. Стойностите поддържат {'{'}variable} | date={'{'}checkIn} |
| Шаблон за тялото | JSON тяло за POST/PUT. Поддържа {'{'}variable} интерполация | {'{'}"guest": "{'{'}name}"} |
| Съпоставяне на отговори | Съпоставете JSON полета от отговора със сесийни променливи, използвайки точкова нотация | data.available → room_available |
| Описание | Контекст за AI (какви данни връща този endpoint) | Връща наличност и цена на стая |
Интерполация на променливи
Използвайте {'{'}variableName} в пътища, параметри на заявки и шаблони за тялото. Променливите идват от:
- Сесийни променливи — зададени от предходни правила (действие SET_VARIABLE)
- Параметри на действието — фиксирани в действието CALL_API на правилото
Съпоставяне на отговори
Съпоставете JSON полета от отговора със сесийни променливи, използвайки точкова нотация:
// API returns:
{'{'}
"data": {'{'}
"available": true,
"price": {'{'} "amount": 120, "currency": "EUR" }
}
}
// Mapping:
data.available → room_available // "true"
data.price.amount → room_price // "120"
data.price.currency → room_currency // "EUR"Съпоставените променливи се съхраняват като сесийни променливи в разговора и са достъпни за AI за генериране на отговори.
Използване с правила
API извикванията се задействат от действието CALL_API в правила. Можете да ги комбинирате с други действия.
Рецепта: Справка за статус на поръчка
Връзка: Order Management API — https://api.shop.com/v2 — Bearer Token
Endpoint: GET /orders/{'{'}orderId} → съпоставя data.status → order_status, data.eta → delivery_eta
Правило (AI тип): "Когато посетителят пита за статуса на поръчката си или доставката"
Действия:
- CALL_API → Endpoint за статус на поръчка
- REPLY_AI → AI използва
order_statusиdelivery_etaза отговор
Резултат: Посетител: "Къде е поръчка #4521?" — AI: "Вашата поръчка #4521 в момента се изпраща и трябва да пристигне до четвъртък."
Рецепта: Ценообразуване в реално време
Връзка: Pricing API — https://pricing.example.com — API Key
Endpoint: GET /products/{'{'}productId}/price → съпоставя price → current_price, currency → price_currency
Правило (статично): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i
Действия:
- CALL_API → Endpoint за ценообразуване
- REPLY_TEXT → "Текущата цена е {'{'}current_price} {'{'}price_currency}."
Тестване
Винаги тествайте връзките и endpoint преди да ги използвате в правила:
- Тест на връзка — проверява дали автентикацията работи (за OAuth2: извлича токен)
- Тест на endpoint — прави реално API извикване с примерни променливи и показва отговора
- Тест на правило (dry-run) — на страницата Правила тествайте дали правилото ще съвпадне и какви действия ще се изпълнят
Съвет: Започнете с тестване на връзката, след това на всеки endpoint, после на цялото правило. Така можете да изолирате проблемите на всяко ниво.
Сигурност
- Криптиране в покой — всички идентификационни данни се криптират с libsodium преди съхранение
- Никога не се излагат — API отговорите никога не включват декриптирани идентификационни данни, само маскирани стойности
- SSRF защита — enuchat блокира извиквания към localhost, частни IP адреси и вътрешни хостове
- Таймаут — външните API извиквания имат 5-секунден таймаут за предотвратяване на зависване
- Кеширане на OAuth2 токени — токените за достъп се кешират сигурно и се обновяват автоматично
- Изолация по акаунт — връзките са ограничени до вашия акаунт, недостъпни за други
Готови ли сте да свържете API-тата си?
Започнете да интегрирате системите си с enuchat днес.
Започнете безплатно