Webhooks
Webhook 是渠道提供商通知 PulseHub 发生事件的方式 — 客户发送消息、送达状态变更等。
Webhook URL 模式
https://yourdomain.com/webhooks/{channel_type}/{channel_id}
Webhook 验证(GET 请求)
一些提供商在发送真实消息之前会通过质询来验证您的 webhook URL:
WhatsApp / Facebook / Instagram
PulseHub 检查 hub.verify_token 并回显 hub.challenge。
Telegram
无需 GET 验证 — 通过 Bot API 设置 webhook 即可。
Viber
首次打开时发送 conversation_started 事件。PulseHub 返回 {"status": 0}。
签名验证
| 提供商 | 头部 | 密钥 |
|---|---|---|
| WhatsApp/Facebook/Instagram | X-Hub-Signature-256 | App Secret |
| Viber | X-Viber-Content-Signature | Auth Token |
| Twilio | — | 基于 URL 的安全 |
| Telegram | — | 基于 UUID 的 URL 安全 |
所有 HMAC 比较使用 hash_equals()(恒定时间)。