{"lang":"zh","availableLangs":["zh","en","ko"],"errors":[{"code":"AUTH_MISSING_TOKEN","title":"缺少认证 token","hint":"在 Authorization 头带 `Bearer <token>`（/api/v1 不认 ?token= 查询串）。token 用 POST /api/v1/auth/token（请求体 client_id + client_secret）换。","docUrl":"/errors/AUTH_MISSING_TOKEN"},{"code":"AUTH_INVALID_TOKEN","title":"token 无效","hint":"token 格式或签名不对。重新用 POST /api/v1/auth/token 取一个；确认没截断、没多空格。","docUrl":"/errors/AUTH_INVALID_TOKEN"},{"code":"AUTH_EXPIRED","title":"token 已过期","hint":"token 有效期到了。重新取一个；建议客户端在快过期时自动续。","docUrl":"/errors/AUTH_EXPIRED"},{"code":"SCOPE_DENIED","title":"无此操作权限","hint":"你的渠道角色不包含该能力。到「套餐与申请」选一档申请开通（reader / trader / full），对接人审批后即时生效。","docUrl":"/errors/SCOPE_DENIED"},{"code":"WAREHOUSE_DENIED","title":"无此仓库权限","hint":"你的渠道不在该仓的白名单。请管理员在后台把该仓加进你渠道的仓白名单，或清空白名单=不限仓。","docUrl":"/errors/WAREHOUSE_DENIED"},{"code":"AUTHZ_UNAVAILABLE","title":"授权服务暂不可用","hint":"授权服务暂时不可用。稍后重试；若持续，带上 requestId 联系对接人。","docUrl":"/errors/AUTHZ_UNAVAILABLE"},{"code":"VALIDATION_FAILED","title":"请求参数不合法","hint":"按 error.param 指出的字段修正。各端点字段规格见 /swagger。","docUrl":"/errors/VALIDATION_FAILED"},{"code":"NOT_FOUND","title":"查无此项","hint":"款号/SKU/单号不存在或拼写有误。核对后重试。","docUrl":"/errors/NOT_FOUND"},{"code":"OWNERSHIP_DENIED","title":"无权访问该单据","hint":"该单据不属于你的渠道。只能查自己渠道的订单/发货单/锁单。","docUrl":"/errors/OWNERSHIP_DENIED"},{"code":"UPSTREAM_ERROR","title":"上游 ERP 出错","hint":"上游 ERP 暂时异常。稍后重试；带上 requestId 联系运维可定位到具体那次。","docUrl":"/errors/UPSTREAM_ERROR"},{"code":"UPSTREAM_TIMEOUT","title":"上游超时","hint":"上游 ERP 响应慢或不通。稍后重试。","docUrl":"/errors/UPSTREAM_TIMEOUT"},{"code":"INTERNAL","title":"网关内部错误","hint":"网关自身异常（少见）。带上 requestId 联系运维。","docUrl":"/errors/INTERNAL"},{"code":"ADMIN_UNAUTHORIZED","title":"管理员口令不对","hint":"检查 x-admin-token 是否是服务器 .env 里的 ADMIN_TOKEN。","docUrl":"/errors/ADMIN_UNAUTHORIZED"},{"code":"ADMIN_DISABLED","title":"后台未启用","hint":"服务器未设 ADMIN_TOKEN。设置后重启即可用。","docUrl":"/errors/ADMIN_DISABLED"},{"code":"IDEMPOTENCY_IN_PROGRESS","title":"同一幂等请求正在处理","hint":"上一次带相同 Idempotency-Key 的请求还没跑完。稍等重试即可，不要换 key（换了就可能重复下单）。","docUrl":"/errors/IDEMPOTENCY_IN_PROGRESS"},{"code":"IDEMPOTENCY_MISMATCH","title":"Idempotency-Key 被复用","hint":"这个 key 之前用在内容不同的请求上。每一笔业务用一个新 key（建议 UUID 或你自己的订单号）。","docUrl":"/errors/IDEMPOTENCY_MISMATCH"},{"code":"IDEMPOTENCY_INVALID_KEY","title":"Idempotency-Key 不合法","hint":"key 长度上限 255 字符。建议用 UUID。","docUrl":"/errors/IDEMPOTENCY_INVALID_KEY"},{"code":"RATE_LIMITED","title":"调用额度用完","hint":"看响应头 RateLimit-Remaining / Retry-After，等一下再试。拉全仓库存很贵（一次 60 点），改用增量口 /Changes?since= 只花 1 点。确实不够用找对接人提额。","docUrl":"/errors/RATE_LIMITED"},{"code":"BAD_REQUEST","title":"请求有误","hint":"检查请求方法、路径、body 是否正确。","docUrl":"/errors/BAD_REQUEST"},{"code":"READ_ONLY_MODE","title":"本环境为只读模式","hint":"这台服务器有意关闭了对上游 ERP 的写入（WRITES_ENABLED=0），用于安全测试。查询照常可用。需要真正下单请用生产环境。","docUrl":"/errors/READ_ONLY_MODE"},{"code":"ENDPOINT_GONE","title":"接口已下线","hint":"接口面已迁到 /api/v1/**（路径小写、参数 snake_case）。error.message 里给了对应的新地址；完整清单见 /reference 或 /llms.txt。","docUrl":"/errors/ENDPOINT_GONE"},{"code":"WAREHOUSE_UNKNOWN","title":"没有这个仓库","hint":"仓码用 GET /api/v1/warehouses 里列出的那几个（AU / AUSYD2 / AUSYD1 / CN / CHNZJ1），不再有 AuStock 这类别名。","docUrl":"/errors/WAREHOUSE_UNKNOWN"},{"code":"UPSTREAM_REJECTED","title":"上游拒绝了这次请求","hint":"ERP 没有接受这笔业务（库存不足、单号不存在、字段不合规…），原因在 error.message 里。修正后重试；反复出现请把 request_id 发给对接人。","docUrl":"/errors/UPSTREAM_REJECTED"},{"code":"AUTH_BAD_CREDENTIALS","title":"凭证不对","hint":"渠道方式：核对 client_id 和 client_secret（口令只在发放时显示一次，丢了找管理员重发）。OMS 账号方式（grant_type=password）：核对 OMS 网站的登录账号和密码。想先试可以用 sandbox / sandbox。","docUrl":"/errors/AUTH_BAD_CREDENTIALS"},{"code":"AUTH_LOCKED","title":"登录失败次数过多，已临时锁定","hint":"同一 OMS 账号连续输错密码会锁 15 分钟。确认账号密码后再试；想先试可以用 sandbox / sandbox。","docUrl":"/errors/AUTH_LOCKED"},{"code":"DUPLICATE_SUSPECTED","title":"疑似重复的代发单","hint":"同一收件人 + 同一 SKU 短时间内重复提交会被上游判重。确认要下就换一个 client_order_number，或稍后再试。","docUrl":"/errors/DUPLICATE_SUSPECTED"},{"code":"OMS_LOGIN_REQUIRED","title":"这个接口要用 OMS 账号登录","hint":"用 POST /api/v1/auth/token 带 grant_type=password + OMS 账号密码换 token（渠道号 + 口令换的 token 用不了下单链，因为配货规则跟着 OMS 账号走）。","docUrl":"/errors/OMS_LOGIN_REQUIRED"},{"code":"SHIPPING_REQUIRED","title":"缺物流信息","hint":"下批发单要指定发货方式：GET /api/v1/shipping-methods 挑一个 shipping_method_id 传进 shipping；送货的再从 GET /api/v1/addresses 挑一个 address_id。也可以在 OMS 网站「用户 → 偏好设置」里设默认值。","docUrl":"/errors/SHIPPING_REQUIRED"}]}