Skip to content

REST API 错误处理

失败响应统一包含稳定错误码和详情:

json
{
  "code": "invalid_json",
  "message": "json: unknown field \"target\"",
  "detail": "json: unknown field \"target\""
}

客户端先判断 HTTP 状态码,再读取 codemessagedetail 当前内容相同。

状态码

状态码错误码含义
200-请求成功。
202-任务已经创建。
400invalid_jsonJSON 无效、包含未知字段或存在多个 JSON 值。
400invalid_requestmultipart 请求无效或缺少文件。
400invalid_query查询参数不是非负整数。
404not_found任务不存在。
422validation_error任务保存失败或二维码内容不是有效问卷链接。
500internal_error停止任务或读取日志时发生内部错误。
502upstream_error问卷或官方代理上游请求失败。

接口错误速查

接口可能状态码
POST /api/v1/surveys/parse400502
POST /api/v1/configs400502
POST /api/v1/tasks400422
GET /api/v1/tasks/{id}404
POST /api/v1/tasks/{id}/stop404500
GET /api/v1/tasks/{id}/logs400404500
POST /api/v1/qrcode/decode400422
/api/v1/proxy/*400502

注意事项

  • JSON 接口会拒绝未知字段。V1 任务请求必须使用 sourcedefinitionexecutionanswersreverseFillpsychometrics 结构。
  • 二维码上传字段名是 file
  • 202 不代表提交成功。继续查询任务状态和日志。
  • 任务运行期配置错误会写入任务的 error 字段,并把状态改成 failed