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. Вам трэба:

ПолеАпісаннеПрыклад
ІмяЭтыкетка для гэтага злучэнняAPI браніравання гатэля
Базавы URLКаранёвы URL APIhttps://api.hotel.com/v1
Тып аўтэнтыфікацыіЯк аўтэнтыфікаваццаBearer Token, OAuth2 і інш.

2. Тыпы аўтэнтыфікацыі

Няма

Для публічных API, якія не патрабуюць аўтэнтыфікацыі.

API-ключ

Адпраўляе статычны ключ як загаловак або параметр запыту.

ПолеАпісанне
КлючЗначэнне вашага API-ключа
Імя загалоўкаЗагаловак для выкарыстання (па змаўчанні: X-Api-Key)

Ключ адпраўляецца як: X-Api-Key: your_key_here

Bearer-токен

Адпраўляе статычны токен у загалоўку 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Раздзеленыя прабеламі 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-токен

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 зараз дастаўляецца і павінен прыйсці да чацвярга."

Рэцэпт: Цэны ў рэжыме рэальнага часу

Злучэнне: API цэнаўтварэння — https://pricing.example.com — API-ключ

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-токенаў — токены доступу кэшуюцца бяспечна і абнаўляюцца аўтаматычна
  • Ізаляцыя tenant — злучэнні абмежаваныя вашым tenant, недаступныя для іншых

Гатовыя падключыць вашы API?

Пачніце інтэграваць вашы сістэмы з enuchat сёння.

Пачаць бясплатна