每次状态变化一个事件
从邮件发出到收件人点击链接,每一次状态变化都会触发独立的事件。另有联系人和域名相关的事件,完整列表见文档。
email.deliveredemail.bouncedemail.complainedemail.openedemail.clickedcontact.unsubscribed
webhook payload
{
"id": "evt_2f9c1a...",
"type": "email.delivered",
"created_at": "2026-10-15T12:00:00.000+00:00",
"data": {
"email_id": "3f6a1b2c-...",
"from": "billing@yourdomain.com",
"to": ["user@example.com"]
}
}为生产环境而生
完整事件覆盖
已发送、已送达、延迟、退信、投诉、打开、点击、收到来信,以及联系人和域名事件,各自是独立的类型,你的应用可以精确响应。
无需轮询
事件一发生就加入投递队列,在下一轮后台任务中发出,通常在一分钟以内。
HMAC 签名载荷
每个请求都带有用该端点密钥计算的 HMAC-SHA256 签名和时间戳,你可以据此确认请求来自 Rovela,并拒绝重放。
自动重试
如果你的端点超时,或返回 5xx、408、429,会按指数退避重试,最多尝试 5 次。每一次尝试都能在控制台查看。
一致的载荷结构
所有事件共用一个外层结构:id、type、created_at,以及包含事件字段的 data 对象。按 id 去重即可,重试时 id 不变。
按端点过滤
为每个端点只订阅它需要的事件。投递事件发给 CRM,投诉事件发给屏蔽服务,无需额外的路由逻辑。