Skip to main content
Ketika panggilan telepon masuk mencapai nomor tanpa agen yang ditetapkan, atau sesi widget web dimulai pada kunci yang dapat dipublikasikan dalam mode="webhook", ThunderPhone mengirim permintaan telephony.incoming / web.incoming yang memblokir ke URL webhook lama Anda dan menunggu hingga 10 detik untuk respons konfigurasi. Gunakan pertukaran ini untuk memilih Prompt, suara, dan alat secara dinamis untuk setiap panggilan — lihat panduan konfigurasi panggilan dinamis untuk pola dari awal hingga akhir.
Endpoint webhook yang berlangganan juga menerima telephony.incoming / web.incoming — untuk setiap panggilan masuk dan sesi web, baik dikonfigurasi agen maupun tidak — tetapi pengiriman tersebut adalah notifikasi fire-and-forget dengan event_id, dan tidak pernah memblokir. Hanya webhook lama dengan satu URL yang membawa pertukaran konfigurasi di halaman ini. Bentuk notifikasi endpoint tersedia di katalog peristiwa.
Pertukaran yang memblokir tidak memiliki fallback: jika handler Anda mengembalikan status non-2xx, kehabisan waktu, atau mengembalikan konfigurasi yang gagal divalidasi, panggilan ditolak (panggilan telepon tidak tersambung; permintaan sesi widget gagal dengan 502/422). Respons dengan cepat — penelepon mendengar nada sambung saat Anda menentukan konfigurasi.

Payload permintaan

Untuk panggilan telepon (telephony.incoming):
Untuk sesi widget web (web.incoming), data mengidentifikasi halaman yang menyematkan widget, bukan nomor telepon:
Widget mode webhook mengirim permintaan ini ke webhook_url milik kunci yang dapat dipublikasikan jika ditetapkan, dengan fallback ke URL webhook tingkat organisasi. Keduanya ditandatangani dengan secret webhook organisasi.

Skema respons

Kembalikan objek JSON yang menjelaskan konfigurasi agen untuk panggilan ini. prompt dan voice wajib diisi; semua yang lain bersifat opsional.
Kunci tingkat atas yang tidak dikenal akan diabaikan secara diam-diam — nama bidang yang salah ketik tidak menolak konfigurasi, tetapi tidak diterapkan. Urutan bicara dan max_hold_seconds tidak diterima di sini; keduanya hanya dapat dikonfigurasi pada Agent itu sendiri.
Karena prompt dan voice wajib diisi, mengembalikan {} atau respons apa pun yang gagal divalidasi akan menolak panggilan dengan 422 — tidak ada fallback agen statis pada jalur ini (nomor atau kunci dalam mode webhook tidak memiliki agen yang ditetapkan).

Contoh handler


Respons dengan function tools

Lampirkan tools agar AI dapat memanggil API Anda di tengah percakapan:
Permintaan endpoint tool ditandatangani dengan secret webhook organisasi yang sama yang menandatangani pertukaran ini. Lihat Function Tools untuk struktur yang tepat dan format permintaan yang ditandatangani.

Ringkasan tingkatan produk


Terkait

telephony.complete / web.complete

Peristiwa akhir panggilan yang tidak memblokir.

Function Tools

Skema JSON lengkap untuk tools[] dan kontrak endpoint yang ditandatangani.

Endpoint webhook

Langganankan beberapa URL ke telephony.incoming / web.incoming.

Konfigurasi panggilan dinamis

Pola untuk Prompt, tools, dan pengujian A/B per penelepon.