跳转到正文
OmniChannels.ai

短信

短信送达回执的各种状态是什么意思?

更新于

简短回答

短信送达回执状态说明运营商接收后短信的结果。在 SMPP 3.4 中,DELIVRD 表示已送达,UNDELIV 无法送达,EXPIRED 有效期已过,REJECTD 被网络拒收。HTTP API 通常映射为 DELIVERED 或 FAILED。

SMPP 的 stat 值是什么意思?

SMPP 3.4 规范给出了一种回执示例格式,其中 stat 字段保存最终的消息状态。回执文本的具体格式由各 SMSC 自行决定,但以下取值被广泛使用。

stat含义典型原因
DELIVRD已送达手机正常成功
UNDELIV无法送达号码无效、未激活或被限制
EXPIRED送达前有效期已过手机关机或长时间无信号
REJECTD被网络拒收Sender ID 未注册、内容或线路被拦截
DELETED送达前被删除在 SMSC 被取消
ACCEPTD 或 UNKNOWN已接受状态,或无效/未知状态由 SMSC 自行定义;请向服务商确认

平台的 Webhook 状态与之如何对应?

API 会把运营商回执归一化为更简单的状态。在 OmniChannels.ai 平台上,每个渠道都会报告 SUBMITTED、SENT、DELIVERED、READ、FAILED 和 REJECTED。SUBMITTED 和 SENT 是中间状态;对短信而言,DELIVERED、FAILED 和 REJECTED 是终态。状态可能乱序到达,所以切勿让迟到的 SENT 覆盖 DELIVERED。

如何解读原始送达回执?

  1. 将回执中的 id 与 submit_sm_resp 返回的 message_id 对应。
  2. 读取 stat 获取最终状态,读取 err 获取运营商错误码。
  3. 对比提交时间和完成时间,了解送达花了多久。
  4. 对于长短信,汇总每一段的回执后,再将整条短信标记为已送达。

送达回执有哪些局限?

部分运营商不返回回执或延迟返回,有些在短信到达网络而非手机时就报告送达。伪造的 DELIVRD 回执是灰色线路的典型迹象。请把回执视为有力证据,而不是短信已被阅读的证明。

官方来源