您可以使用 Glitch 克隆我们的回调应用示例,然后在 Glitch 的服务器上创建一个公共回调网址,用来测试 Webhooks。创建 Glitch 项目目的在于将 Webhooks 有效负载写入日志文件,以便在 Webhooks 被触发时实时查看。
本指南属于一个多步骤流程的一部分,您必须先完成该流程中的多个步骤,才能开始使用 Glitch 配置应用端点示例。您必须先完成以下步骤:
请参阅 WhatsApp Business 云端 API 入门指南,获取开始使用 WhatsApp Business 云端 API 的完整说明,以便您能发送第一条测试消息。
.env
文件中,将 WEBHOOK_VERIFY_TOKEN
的值更新为您选择的任意字符串。然后可根据需要前往应用面板中的 WhatsApp > API 设置,复制您的短期或长期访问口令值,并粘贴至 GRAPH_API_TOKEN
。
/webhook
,获取您的完整回调网址。该回调网址类似于 https://<project-name>.glitch.me/webhook
。现在您已完成端点创建,需要返回应用面板。
https://<project-name>.glitch.me/webhook
) 和 ("HAPPY") 两个值。
要确认触发了 Webhooks 通知,请返回 Glitch,选择 LOGS,输出的结果应如下图所示。
完整的 Webhooks 通知有效负载应如以下所示:{ "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
,查看 Webhooks 端点的实现代码。
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"}]}