跳到主要内容

错误码

错误响应是带有稳定 code 和可读 message 的 JSON。请根据 code 判断,不要依赖可能变化的 message。

{ "error": { "code": "alert_too_long", "message": "…", "field": "alert.title", "limit": 100, "actual": 128 } }
状态码 是否重试
400、413、422 否。先修正请求,原样重发只会得到同样的错误。
401、404 否。链接或 token 错误或已失效。
429、503 是,等待 Retry-After 响应头指定的秒数后重试。
其他 5xx 是,并逐步拉长间隔。带上 idempotency_key,重试就不会产生第二条提醒。
状态码 错误码 接口 含义和处理
400 invalid_json 发送 请求体不是合法的 JSON 或 UTF-8。
401 invalid_send_url 发送 发送链接错误、已重新生成、已撤销、已暂停,或所属频道已删除。请从应用中复制当前链接。
401 unauthorized 回执 Authorization 请求头里不是发送链接的 token。
404 not_found 回执 这个发送链接没有发送过此 ID 的回执。
404 invalid_heartbeat_url 心跳 心跳链接错误、已重新生成或删除,或所属频道已删除。
413 request_too_large 发送 请求体超过 64 KB。
422 invalid_target 发送 缺少 alert.title,或字段值无效、含有不允许的字符。field 指明字段。
422 alert_too_long 发送 字段超过限制。错误中包含 field、limit 和 actual。
422 invalid_alert_level 发送 level 不是 urgent、high、normal 或 silent。
422 invalid_emergency 发送 emergency.retry_seconds 小于 30,或 expire_seconds 小于 retry_seconds 或大于 10800。
422 invalid_callback 发送 对无法确认的提醒请求了 callback。
422 callback_not_configured 发送 请求了 callback,但频道没有启用回调。
422 encryption_required 发送 频道只接受加密提醒。
422 invalid_encrypted_message 发送 加密信封不完整或格式错误。
429 limit_exceeded 发送 达到了发送链接的频率限制。
429 rate_limited 全部 来自你的网络地址的请求过多。
500 create_failed 发送 提醒未能保存。用同一个 idempotency_key 重试。
503 server_busy 全部 服务器同时处理的请求过多。稍后重试。