API конекции

Поврзете ги вашите надворешни API со enuchat така AI и правилата може да добиваат податоци во реално време од вашите системи.

Како функционира

API конекциите ви овозможуваат да го интегрирате enuchat со вашите сопствени backend системи — мотори за резервации, 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. Типови на автентикација

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
ScopeScope-и одделени со празни места (пр. 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.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 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 денес.

Започни бесплатно