Skip to main content
Câu trả lời của Agent được gửi tới webhook của bạn bằng một lệnh POST đã ký, theo đúng cách ký của chiều gửi lên.

Kiểm chứng điểm cuối webhook

Trước khi tin nhắn thật đầu tiên tới, nút Kiểm tra callback trên Console gửi một yêu cầu đã ký để xác nhận điểm cuối của bạn hoạt động đúng.
Yêu cầu kiểm chứng
Để vượt qua, hãy trả về mã 2xx kèm phần thân JSON lặp lại đúng giá trị challenge:
  • Yêu cầu kiểm chứng được ký bằng đúng cách ký như mọi gói tin khác.
  • Trường type chỉ xuất hiện trên yêu cầu kiểm chứng, không bao giờ có trên tin nhắn thật.
  • Bắt buộc phải lặp lại challenge. Trả 200 suông là chưa đủ, vì một tên miền bỏ trống hay trang báo lỗi của CDN cũng trả về 200.
  • Mỗi lần kiểm chứng dùng một challenge khác nhau.
  • Chúng tôi không đi theo chuyển hướng 301/302/303; hãy trỏ thẳng tới địa chỉ cuối cùng.
  • Kết quả đạt chỉ có nghĩa điểm cuối trả lời đúng tại thời điểm đó, không phải một chứng nhận được lưu lại.

Cấu trúc sự kiện callback

Các trường tầng ngoài dùng kiểu lowerCamelCase (eventId, conversationId), còn các khối nội dung bên trong dùng snake_case (quick_replies, sub_title, image_url, file_name). Đây là chủ ý: các khối nội dung dùng chung bộ từ vựng với widget chat và lịch sử hội thoại.

Các khối nội dung

Hiện chưa có tính năng nào đặt tệp lên lượt trả lời của kênh API, nên trường attachments chưa xuất hiện trên callback. Bạn chưa cần viết nhánh xử lý cho nó.

Ví dụ nội dung sự kiện

Lưu ý khi xử lý callback

  • text luôn có mặt, kể cả khi có buttons hay carousels. Đó là phương án hiển thị dự phòng cho hệ thống chỉ hiển thị văn bản.
  • Danh sách rỗng thì vắng mặt, không phải []. buttons, quick_replies, carousels và references bị lược bỏ khi lượt trả lời không có.
  • conversationId và from có thể vắng mặt trên callback từ phiên bản cũ của nền tảng; hãy hiểu sự vắng mặt là chưa xác định.
  • Chống trùng theo eventId, không phải runId.
  • Nối dữ liệu theo conversationId, đừng nối theo runId.
  • Trả 200 ngay rồi xử lý bất đồng bộ. Mỗi lần gọi chỉ có 10 giây; xử lý chậm sẽ bị tính là thất bại và kích hoạt gửi lại.

Khi điểm cuối của bạn lỗi

Khi điểm cuối của bạn gián đoạn kéo dài, cơ chế giao nhận là nhiều nhất một lần, và hàng đợi lỗi không tự động phát lại cho bạn. Đường phục hồi là API đọc lại lịch sử hội thoại.

Yêu cầu với Callback URL

  • Giao thức https (http chỉ dùng được trong môi trường phát triển nội bộ).
  • Không nhúng thông tin đăng nhập trong URL; bạn xác thực chúng tôi bằng chữ ký.
  • Phải phân giải ra địa chỉ công khai trên Internet. Địa chỉ loopback, mạng nội bộ, link-local, unique-local, multicast và dải NAT của nhà mạng đều bị từ chối. Phép kiểm tra chạy ngay lúc kết nối.
  • Tối đa 2048 ký tự.
  • Trỏ thẳng tới địa chỉ cuối cùng, vì chúng tôi không đi theo chuyển hướng.