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
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
typechỉ 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
challengekhá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
QuickReply
QuickReply
Carousel
Carousel
Ảnh kèm nút bấm được gửi dưới dạng carousel có 1 phần tử.
Reference
Reference
Attachment
Attachment
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
textluôn có mặt, kể cả khi cóbuttonshaycarousels. Đó 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,carouselsvàreferencesbị lược bỏ khi lượt trả lời không có. conversationIdvàfromcó 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ảirunId. - Nối dữ liệu theo
conversationId, đừng nối theorunId. - Trả
200ngay 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
Yêu cầu với Callback URL
- Giao thức
https(httpchỉ 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.