跳到主要内容
BeeWorks

知识百科

什么是消息回执?送达回执和已读回执有什么区别

消息回执是即时通讯系统用来确认“消息走到哪一步”的状态反馈,常见的有两级:送达回执表示消息已到达接收方客户端,已读回执表示接收方用户已经打开会话看过这条消息。简单说,送达回执回答“到没到”,已读回执回答“看没看”。

  • 知识百科

消息回执是即时通讯系统用来确认“消息走到哪一步”的状态反馈,常见的有两级:送达回执表示消息已到达接收方客户端,已读回执表示接收方用户已经打开会话看过这条消息。简单说,送达回执回答“到没到”,已读回执回答“看没看”。

消息回执是什么

回执最早来自邮件,在即时通讯中被拆解为可编程的状态事件。以 XMPP 标准的 XEP-0184 为例:发送方在消息中附带回执请求,接收方客户端处理消息后返回确认,发送方据此把状态从“已发送”更新为“已送达”。回执是一条独立消息,带有关联的消息 ID,因此能对应到具体哪一条消息。

送达回执和已读回执的区别

对比项送达回执已读回执
确认内容消息已到达接收方客户端接收方用户已打开会话阅读
触发方式客户端收到消息后自动返回用户进入会话后由客户端上报
是否依赖人工
典型状态已发送、已送达已读
主要用途判断是否需要重发、排查链路问题判断信息是否触达、是否需要跟进催办

三点需要注意:

  • 送达不等于已读。XEP-0184 说明该协议只保证消息交付到客户端,不表示用户已阅读或理解内容。
  • 已读回执记录的是“读到哪”。客户端上报会话 ID 和最后一条已读消息的位置,服务端据此批量更新此前消息的状态。
  • 回执需要多端同步。一台设备上报已读后,服务端要把状态广播给该用户其他在线设备,离线设备在下次登录时增量拉取。

一条消息的状态怎么走完

通用流程分四步:

  1. 客户端发出消息,并附带回执请求;
  2. 服务端投递到接收方客户端后,返回送达回执;
  3. 接收方用户打开会话,客户端上报已读位置;
  4. 服务端更新状态,并通知发送方与该用户其他在线设备。

第三步依赖人为动作,因此会出现“已读不回”的现象。部分产品会把是否开启已读回执交给用户或管理员配置,以平衡效率与个人感受。

企业选型时该关注什么

  • 状态是否完整:至少区分已发送、已送达、已读,避免把“已送达”当成“已通知到人”;
  • 多端是否一致:员工常在电脑和手机之间切换,回执状态需要跨端同步;
  • 数据是否可控:回执状态属于沟通数据,内网场景下应留在企业自有环境;
  • 业务消息是否可追踪:审批、告警、待办等系统消息往往比闲聊更需确认触达。

以 BeeWorks 为例,其企业即时通讯提供已读未读状态,支持 Windows、macOS、Linux、iOS、Android 及 Web 多终端同步消息与会话记录;平台提供统一消息推送能力,业务系统可向指定成员、部门或群组推送审批提醒、待办提醒与系统告警。由于支持私有化部署,消息、会话记录及相关状态数据落在企业自有环境中,传输采用链路加密。开放平台还提供开放 API、Webhook 与事件订阅能力,便于业务系统围绕消息做后续联动。

不同产品实现方式并不相同,具体支持到哪一级状态,仍以官方文档为准。

FAQ

送达回执和已读回执可以只用其中一个吗?

可以,它们回答的是不同问题。只关心“对方是否收到”,送达回执即可;需要确认通知是否真正触达,则需要已读回执。

为什么显示已送达,却没有已读回执?

常见原因包括接收方未开启回执、设备离线,或回执消息在回传途中丢失。不能仅凭没收到回执就断定消息没有送达。

内网办公环境会影响回执吗?

回执是内网内部的消息交互,只要服务端能正常投递即可。需要确认的是状态数据是否同样保存在企业自己的环境中,这也是私有化部署方案常被纳入评估的原因。

有具体的企业协同问题?

选型、私有化部署与信创适配问题,欢迎与我们直接交流。