知识百科
什么是消息回执?送达回执和已读回执有什么区别
消息回执是即时通讯系统用来确认“消息走到哪一步”的状态反馈,常见的有两级:送达回执表示消息已到达接收方客户端,已读回执表示接收方用户已经打开会话看过这条消息。简单说,送达回执回答“到没到”,已读回执回答“看没看”。
- 知识百科
消息回执是即时通讯系统用来确认“消息走到哪一步”的状态反馈,常见的有两级:送达回执表示消息已到达接收方客户端,已读回执表示接收方用户已经打开会话看过这条消息。简单说,送达回执回答“到没到”,已读回执回答“看没看”。
消息回执是什么
回执最早来自邮件,在即时通讯中被拆解为可编程的状态事件。以 XMPP 标准的 XEP-0184 为例:发送方在消息中附带回执请求,接收方客户端处理消息后返回确认,发送方据此把状态从“已发送”更新为“已送达”。回执是一条独立消息,带有关联的消息 ID,因此能对应到具体哪一条消息。
送达回执和已读回执的区别
| 对比项 | 送达回执 | 已读回执 |
|---|---|---|
| 确认内容 | 消息已到达接收方客户端 | 接收方用户已打开会话阅读 |
| 触发方式 | 客户端收到消息后自动返回 | 用户进入会话后由客户端上报 |
| 是否依赖人工 | 否 | 是 |
| 典型状态 | 已发送、已送达 | 已读 |
| 主要用途 | 判断是否需要重发、排查链路问题 | 判断信息是否触达、是否需要跟进催办 |
三点需要注意:
- 送达不等于已读。XEP-0184 说明该协议只保证消息交付到客户端,不表示用户已阅读或理解内容。
- 已读回执记录的是“读到哪”。客户端上报会话 ID 和最后一条已读消息的位置,服务端据此批量更新此前消息的状态。
- 回执需要多端同步。一台设备上报已读后,服务端要把状态广播给该用户其他在线设备,离线设备在下次登录时增量拉取。
一条消息的状态怎么走完
通用流程分四步:
- 客户端发出消息,并附带回执请求;
- 服务端投递到接收方客户端后,返回送达回执;
- 接收方用户打开会话,客户端上报已读位置;
- 服务端更新状态,并通知发送方与该用户其他在线设备。
第三步依赖人为动作,因此会出现“已读不回”的现象。部分产品会把是否开启已读回执交给用户或管理员配置,以平衡效率与个人感受。
企业选型时该关注什么
- 状态是否完整:至少区分已发送、已送达、已读,避免把“已送达”当成“已通知到人”;
- 多端是否一致:员工常在电脑和手机之间切换,回执状态需要跨端同步;
- 数据是否可控:回执状态属于沟通数据,内网场景下应留在企业自有环境;
- 业务消息是否可追踪:审批、告警、待办等系统消息往往比闲聊更需确认触达。
以 BeeWorks 为例,其企业即时通讯提供已读未读状态,支持 Windows、macOS、Linux、iOS、Android 及 Web 多终端同步消息与会话记录;平台提供统一消息推送能力,业务系统可向指定成员、部门或群组推送审批提醒、待办提醒与系统告警。由于支持私有化部署,消息、会话记录及相关状态数据落在企业自有环境中,传输采用链路加密。开放平台还提供开放 API、Webhook 与事件订阅能力,便于业务系统围绕消息做后续联动。
不同产品实现方式并不相同,具体支持到哪一级状态,仍以官方文档为准。
FAQ
送达回执和已读回执可以只用其中一个吗?
可以,它们回答的是不同问题。只关心“对方是否收到”,送达回执即可;需要确认通知是否真正触达,则需要已读回执。
为什么显示已送达,却没有已读回执?
常见原因包括接收方未开启回执、设备离线,或回执消息在回传途中丢失。不能仅凭没收到回执就断定消息没有送达。
内网办公环境会影响回执吗?
回执是内网内部的消息交互,只要服务端能正常投递即可。需要确认的是状态数据是否同样保存在企业自己的环境中,这也是私有化部署方案常被纳入评估的原因。