Skip to main content
Când un apel telefonic de intrare ajunge la un număr fără un agent alocat sau când începe o sesiune de widget web pe o cheie publicabilă în mode="webhook", ThunderPhone trimite o solicitare blocantă telephony.incoming / web.incoming către URL-ul webhook vechi și așteaptă până la 10 secunde un răspuns de configurare. Utilizați acest schimb pentru a alege dinamic un prompt, o voce și instrumente pentru fiecare apel — consultați ghidul de configurare dinamică a apelurilor pentru modelul complet.
Endpointurile webhook abonate primesc, de asemenea, telephony.incoming / web.incoming — pentru fiecare apel de intrare și sesiune web, indiferent dacă are un agent configurat sau nu — însă aceste livrări sunt notificări fără așteptare, cu un event_id, niciodată blocante. Doar webhookul vechi cu un singur URL gestionează schimbul de configurare de pe această pagină. Formatele notificărilor endpointurilor sunt în catalogul de evenimente.
Schimbul blocant nu are rezervă: dacă handlerul dumneavoastră returnează un status non-2xx, expiră sau returnează o configurație care nu trece validarea, apelul este respins (apelul telefonic nu se conectează; solicitarea sesiunii widgetului eșuează cu 502/422). Răspundeți rapid — apelantul aude tonul de apel în timp ce decideți.

Payloadul solicitării

Pentru apeluri telefonice (telephony.incoming):
Pentru sesiunile widgetului web (web.incoming), data identifică pagina de integrare în locul numerelor de telefon:
Widgeturile în mod webhook livrează această solicitare la propriul webhook_url al cheii publicabile atunci când este setat, revenind la URL-ul webhook de la nivelul organizației. În ambele cazuri, solicitarea este semnată cu secret al webhookului organizației.

Schema răspunsului

Returnați un obiect JSON care descrie configurația agentului pentru acest apel. prompt și voice sunt obligatorii; toate celelalte sunt opționale.
Cheile necunoscute de nivel superior sunt ignorate în mod silențios — un nume de câmp scris greșit nu respinge configurația, doar că nu se aplică. Ordinea de vorbire și max_hold_seconds nu sunt acceptate aici; pot fi configurate doar pentru Agent.
Deoarece prompt și voice sunt obligatorii, returnarea lui {} sau a oricărui răspuns care nu trece validarea respinge apelul cu 422 — nu există o rezervă de agent static pe această rută (un număr sau o cheie în modul webhook nu are un agent atribuit).

Limită de dimensiune a răspunsului

Răspunsurile de configurare sunt limitate la 5 MiB. Dacă un handler returnează un răspuns mai mare, inclusiv cu un status 2xx, ThunderPhone raportează că răspunsul a depășit limita și respinge apelul sau sesiunea widget. Păstrați în răspuns doar câmpurile necesare pentru configurarea apelului; găzduiți datele mari în spatele instrumentelor de funcții sau al unui alt serviciu, în loc să le încorporați în configurație.

Exemplu de handler


Răspuns cu instrumente de funcții

Atașați instrumente pentru ca AI-ul să vă poată apela API-urile în timpul conversației:
Cererile către endpointurile instrumentelor sunt semnate cu același secret webhook al organizației care a semnat acest schimb. Consultați Instrumente de funcții pentru structura exactă și formatul cererii semnate.

Fișă rapidă a nivelurilor de produs


Asociate

telephony.complete / web.complete

Evenimentul neblocant de finalizare a apelului.

Instrumente de funcții

Schema JSON completă pentru tools[] și contractul endpointului semnat.

Endpointuri webhook

Abonați mai multe URL-uri la telephony.incoming / web.incoming.

Configurarea dinamică a apelului

Modele pentru prompturi, instrumente și teste A/B pentru fiecare apelant.