Webhooks

验证每一个投递事件

Postline 会对每个 webhook 进行签名并限制重试次数。接收方必须校验时效性、对事件 ID 去重,并容忍乱序投递。

签名输入

HMAC-SHA256(secret, timestamp + "\0" + event_id + "\0" + body)

Postline-Timestamp: 1784743200
Postline-Event-Id: evt_…
Postline-Signature: v1=…

接收方要求

  • 基于原始请求体(raw body)的确切内容计算签名。
  • 以恒定时间(constant time)方式比较签名。
  • 拒绝超出允许时间窗口的 timestamp。
  • 保存 event_id,并确保每个事件只处理一次。
  • 不要假定事件按生命周期顺序到达。

出站控制

创建端点要求使用 HTTPS。私有地址、环回地址(loopback)、link-local 地址、metadata 地址、携带凭据的地址以及内部目标均会被阻止,并在拨号(dial)时重新解析。系统不会跟随重定向。投递采用有限的超时时间与重试次数。