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

Надсилає статичний ключ як заголовок або параметр запиту.

ПолеОпис
КлючЗначення вашого 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)

Автоматично отримує access-токен і кешує його до закінчення терміну дії. Найкраще для сучасних API, таких як Salesforce, Google чи власні OAuth-сервери.

ПолеОпис
Token URLOAuth token 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-аCheck availability
Метод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 повертає:
{'{'}
  "data": {'{'}
    "available": true,
    "price": {'{'} "amount": 120, "currency": "EUR" }
  }
}

// Відображення:
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 Order Status
  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 Pricing
  2. REPLY_TEXT → «Поточна ціна — {'{'}current_price} {'{'}price_currency}.»

Тестування

Завжди тестуйте підключення й endpoint-и перед використанням їх у правилах:

  • Test Connection — перевіряє, чи працює автентифікація (для OAuth2: отримує токен)
  • Test Endpoint — робить реальний API-виклик із тестовими змінними й показує відповідь
  • Test Rule (dry-run) — на сторінці Правил тестуйте, чи збігається правило й які дії виконалися б

Порада: Почніть із тестування підключення, потім кожного endpoint-а, а потім повного правила. Так можна ізолювати проблеми на кожному рівні.

Безпека

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

Готові підключити свої API?

Починайте інтегрувати свої системи з enuchat уже сьогодні.

Почати безкоштовно