Webhook 工作方式
- 发生事件:例如收件人打开一封邮件。
- EffiLink 批量打包事件:为兼顾吞吐量并避免压垮您的端点,事件会被打包为每批最多 1,000 条推送。
- EffiLink POST 到您的端点:通过 HTTPS 向您配置的回调 URL 发送 JSON 数组。
- 您的服务器处理载荷:解析数组并处理每个事件对象。
配置您的 Webhook URL
通过控制台
最简单的方式是在 EffiLink 控制台中设置一个 默认 Webhook URL:- 进入 设置 → Webhooks。
- 输入您的 HTTPS 回调 URL。
- 选择希望接收的事件类型。
- 将 Webhooks 切换为 启用 并保存。
通过 API
使用 Webhook 配置 API 以编程方式读取或更新 Webhook 设置。 获取当前配置——POST /v5/webhook/get
无需请求体,返回当前 Webhook 配置:
保存配置——
POST /v5/webhook/save
示例:启用 delivered 与 opened 事件并设置默认 URL:
Webhook 推送示例
以下是 EffiLink 投递一批事件时您的端点收到的内容。数组中可能同时包含多种事件类型。支持的事件类型
各事件类型的字段级完整文档请见Webhook 事件。
安全注意事项
校验 User-Agent 请求头
EffiLink 发出的每个 Webhook 请求都包含User-Agent: YiyeWebhooks 请求头。在您的端点检查该值可作为第一道防线,拒绝来自未知来源的请求。
为重复投递做好准备(幂等)
如果您的端点未在预期时间内以 HTTP2xx 状态码响应,EffiLink 可能会重试投递。这意味着您的应用可能会多次收到同一事件。请将事件处理器设计为 幂等:使用 UniqueMsgID 结合 EventCode 作为复合键,在写入数据库或触发下游动作之前识别并跳过重复事件。
使用 HTTPS
请始终配置 HTTPS 回调 URL。不建议使用普通 HTTP 端点,未来平台版本可能会屏蔽。快速响应
尽快返回 HTTP200,最好在任何重处理之前完成。将实际工作放入后台队列,避免端点超时进而触发重试。
