開發指南

系統接駁偶爾漏單:Webhook 與 API 失敗怎樣復原?

通知可能重複,也可能延遲。接駁要記得已處理哪些事件,失敗後才知道怎樣重試和補單。

ProApp 編輯發布及核對日期
網絡交換器與藍黃網絡線
AI 生成情境圖,用作說明文章主題。

本文以假設流程說明設計方法,並非客戶案例。

流程設計示意
  1. 保存事件
  2. 安全處理與重試
  3. 定期核對

逾時了,對方可能已經開單

兩個系統都顯示正常,資料交接卻可能漏了一次。請求逾時時,對方也許已寫入資料;直接重送可能開出兩張單,不重試又可能漏單。要處理的,是確認這次工作到底完成了沒有。

連接工具有沒有重試和補跑?

檢查現有連接工具有沒有錯誤記錄、重試和補跑功能。Stripe 的 Webhook 文件也列出重複及次序問題;自行接駁時,要按各平台規則處理,不能假設每個通知只來一次,或一定依序送達。

記住每個事件處理到哪一步

選一條重要流程,核實通知來源、保存事件編號、排隊處理,並顯示失敗原因。重試前確認是否已完成;無法自動修好的記錄,交同事跟進。

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

試重複通知、次序顛倒、接口限流、對方停機、逾時和只完成部分工作。同一事件重播後不能再次扣款或發貨;真正漏掉的記錄,則要找得到並補回。

整理一次失敗的處理記錄

準備已刪去個人資料的事件時間及處理記錄、接口文件、錯誤訊息,以及正常結果的例子。

想處理類似問題?

告訴我們目前怎樣做、用了哪些工具,以及想改善甚麼。我們可一起看看是調整現有系統、加入連接,還是需要新開發。