跳到主要内容

请求生命周期

商业试点为每个请求持久化一套失败关闭状态机。

等待审批 -> 已审批 -> 已授权 -> 已执行
| |
+-> 已拒绝 +-> 已过期

系统可以在请求保持“已授权”的同时追加 validation_completed 证据事件。它只证明外部验证回执已生成,不代表交易已经构造、广播或确认。

状态转换负责人

转换所需角色主要检查
提交发起人精确策略范围、金额、精度、目标和幂等性
审批合格审批人人员资格、禁止重复、发起人与审批人分离
拒绝合格审批人请求尚未终止,并记录拒绝原因
授权安全管理员达到审批门限,绑定精确策略和证据
执行执行人有效授权证书、有效期和适配器幂等性
查看/导出审计人或已认证操作员不改变状态

重试与幂等

  • 请求 ID 从租户和幂等上下文确定性派生。
  • 完全相同的重试返回已有记录。
  • 相同幂等键下修改业务字段会失败并返回冲突。
  • 外部适配器必须先按稳定请求 ID 对账,再考虑重新提交。
  • 终态请求不能再次审批、拒绝、授权或执行。

失败模型

类别常见 API 结果操作方式
非法或不符合策略的输入400修改请求,不要原样重试
凭据缺失或无效401使用正确的私密凭据重新认证
角色错误或人员不合格403转交策略指定的角色处理
请求不存在404核对请求 ID 和环境
幂等或状态冲突409获取已有记录并进行对账
服务方结果不确定请求保持可对账重提之前先查询服务方或链上状态
授权过期终态 expired 证据按当前策略创建新请求

错误响应的精确格式尚未承诺在所有候选版本间保持稳定。合作方应优先依据 HTTP 类别和稳定请求状态处理,并保留经过长度限制的诊断信息供审查。