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

  1. Konfigurirajte vezu — bazni URL vašeg API-ja i autentifikacija
  2. Dodajte endpointe — specifični API pozivi s predlošcima putanje i mapiranjem odgovora
  3. Stvorite pravilo — AI ili statičko pravilo s CALL_API radnjom
  4. Posjetitelj postavi pitanje — pravilo se aktivira, poziva vaš API, mapira odgovor u sesijske varijable
  5. 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:

PoljeOpisPrimjer
NazivOznaka za ovu vezuHotel Booking API
Bazni URLKorijenski URL API-jahttps://api.hotel.com/v1
Tip autentifikacijeNačin autentifikacijeBearer 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.

PoljeOpis
KljučVrijednost vašeg API ključa
Naziv zaglavljaZaglavlje 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.

PoljeOpis
Token URLOAuth token endpoint (npr. https://auth.example.com/oauth/token)
Client IDVaš OAuth client ID
Client SecretVaš OAuth client secret
ScopeOpsezi 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.

PoljeOpisPrimjer
NazivOznaka za ovaj endpointProvjera dostupnosti
MetodaHTTP metodaGET, POST, PUT, DELETE
PutanjaURL putanja (dodaje se baznom URL-u). Koristite {'{'}variable} za dinamičke vrijednosti/rooms/{'{'}roomId}/availability
Parametri upitaURL parametri kao parovi ključ-vrijednost. Vrijednosti podržavaju {'{'}variable}date={'{'}checkIn}
Predložak tijelaJSON tijelo za POST/PUT. Podržava {'{'}variable} interpolaciju{'{'}"guest": "{'{'}name}"}
Mapiranje odgovoraMapirajte JSON polja odgovora u sesijske varijable koristeći dot notacijudata.available → room_available
OpisKontekst 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.statusorder_status, data.etadelivery_eta

Pravilo (AI tip): "Kada posjetitelj pita o statusu narudžbe ili dostavi"

Radnje:

  1. CALL_API → endpoint statusa narudžbe
  2. REPLY_AI → AI koristi order_status i delivery_eta za 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 pricecurrent_price, currencyprice_currency

Pravilo (statičko): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i

Radnje:

  1. CALL_API → endpoint za cijene
  2. 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