响应与错误
统一响应格式
接口使用 { code, msg, data } 作为统一响应信封。msg 由后端返回,成功时可能是 ok 也可能是 成功,不要用它判断结果。
成功
{ "code": 0, "msg": "ok", "data": {} }
业务服务接口成功
{ "code": 0, "msg": "成功", "data": {}, "contextId": "a3f5c2e1..." }
contextId 只出现在 业务服务接口 的成功响应中,可作为后续请求的 X-Nex-Service-Context。
业务失败
{ "code": 1, "msg": "windowId is required" }
鉴权失败 · HTTP 401
{ "code": 401, "msg": "Authorization Bearer API key is invalid", "data": null }
转发类与本机业务接口返回数字 code;/automation/* 失败时返回字符串 code(如 SESSION_NOT_FOUND),并配合非 200 的 HTTP 状态码。业务服务接口在登录或团队变化时也会返回字符串 code:SESSION_CONTEXT_CHANGED。解析时请按类型分别处理。
分页信封
/account/list、/proxy/* 列表、/browser/list 与业务服务接口的记录列表,data 是统一的分页结构,记录在 data.data:
{
"code": 0,
"msg": "成功",
"data": {
"count": 10,
"size": 20,
"page": 1,
"total": 1,
"data": []
}
}
其中 count 是匹配到的总条数,size 是每页数量(回显请求值),page 是当前页码(回显请求值),total 是总页数,data 是当前页记录。
批量结果行
窗口创建、代理绑定、分组移动、可填充账号等批量接口按行返回 success 与 error。失败行带已登记错误码时还有 code(如 WINDOW_RUNNING_PROXY_LOCKED)与可选的 params;error 固定为中文,优先使用服务端原文。全部行失败时接口返回 code: 1,msg 按行用换行拼接失败原因。
状态与错误码
本机层只在鉴权失败、路由缺失和自动化错误时使用非 200 状态码,其余情况一律 200 + 业务 code。
| 场景 | HTTP | code | 说明 |
|---|---|---|---|
| 成功 | 200 | 0 | 业务数据在 data 中 |
| 本机业务失败 | 200 | 1 | 参数校验或批量操作全部失败,响应可能不含 data 字段 |
| 业务服务参数或上下文校验失败 | 200 | -1100 | 参数不合规、未选择团队或相同资源操作仍在处理中;库存和余额错误由服务端返回 |
| 登录或团队已变化 | 200 | SESSION_CONTEXT_CHANGED | 业务服务请求的 X-Nex-Service-Context 与当前状态不一致,或执行中途切换 |
| 服务端业务错误 | 200 | 负数 | 原样透传,如 -1005 无权限、-1208 余额不足、-3004 号码已收到短信 |
| 密钥无效或缺失 | 401 | 401 | Authorization Bearer API key is invalid |
| 路由不存在 | 404 | — | 返回纯文本 Not Found,不是 JSON |
| 自动化参数错误 | 400 | INVALID_ARGUMENT | 字段缺失或类型不符;已登记错误码的领域错误也归入此类,msg 为中文 |
| 动作不在白名单 | 400 | ACTION_NOT_ALLOWED | 动作名非法,或 evaluate / runCode 策略未开启 |
| 窗口状态不满足 | 400 | WINDOW_NOT_FOUND · WINDOW_NOT_RUNNING | 窗口不存在,或未运行且未传 startIfNeeded;保险库会话不可用也返回后者 |
| 客户端标识缺失或越权 | 403 | UNAUTHORIZED | X-Nex-Client-Id 缺失、格式非法,或会话账号与团队上下文已变化 |
| 会话或标签页不存在 | 404 | SESSION_NOT_FOUND · PAGE_NOT_FOUND | ID 无效,或会话已被释放 |
| 动作超时 | 408 | ACTION_TIMEOUT | 超过动作或会话超时上限 |
购买、续费、提取、提交识别任务时如果请求超时、连接中断或返回非 0,不代表一定没有扣费。自动化应先查询对应记录接口与 /billing/trades 核对;无法证实是否受理或扣费时停止该流程,不重复提交。确认业务失败或收码/收信等待超时且原扣费结果明确后,才可在默认含首次最多 3 次的交互恢复流程内换资源继续,不逐次询问是否继续。短信默认等 120 秒,邮件等 180 秒;单次查询报错不视为收信超时。
-1208 或 insufficient_balance 表示余额不足,停止本任务及子任务后续付费与额度消耗;内置 Agent 固定提示「账户余额不足,已停止本次付费流程,请充值后继续」,不再请求继续或充值确认。