检查 Webhook 交付

确认应接收事件的端点

打开 Settings → Integrations → Webhooks。确认端点已启用并订阅了所需事件。账户 Webhook 权限涵盖整个账户的端点、密钥和交付日志;仅有 CRM 权限并不包含这些访问权限。

对于短信,请检查发送方 ID 选择。All Sender IDs 包含账户订阅的全部短信事件;选定列表会与原始短信发送方匹配。其他事件类型不受影响。

修改筛选条件不会重放历史事件

每次交付尝试(包括重试)都会检查发送方选择。修改不会重放旧事件,也不会改派已排队的交付。

打开 Webhook 文档

查看交付尝试

交付日志显示时间、状态、事件、端点、HTTP 响应和错误。找到所查尝试对应的事件及端点,再与接收端日志对照。

没有匹配的尝试

先检查事件订阅、端点状态和短信发送方筛选条件,再排查接收端代码。

交付失败

通过 HTTP 响应或网络错误,判断接收链路中哪一层拒绝或未收到请求。

接收确认成功

另行检查应用处理情况。HTTP 确认并不能证明后续所有操作都已完成。

若防火墙限制入站请求,请使用账户设置中的最新交付 IP 列表。即使设置了 IP 白名单,也必须验证签名。

首先检查签名验证

IllyVoIP 发送 JSON POST 请求,其中包含 Illyvoip-Signature 请求头。处理事件前,请用 Webhook 密钥和原始请求体验证签名。

签名输入由时间戳、一个句点和原始请求体组成。验证前解析并重新编码 JSON 可能改变输入。准确的 HMAC SHA-256 步骤请参阅当前文档。

Webhook 签名密钥与客户 API 密钥不同。若已轮换签名密钥,请按正常凭据变更流程更新接收端。不要在支持日志中泄露任何密钥。

签名参考

了解 HTTP 响应

任何 2xx

表示确认交付。空的 200 响应即可。

网络故障、无响应、408、429 或 5xx

可根据文档中的重试策略重试。

3xx 或其他 4xx

终止交付。请检查重定向、访问规则和接收端校验,不要等待自动重试。

及时确认有效事件,将耗时任务放入单独队列。接收端必须能够安全处理同一事件的多次接收。

使用事件 ID 避免重复处理

保存请求体中的 id,将其作为稳定的去重键。Illyvoip-Delivery 请求头标识交付任务,不能代替事件 ID。

短信关联方式请遵循当前发送响应和 Webhook 文档。交付任务 ID 与消息标识的用途不同。

需要帮助时,请提供事件 ID、尝试时间及其时区、响应码和已移除敏感信息的接收端错误。不要泄露签名密钥、API 密钥或无关事件内容。

短信交付指南

创建、编辑和停用端点

在 Integrations → Webhooks 中选择 Add webhook,输入接收端 HTTPS URL,仅选择所需事件。按需检查短信发送方筛选条件,然后保存。显示签名密钥时请妥善保管;它不是账户 API 密钥。

在正确端点上使用 Edit 修改名称、事件订阅、筛选条件或启用状态。URL 为只读:若要更换 URL,请创建新端点,在接收端更新其签名密钥,准备好后再停用旧端点。测试前确认已保存的行。重复端点可能向同一接收端分别发送通知。删除旧端点前先确认哪个应用使用它;删除不会撤销已处理的事件。

协调签名密钥变更

只有准备好更新接收应用时才轮换密钥。阅读确认内容,安全保存新密钥并更新接收端,再依赖后续交付。不要假设旧密钥永远有效,也不要假设轮换会重放历史事件。交付日志仅用于近期排障,不是完整事件档案;请自行安全保存事件和处理记录。