📱 WhatsApp Cloud API
WhatsApp 通过 Meta 的 Cloud API 连接 — 这是官方的、提供免费层级的 API,让您可以从自己的服务器发送和接收 WhatsApp 消息。不需要第三方 BSP(商业解决方案提供商)。
前提条件
- 在 developers.facebook.com 上的 Meta 开发者账户
- 一个 Meta Business 账户(又称 Business Manager)
- 一个用于 WhatsApp 的电话号码,且该号码未在个人 WhatsApp 上注册(您可以使用 SIM 卡、虚拟号码或固定电话)
设置步骤
1. 创建 Meta 应用
- 前往 developers.facebook.com/apps
- 点击 Create App
- 选择 Business 类型
- 填写名称并连接您的 Business 账户
2. 添加 WhatsApp 产品
- 在您的应用面板中,滚动到 Add Products to Your App
- 在 WhatsApp 上点击 Set Up
- 选择您的 Business 账户
3. 获取您的凭据
在应用面板中导航至 WhatsApp → API Setup:
| 凭据 | 在哪里找到 |
|---|---|
| Phone Number ID | 在 "From" 部分列出 — 一个数字 ID,如 123456789012345 |
| Access Token | 此页面上显示的临时令牌。对于生产环境,请通过 System Users 生成永久令牌。 |
| App Secret | 应用面板 → Settings → Basic → App Secret |
| Verify Token | 您自己设定的字符串 — 任何随机字符串,例如 my_secret_verify_token_2024 |
4. 在 PulseHub 中添加渠道
- 前往渠道 → 添加渠道
- 选择 WhatsApp
- 填写所有四个字段
- 点击保存渠道
- 复制渠道卡片上显示的 Webhook URL
5. 在 Meta 中配置 Webhook
- 在您的 Meta 应用 中,前往 WhatsApp → Configuration
- 点击 Webhook 部分旁边的 Edit
- Callback URL: 粘贴您的 PulseHub webhook URL
- Verify Token: 输入您在 PulseHub 中设置的相同字符串
- 点击 Verify and Save
Meta 将向您的 webhook URL 发送 GET 请求,带有 ?hub.mode=subscribe&hub.verify_token=...&hub.challenge=...。PulseHub 验证令牌并回传 challenge。
- 在 Webhook Fields 下,订阅:messages
6. 测试
向您的商务号码发送 WhatsApp 消息。它应该在几秒钟内作为新对话出现在 PulseHub 的收件箱中。
签名验证
Meta 在每个 webhook 中包含 X-Hub-Signature-256 头:
X-Hub-Signature-256: sha256=abc123...
PulseHub 使用您的 App Secret 通过 HMAC-SHA256 进行验证。如果验证失败,webhook 返回 401 Signature mismatch。