业务系统请求超时后,调用方可能不知道单据是否已经创建,于是再次提交。若ERP把每次请求当成新业务,库存、应收或采购记录就会重复。接口需要能识别同一次业务提交,并返回既有处理结果。
记录和操作怎样安排
为请求指定稳定的业务标识,记录来源系统、外部单号和处理状态。服务端以明确约束防止重复写入,失败请求区分可重试与需要人工核查。跨系统处理状态通过查询接口或结果通知同步,避免只依赖一次响应。
幂等标识的作用范围需要明确,例如来源系统与外部单号共同识别一次提交,不能只使用容易重复的短编号。收到相同标识但不同内容时返回冲突说明,不能当作重试直接接受。外部系统可以按标识查询处理结果,区分仍在处理中与已经完成。重试频率和异常保留期限也要约定,避免无休止重发占用资源,而业务人员一直不知道请求实际卡在哪一步。
需要核对的具体场景
测试在单据创建完成但响应未送达时再次调用,核对系统只有一张有效单据。更改业务内容以后应使用明确的变更流程,而不是复用旧标识悄悄覆盖。异常队列保留错误信息和复核入口,便于人员查明实际执行情况。
