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.

Az egyedi akciók teszt funkció, és chatbotonként alapból ki vannak kapcsolva.

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.

Rendelés állapotának lekérdezéséhez Shopify, Shoprenter vagy UNAS webshopból nincs szükséged egyedi akcióra: erre beépített funkció van, amely az egyedi akciók kapcsolója nélkül is működik. Lásd: Rendelés állapota.

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

  1. 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.)
  2. Kapcsold be az Egyedi akciók kártya kapcsolóját (mellette a Teszt funkció jelölés).
  3. A Konfigurált akciók kártyán az Új akció gombbal hozz létre egy akciót.
  4. 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.
A ▶ próbakérés a valódi végpontot hívja meg, megerősítés nélkül. Író akciónál ez valódi módosítást jelent, ezért ilyenkor egy tesztvégpontot használj.

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 a required ré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).
Az URL-be nem lehet változót írni: egy 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ípusMit küld a Lexo
NincsNem küld hitelesítő fejlécet.
API kulcsAuthorization: Bearer <API kulcs>
Basic (felhasználónév/jelszó)Authorization: Basic <base64(felhasználónév:jelszó)>
Egyedi fejlécekA 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.

Az akciókhoz olyan API kulcsot adj meg, amely csak a szükséges adatokhoz fér hozzá (lehetőleg csak olvasási joggal, ha az akció csak olvas).

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.

Az eszközhasználat az Anthropic Claude modelleken (ezen fut a Lexo) és az OpenAI modelleken működik. Más szolgáltatónál (Gemini, Ollama) a chatbot eszközök nélkül válaszol, vagyis az akciók nem futnak le.

Í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

RendszerOlvasó 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 rendszerSzabad időpontok lekérdezéseFoglalás lemondása
KészletTermé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.