API pripojenia
Pripojte svoje externé API k enuchat, aby AI a pravidlá mohli získavať dáta v reálnom čase z vašich systémov.
Ako to funguje
API pripojenia vám umožňujú integrovať enuchat s vašimi vlastnými backend systémami — rezervačnými enginmi, CRM, správou objednávok, zásobami a ďalšími. Keď návštevník položí otázku, enuchat môže zavolať vaše API na získanie skutočných dát a zahrnúť ich do odpovede.
Tok
- Nakonfigurujte pripojenie — základná URL vášho API a autentifikácia
- Pridajte koncové body — konkrétne API volania so šablónami ciest a mapovaním odpovedí
- Vytvorte pravidlo — AI alebo statické pravidlo s akciou CALL_API
- Návštevník položí otázku — pravidlo sa spustí, zavolá vaše API, zmapuje odpoveď na premenné relácie
- AI odpovedá so skutočnými dátami — premenné relácie sú dostupné pre AI na generovanie presnej odpovede
Príklad: Dostupnosť hotelovej izby
Návštevník: „Je izba 205 dostupná budúci týždeň?"
AI pravidlo sa zhoduje: „Keď sa návštevník pýta na dostupnosť izby"
Akcia CALL_API: GET https://api.hotel.com/rooms/205/availability
Odpoveď zmapovaná: room_available = true, price = „120 €/noc"
AI odpovedá: „Izba 205 je dostupná budúci týždeň za 120 €/noc. Chceli by ste si ju rezervovať?"
Nastavenie pripojenia
Prejdite na Nastavenia → API pripojenia vo vašom paneli.
1. Vytvorenie pripojenia
Pripojenie predstavuje jedno externé API. Potrebujete:
| Pole | Popis | Príklad |
|---|---|---|
| Názov | Označenie pre toto pripojenie | API rezervácií hotela |
| Základná URL | Koreňová URL API | https://api.hotel.com/v1 |
| Typ autentifikácie | Ako sa autentifikovať | Bearer Token, OAuth2 atď. |
2. Typy autentifikácie
Žiadna
Pre verejné API, ktoré nevyžadujú autentifikáciu.
API kľúč
Posiela statický kľúč ako hlavičku alebo parameter dopytu.
| Pole | Popis |
|---|---|
| Kľúč | Hodnota vášho API kľúča |
| Názov hlavičky | Hlavička na použitie (predvolené: X-Api-Key) |
Kľúč sa odosiela ako: X-Api-Key: your_key_here
Bearer Token
Posiela statický token v hlavičke Authorization.
Odosiela sa ako: Authorization: Bearer your_token_here
Basic Auth
Posiela používateľské meno a heslo, base64-zakódované.
Odosiela sa ako: Authorization: Basic dXNlcjpwYXNz
OAuth 2.0 (Client Credentials)
Automaticky získa prístupový token a cachuje ho do vypršania. Najlepšie pre moderné API ako Salesforce, Google alebo vlastné OAuth servery.
| Pole | Popis |
|---|---|
| Token URL | Koncový bod OAuth tokenu (napr. https://auth.example.com/oauth/token) |
| Client ID | Vaše OAuth ID klienta |
| Client Secret | Vaše tajomstvo OAuth klienta |
| Scope | Medzerami oddelené rozsahy (napr. read write) |
enuchat automaticky spracováva životný cyklus tokenu — získava pri prvom volaní, cachuje do vypršania, obnovuje keď je potrebné.
Bezpečnosť: Všetky prihlasovacie údaje sú šifrované v pokoji pomocou libsodium. Nikdy sa nezobrazujú v API odpovediach — v paneli sa zobrazujú iba maskované hodnoty.
Konfigurácia koncových bodov
Každé pripojenie môže mať viacero koncových bodov — konkrétne API volania, ktoré chcete robiť.
| Pole | Popis | Príklad |
|---|---|---|
| Názov | Označenie pre tento koncový bod | Skontrolovať dostupnosť |
| Metóda | HTTP metóda | GET, POST, PUT, DELETE |
| Cesta | URL cesta (pripojená k základnej URL). Použite {'{'}variable} pre dynamické hodnoty | /rooms/{'{'}roomId}/availability |
| Parametre dopytu | URL parametre ako páry kľúč-hodnota. Hodnoty podporujú {'{'}variable} | date={'{'}checkIn} |
| Šablóna tela | JSON telo pre POST/PUT. Podporuje interpoláciu {'{'}variable} | {'{'}"guest": "{'{'}name}"} |
| Mapovanie odpovede | Mapovať polia JSON odpovede na premenné relácie pomocou bodkového zápisu | data.available → room_available |
| Popis | Kontext pre AI (aké dáta tento koncový bod vracia) | Vracia dostupnosť izby a ceny |
Interpolácia premenných
Použite {'{'}variableName} v cestách, parametroch dopytu a šablónach tela. Premenné pochádzajú z:
- Premenných relácie — nastavených predchádzajúcimi pravidlami (akcia SET_VARIABLE)
- Parametrov akcií — pevne kódovaných v akcii pravidla CALL_API
Mapovanie odpovede
Mapujte polia JSON odpovede na premenné relácie pomocou bodkového zápisu:
// API vracia:
{'{'}
"data": {'{'}
"available": true,
"price": {'{'} "amount": 120, "currency": "EUR" }
}
}
// Mapovanie:
data.available → room_available // "true"
data.price.amount → room_price // "120"
data.price.currency → room_currency // "EUR"Mapované premenné sú uložené ako premenné relácie v konverzácii a sú dostupné pre AI na generovanie odpovedí.
Použitie s pravidlami
API volania sa spúšťajú akciou CALL_API v pravidlách. Môžete ich kombinovať s inými akciami.
Recept: Vyhľadávanie stavu objednávky
Pripojenie: API správy objednávok — https://api.shop.com/v2 — Bearer Token
Koncový bod: GET /orders/{'{'}orderId} → mapuje data.status → order_status, data.eta → delivery_eta
Pravidlo (typ AI): „Keď sa návštevník pýta na stav svojej objednávky alebo doručenie"
Akcie:
- CALL_API → koncový bod stavu objednávky
- REPLY_AI → AI používa
order_statusadelivery_etana odpoveď
Výsledok: Návštevník: „Kde je moja objednávka #4521?" — AI: „Vaša objednávka #4521 sa momentálne odosiela a mala by doraziť do štvrtka."
Recept: Ceny v reálnom čase
Pripojenie: Cenové API — https://pricing.example.com — API kľúč
Koncový bod: GET /products/{'{'}productId}/price → mapuje price → current_price, currency → price_currency
Pravidlo (statické): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i
Akcie:
- CALL_API → Cenový koncový bod
- REPLY_TEXT → „Aktuálna cena je {'{'}current_price} {'{'}price_currency}."
Testovanie
Vždy testujte svoje pripojenia a koncové body pred ich použitím v pravidlách:
- Testovať pripojenie — overí, či autentifikácia funguje (pre OAuth2: získa token)
- Testovať koncový bod — vykoná skutočné API volanie s vzorovými premennými a zobrazí odpoveď
- Testovať pravidlo (dry-run) — na stránke Pravidlá otestujte, či by sa pravidlo zhodovalo a aké akcie by sa vykonali
Tip: Začnite testovaním pripojenia, potom každého koncového bodu, potom celého pravidla. Takto môžete izolovať problémy na každej úrovni.
Bezpečnosť
- Šifrovanie v pokoji — všetky prihlasovacie údaje sú pred uložením šifrované pomocou libsodium
- Nikdy sa nezobrazujú — API odpovede nikdy neobsahujú dešifrované prihlasovacie údaje, iba maskované hodnoty
- SSRF ochrana — enuchat blokuje volania na localhost, privátne IP adresy a interné hostitele
- Timeout — externé API volania majú 5-sekundový timeout na zabránenie zaseknutiu
- Cachovanie OAuth2 tokenu — prístupové tokeny sú bezpečne cachované a automaticky obnovované
- Izolácia tenantov — pripojenia sú obmedzené na váš tenant, nedostupné ostatným