Webhook 事件與強平預警
商戶 Webhook 事件類型、冪等身份、強平預警欄位和資金結果範例。
本頁依據 Agent Java SDK WEBHOOKS.md 提交 fa6c7b6 同步。此次僅更新文件,沒有發布包含預警輔助方法的新 SDK 製品。
四類事件共用商戶設定的一個回呼 URL(agents.webhook_url),依正文 event 分流;無需為預警另外設定 URL。以下範例只展示資料結構,不用於向測試環境注入資料。
事件和冪等性
商戶預警事件為 liquidation.warning,使用者 WebSocket 的 data.event 仍為 LIQUIDATION_WARNING。不要混用兩種通道。
歷史商戶通知曾使用 LIQUIDATION_WARNING。已凍結的正文在重試時保持原樣,因此接收端必須識別兩種名稱。如果既有業務記錄使用大寫預警鍵前綴,應繼續使用原鍵,或在遷移期間查詢兩種鍵,避免再次處理通知。
目前 WebhookVerifier.idempotencyKey 只提取資金事件的 orderType:orderId:targetStatus,對預警正文會回傳空字串。 此次文件更新沒有發布包含預警輔助方法的新 SDK 製品。可繼續使用現有 verify 方法驗證原始預警正文。驗簽與歸屬校驗通過後,商戶業務程式碼須識別兩種事件名稱,校驗 notificationId 為正整數十進位字串,再構造 liquidation.warning:<notificationId>。不能用空字串去重,也不能要求預警包含資金訂單欄位。
去重必須在商戶與 environment 範圍內持久化,並與業務處理原子提交。不同 notificationId 的 FIRST / UPGRADE / REMINDER 是獨立通知;不要依使用者、輪次或 eventType 合併丟棄。空鍵表示無法提取有效身份。SDK 只回傳輔助鍵,不儲存記錄或執行業務處理。同一身份、不同正文應記錄為衝突,不能覆蓋已處理的正文。
強平警告欄位及範例
資金劃轉結果範例
資金回調保留其現有類型:orderId 和 agentId 是 JSON 數字; amount 和 platformUserId 是字串。不要將警告的字串 agentId 約定應用於資金回呼。使用整數/小數類型讀取大整數而不損失精確度。 completedAt 是 UTC RFC3339; ts 是 Unix 秒。
沖正結果範例
資金訂單終止範例
以上範例僅展示協定;FAILED 的 rejectCode、rejectMessage、failReason 依實際拒絕結果回傳,不能僅憑事件名稱判斷資金已入帳。