Skip to content

错误码与限流 ​

统一响应 ​

成功响应:

json
{"code":0,"msg":"成功","data":{},"requestId":"..."}

失败响应:

json
{"code":"INVALID_REQUEST","msg":"请求参数不正确","data":null,"requestId":"..."}

无论成功或失败,都请保留 requestId。后台排查时它比时间和 URL 更容易定位单次请求。

常见错误码 ​

HTTPcode说明处理方式
401API_KEY_REQUIRED未提供密钥添加 Bearer 或 X-API-Key
401INVALID_API_KEY密钥无效、已轮换或停用从密钥管理器读取当前密钥
401INVALID_AUTH_SCHEMEAuthorization 未使用 Bearer改成 Authorization: Bearer ...
401AMBIGUOUS_API_KEY两个请求头的值不一致只保留一个,或保证值一致
403ACCOUNT_UNAVAILABLE客户账号被锁定或停用联系管理员处理账号状态
403CUSTOMER_ONLY管理员不能申请客户密钥使用客户账号或后台管理能力
403RECHARGE_THRESHOLD_NOT_MET累计实付充值未达到门槛充值达到后台配置的门槛后重试
403URL_NOT_OWNEDURL 不属于当前账号网站检查域名归属和拼写
404SITE_NOT_FOUND网站不存在或无权访问先查询网站列表
404ENDPOINT_NOT_FOUND路径或方法不存在对照接口清单检查
400INVALID_DOMAIN域名格式、数量不正确使用合法域名,最多 20 个
400INVALID_PACKAGE套餐不存在、过期或非当前账号使用 /packages 返回的 active 套餐
400INVALID_URL缓存任务 URL 不是 HTTP(S)使用完整 URL
400CONFIRMATION_MISMATCH删除确认域名不一致原样填写当前域名
409API_KEY_EXISTS已有活动密钥轮换或停用旧密钥
409API_KEY_NOT_ACTIVE没有可轮换的活动密钥先创建新密钥
429RATE_LIMITED超过每分钟请求数等待 Retry-After 后退避重试
502UPSTREAM_ERROR上游 CDN 接口错误稍后重试并提交 requestId
503OPEN_API_DISABLED管理员暂未开放 API联系平台管理员
500INTERNAL_ERROR服务端未预期错误不要连续重试,反馈 requestId

限流响应头 ​

每个请求都会返回:

text
X-Request-Id: 请求追踪 ID
X-RateLimit-Limit: 每分钟上限
X-RateLimit-Remaining: 当前窗口剩余次数
X-RateLimit-Reset: Unix 时间戳

触发限流时还会返回:

text
Retry-After: 建议等待秒数

建议采用指数退避:1 秒、2 秒、4 秒,直到不超过 Retry-After。批量刷新 URL 时控制并发,并优先合并同目录任务。

安全排错清单 ​

  • [ ] 请求地址为 https://cdn.1888.news/api/open/v1。
  • [ ] 服务器时间准确,未把密钥放在浏览器或前端打包产物中。
  • [ ] 账号角色为 customer 且处于启用状态。
  • [ ] 套餐和网站属于当前账号。
  • [ ] 日志记录了 HTTP 状态、code、requestId 和耗时,但没有记录完整密钥。

基于 VitePress 构建