RBM 中的同步和非同步作業

本文件說明 RBM 平台如何處理訊息傳送和其他 API 互動,並區分同步和非同步作業。

RBM API 互動通常會在 HTTP 層級遵循同步的請求/回應模式。不過,許多 API 呼叫的結果 (尤其是訊息傳送) 會透過 webhook 以非同步方式處理。詳情請參閱下列章節。

訊息傳送:同步要求、非同步傳送

從 API 的角度來看,系統會同步處理 phones.agentMessages.create API 要求。向 RBM 平台提出 HTTP 要求時,伺服器幾乎會立即回應標準 HTTP 狀態碼 (例如 200 OK 或錯誤),指出是否已收到要求,以及要求是否有效。

不過,實際將訊息傳送給使用者的作業會以非同步方式處理。以下因素可能會影響這項程序:

  • 收件者狀態:使用者可能處於離線狀態、電池沒電,或未啟用 RCS。
  • 網路狀況:電信業者網路問題可能會導致訊息延遲送達或無法送達。

RBM 平台會透過 webhooks 以非同步方式提供訊息傳送狀態更新 (例如傳送收據和讀取回條)。因此,雖然初始 API 要求是同步的,但您應依賴非同步 Webhook 事件追蹤訊息傳送情形。請勿期待 phones.agentMessages.create 回應會立即確認提交狀態。

其他 RBM API 互動

大多數以 HTTP 為基礎的 RBM API 也使用同步的請求/回應模型運作。這些 API 會立即提供 HTTP 回應,指出要求狀態 (成功或錯誤)。不過,雖然要求是同步的,但要求所導致的動作可能會涉及非同步程序。舉例來說,對 API 呼叫的成功回應,雖然用於更新操作員資訊,但不代表更新會立即反映在所有地方,可能會有短暫的傳播延遲。

Webhook 端點:非同步事件

系統會以非同步方式將下列事件傳送至您的 webhook 端點:

  • 傳入的使用者訊息:RBM 平台會將傳入的使用者訊息推送至 Webhook 端點。請務必確認內送郵件
  • 傳送和讀取收據:系統會透過 webhook 傳送訊息傳送和讀取狀態的通知。
  • 對話事件:某些對話相關事件 (例如輸入指標) 會透過 webhook 傳送。
  • 訊息到期和撤銷事件:RBM 平台會傳送事件,確認已過期的訊息是否已成功撤銷。