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 发送一些与对话相关的事件,例如打字指示器。
  • 消息过期和撤消事件:RBM 平台会发送事件,以确认已过期的邮件是否已成功撤消。