Bạn có thể sao chép ứng dụng gọi lại mẫu bằng Glitch để tạo URL gọi lại công khai trên máy chủ của Glitch. Bạn có thể dùng URL này để thử nghiệm Webhooks. Mục đích của việc tạo dự án Glitch là dự án này ghi phần tải dữ liệu webhook vào một file nhật ký để bạn có thể xem tức thì khi webhook được kích hoạt.
Hướng dẫn này là một phần trong quy trình nhiều bước. Bạn phải hoàn tất một số bước này trước khi bắt đầu đặt cấu hình điểm cuối ứng dụng mẫu thông qua Glitch. Bạn phải hoàn tất các bước sau:
Hãy tham khảo phần Bắt đầu sử dụng API Đám mây của WhatsApp Business để xem hướng dẫn đầy đủ về cách bắt đầu sử dụng API Đám mây của WhatsApp Business, qua đó có thể gửi tin nhắn thử nghiệm đầu tiên.
.env
, hãy cập nhật giá trị của WEBHOOK_VERIFY_TOKEN
thành một chuỗi ngẫu nhiên mà bạn chọn. Sau đó, bạn có thể tùy ý sao chép giá trị của mã truy cập tạm thời/vĩnh viễn từ WhatsApp > Thiết lập API trong Bảng điều khiển ứng dụng rồi dán giá trị đó cho WHATSAPP_TOKEN
.
/webhook
vào cuối URL đó để có URL gọi lại hoàn chỉnh. URL này sẽ có dạng: https://<project-name>.glitch.me/webhook
.Bây giờ, điểm cuối của bạn đã sẵn sàng, hãy quay lại Bảng điều khiển ứng dụng.
https://<project-name>.glitch.me/webhook
) cho URL gọi lại và ("HAPPY") cho Mã xác minh.
Để xác nhận rằng thông báo Webhook đã được kích hoạt, hãy quay lại Glitch và chọn LOGS. Kết quả sẽ có dạng như hình dưới đây.
Phần tải dữ liệu hoàn chỉnh cho thông báo Webhook sẽ có dạng như sau:{ "object": "whatsapp_business_account", "entry": [ { "id": "0", "changes": [ { "field": "messages", "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "16505551111", "phone_number_id": "123456123" }, "contacts": [ { "profile": { "name": "test user name" }, "wa_id": "16315551181" } ], "messages": [ { "from": "16315551181", "id": "ABGGFlA5Fpa", "timestamp": "1504902988", "type": "text", "text": { "body": "this is a text message" } } ] } } ] } ] }
server.js
ở ngăn điều hướng bên trái để triển khai điểm cuối Webhook.
https://<project-name.glitch.me/webhook
.
Incoming webhook: {"messages":[{"from":"1234567890","id":"ABGGhSkIc2B_Ago-sDy5BNm-1gI5","text":{"body":"Hi"},"timestamp":"1529381066","type":"text"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"sent","timestamp":"1529381072"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"delivered","timestamp":"1529381072"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"read","timestamp":"1529381076"}]}