IOSOR 知識庫
佇列中的訊息應凍結資金而非直接扣除發送額度
深入了解 IOSOR 如何在帳本中管理訊息佇列狀態。佇列中的簡訊請求會建立暫時性餘額凍結,而非在路由確認前直接執行永久扣款。
佇列中的訊息應凍結資金而非直接扣除發送額度。
為什麼佇列狀態需要進行授權凍結機制
當 API 客戶端提交大量批次簡訊或單一 OTP 驗證碼時,平台會在網路分發前將每個訊息框架放入佇列狀態。若遇到目的地國家或地區的靜音時間(Quiet Hours)法規限制,訊息會暫時滯留在佇列中等待合法發送時段。如果在 API 接收時立即將佇列訊息標記為已確認扣款,將會扭曲客戶的帳單紀錄。預付錢包採用授權凍結機制而非直接扣款,能確保資金在進入路由分發前維持暫時扣押狀態。若發生電信商路由延遲,或是無效的 E.164 號碼導致即時拒絕,在確認前進行扣款將會產生會計錯誤與不必要的餘額爭議。
帳本運作機制:凍結帳本與最終帳本提交
當訊息進入傳輸管線時,帳本系統會驗證您當前的可支配餘額,並放入等於目標目的地費率的暫時授權凍結。此凍結動作會鎖定預付錢包中的必要額度以確保遞送容量,同時保持核心帳本餘額完整。系統以電信商回傳的送達報告(DLR)與 Webhook 事件作為資料庫的最終事實來源(Single Source of Truth)。一旦上游傳回正向 DLR 或路由確認框架,系統就會執行最終帳本提交,將凍結金額轉換為永久扣款;若接收到失敗 DLR,則觸發解凍流程。
邊界情況:過期佇列、逾時與自動沖銷
系統壅塞、目的地網路中斷或暫時性路由失敗,都可能導致訊息停留在佇列狀態超過正常處理閾值。此外,若使用者在訊息佇列等待期間觸發了退訂(Opt-out)同步機制,系統會在最後派發前進行動態黑名單比對。當佇列訊息達到其定義的存活時間過期限制、觸發退訂過濾或遇到即時拒絕時,路由引擎就會終止該發送嘗試。凍結帳本會立即收到取消指令,對該筆授權凍結執行自動化沖銷,將資金即時解凍退回可支配餘額。
大規模邊際防護網與軟性審查閾值
為了確保突發流量湧入時的基礎設施穩定性,帳戶會在自動化餘額防護網下運作。為保證處理外寄 API 請求並支援主動凍結保留以避免服務中斷,帳戶必須維持至少 USD 20 的預付存款下限(USD 20 Floor)。當錢包餘額低於此門檻時,佇列引擎將暫停接收新請求,以防止超額發送風險。隨著您的平台吞吐量與發送容量擴展,且每月帳戶支出接近 USD 1,000/月時,系統將會觸發軟性審查機制,提供專屬的發送額度調整與即時路由防護。
管理佇列狀態與稽核追蹤
工程師與帳單管理員可以使用平台網路鉤子(Webhook)與日誌匯出功能,即時監控訊息生命週期轉換。每個 API 事件與 Webhook 狀態更新都會回傳明確的狀態欄位與時間戳記,指出酬載目前是處於佇列中(Queued)、已發送(Sent)、已遞送(Delivered)或發送失敗(Failed),並附帶相關的交易參考金鑰。透過追蹤 DLR 狀態改變,企業可確保每筆凍結金額與最終會計扣減皆有完全透明的稽核軌跡。
相關閱讀: 佇列中與已發送:IOSOR 中的單一訊息路徑 · 訊息生命周期狀態與低到達率對策手冊 · 首次扣款前的預付資金保留.
從 IOSOR 開始
請開啟您的 IOSOR 主控台,前往「帳本稽核」頁面,檢查目前對應實際已發送扣款的有效保留額度。請設定您的狀態 Webhook 以訂閱 message.queued 與 message.failed 事件,以便即時追蹤自動保留釋放週期。在執行批次對帳之前,請確認您的內部報表系統將佇列中的框架歸類為暫時保留金額,而非最終計費單位。
IOSOR 要點
本指南說明了將訊息框架放入佇列會觸發授權保留以預留網路投遞容量,而非立即進行帳本扣款。將佇列中的酬載視為已完全執行的發送,會導致帳面餘額虛耗、帳務對帳不準確,以及在上游網路壅塞或重試期間發生過早的餘額耗盡。
請在您的架構中將有效的佇列保留與最終帳本提交區分開來,並依賴明確的最終發送 Webhook 或 DLR 事件來進行費用會計。當訊息仍處於佇列狀態時,請勿對使用者餘額進行扣款或產生最終發票項目,也絕不要針對透過生命週期狀態處理常式自動釋放的逾期框架執行手動帳本修正。
這篇指南有幫助嗎?
相關指南
- 佇列中與已發送:IOSOR 中的單一訊息路徑
深入了解財務與產品團隊如何在 IOSOR 中透過統一的狀態機管理 SMS 與 OTP 生命週期,完美平衡預付額度保留與 DLR 狀態。
- 訊息生命周期狀態與低到達率對策手冊
深入了解從提交、排隊、發送到 DLR 回條的精確 SMS 狀態機運作,以及帳戶餘額凍結、Webhook 回呼與平台規則。