Hogyan működik
- Iratkozzon fel a
telephony.incoming(telefon) vagy aweb.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. - 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). - 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.
- 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
- Telefonhívások
- Webes widget
Telefonszámok esetén iratkoztassa fel a végpontját a A válasz egy egyszer használatos
telephony.incoming eseményre: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 anew 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.