API везе

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

Како функционише

API везе вам омогућавају да интегришете enuchat са властитим backend системима — booking engine-има, 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 везе у свом dashboard-у.

1. Креирање везе

Веза представља један спољни API. Треба вам:

ПољеОписПример
НазивОзнака за ову везуHotel Booking API
Основни URLRoot URL API-аhttps://api.hotel.com/v1
Тип аутентификацијеКако се аутентификоватиBearer токен, OAuth2, итд.

2. Типови аутентификације

Без

За јавне API-је који не захтевају аутентификацију.

API кључ

Шаље статички кључ као заглавље или query параметар.

ПољеОпис
КључВредност вашег 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)

Аутоматски дохвата 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
ОпсегРазмаком одвојени опсези (нпр. read write)

enuchat аутоматски решава животни циклус токена — дохвата на први позив, кешира до истека, освежава по потреби.

Безбедност: Сви акредитиви су енкриптовани у мировању користећи libsodium. Никада се не излажу у API одговорима — само маскиране вредности се приказују у dashboard-у.

Конфигурисање endpoint-а

Свака веза може имати више endpoint-а — специфичне API позиве које желите направити.

ПољеОписПример
НазивОзнака за овај endpointПровера доступности
МетодаHTTP методаGET, POST, PUT, DELETE
ПутањаURL путања (додата на основни URL). Користите {'{'}variable} за динамичке вредности/rooms/{'{'}roomId}/availability
Query параметриURL параметри као парови кључ-вредност. Вредности подржавају {'{'}variable}date={'{'}checkIn}
Шаблон телаJSON тело за POST/PUT. Подржава интерполацију {'{'}variable}{'{'}"guest": "{'{'}name}"}
Мапирање одговораМапирајте поља JSON одговора у варијабле сесије користећи dot нотацијуdata.available → room_available
ОписКонтекст за AI (које податке овај endpoint враћа)Враћа доступност собе и цене

Интерполација варијабли

Користите {'{'}variableName} у путањама, query параметрима и шаблонима тела. Варијабле долазе из:

  • Варијабле сесије — постављене од стране претходних правила (SET_VARIABLE акција)
  • Параметри акције — хардкодирани у акцији правила CALL_API

Мапирање одговора

Мапирајте поља JSON одговора у варијабле сесије користећи dot нотацију:

// 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 токен

Endpoint: GET /orders/{'{'}orderId} → мапира data.statusorder_status, data.etadelivery_eta

Правило (AI тип): "Када посетилац пита о статусу своје наруџбине или достави"

Акције:

  1. CALL_API → Order Status endpoint
  2. REPLY_AI → AI користи order_status и delivery_eta за одговор

Резултат: Посетилац: "Где је моја наруџбина #4521?" — AI: "Ваша наруџбина #4521 се тренутно шаље и требала би стићи до четвртка."

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

Веза: Pricing 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 → Pricing endpoint
  2. REPLY_TEXT → "Тренутна цена је {'{'}current_price} {'{'}price_currency}."

Тестирање

Увек тестирајте своје везе и endpoint-е пре него што их користите у правилима:

  • Тест везе — проверава да ли аутентификација ради (за OAuth2: дохвата токен)
  • Тест endpoint-а — прави стварни API позив са пример варијаблама и приказује одговор
  • Тест правила (dry-run) — на страници Правила, тестирајте да ли би се правило подударило и које би се акције извршиле

Савет: Почните тестирањем везе, затим сваког endpoint-а, затим комплетног правила. На овај начин можете изоловати проблеме на сваком нивоу.

Безбедност

  • Енкрипција у мировању — сви акредитиви су енкриптовани користећи libsodium пре похране
  • Никада изложени — API одговори никада не укључују декриптоване акредитиве, само маскиране вредности
  • SSRF заштита — enuchat блокира позиве на localhost, приватне IP-ове и интерне hostname-ове
  • Timeout — спољни API позиви имају 5-секундни timeout како би се спречило висење
  • OAuth2 кеширање токена — access токени се безбедно кеширају и аутоматски освежавају
  • Изолација tenant-а — везе су ограничене на ваш tenant, недоступне другима

Спремни да повежете своје API-је?

Почните интегрисати своје системе са enuchat-ом већ данас.

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