基础功能

本页介绍 IM PaaS 的基础能力:单聊、群组、聊天室、会话、消息类型、离线消息与多端同步。高级能力请见「IM 尊享版和 IM 旗舰版功能」对应的「高级功能」页。

单聊​

单聊(Private)即一对一聊天。单聊不需要预先创建,直接以对方 userId 作为 targetId 发送消息即可。

  • 消息实时投递,接收方离线时进入离线队列;
  • 支持文本、图片、文件、语音、位置与自定义消息;
  • 支持已读回执、撤回、输入状态、消息扩展;
  • 历史消息按会话 seq 分页拉取,默认每页 20 条,最大 100 条。

群组​

群组(Group)是稳定的多人会话,成员上限 3,000。群组由服务端 API 创建,支持邀请、踢人、退群、群主转让、管理员与成员禁言。

能力说明接口
创建群组指定群主与初始成员POST /group/create
群成员管理批量邀请、移除、退群POST /group/join
群资料群名称、公告、头像POST /group/update
群主 / 管理员转让群主、设置管理员POST /group/admin/add
成员禁言按成员设置禁言截止时间POST /group/mute

聊天室​

聊天室(Chatroom)面向高并发在线场景,只有在线用户能接收消息,不持久化、不补发;在线人数上限 5,000。

  • 加入聊天室后获取最近 50 条消息;
  • 支持聊天室 KV、成员列表、在线状态与进出事件;
  • 消息超出服务端消费上限会被丢弃,可配合消息优先级与白名单使用。

会话​

会话(Conversation)是客户端展示消息的容器,由 conversationType + targetId 唯一确定。

conversationType含义targetId
1单聊 Private对方 userId
2群组 GroupgroupId
3聊天室 ChatroomchatroomId
4超级群 SuperGroupsuperGroupId
5系统通知 System系统会话固定值

消息类型​

内置消息类型覆盖常见场景;也可以通过自定义消息扩展业务载荷。

类型objectName载荷要点
文本RC:TxtMsgcontent 文本,最长 5,000 字符
图片RC:ImgMsgurl、width、height、size
文件RC:FileMsgurl、name、size、mime
语音RC:HQVCMsgurl、duration(秒)
位置RC:LBSMsglatitude、longitude、poi
自定义自定义 objectName任意 JSON,单条消息上限 5,120 字节

离线消息与多端同步​

接收方不在线时,消息进入离线队列,每个会话最多缓存 500 条;重新连接后按 seq 升序补发,超出上限时客户端通过历史消息接口拉取。

同一账号的多个在线设备会同时收到消息副本:发送方其他端标记为 SEND,接收方标记为 RECEIVE;任一端 ack 推进用户级已读游标。

可靠性​

  • 投递语义:at-least-once,客户端按 messageId 去重;
  • 幂等:同用户 clientMsgId 10 分钟内幂等;
  • 顺序:同一会话内 seq 单调递增;跨会话无全局序;
  • 补拉:断线重连后按 deliveredSeq 重放,客户端可继续用历史接口补齐。