从这里开始

错误与重试

解析标准的 JSON 错误封装,并判断何时可以安全重试。

错误封装

JSON API 的失败响应统一使用一个顶层 error 对象,其中包含人类可读的 message、数字形式的 HTTP status,以及可选的稳定 code。OpenAPI 接口约定在预期和意外的失败中都引用这一 schema。

错误响应
{
  "error": {
    "code": "invalid_request",
    "message": "A verified From domain is required",
    "status": 403
  }
}

客户端错误

遇到 400 输入错误时,请先修正再重试。收到 401 后,请替换或吊销无效凭据。402 表示需要付费权益,403 表示触及策略或权限边界,404 表示租户范围内的资源不存在,409 表示状态或幂等冲突,413 表示超出附件限制,422 涵盖校验失败或抑制拦截。

重试决策

不要自动重试身份验证、校验、抑制或冲突类失败。423 表示该 From 发信身份已被暂停;请停止这一发信流,修正其收件人,并且只在其滚动指标恢复正常后再重试。对于暂时性的 429、502 或 503 响应,调用方可以使用有上限的指数退避加随机抖动进行重试。重试同一次逻辑发送时,请保留相同的 Idempotency-Key 和完全相同的 JSON 请求体。

支持所需信息

请记录请求时间、路由、HTTP 状态码、SendHQ 资源 ID 以及不含机密信息的错误字段。支持工单中切勿包含 API 密钥、会话 Cookie、邮件正文或收件人列表。