API povezave
Povežite svoje zunanje API-je z enuchat, tako da lahko AI in pravila pridobivajo podatke v realnem času iz vaših sistemov.
Kako deluje
API povezave vam omogočajo integracijo enuchat z vašimi zalednimi sistemi — rezervacijskimi sistemi, CRM, upravljanjem naročil, inventarjem in več. Ko obiskovalec postavi vprašanje, lahko enuchat pokliče vaš API, da pridobi dejanske podatke in jih vključi v odgovor.
Potek
- Konfigurirajte povezavo — osnovni URL vašega API in preverjanje pristnosti
- Dodajte končne točke — specifični API klici s predlogami poti in preslikavo odgovora
- Ustvarite pravilo — AI ali statično pravilo z dejanjem CALL_API
- Obiskovalec postavi vprašanje — pravilo se sproži, pokliče vaš API, preslika odgovor v spremenljivke seje
- AI odgovori z dejanskimi podatki — spremenljivke seje so na voljo AI za ustvarjanje natančnega odgovora
Primer: Razpoložljivost hotelske sobe
Obiskovalec: „Ali je soba 205 na voljo naslednji teden?"
AI pravilo se ujame: „Ko obiskovalec vpraša o razpoložljivosti sobe"
Dejanje CALL_API: GET https://api.hotel.com/rooms/205/availability
Preslikan odgovor: room_available = true, price = „120 €/noč"
AI odgovori: „Soba 205 je na voljo naslednji teden za 120 €/noč. Ali jo želite rezervirati?"
Nastavitev povezave
Pojdite na Nastavitve → API povezave v svoji nadzorni plošči.
1. Ustvari povezavo
Povezava predstavlja en zunanji API. Potrebujete:
| Polje | Opis | Primer |
|---|---|---|
| Ime | Oznaka za to povezavo | API hotelskih rezervacij |
| Osnovni URL | Korenski URL API | https://api.hotel.com/v1 |
| Vrsta preverjanja pristnosti | Kako preveriti pristnost | Bearer Token, OAuth2 itd. |
2. Vrste preverjanja pristnosti
Brez
Za javne API-je, ki ne zahtevajo preverjanja pristnosti.
API ključ
Pošlje statični ključ kot glavo ali parameter poizvedbe.
| Polje | Opis |
|---|---|
| Ključ | Vrednost vašega API ključa |
| Ime glave | Glava za uporabo (privzeto: X-Api-Key) |
Ključ se pošlje kot: X-Api-Key: your_key_here
Bearer Token
Pošlje statičen žeton v glavi Authorization.
Pošlje se kot: Authorization: Bearer your_token_here
Basic Auth
Pošlje uporabniško ime in geslo, kodirana v base64.
Pošlje se kot: Authorization: Basic dXNlcjpwYXNz
OAuth 2.0 (Client Credentials)
Samodejno pridobi dostopni žeton in ga predpomni do izteka. Najboljše za sodobne API-je, kot so Salesforce, Google ali lastni OAuth strežniki.
| Polje | Opis |
|---|---|
| URL žetona | Končna točka OAuth žetona (npr. https://auth.example.com/oauth/token) |
| Client ID | Vaš OAuth client ID |
| Client Secret | Vaša OAuth client secret |
| Scope | S presledki ločeni obsegi (npr. read write) |
enuchat samodejno upravlja življenjski cikel žetona — pridobi ob prvem klicu, predpomni do izteka, osveži, ko je potrebno.
Varnost: Vse poverilnice so šifrirane v mirovanju z uporabo libsodium. Nikoli se ne izpostavljajo v API odgovorih — v nadzorni plošči so prikazane samo maskirane vrednosti.
Konfiguriranje končnih točk
Vsaka povezava ima lahko več končnih točk — specifičnih API klicev, ki jih želite izvesti.
| Polje | Opis | Primer |
|---|---|---|
| Ime | Oznaka za to končno točko | Preveri razpoložljivost |
| Metoda | HTTP metoda | GET, POST, PUT, DELETE |
| Pot | URL pot (dodana k osnovnemu URL). Uporabi {'{'}variable} za dinamične vrednosti | /rooms/{'{'}roomId}/availability |
| Parametri poizvedbe | URL parametri kot pari ključ-vrednost. Vrednosti podpirajo {'{'}variable} | date={'{'}checkIn} |
| Predloga telesa | JSON telo za POST/PUT. Podpira interpolacijo {'{'}variable} | {'{'}"guest": "{'{'}name}"} |
| Preslikava odgovora | Preslikaj polja JSON odgovora v spremenljivke seje z uporabo pike kot ločila | data.available → room_available |
| Opis | Kontekst za AI (katere podatke vrača ta končna točka) | Vrača razpoložljivost in cene sobe |
Interpolacija spremenljivk
Uporabi {'{'}variableName} v poteh, parametrih poizvedbe in predlogah telesa. Spremenljivke izhajajo iz:
- Spremenljivk seje — nastavljenih s prejšnjimi pravili (dejanje SET_VARIABLE)
- Parametrov dejanja — trdo kodiranih v dejanju pravila CALL_API
Preslikava odgovora
Preslikaj polja JSON odgovora v spremenljivke seje z uporabo pike kot ločila:
// API vrne:
{'{'}
"data": {'{'}
"available": true,
"price": {'{'} "amount": 120, "currency": "EUR" }
}
}
// Preslikava:
data.available → room_available // "true"
data.price.amount → room_price // "120"
data.price.currency → room_currency // "EUR"Preslikane spremenljivke so shranjene kot spremenljivke seje v pogovoru in so na voljo AI za ustvarjanje odgovorov.
Uporaba s pravili
API klici se sprožijo z dejanjem CALL_API v pravilih. Lahko jih kombinirate z drugimi dejanji.
Recept: Iskanje stanja naročila
Povezava: API upravljanja naročil — https://api.shop.com/v2 — Bearer Token
Končna točka: GET /orders/{'{'}orderId} → preslika data.status → order_status, data.eta → delivery_eta
Pravilo (AI vrsta): „Ko obiskovalec vpraša o stanju svojega naročila ali dostavi"
Dejanja:
- CALL_API → Končna točka stanja naročila
- REPLY_AI → AI uporabi
order_statusindelivery_etaza odgovor
Rezultat: Obiskovalec: „Kje je moje naročilo #4521?" — AI: „Vaše naročilo #4521 se trenutno pošilja in bi moralo prispeti do četrtka."
Recept: Cene v realnem času
Povezava: Cenovni API — https://pricing.example.com — API ključ
Končna točka: GET /products/{'{'}productId}/price → preslika price → current_price, currency → price_currency
Pravilo (statično): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i
Dejanja:
- CALL_API → Cenovna končna točka
- REPLY_TEXT → „Trenutna cena je {'{'}current_price} {'{'}price_currency}."
Testiranje
Vedno preizkusite svoje povezave in končne točke, preden jih uporabite v pravilih:
- Preizkusi povezavo — preveri, ali preverjanje pristnosti deluje (za OAuth2: pridobi žeton)
- Preizkusi končno točko — izvede dejanski API klic z vzorčnimi spremenljivkami in prikaže odgovor
- Preizkusi pravilo (suhi tek) — na strani Pravila preizkusite, ali bi se pravilo ujemalo in katera dejanja bi se izvedla
Namig: Začnite s preizkusom povezave, nato vsake končne točke, nato celotnega pravila. Tako lahko izolirate težave na vsaki ravni.
Varnost
- Šifriranje v mirovanju — vse poverilnice so šifrirane z libsodium pred shranjevanjem
- Nikoli izpostavljene — API odgovori nikoli ne vsebujejo dešifriranih poverilnic, samo maskirane vrednosti
- SSRF zaščita — enuchat blokira klice na localhost, zasebne IP-je in notranja imena gostiteljev
- Časovna omejitev — zunanji API klici imajo 5-sekundno časovno omejitev, da preprečijo obeševanje
- Predpomnjenje OAuth2 žetona — dostopni žetoni so varno predpomnjeni in samodejno osveženi
- Izolacija najemnikov — povezave so omejene na vašega najemnika, drugim niso dostopne
Pripravljeni povezati svoje API-je?
Začnite integrirati svoje sisteme z enuchat že danes.
Začni brezplačno