错误码与 traceId 的使用方式
使用稳定错误 code 做程序判断、安全 args 提供上下文、message 面向用户展示,并用 traceId 关联一次请求的排查证据。
错误 code 是机器处理契约。HTTP 状态描述大类结果,安全 args 提供经过批准的上下文,message 帮助用户理解,traceId 用于关联一次请求的排查证据;它们不能互相替代。
程序只能按 code 分支
只使用文档中的稳定 code 作为机器判断依据。不能比较中文、英文、越南语或印尼语 message 文本来决定业务流程。
处理“错误码与 traceId 的使用方式”时,应把“程序只能按 code 分支”作为一个独立检查点,不要同时修改多个条件。记录页面现象、操作时间和相关业务编号,每次只执行一个有依据的步骤,并等待系统给出明确结果。
HTTP 状态表示错误大类
4xx 通常表示请求、鉴权、权限、状态或限制问题,5xx 表示服务失败大类,但程序仍应读取具体 code。
处理“错误码与 traceId 的使用方式”时,应把“HTTP 状态表示错误大类”作为一个独立检查点,不要同时修改多个条件。记录页面现象、操作时间和相关业务编号,每次只执行一个有依据的步骤,并等待系统给出明确结果。
安全展示 message
message 面向用户,可能按语言展示或安全回退英文。不能通过解析 message 猜测状态、数据库或内部实现。
处理“错误码与 traceId 的使用方式”时,应把“安全展示 message”作为一个独立检查点,不要同时修改多个条件。记录页面现象、操作时间和相关业务编号,每次只执行一个有依据的步骤,并等待系统给出明确结果。
只使用文档规定的 args
args 提供可安全插值的结构化值。客户端应验证字段名和类型,不应假设其中包含全部内部数据。
处理“错误码与 traceId 的使用方式”时,应把“只使用文档规定的 args”作为一个独立检查点,不要同时修改多个条件。记录页面现象、操作时间和相关业务编号,每次只执行一个有依据的步骤,并等待系统给出明确结果。
原样保留 traceId
保存失败响应返回的 traceId,并在客服证据中提供。不能用订单编号加邮箱自行生成或替代 traceId。
处理“错误码与 traceId 的使用方式”时,应把“原样保留 traceId”作为一个独立检查点,不要同时修改多个条件。记录页面现象、操作时间和相关业务编号,每次只执行一个有依据的步骤,并等待系统给出明确结果。
按错误语义决定重试
鉴权、校验、maxPrice、归属和幂等冲突需要修正参数或查询原请求,不能盲目重试;临时故障才可能适用有限重试。
处理“错误码与 traceId 的使用方式”时,应把“按错误语义决定重试”作为一个独立检查点,不要同时修改多个条件。记录页面现象、操作时间和相关业务编号,每次只执行一个有依据的步骤,并等待系统给出明确结果。
保护日志中的敏感信息
日志记录 code、HTTP 状态、接口类别、安全请求标识、耗时和 traceId,同时遮挡 API Key、签名、Token、手机号及敏感载荷。
处理“错误码与 traceId 的使用方式”时,应把“保护日志中的敏感信息”作为一个独立检查点,不要同时修改多个条件。记录页面现象、操作时间和相关业务编号,每次只执行一个有依据的步骤,并等待系统给出明确结果。
一次报告对应一次失败请求
提交时间、接口、code、HTTP 状态、traceId、安全参数和期望结果,不要附带原始秘密和无关数据。
处理“错误码与 traceId 的使用方式”时,应把“一次报告对应一次失败请求”作为一个独立检查点,不要同时修改多个条件。记录页面现象、操作时间和相关业务编号,每次只执行一个有依据的步骤,并等待系统给出明确结果。
实际操作检查清单
- 核对“程序只能按 code 分支”对应的信息,保存可验证结果;只有下一步含义明确时才继续操作。
- 核对“HTTP 状态表示错误大类”对应的信息,保存可验证结果;只有下一步含义明确时才继续操作。
- 核对“安全展示 message”对应的信息,保存可验证结果;只有下一步含义明确时才继续操作。
- 核对“只使用文档规定的 args”对应的信息,保存可验证结果;只有下一步含义明确时才继续操作。
- 核对“原样保留 traceId”对应的信息,保存可验证结果;只有下一步含义明确时才继续操作。
- 核对“按错误语义决定重试”对应的信息,保存可验证结果;只有下一步含义明确时才继续操作。
- 核对“保护日志中的敏感信息”对应的信息,保存可验证结果;只有下一步含义明确时才继续操作。
- 核对“一次报告对应一次失败请求”对应的信息,保存可验证结果;只有下一步含义明确时才继续操作。
最终业务状态和账户流水是判断结果的依据。截图或客服沟通中不要发送密码、完整验证码、认证密钥、Access Token、API Key 或未遮挡的身份材料。更多说明可查看 MangoOTP 帮助中心。
