IOSOR 知識庫

將 DLR 狀態 Webhook 與預付扣款進行關聯

了解如何將傳入的傳遞狀態回調與預付資金進行調節,以在 IOSOR CPaaS 基礎設施中釋放預留的帳本金額。

透過 IOSOR 發送 OTP SMS 時,系統會對您的餘額進行 USD 臨時預留。若未能正確將 DLR Webhook 與這些預留款項關聯,可能導致資金遭鎖定及帳本不準確。藉由 API 實作 JIT 對帳流程,您可確保資金根據最終交付狀態立即完成扣款或退回。

理解預付錢包扣款機制

在 IOSOR 生態系統中,每筆外發簡訊請求都會觸發即時帳本檢查。當發送請求啟動時,系統會對預付錢包內的可用餘額進行臨時扣款 (Hold),以確保有足夠的資金來支付訊息傳遞。這並非最終的扣款,而是一種資金預留。最終結算僅在收到來自網路的 DLR 後才會發生,這確保了您的財務帳本能準確反映訊息額度的實際消耗情況。此機制確保了系統在處理高併發吞吐量時,不會因餘額不足而導致傳遞中斷。透過這種方式,預留資金能精確對應至每一筆正在傳輸中的訊息,避免帳戶餘額在傳遞過程中出現誤差。

DLR 與 Webhook 真實性驗證

訊息發送後,網路會返回 DLR 狀態。您的 Webhook 端點會接收此負載,其中包含唯一的訊息 ID 和最終狀態代碼。IOSOR 引擎會將此 ID 與原始交易記錄進行關聯。Webhook 的真實性透過簽章機制進行驗證,確保回調指令來自可信任的基礎設施。如果狀態顯示傳遞成功,系統會將預留金額轉換為永久扣款。若狀態顯示失敗,該預留金額將立即釋放回您的可用餘額中,確保您僅為成功的傳遞嘗試付費。此過程確保了 Webhook 真實性與帳本變動的一致性,防止因網路延遲造成的資金鎖定,並讓您的財務報表與實際傳遞結果完美對齊。

管理帳本調節與 USD 20 底限

調節過程是自動化的,但開發人員必須監控發送與 DLR 到達之間的延遲。如果 DLR 延遲,扣款將保持活躍,這可能會暫時減少您的可用額度。對於維持 USD 20 預付底限的帳戶,這點至關重要,以防止服務中斷。當餘額接近此下限時,系統將優先處理關鍵訊息,並暫緩非緊急流量。若您的月度流量需求較大,請確保帳戶餘額高於此底限,以維持高頻率業務的順暢吞吐量與服務穩定性。保持 USD 20 以上的緩衝餘額,能有效應對突發的流量高峰,並確保系統不會因為短暫的資金不足而觸發自動暫停機制。

靜默時段與 Opt-out 同步策略

在特定業務場景中,您可能需要配置靜默時段以避免打擾終端用戶。透過 IOSOR 的 opt-out 同步機制,系統會自動在發送前檢查黑名單資料庫。若用戶已選擇退出,系統會執行即時 opt-out 同步,直接拒絕發送請求,從而避免不必要的預付扣款。這種主動式過濾策略不僅優化了訊息的送達率,還能確保您的預付資金不會浪費在無效的傳遞嘗試上。透過將 opt-out 列表與您的發送邏輯保持同步,您可以顯著降低無效請求的佔比,進而提升整體的財務運作效率與用戶體驗。

處理邊緣情況與逾時清理

並非所有訊息都能在預期視窗內收到 DLR。如果網路未能提供狀態更新,IOSOR 系統會執行清理作業,在定義的 TTL 後釋放過期的扣款。這能防止『幽靈』扣款影響您的流動性。請務必確保您的 Webhook 處理程式能在 500ms 內確認收到 DLR,以維持我們的帳本與您內部會計記錄之間的同步。若發生網路中斷,系統會自動重試回調,確保您的內部系統能正確更新帳本狀態。對於長期未收到 DLR 的訊息,系統會自動執行釋放預留資金的動作,確保您的帳戶餘額始終維持在健康且可用的狀態。

相關閱讀: 重複的 Webhook 絕不能導致二次扣款 · 事件順序與帳本入帳 · 首次扣款前的預付資金保留.

從 IOSOR 開始

若要完成您的整合,請前往 IOSOR 主控台並導覽至 Webhook 設定,以配置您的總帳對帳端點。請確保您的監聽程式已準備好處理 'dlr.status' 承載資料,並將其直接對應至對應的交易保留 ID。在沙盒環境中測試此關聯性,將可確保保留的資金能立即釋放或扣款,避免總帳產生偏差。

IOSOR 要點

本指南展示了如何安全地在即時訊息傳遞與財務總帳準確性之間建立橋樑。透過將傳入的 DLR 回呼與作用中的預付保留進行關聯,您可以防止資金凍結,並確保您的可用餘額反映的是實際的傳送狀態,而非最壞情況的假設。

請務必將您的 Webhook 處理常式設計為嚴格的等冪性(idempotent),以確保重複的 DLR 不會觸發多次總帳調整。不要完全依賴即時回呼;請務必實作備用的 TTL 機制,以便在電信業者未能傳回遞送收據時釋放過期的保留資金。

這篇指南有幫助嗎?

相關指南