API връзки

Свържете вашите външни API към enuchat, за да могат AI и правилата да извличат данни в реално време от вашите системи.

Как работи

API връзките ви позволяват да интегрирате enuchat с вашите собствени системи — системи за резервации, CRM, управление на поръчки, инвентар и още. Когато посетител зададе въпрос, enuchat може да извика вашия API, за да получи реални данни и да ги включи в отговора.

Процесът

  1. Конфигурирайте връзка — базовият URL на вашия API и автентикация
  2. Добавете endpoint — конкретни API извиквания с шаблони за пътища и съпоставяне на отговори
  3. Създайте правило — AI или статично правило с действие CALL_API
  4. Посетител задава въпрос — правилото се задейства, извиква вашия API, съпоставя отговора със сесийни променливи
  5. 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 на APIhttps://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 URLOAuth 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.statusorder_status, data.etadelivery_eta

Правило (AI тип): "Когато посетителят пита за статуса на поръчката си или доставката"

Действия:

  1. CALL_API → Endpoint за статус на поръчка
  2. REPLY_AI → AI използва order_status и delivery_eta за отговор

Резултат: Посетител: "Къде е поръчка #4521?" — AI: "Вашата поръчка #4521 в момента се изпраща и трябва да пристигне до четвъртък."

Рецепта: Ценообразуване в реално време

Връзка: Pricing API — https://pricing.example.com — API Key

Endpoint: GET /products/{'{'}productId}/price → съпоставя pricecurrent_price, currencyprice_currency

Правило (статично): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i

Действия:

  1. CALL_API → Endpoint за ценообразуване
  2. REPLY_TEXT → "Текущата цена е {'{'}current_price} {'{'}price_currency}."

Тестване

Винаги тествайте връзките и endpoint преди да ги използвате в правила:

  • Тест на връзка — проверява дали автентикацията работи (за OAuth2: извлича токен)
  • Тест на endpoint — прави реално API извикване с примерни променливи и показва отговора
  • Тест на правило (dry-run) — на страницата Правила тествайте дали правилото ще съвпадне и какви действия ще се изпълнят

Съвет: Започнете с тестване на връзката, след това на всеки endpoint, после на цялото правило. Така можете да изолирате проблемите на всяко ниво.

Сигурност

  • Криптиране в покой — всички идентификационни данни се криптират с libsodium преди съхранение
  • Никога не се излагат — API отговорите никога не включват декриптирани идентификационни данни, само маскирани стойности
  • SSRF защита — enuchat блокира извиквания към localhost, частни IP адреси и вътрешни хостове
  • Таймаут — външните API извиквания имат 5-секунден таймаут за предотвратяване на зависване
  • Кеширане на OAuth2 токени — токените за достъп се кешират сигурно и се обновяват автоматично
  • Изолация по акаунт — връзките са ограничени до вашия акаунт, недостъпни за други

Готови ли сте да свържете API-тата си?

Започнете да интегрирате системите си с enuchat днес.

Започнете безплатно