Egyedi akciók (CRM/API)
A chatbot beszélgetés közben valós adatot kérdezhet le külső rendszerekből, és megerősítés után adatot is írhat beléjük.
Egy egyedi akcióval a chatbot a beszélgetés közben meghívja a te API-dat: lekérdezi egy ügyfél adatait a CRM-ből, megnézi a szabad időpontokat, vagy rögzít egy igényt. Ehhez elég egy HTTP végpont, amelyet az internetről el lehet érni.
Mi az az egyedi akció?
Egy akció egy HTTP végpont hívása, amelyet az AI indít el, ha a beszélgetés megkívánja. Az AI dönti el, hogy szükség van-e rá, és ő tölti ki a paramétereit a beszélgetésből (pl. a látogató által megadott ügyfélszámmal).
Bekapcsolás
- Nyisd meg a chatbot Egyedi akciók oldalát. (A Beállítások → Integrációk oldal Egyedi akciók részében is minden chatbotnál van egy Beállítás gomb, amely ide visz.)
- Kapcsold be az Egyedi akciók kártya kapcsolóját (mellette a Teszt funkció jelölés).
- A Konfigurált akciók kártyán az Új akció gombbal hozz létre egy akciót.
- A listában minden akciónak saját kapcsolója van: kikapcsolva a chatbot nem hívja meg. A ▶ gomb azonnal elküld egy próbakérést (paraméterek nélkül), és megmutatja a választ.
Olvasó és író akciók
- Olvasás (read): adatot kérdez le (pl. ügyfél státusza, szabad időpontok). Azonnal lefut, a választ az AI beépíti a válaszába.
- Írás (write): adatot módosít (pl. igény rögzítése, foglalás lemondása). Soha nem fut le magától: a chatbot előbb elmondja, mi fog történni, és csak a látogató „igen” válasza után hajtja végre. Lásd lent.
Egy akció mezői
- Név: a listában látod (pl. „Ügyfél státusza”).
- Leírás: ezt olvassa az AI, ebből dönti el, mikor hívja meg az akciót. Írd le pontosan, mire való és mikor kell használni.
- Végpont URL: a teljes cím, pl.
https://api.pelda.hu/status. - HTTP metódus: GET, POST, PUT vagy DELETE.
- Akció típusa: Olvasás (read) vagy Írás (write).
- Hitelesítés típusa: Nincs, API kulcs, Basic vagy Egyedi fejlécek.
- Paraméterek sémája (JSON): JSON Schema formában a paraméterek, amelyeket az AI a beszélgetésből tölt ki. A
propertiesés arequiredrészt használja; a paraméterek leírása segít az AI-nak. - Engedélyezve: az akció kapcsolója.
Hogyan megy ki a kérés?
- GET: a paraméterek query stringként kerülnek az URL végére, pl.
https://api.pelda.hu/status?customer_id=4821. Ha az URL-ben már van?, a paraméterek&jellel fűződnek hozzá. - POST, PUT, DELETE: a paraméterek JSON törzsben mennek (
Content-Type: application/json).
https://api.pelda.hu/orders/{id} formájú cím szó szerint így menne ki. Ha az API-d útvonalban várja az azonosítót, készíts hozzá egy végpontot, amely query paraméterként vagy JSON törzsben is elfogadja.Hitelesítés
| Típus | Mit küld a Lexo |
|---|---|
| Nincs | Nem küld hitelesítő fejlécet. |
| API kulcs | Authorization: Bearer <API kulcs> |
| Basic (felhasználónév/jelszó) | Authorization: Basic <base64(felhasználónév:jelszó)> |
| Egyedi fejlécek | A JSON-ben megadott kulcs-érték párokat, fejlécként, pl. {"X-Api-Key": "…"} |
A hitelesítő adatokat csak a Lexo szervere használja a kéréshez. A látogató böngészőjébe nem kerülnek, és az AI sem kapja meg őket, így a chatbot válaszaiban sem jelenhetnek meg.
Hogyan dönt az AI?
Minden bekapcsolt akció eszközként (tool) jut el az AI-hoz: a neve, a leírása és a paraméterek sémája. Az AI a beszélgetés alapján dönti el, hogy meghívja-e, és kinyeri a szükséges paramétereket a látogató üzeneteiből. Ha egy hívás nem sikerül, az AI azt mondja a látogatónak, hogy az adat most nem érhető el, a beszélgetés pedig megy tovább.
Írás megerősítése
Ha az AI író akciót hívna meg, az akció nem fut le. A chatbot egy-két mondatban elmondja, mi fog történni, és megkéri a látogatót, hogy írja be: „igen” vagy „nem”.
Chatbot: „Rögzítem a visszahívási kérésedet holnap 10:00-ra a +36 30 123 4567 számra.
Ha mehet, írd be: igen. Ha nem, írd be: nem."
Látogató: „igen"
Chatbot: „A művelet sikeresen végrehajtva."- A függő műveletet a szerver tárolja, legfeljebb 10 percig. A böngésző nem látja sem az akciót, sem a paramétereit, így azokat nem lehet kívülről megváltoztatni.
- A rendszer egész szavakat figyel. Igennek számít pl. az igen, ok, oké, rendben, persze, mehet, jó; nemnek a nem, ne, mégse, mégsem, hagyd. Ha a válaszban nemleges szó is van, az nyer.
- Végrehajtás előtt a szerver újra ellenőrzi, hogy az akció még létezik, be van kapcsolva, és az egyedi akciók is be vannak kapcsolva a chatbotnál.
- Sikeres hívás után a chatbot a fenti állandó szöveggel válaszol („A művelet sikeresen végrehajtva.”), hiba esetén jelzi, hogy a művelet nem sikerült.
- Nemleges válaszra: „Rendben, nem hajtom végre a műveletet.” Ha a válasz se nem igen, se nem nem, a függő művelet elvész, és a chatbot a szokásos módon válaszol az üzenetre.
Korlátok és biztonság
- Csak nyilvános cím: a chatbot nem hívhat belső vagy privát hálózati címet (pl.
localhost,10.x.x.x,192.168.x.x, felhős metaadat-végpontok). A rendszer a névfeloldás után, a kapcsolódás pillanatában ellenőrzi a tényleges IP-címet. Részletek: Biztonság és adatvédelem. - Nincs átirányítás: a 3xx válaszokat a rendszer nem követi.
- Időkorlát: a teljes válasznak 10 másodpercen belül meg kell érkeznie.
- Válaszméret: a válaszból legfeljebb az első 10 KB-ot használja a rendszer. Adj vissza tömör JSON-t, csak a szükséges mezőkkel.
- Metódusok: csak GET, POST, PUT és DELETE.
Példa: rendelés lekérdezése saját API-ból
Ha a webshopod nem Shopify, Shoprenter vagy UNAS, a rendelés állapotát egy saját végponttal is lekérdezheted. Tegyük fel, hogy van egy ilyen végpontod:
GET https://api.pelda.hu/order-status?order_number=ORD-4821&email=kovacs.peter@example.com
Authorization: Bearer <API kulcs>
// Válasz:
{
"order_number": "ORD-4821",
"status": "shipped",
"estimated_delivery": "2026-10-15",
"tracking_url": "https://…"
}Az akció beállítása:
- Név: Rendelés állapota
- Leírás: „Ha a látogató a rendelése állapotáról kérdez, kérd el a rendelésszámot és a rendeléshez használt e-mail címet, majd hívd meg ezt az akciót.”
- Végpont URL:
https://api.pelda.hu/order-status - HTTP metódus: GET
- Akció típusa: Olvasás (read)
- Hitelesítés típusa: API kulcs
- Paraméterek sémája:
{
"type": "object",
"properties": {
"order_number": {
"type": "string",
"description": "A rendelés azonosítója, pl. ORD-4821"
},
"email": {
"type": "string",
"description": "A rendeléshez használt e-mail cím"
}
},
"required": ["order_number", "email"]
}A Lexo a két paramétert query stringként fűzi az URL végére, ahogy fent látod. Az e-mail cím azért kell, hogy a végpontod ellenőrizhesse: a kérdező tényleg a rendelés tulajdonosa. Ezt az ellenőrzést a te végpontodnak kell elvégeznie.
Látogató: „Hol tart az ORD-4821-es rendelésem? kovacs.peter@example.com"
Chatbot: [GET /order-status?order_number=ORD-4821&email=…]
Chatbot: „A rendelésedet feladtuk, a várható kézbesítés október 15.
Itt követheted: https://…"További ötletek
| Rendszer | Olvasó akció | Író akció |
|---|---|---|
| CRM | Ügyfél státusza ügyfélszám alapján | Új érdeklődő vagy visszahívási kérés rögzítése |
| Foglalási rendszer | Szabad időpontok lekérdezése | Foglalás lemondása |
| Készlet | Termék elérhetősége | Értesítés kérése, ha újra raktáron lesz |
Egyszerű időpontfoglaláshoz külső rendszer nélkül is van beépített megoldás: lásd az Időpontfoglalás oldalt.