Skip to main content
Alapértelmezés szerint minden telefonszámhoz és közzétehető kulcshoz statikus AI-ügynök van hozzárendelve. Ha hívónkénti vagy látogatónkénti testreszabásra van szüksége — VIP-irányítás, bejelentkezett felhasználói kontextus, A/B prompttesztek — váltson webhook módra, és hagyja, hogy a szervere döntsön.

Hogyan működik

  1. Iratkozzon fel a telephony.incoming (telefon) vagy a web.incoming (widget) eseményre. Mindkettő blokkoló webhook: a ThunderPhone legfeljebb 10 másodpercig vár a válaszára, mielőtt folytatná a hívást.
  2. A ThunderPhone elküldi Önnek a következőt: {call_id, from_number, to_number} (a widgetes munkamenetek számok helyett widgetspecifikus mezőket tartalmaznak — lásd a kérési sémát).
  3. A szervere egy ügynökkonfigurációval válaszol (prompt, hang, termék, eszközök). A ThunderPhone ezt a konfigurációt használja a híváshoz.
  4. Ha {} értéket ad vissza, időtúllépés történik, vagy hiba lép fel, a statikusan hozzárendelt AI-ügynök lesz használva tartalékként. Biztonságos alapértelmezés.
Telefonhívásoknál (telephony.incoming) és widgetes munkameneteknél (web.incoming) is ugyanúgy működik, függetlenül attól, hogy webhookvégpontra vagy a régi, egyetlen URL-es webhookra érkezik.

1. Konfigurálja a webhook célhelyét

Telefonszámok esetén iratkoztassa fel a végpontját a telephony.incoming eseményre:
A válasz egy egyszer használatos secret értéket tartalmaz — mentse el; ezt fogja használni az aláírás ellenőrzéséhez.

2. A kezelő implementálása

Három alapszabály:
  • Ellenőrizze az aláírást minden kérésnél (lásd: Webhook-aláírások ellenőrzése). Ezt fejlesztés közben se hagyja ki — egyszer állítsa be helyesen, majd használja újra.
  • Válaszoljon gyorsan. Tíz másodperc a szigorú felső korlát, és minden másodperc néma várakozás a hívó számára. Szükség esetén végezzen adatbázis-lekérdezéseket, de ne hívjon szinkron módon későbbi LLM-eket — ha dinamikus promptgenerálást szeretne, számítsa ki előre és tárolja gyorsítótárban.
  • Alkalmazzon tiszta tartalék megoldást. Minden váratlan állapotnak {} értéket kell visszaadnia, hogy a statikusan hozzárendelt ügynök kezelje a hívást.

3. Válaszséma

A válasz törzse pontosan megfelel a bejövő hívások válaszsémájának. A gyakran használt mezők:
A hívásonkénti beszédsorrend és a max_hold_seconds nem érhető el a webhookválaszban. Állítsa be ezeket a hivatkozott AI-ügynökön.

Minták

Bejelentkezett felhasználói környezet

Webhook módú widgeteknél a látogató oldala már tudja, ki ő. Hívja meg webhookját egy olyan lekérdezési sztringparaméterrel, amelyet a widget SDK továbbít (?customer_id=123), és keresse ki az ügyfelet szerveroldalon.

A/B prompt bevezetése

Mielőtt ezt saját maga valósítaná meg, vegye figyelembe, hogy a ThunderPhone natív Kísérletek funkcióval rendelkezik (/dashboard/experiments és az ügynökszerkesztő A/B lapja), amely változatokat határoz meg, felosztja a forgalmat, és változatonként hasonlítja össze az eredményeket — webhook nélkül. Ha mégis webhookoldali vezérlésre van szüksége: hashelje a call_id értékét → kosár; a 0..49 esetén az A promptot, az 50..99 esetén a B promptot szolgálja ki. Rögzítse, melyik kosarat választotta a saját adatbázisában, majd később vesse össze a befejezett hívás értékelésével.

Időalapú útválasztás

Nyitvatartási idő → „élő támogatási” ügynök; nyitvatartási időn kívül → „üzenet rögzítése” ügynök. Egyszerű elágaztatás a kezelőben a new Date().getUTCHours() alapján.

Következő lépések

Bejövő hívások webhook-referenciája

Pontos kérés- és válaszsémák, minden konfigurációs kulccsal együtt.

Webhook-aláírások ellenőrzése

Állítsa be helyesen egyszer a HMAC-et; használja újra mindenhol.

Eszközintegráció létrehozása

Kombinálja a dinamikus útválasztást ügynökönkénti eszközökkel.

Kézbesítési szemantika

Újrapróbálkozások, sorrendiség, időkorlátok.