开发指南

系统集成偶尔漏单:Webhook 与 API 失败怎样恢复?

通知可能重复,也可能延迟。记录事件是否已处理,才能在失败后安全重试或补单。

ProApp 编辑发布及核对日期
网络交换机与蓝黄网线
AI 生成情境图,用作说明文章主题。

本文以假设流程说明设计方法,并非客户案例。

流程设计示意
  1. 保存事件
  2. 安全处理与重试
  3. 定期核对

超时了,对方可能已经开单

两个系统都显示正常,资料交接却可能漏了一次。请求超时时,对方也许已写入资料;直接重送可能开出两张单,不重试又可能漏单。要处理的,是确认这次工作到底完成了没有。

连接工具有没有重试和补跑?

检查现有连接工具有没有错误记录、重试和补跑功能。Stripe 的 Webhook 文件也列出重复及次序问题;自行连接时,要按各平台规则处理,不能假设每个通知只来一次,或一定依序送达。

记住每个事件处理到哪一步

选一条重要流程,核实通知来源、保存事件编号、排队处理,并显示失败原因。重试前确认是否已完成;无法自动修好的记录,交同事跟进。

重播一次,会不会再扣款?

试重复通知、次序颠倒、接口限流、对方停机、超时和只完成部分工作。同一事件重播后不能再次扣款或发货;真正漏掉的记录,则要找得到并补回。

整理一次失败的处理记录

准备去除个人信息的事件时间线、处理记录、接口文档、错误消息和正常结果的例子。

想处理类似问题?

告诉我们目前怎样做、用了哪些工具,以及想改善什么。我们可一起看看是调整现有系统、加入连接,还是需要新开发。