跳转到内容

重试

当你的端点在 15 秒内返回 2xx 状态码时,投递即为成功。其他任何情况(非 2xx 状态码、重定向、超时、连接错误、TLS 错误)都视为失败并会被重试。

SpacePost 最多尝试 8 次:第一次立即进行,此后每次失败后都会以递增的延迟重试。

尝试次数 上一次失败后的延迟 距事件大约
1 立即 0
2 5 秒 5 秒
3 5 分钟 5 分钟
4 30 分钟 35 分钟
5 2 小时 2 小时 35 分钟
6 5 小时 7 小时 35 分钟
7 10 小时 17 小时 35 分钟
8 10 小时 27 小时 35 分钟

第 8 次尝试失败后,该次投递会被标记为失败,不再进行自动重试。你可以手动重放它。

  • 每次尝试的 webhook-id 都相同,请求体也完全一致。webhook-timestamp 和签名则在每次尝试时重新生成。
  • 投递至少会发生一次。 超时之后才到达的缓慢 2xx 会被视为失败,因此你的端点可能收到两次相同的事件。请根据 webhook-id 去重。
  • 不保证顺序。 被重试的 email.delivered 可能晚于后发生的 email.opened 到达。请使用载荷中的 created_at,并且不要让邮件的状态倒退。
  • 已停用或已删除的 Webhook 不再接收投递;它们待处理的投递会被标记为失败。
  • 最近几次尝试的响应体(前 1 KB)和状态码可以在控制台的投递日志中查看,日志保留 30 天的历史记录。