API конекции
Поврзете ги вашите надворешни API со enuchat така AI и правилата може да добиваат податоци во реално време од вашите системи.
Како функционира
API конекциите ви овозможуваат да го интегрирате enuchat со вашите сопствени backend системи — мотори за резервации, 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. Ви треба:
| Поле | Опис | Пример |
|---|---|---|
| Име | Етикета за оваа конекција | API за резервации на хотел |
| Основен URL | Коренскиот URL на API | https://api.hotel.com/v1 |
| Тип на автентикација | Како да се автентицира | Bearer Token, OAuth2, итн. |
2. Типови на автентикација
None
За јавни API кои не бараат автентикација.
API Key
Испраќа статичен клуч како заглавие или параметар на пребарување.
| Поле | Опис |
|---|---|
| Клуч | Вредноста на вашиот API клуч |
| Име на заглавие | Заглавие за користење (стандардно: 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 сервери.
| Поле | Опис |
|---|---|
| URL на токен | OAuth endpoint за токен (пр. https://auth.example.com/oauth/token) |
| Client ID | Вашиот OAuth client ID |
| Client Secret | Вашиот OAuth client secret |
| Scope | 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 дејството во правилата. Можете да ги комбинирате со други дејства.
Рецепт: Барање на статус на нарачка
Конекција: 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 моментално се испраќа и треба да пристигне до четврток."
Рецепт: Цени во реално време
Конекција: 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 денес.
Започни бесплатно