API povezivanja
Povežite svoje vanjske API-je s enuchatom kako bi AI i pravila mogli dohvaćati podatke u stvarnom vremenu iz vaših sustava.
Kako funkcionira
API povezivanja omogućuju integraciju enuchata s vašim vlastitim backend sustavima — sustavima za rezervacije, CRM-ovima, upravljanjem narudžbama, inventarom i više. Kada posjetitelj postavi pitanje, enuchat može pozvati vaš API za dobivanje stvarnih podataka i uključiti ih u odgovor.
Tijek
- Konfigurirajte vezu — bazni URL vašeg API-ja i autentifikacija
- Dodajte endpointe — specifični API pozivi s predlošcima putanje i mapiranjem odgovora
- Stvorite pravilo — AI ili statičko pravilo s CALL_API radnjom
- Posjetitelj postavi pitanje — pravilo se aktivira, poziva vaš API, mapira odgovor u sesijske varijable
- AI odgovara sa stvarnim podacima — sesijske varijable su dostupne AI-ju za generiranje točnog odgovora
Primjer: Dostupnost hotelskih soba
Posjetitelj: "Je li soba 205 dostupna sljedeći tjedan?"
AI pravilo se podudara: "Kada posjetitelj pita o dostupnosti soba"
CALL_API radnja: GET https://api.hotel.com/rooms/205/availability
Odgovor mapiran: room_available = true, price = "€120/noć"
AI odgovara: "Soba 205 je dostupna sljedeći tjedan po cijeni od €120/noć. Želite li je rezervirati?"
Postavljanje veze
Idite na Postavke → API povezivanja u nadzornoj ploči.
1. Stvorite vezu
Veza predstavlja jedan vanjski API. Trebat će vam:
| Polje | Opis | Primjer |
|---|---|---|
| Naziv | Oznaka za ovu vezu | Hotel Booking API |
| Bazni URL | Korijenski URL API-ja | https://api.hotel.com/v1 |
| Tip autentifikacije | Način autentifikacije | Bearer Token, OAuth2, itd. |
2. Tipovi autentifikacije
Bez autentifikacije
Za javne API-je koji ne zahtijevaju autentifikaciju.
API ključ
Šalje statički ključ kao zaglavlje ili parametar upita.
| Polje | Opis |
|---|---|
| Ključ | Vrijednost vašeg API ključa |
| Naziv zaglavlja | Zaglavlje koje se koristi (zadano: X-Api-Key) |
Ključ se šalje kao: X-Api-Key: your_key_here
Bearer Token
Šalje statički token u Authorization zaglavlju.
Šalje se kao: Authorization: Bearer your_token_here
Basic Auth
Šalje korisničko ime i lozinku, base64-kodirano.
Šalje se kao: Authorization: Basic dXNlcjpwYXNz
OAuth 2.0 (Client Credentials)
Automatski dohvaća pristupni token i sprema ga u predmemoriju do isteka. Najbolje za moderne API-je poput Salesforcea, Googlea ili prilagođenih OAuth poslužitelja.
| Polje | Opis |
|---|---|
| Token URL | OAuth token endpoint (npr. https://auth.example.com/oauth/token) |
| Client ID | Vaš OAuth client ID |
| Client Secret | Vaš OAuth client secret |
| Scope | Opsezi odvojeni razmakom (npr. read write) |
enuchat automatski upravlja životnim ciklusom tokena — dohvaća pri prvom pozivu, sprema u predmemoriju do isteka, osvježava kada je potrebno.
Sigurnost: Sve vjerodajnice su enkriptirane u mirovanju koristeći libsodium. Nikada se ne izlažu u API odgovorima — samo maskirane vrijednosti se prikazuju u nadzornoj ploči.
Konfiguriranje endpointa
Svaka veza može imati više endpointa — specifičnih API poziva koje želite napraviti.
| Polje | Opis | Primjer |
|---|---|---|
| Naziv | Oznaka za ovaj endpoint | Provjera dostupnosti |
| Metoda | HTTP metoda | GET, POST, PUT, DELETE |
| Putanja | URL putanja (dodaje se baznom URL-u). Koristite {'{'}variable} za dinamičke vrijednosti | /rooms/{'{'}roomId}/availability |
| Parametri upita | URL parametri kao parovi ključ-vrijednost. Vrijednosti podržavaju {'{'}variable} | date={'{'}checkIn} |
| Predložak tijela | JSON tijelo za POST/PUT. Podržava {'{'}variable} interpolaciju | {'{'}"guest": "{'{'}name}"} |
| Mapiranje odgovora | Mapirajte JSON polja odgovora u sesijske varijable koristeći dot notaciju | data.available → room_available |
| Opis | Kontekst za AI (koje podatke ovaj endpoint vraća) | Vraća dostupnost soba i cijene |
Interpolacija varijabli
Koristite {'{'}variableName} u putanjama, parametrima upita i predlošcima tijela. Varijable dolaze iz:
- Sesijske varijable — postavljene prethodnim pravilima (SET_VARIABLE radnja)
- Parametri radnje — ugrađeni u CALL_API pravilu
Mapiranje odgovora
Mapirajte JSON polja odgovora u sesijske varijable koristeći dot notaciju:
// 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"Mapirane varijable se pohranjuju kao sesijske varijable na razgovoru i dostupne su AI-ju za generiranje odgovora.
Korištenje s pravilima
API pozivi se pokreću CALL_API radnjom u pravilima. Možete ih kombinirati s drugim radnjama.
Recept: Provjera statusa narudžbe
Veza: Order Management API — https://api.shop.com/v2 — Bearer Token
Endpoint: GET /orders/{'{'}orderId} → mapira data.status → order_status, data.eta → delivery_eta
Pravilo (AI tip): "Kada posjetitelj pita o statusu narudžbe ili dostavi"
Radnje:
- CALL_API → endpoint statusa narudžbe
- REPLY_AI → AI koristi
order_statusidelivery_etaza odgovor
Rezultat: Posjetitelj: "Gdje je moja narudžba #4521?" — AI: "Vaša narudžba #4521 trenutno se otprema i trebala bi stići do četvrtka."
Recept: Cijene u stvarnom vremenu
Veza: Pricing API — https://pricing.example.com — API ključ
Endpoint: GET /products/{'{'}productId}/price → mapira price → current_price, currency → price_currency
Pravilo (statičko): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i
Radnje:
- CALL_API → endpoint za cijene
- REPLY_TEXT → "Trenutna cijena je {'{'}current_price} {'{'}price_currency}."
Testiranje
Uvijek testirajte veze i endpointe prije korištenja u pravilima:
- Testiraj vezu — provjerava funkcionira li autentifikacija (za OAuth2: dohvaća token)
- Testiraj endpoint — izvršava stvarni API poziv s primjernim varijablama i prikazuje odgovor
- Testiraj pravilo (suhi rad) — na stranici Pravila, testirajte bi li se pravilo podudarilo i koje bi se radnje izvršile
Savjet: Počnite testiranjem veze, zatim svakog endpointa, pa potpunog pravila. Na taj način možete izolirati probleme na svakoj razini.
Sigurnost
- Enkripcija u mirovanju — sve vjerodajnice su enkriptirane koristeći libsodium prije pohrane
- Nikada izložene — API odgovori nikada ne uključuju dekriptirane vjerodajnice, samo maskirane vrijednosti
- SSRF zaštita — enuchat blokira pozive na localhost, privatne IP adrese i interne hostove
- Vremensko ograničenje — vanjski API pozivi imaju vremensko ograničenje od 5 sekundi kako bi se spriječilo vješanje
- OAuth2 predmemorija tokena — pristupni tokeni se sigurno spremaju u predmemoriju i automatski osvježavaju
- Izolacija korisnika — veze su ograničene na vašeg korisnika, nedostupne drugima
Spremni povezati svoje API-je?
Započnite integraciju svojih sustava s enuchatom već danas.
Započnite besplatno