Docs
控制台

错误处理

Scrumball API 的所有错误响应使用同一 JSON 结构:success 为 false,code 为 HTTP 状态码,message 为简短说明。以下逐一说明每个状态码的含义、常见触发原因和修复步骤。

错误响应结构

json
{
"success": false,
"code": 400,
"message": "Bad Request"
}

400Bad Request

含义

服务端无法解析或接受该请求,请求在进入业务逻辑前即被拒绝。

常见原因

  • 请求体不是合法 JSON(POST 类接口,如 search、monitor 创建任务)。
  • Content-Type 未设置为 application/json。
  • 查询参数格式错误,例如日期未按要求格式传入。
  • 路径拼写错误导致命中了错误的路由。

处理方式

  1. 核对请求路径与 HTTP method 是否与接口参考页一致。
  2. POST 接口确认请求头含 Content-Type: application/json。
  3. 用 JSON 校验工具确认请求体可被正确解析。
  4. 对照接口页的「Required Parameters」逐项检查参数名与格式。

401Unauthorized

含义

请求缺少有效的 API Key,服务端无法识别调用方身份。

常见原因

  • 未传 Authorization 请求头。
  • Key 值前误加了 Bearer 前缀(本 API 直接传原始 Key,不需要前缀)。
  • Key 已被删除或轮换,本地仍在使用旧值。
  • Key 值复制时带入了空格或换行。

处理方式

  1. 确认请求头格式为 Authorization: YOUR_API_KEY,不带任何前缀。
  2. 在 Dashboard > API Keys 确认该 Key 仍处于启用状态。
  3. 如 Key 已失效,创建新 Key 并更新服务端环境变量。
  4. 先用 GET /api/ping 验证连通性,再排查具体业务接口。

403Forbidden

含义

身份识别通过,但当前账号无权访问该接口或配额已耗尽。

常见原因

  • 当前套餐不包含该接口(例如受众画像或实时采集类接口)。
  • 试用额度已用完。
  • 订阅已过期。
  • 该接口对当前账号处于未开放状态。

处理方式

  1. 在 Dashboard > Usage 查看当前剩余额度。
  2. 在 Dashboard > Billing 确认订阅状态与套餐包含的接口范围。
  3. 如需开通更高权限接口,升级套餐或联系支持。
  4. 区分 403 与 429:403 是无权限,429 是频率超限。

404Not Found

含义

请求路径不存在,或查询的目标资源在数据库中无记录。

常见原因

  • 接口路径拼写错误,或使用了已废弃的路径。
  • HTTP method 不匹配(例如对 POST 接口发起 GET 请求)。
  • 查询的红人账号不在持久化库覆盖范围内。
  • 视频 / 帖文已被删除或转为私密。

处理方式

  1. 对照接口参考页核对完整路径与 method。
  2. 确认 Base URL 为 https://openapi.scdata.cc,不要指向文档站域名。
  3. 如为账号查不到,改用对应的 realtime 接口触发实时采集。
  4. 区分 404 与「返回 200 但 data 为 null」:后者表示路径正确但无数据。

429Too Many Requests

含义

请求频率超出当前套餐允许的上限,服务端主动限流。

常见原因

  • 瞬时并发数过高。
  • 批量任务未做节流,短时间内发出大量请求。
  • 多个服务实例共用同一 Key 且未协调调用频率。
  • 重试逻辑未加退避,失败后立即重试形成放大。

处理方式

  1. 降低并发数,控制单位时间内的请求量。
  2. 实现指数退避重试:首次等待 1 秒,之后依次翻倍,上限建议 32 秒。
  3. 批量场景改为队列消费,控制消费速率。
  4. 在 Dashboard > Usage 查看当前用量曲线,定位峰值时段。

500Server Error

含义

服务端在处理请求时发生未预期的异常,与请求本身无关。

常见原因

  • 上游平台数据源临时不可用。
  • 服务端内部异常。
  • 特定参数组合触发了未覆盖的边界情况。

处理方式

  1. 加入退避重试,通常短暂等待后可恢复。
  2. 记录完整请求上下文:请求路径、全部参数、请求时间、响应体。
  3. 若同一请求持续复现,携带上述上下文联系支持。
  4. 在客户端将 5xx 与 4xx 区分处理:5xx 可重试,4xx 需修正请求。