API veze

Povežite svoje vanjske API-je sa enuchatom kako bi AI i pravila mogli dohvaćati podatke u realnom vremenu iz vaših sistema.

Kako funkcioniše

API veze vam omogućavaju da integrišete enuchat sa vlastitim backend sistemima — booking engineima, CRM-ovima, upravljanjem narudžbama, inventarom i još više. Kada posjetitelj postavi pitanje, enuchat može pozvati vaš API da dobije stvarne podatke i uključi ih u odgovor.

Tok

  1. Konfigurišite vezu — osnovni URL vašeg API-a i autentifikaciju
  2. Dodajte endpointe — specifične API pozive sa šablonima putanje i mapiranjem odgovora
  3. Kreirajte pravilo — AI ili statičko pravilo sa CALL_API akcijom
  4. Posjetitelj postavlja pitanje — pravilo se pokreće, poziva vaš API, mapira odgovor u varijable sesije
  5. AI odgovara sa stvarnim podacima — varijable sesije su dostupne AI-u za generisanje tačnog odgovora

Primjer: Dostupnost hotelske sobe

Posjetitelj: "Je li soba 205 dostupna sljedeće sedmice?"

AI pravilo se podudara: "Kada posjetitelj pita o dostupnosti sobe"

CALL_API akcija: GET https://api.hotel.com/rooms/205/availability

Odgovor mapiran: room_available = true, price = "€120/noć"

AI odgovara: "Soba 205 je dostupna sljedeće sedmice za €120/noć. Želite li rezervisati?"

Postavljanje veze

Idite na Postavke → API veze u svom dashboardu.

1. Kreiranje veze

Veza predstavlja jedan vanjski API. Treba vam:

PoljeOpisPrimjer
NazivOznaka za ovu vezuHotel Booking API
Osnovni URLRoot URL API-ahttps://api.hotel.com/v1
Tip autentifikacijeKako se autentifikovatiBearer token, OAuth2, itd.

2. Tipovi autentifikacije

Bez

Za javne API-je koji ne zahtijevaju autentifikaciju.

API ključ

Šalje statički ključ kao zaglavlje ili query parametar.

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

Šalje se kao: Authorization: Basic dXNlcjpwYXNz

OAuth 2.0 (Client Credentials)

Automatski dohvaća access token i kešira ga do isteka. Najbolje za moderne API-je poput Salesforcea, Googlea ili prilagođenih OAuth servera.

PoljeOpis
Token URLOAuth token endpoint (npr. https://auth.example.com/oauth/token)
Client IDVaš OAuth client ID
Client SecretVaš OAuth client secret
OpsegRazmakom odvojeni opsegi (npr. read write)

enuchat automatski rješava životni ciklus tokena — dohvaća na prvi poziv, kešira do isteka, osvježava po potrebi.

Sigurnost: Sve vjerodajnice su enkriptovane u mirovanju koristeći libsodium. Nikada se ne izlažu u API odgovorima — samo maskirane vrijednosti se prikazuju u dashboardu.

Konfigurisanje endpointa

Svaka veza može imati više endpointa — specifične API pozive koje želite napraviti.

PoljeOpisPrimjer
NazivOznaka za ovaj endpointProvjera dostupnosti
MetodaHTTP metodaGET, POST, PUT, DELETE
PutanjaURL putanja (dodata na osnovni URL). Koristite {'{'}variable} za dinamičke vrijednosti/rooms/{'{'}roomId}/availability
Query parametriURL parametri kao parovi ključ-vrijednost. Vrijednosti podržavaju {'{'}variable}date={'{'}checkIn}
Šablon tijelaJSON tijelo za POST/PUT. Podržava interpolaciju {'{'}variable}{'{'}"guest": "{'{'}name}"}
Mapiranje odgovoraMapirajte polja JSON odgovora u varijable sesije koristeći dot notacijudata.available → room_available
OpisKontekst za AI (koje podatke ovaj endpoint vraća)Vraća dostupnost sobe i cijene

Interpolacija varijabli

Koristite {'{'}variableName} u putanjama, query parametrima i šablonima tijela. Varijable dolaze iz:

  • Varijable sesije — postavljene od strane prethodnih pravila (SET_VARIABLE akcija)
  • Parametri akcije — hardkodirani u akciji pravila CALL_API

Mapiranje odgovora

Mapirajte polja JSON odgovora u varijable sesije 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 čuvaju kao varijable sesije na razgovoru i dostupne su AI-u za generisanje odgovora.

Korištenje sa pravilima

API pozivi se pokreću akcijom CALL_API u pravilima. Možete ih kombinovati sa drugim akcijama.

Recept: Pretraga 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 svoje narudžbe ili dostavi"

Akcije:

  1. CALL_API → Order Status endpoint
  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 se trenutno šalje i trebala bi stići do četvrtka."

Recept: Cijene u realnom 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

Akcije:

  1. CALL_API → Pricing endpoint
  2. REPLY_TEXT → "Trenutna cijena je {'{'}current_price} {'{'}price_currency}."

Testiranje

Uvijek testirajte svoje veze i endpointe prije nego što ih koristite u pravilima:

  • Test veze — provjerava da li autentifikacija radi (za OAuth2: dohvaća token)
  • Test endpointa — pravi stvarni API poziv sa primjer varijablama i prikazuje odgovor
  • Test pravila (dry-run) — na stranici Pravila, testirajte da li bi se pravilo podudarilo i koje bi se akcije izvršile

Savjet: Počnite testiranjem veze, zatim svakog endpointa, zatim kompletnog pravila. Na ovaj način možete izolirati probleme na svakom nivou.

Sigurnost

  • Enkripcija u mirovanju — sve vjerodajnice su enkriptovane koristeći libsodium prije pohrane
  • Nikada izložene — API odgovori nikada ne uključuju dekriptovane vjerodajnice, samo maskirane vrijednosti
  • SSRF zaštita — enuchat blokira pozive na localhost, privatne IP-ove i interne hostname-ove
  • Timeout — vanjski API pozivi imaju 5-sekundni timeout kako bi se spriječilo visenje
  • OAuth2 keširanje tokena — access tokeni se sigurno keširaju i automatski osvježavaju
  • Izolacija tenanta — veze su ograničene na vaš tenant, nedostupne drugima

Spremni da povežete svoje API-je?

Počnite integrisati svoje sisteme sa enuchatom već danas.

Započnite besplatno