Skip to main content
Mọi nội dung webhook đều có trường type với giá trị là một trong các loại sự kiện trên trang này. Khi bạn đăng ký một endpoint, mảng events phải chứa các loại sự kiện bạn muốn nhận (hoặc để trống để đăng ký mọi sự kiện). Có hai kiểu gửi các sự kiện này:
  • Gửi đến endpoint luôn là thông báo không chặncơ chế thử lại: phản hồi bằng bất kỳ mã 2xx nào; envelope chứa event_id để khử trùng lặp.
  • Các trao đổi chặn chỉ chạy trên webhook URL đơn cũ: yêu cầu cấu hình telephony.incoming / web.incoming (số ở chế độ webhook và khóa widget, thời gian chờ 10 giây) và điều phối tool ở chế độ webhook. Phản hồi của bạn định hình cuộc gọi trực tiếp.
Các payload ví dụ bên dưới hiển thị envelope endpoint theo thứ tự trên wire (các khóa được sắp xếp theo thứ tự chữ cái: data, event_id, type); các lần gửi cũ có cùng data nhưng không có event_id.

Sự kiện cuộc gọi

telephony.incoming

Được gửi khi một cuộc gọi đến đến một trong các số điện thoại của bạn. Các lần gửi đến endpoint là thông báo fire-and-forget được gửi cho mọi cuộc gọi đến, dù số đó được cấu hình tác nhân AI hay cấu hình webhook. Các số không có tác nhân AI được chỉ định cũng nhận yêu cầu cấu hình chặn trên webhook cũ — xem telephony.incoming / web.incoming để biết schema yêu cầu / phản hồi đầy đủ.

telephony.complete

Được gửi khi một cuộc gọi viễn thông đến hoặc đi kết thúc. Không chặn. Bao gồm bản chép lời đầy đủ, URL bản ghi âm và tóm tắt thanh toán. Xem telephony.complete / web.complete để biết schema payload.

telephony.tool

Được gửi sau khi một cuộc gọi viễn thông gọi một công cụ hàm. Thông báo kiểm tra không chặn — công cụ đã được thực thi khi sự kiện này được gửi; sự kiện này bao gồm các công cụ hàm của riêng bạn (không bao gồm công cụ tích hợp sẵn, cơ sở kiến thức, kết nối ứng dụng hoặc MCP).
response là kết quả đã thực thi: {"status": <http status>, "response": <your endpoint's JSON>} khi thành công hoặc {"status": <status>, "error": "<message>"} khi thất bại.

web.incoming

Tương đương với telephony.incoming trên kênh web, được gửi khi một phiên widget web hoặc cuộc gọi kiểm tra mic trong trình tạo bắt đầu. Các lần gửi đến endpoint là fire-and-forget cho mọi phiên web. Các khóa có thể công khai trong mode="webhook" cũng nhận yêu cầu cấu hình chặn trên webhook cũ — yêu cầu chặn đó có cấu trúc khác (origin_domain, publishable_key_prefix; không có số điện thoại). Xem telephony.incoming / web.incoming.
from_number luôn là giá trị chuỗi "web". Với các phiên widget ở chế độ webhook, to_number trống (số tác nhân AI của phiên được chỉ định sau khi cấu hình); với các cuộc gọi kiểm tra mic trong trình tạo, origin_domainpublishable_key_prefix trống.

web.complete

Tương đương với telephony.complete trên kênh web, bao gồm các cuộc gọi widget web (direction: "web") và cuộc gọi kiểm tra mic trong trình tạo (direction: "test"). Không chặn. Có cấu trúc payload giống telephony.complete, bổ sung origin_domain, với from_number được đặt thành "web".
Trên webhook cũ có một URL duy nhất, các cuộc gọi kiểm tra mic trong trình tạo trước đây được báo cáo là telephony.complete — chỉ các cuộc gọi direction: "web" mới sử dụng loại web.complete tại đó. Hệ thống endpoint ánh xạ cả cuộc gọi web và cuộc gọi kiểm tra thành web.*. Payload cũ có thể chứa các giá trị direction cũ là widget hoặc mic.

web.tool

Tương đương với telephony.tool trên kênh web. data chứa origin_domain thay vì from_number / to_number.

Sự kiện chất lượng

call.graded

Được gửi mỗi khi một lần chạy chấm điểm AI hoàn tất cho một cuộc gọi. Không chặn.
Một cuộc gọi có thể được chấm điểm nhiều lần — điểm đánh giá heuristic nhanh thường được theo sau bởi điểm đánh giá từ mô hình đầy đủ khi bản ghi âm khả dụng, và cũng có thể chấm điểm lại thủ công. Mỗi lần chạy hoàn tất sẽ gửi sự kiện call.graded riêng; coi graded_at mới nhất là nguồn xác thực.

issue.reported

Được gửi khi một báo cáo vấn đề được tạo — do người dùng gửi từ dashboard (source: "user") hoặc tự động bởi quá trình chấm điểm cuộc gọi (source: "system"). Không chặn.
Chấm điểm lại một cuộc gọi sẽ tạo lại các báo cáo vấn đề do hệ thống tạo, từ đó gửi lại issue.reported cho các báo cáo được tạo lại. Khử trùng lặp theo call_id + title nếu bạn chỉ muốn một thông báo cho mỗi vấn đề cơ bản.

Sự kiện cuộc gọi kiểm thử

test-call.completed

Được gửi khi một lần chạy cuộc gọi kiểm thử đạt trạng thái kết thúc — completed hoặc failed, bao gồm cả các lần chạy thất bại khi khởi chạy và không bao giờ tạo cuộc gọi. Không chặn. Hữu ích để kết nối các lần chạy CI hàng loạt với hệ thống chat/thông báo của bạn.

Sự kiện cảnh báo

alert.triggered

Được gửi khi một quy tắc cảnh báo có kênh Gửi đến webhook nhà phát triển được bật vượt ngưỡng. Không chặn. Một quy tắc kích hoạt một lần rồi tuân theo thời gian hồi, vì vậy một vi phạm kéo dài tạo một sự kiện cho mỗi khoảng thời gian hồi.
Xem hướng dẫn Cảnh báo để tạo quy tắc, chỉ số, thời gian hồi và các kênh email / Slack.

Liên quan

telephony.incoming / web.incoming

Payload cuộc gọi đến có tính chặn mà bạn phải phản hồi.

telephony.complete / web.complete

Bản ghi cuộc gọi và chỉ số sau cuộc gọi.

Điểm cuối webhook

Đăng ký một URL cho một tập hợp con của các sự kiện này.

Công cụ hàm

Cách các sự kiện telephony.tool / web.tool được tạo.