响应和错误

响应的结构以及状态码

  1. 响应
  2. 状态码
  3. 带代码的 403

响应是普通的 JSON,HTTP 状态码表明调用是否成功。


响应

成功的调用返回对象本身,或者一个带有其大小的列表:

{ "count": 2, "records": [ { "id": 41 }, { "id": 42 } ] }

错误会返回一条消息,如有详细信息也会一并返回:

{ "error": "The form data is not valid", "details": [ ... ] }

状态码

状态码说明出了什么问题:

代码 含义
200 调用成功
400 请求格式错误,例如刷新令牌时没有刷新令牌,或上传时没有文件
401 令牌缺失、错误或已过期:请登录或刷新令牌
403 用户的角色不允许该调用(包括批准您自己的作业,除非其批准设置了 allowSelf: true 或您是管理员),或者该账户必须先做某件事(见下文)
404 对象不存在
409 请求不完整(没有数据的启动),或者对象所处的状态不允许该操作
422 运行验证 拒绝了表单的值;details 列出了原因
429 对登录和令牌端点的请求过多,或登录失败次数过多(参见 身份验证)
500 服务器出错;服务器日志中有原因

对于作业,409 表示它处于不适合该操作的状态:中止一个没有在运行的作业(或已请求过中止的作业)、 重新运行一个仍在运行的作业,或者批准或拒绝一个已不再等待批准的作业。


带代码的 403

有些 403 响应带有 code,表示用户必须先在浏览器中完成某件事,其他调用才能正常工作:

{ "error": "...", "code": "password_change_required" }
代码 怎么做
password_change_required 用户使用公开的默认密码登录:请先在个人资料中修改密码
disclaimer_required 免责声明已开启,而用户尚未接受其当前版本:请在浏览器中接受它

长期 API 令牌(参见 身份验证)从不会被免责声明拦住。