消息内容类型参考

本页按融云消息类型逐一列出内容体字段、示例 JSON 与发送/接收注意点,并明确标注本项目是否实现。判断标准只有一条:平台消息内容类型的 ContentType 枚举是否包含对应类型。

阅读约定

标有 ✅ 的小节表示本项目有对应 content.type,字段与限制以本项目为准。

标有 ⛔ 的小节表示未实现;其中 JSON 是融云内容体示例,仅用于说明字段,不能直接作为本项目请求体发送。

融云使用 objectName + 自由内容体;本项目使用封闭联合体,字段名可能不同(例如融云 imageUri 对应本项目 url)。

快速索引​

类型objectName本项目状态
文本消息RC:TxtMsg✅ 已实现(text)
图片消息RC:ImgMsg✅ 已实现(image)
GIF 图片消息RC:GIFMsg⛔ 未实现
图文消息RC:ImgTextMsg⛔ 未实现
文件消息RC:FileMsg✅ 已实现(file)
高清语音消息RC:HQVCMsg / RC:VcMsg✅ 已实现(voice)
小视频消息RC:SightMsg⛔ 未实现
位置消息RC:LBSMsg✅ 已实现(location)
引用消息RC:ReferenceMsg⛔ 未实现
合并转发消息RC:CombineMsg / RC:CombineV2Msg⛔ 未实现
流式消息RC:StreamMsg⛔ 未实现
名片消息RC:CardMsg⛔ 未实现
撤回通知消息RC:RcNtf✅ 已实现(recall,能力等价)
提示条通知消息RC:InfoNtf⛔ 未实现
群组通知消息RC:GrpNtf⛔ 未实现
命令提醒消息RC:CmdNtf⛔ 未实现
正在输入状态消息RC:TypSts⛔ 未实现
命令消息RC:CmdMsg⛔ 未实现
撤回命令消息RC:RcCmd✅ 已实现(recall,能力等价)
单聊已读回执消息RC:ReadNtf⛔ 未实现
群聊已读回执请求消息RC:RRReqMsg⛔ 未实现
群聊已读回执响应消息RC:RRRspMsg⛔ 未实现
多端已读状态同步消息RC:SRSMsg⛔ 未实现
聊天室属性通知消息RC:chrmKVNotiMsg⛔ 未实现
消息扩展功能消息RC:MsgExMsg⛔ 未实现
实时音视频信令RC:VCAccept / RC:VCHangup / RC:VCInvite / RC:VCModifyMedia / RC:VCModifyMem / RC:VCRinging⛔ 未实现

用户内容类​

用户之间实际发送的内容:文本、图片、GIF、图文、文件、语音、小视频、位置、引用、合并转发、流式与名片。

计入未读数,客户端本地存储;默认支持离线缓存与远程推送。

文本消息(RC:TxtMsg)​

状态:✅ 已实现,对应本项目 content.type=text。下表的“字段”是融云内容体字段;本项目实际发送的 content 见“本项目可发送的内容体”示例。

项值
分类用户内容类
objectNameRC:TxtMsg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.typetext
字段类型必传说明
contentString是文字内容,包括表情
mentionedInfoObject否群聊 @ 信息:type=1 所有人,type=2 指定用户;userIdList 为被 @ 用户
mentionedInfo.mentionedContentString否自定义 @ 推送文案,优先级高于普通 pushContent
userObject否消息携带的发送者信息,一般建议仅直播场景使用

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "content": "@张三 你好,NI PaaS",
  "mentionedInfo": {
    "type": 2,
    "userIdList": [
      "zhangsan"
    ],
    "mentionedContent": "有人@你"
  },
  "extra": ""
}

本项目可发送的内容体(content.type=text):

JSON
{
  "type": "text",
  "text": "@张三 你好,NI PaaS",
  "mentionedInfo": {
    "type": 2,
    "userIds": [
      "zhangsan"
    ]
  }
}

发送注意点:

  • 服务端发送时 objectName 传 RC:TxtMsg,content 传本文 JSON 对象;群聊 @ 还需在接口层声明 @ 语义(融云使用 isMentioned=1)。
  • 本项目以 content.type=text 表达,文本上限 5000 字符,单条消息序列化后不超过 5120 字节(1007)。

接收注意点:

  • 本项目通过 MESSAGES 事件收到 content.type=text;@ 提醒使用 mentionedInfo/mentionedCount,而不是 objectName 解析。

融云原文(证据):/platform-chat-api/message-about/objectname

图片消息(RC:ImgMsg)​

状态:✅ 已实现,对应本项目 content.type=image。下表的“字段”是融云内容体字段;本项目实际发送的 content 见“本项目可发送的内容体”示例。

项值
分类用户内容类
objectNameRC:ImgMsg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.typeimage
字段类型必传说明
imageUriString是图片上传后的服务器地址,单张不超过 100 MB
contentString是图片缩略图 Base64,建议约 5 KB、最大 10 KB
nameString否文件名,缺省时由客户端下载后生成
localPathString是(客户端)本地路径,仅客户端使用,服务端不传

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "imageUri": "https://cdn.example.com/photo/9f2a.jpg",
  "content": "<JPEG 缩略图 Base64,≤10KB>",
  "name": "photo.jpg",
  "extra": ""
}

本项目可发送的内容体(content.type=image):

JSON
{
  "type": "image",
  "url": "https://cdn.example.com/photo/9f2a.jpg",
  "width": 1280,
  "height": 720,
  "size": 245760
}

发送注意点:

  • 融云使用 imageUri 传图片地址、content 传缩略图;本项目使用 content.type=image + url,不要求缩略图 Base64。
  • 本项目的 url 由 uploadFile 或业务方上传得到,宽高与字节数可选;消息体上限 5120 字节。

接收注意点:

  • 客户端按 url 拉取原图;图片消息计入未读并触发离线推送(配置 webhook 时)。

融云原文(证据):/platform-chat-api/message-about/objectname

GIF 图片消息(RC:GIFMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类用户内容类
objectNameRC:GIFMsg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.type—
字段类型必传说明
remoteUrlString是GIF 图片服务器地址,文件不超过 2 MB
gifDataSizeInt是GIF 文件大小(Byte)
width / heightInt是GIF 的宽高
nameString否文件名

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "remoteUrl": "https://cdn.example.com/gif/ok.gif",
  "gifDataSize": 524288,
  "width": 240,
  "height": 240,
  "name": "ok.gif"
}

发送注意点:

  • 融云要求 gifDataSize 与宽高;本项目 ContentType 无 GIF,未实现对应发送接口。

接收注意点:

  • 未实现:客户端无法把该类融云消息解析为本项目内置消息,需要业务自行以 custom 承载并约定渲染(不保证兼容)。
本项目未实现

当前 ContentType 为封闭 8 值,没有 gif 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname

图文消息(RC:ImgTextMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类用户内容类
objectNameRC:ImgTextMsg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.type—
字段类型必传说明
titleString是消息标题
contentString是文字内容
imageUriString是图片地址,建议 120×120
urlString是点击图片跳转的 URL

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "title": "NI PaaS 新功能",
  "content": "消息类型与推送能力更新",
  "imageUri": "https://cdn.example.com/card/cover.png",
  "url": "https://example.com/news/1"
}

发送注意点:

  • 融云图文消息是独立 objectName;本项目未实现,发送会因 ContentType 校验失败(1001)。

接收注意点:

  • 未实现:本项目客户端不内置图文卡片渲染。
本项目未实现

当前 ContentType 为封闭 8 值,没有 imgtext 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname

文件消息(RC:FileMsg)​

状态:✅ 已实现,对应本项目 content.type=file。下表的“字段”是融云内容体字段;本项目实际发送的 content 见“本项目可发送的内容体”示例。

项值
分类用户内容类
objectNameRC:FileMsg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.typefile
字段类型必传说明
fileUrlString是文件服务器地址,融云限制 100 MB
nameString否文件名
sizeString是文件大小(Byte)
typeString是文件类型
localPathString是(客户端)本地路径,仅客户端使用

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "fileUrl": "https://cdn.example.com/file/report.pdf",
  "name": "report.pdf",
  "size": 245760,
  "type": "application/pdf"
}

本项目可发送的内容体(content.type=file):

JSON
{
  "type": "file",
  "url": "https://cdn.example.com/file/report.pdf",
  "name": "report.pdf",
  "size": 245760,
  "mime": "application/pdf"
}

发送注意点:

  • 本项目使用 content.type=file + url/name/size/mime;先 uploadFile 再发送。
  • 本地上传上限 20 MB(服务端文件接口),消息体上限 5120 字节。

接收注意点:

  • 客户端按 url 下载;消息计入未读并触发离线推送(配置 webhook 时)。

融云原文(证据):/platform-chat-api/message-about/objectname

高清语音消息(RC:HQVCMsg / RC:VcMsg)​

状态:✅ 已实现,对应本项目 content.type=voice。下表的“字段”是融云内容体字段;本项目实际发送的 content 见“本项目可发送的内容体”示例。

项值
分类用户内容类
objectNameRC:HQVCMsg / RC:VcMsg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.typevoice
字段类型必传说明
remoteUrlString是AAC 语音文件地址(旧版 RC:VcMsg 直接发送 Base64,已不推荐)
durationInt是语音时长,融云上限 60 秒
nameString否文件名
localPathString是(客户端)本地路径,仅客户端使用

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "remoteUrl": "https://cdn.example.com/voice/hello.aac",
  "duration": 8,
  "name": "hello.aac"
}

本项目可发送的内容体(content.type=voice):

JSON
{
  "type": "voice",
  "url": "https://cdn.example.com/voice/hello.aac",
  "duration": 8
}

发送注意点:

  • 本项目使用 content.type=voice + url + duration,时长范围 1..300 秒(比融云 60 秒更宽)。
  • url 必填;旧版 RC:VcMsg 的 Base64 内联方式不支持。

接收注意点:

  • 客户端按 duration 渲染语音条;播放由业务或 IMKit 组件负责。

融云原文(证据):/platform-chat-api/message-about/objectname

小视频消息(RC:SightMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类用户内容类
objectNameRC:SightMsg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.type—
字段类型必传说明
sightUrlString是小视频文件地址(MP4/H.264+AAC)
contentString是首帧缩略图 Base64,建议约 5 KB、最大 10 KB
durationInt是视频时长(秒),服务端默认上限 2 分钟
sizeString是视频大小(Byte)
nameString是文件名

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "sightUrl": "https://cdn.example.com/video/clip.mp4",
  "content": "<首帧 JPEG 缩略图 Base64,≤10KB>",
  "duration": 12,
  "size": 3145728,
  "name": "clip.mp4"
}

发送注意点:

  • 融云小视频是独立 objectName;本项目未实现视频消息类型。

接收注意点:

  • 未实现:本项目没有内置视频播放与首帧渲染。
本项目未实现

当前 ContentType 为封闭 8 值,没有 sight 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname

位置消息(RC:LBSMsg)​

状态:✅ 已实现,对应本项目 content.type=location。下表的“字段”是融云内容体字段;本项目实际发送的 content 见“本项目可发送的内容体”示例。

项值
分类用户内容类
objectNameRC:LBSMsg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.typelocation
字段类型必传说明
latitudeNumber是纬度,范围 [-90, 90]
longitudeNumber是经度,范围 [-180, 180]
poiString是位置的 POI 信息
contentString是位置缩略图 Base64(JPG)

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "latitude": 39.908823,
  "longitude": 116.39747,
  "poi": "天安门广场",
  "content": "<位置缩略图 Base64>"
}

本项目可发送的内容体(content.type=location):

JSON
{
  "type": "location",
  "latitude": 39.908823,
  "longitude": 116.39747,
  "address": "天安门广场"
}

发送注意点:

  • 本项目使用 content.type=location + latitude/longitude/address;地址上限 200 字。
  • 本项目不要求缩略图 Base64;与融云的 poi 字段名不同。

接收注意点:

  • 经纬度越界返回 1001;客户端按地址展示,不做地图渲染。

融云原文(证据):/platform-chat-api/message-about/objectname

引用消息(RC:ReferenceMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类用户内容类
objectNameRC:ReferenceMsg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.type—
字段类型必传说明
contentString是引用消息自身的文字内容
referMsgUserIdString是被引用消息的发送者 userId
referMsgString是被引用消息结构的 JSON
objNameString是被引用消息类型,支持文本 / 图片 / 文件

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "content": "收到,我稍后处理",
  "referMsgUserId": "user1",
  "objName": "RC:TxtMsg",
  "referMsg": {
    "content": "明天的评审改到 10 点",
    "extra": ""
  }
}

发送注意点:

  • 本项目没有 reference ContentType,不能按融云 RC:ReferenceMsg 发送。
  • 已有部分能力:文本消息可携带 content.quote(messageId/senderId/type/text),服务端校验被引用消息存在于同一会话;这不是独立消息类型。

接收注意点:

  • 引用块由客户端根据 content.quote 渲染;未实现融云引用消息的字段与 objectName。
本项目未实现

当前 ContentType 为封闭 8 值,没有 reference 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname

合并转发消息(RC:CombineMsg / RC:CombineV2Msg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类用户内容类
objectNameRC:CombineMsg / RC:CombineV2Msg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.type—
字段类型必传说明
remoteUrlString是合并转发详情 HTML 的远端地址
conversationTypeInt是原会话类型:1 单聊、3 群聊
nameListArray是前 4 条消息的发送者名称
summaryListArray是前 4 条消息的摘要,与 nameList 对应
localPathString否本地 HTML 路径,仅客户端使用

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "remoteUrl": "https://cdn.example.com/combine/9f2a.html",
  "conversationType": 3,
  "nameList": [
    "张三",
    "李四"
  ],
  "summaryList": [
    "张三:明天评审",
    "李四:收到"
  ]
}

发送注意点:

  • 融云 V1 使用 RC:CombineMsg,V2 使用 RC:CombineV2Msg;本项目均未实现。

接收注意点:

  • 未实现:本项目没有合并转发的 HTML 生成、存储与渲染链路。
本项目未实现

当前 ContentType 为封闭 8 值,没有 combine 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname

流式消息(RC:StreamMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类用户内容类
objectNameRC:StreamMsg
计入未读是
离线缓存支持
默认推送默认推送
本项目 content.type—
字段类型必传说明
contentString是流数据块,首流加续流整体不超过 128 KB
seqLong是严格自增且连续的流序号,从 1 开始
completeBoolean是是否结束
typeString否text / markdown / html,默认 text
messageUIDString否续流使用的流式消息 ID

公共字段 user.id、user.name、user.portrait、user.extra 与 extra 在多数融云内容体中都存在,上表从略;本项目的 Content 是封闭联合体,公共字段为 mentionedInfo、quote、extra。

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "content": "## 正在生成",
  "complete": false,
  "messageUID": "msg_9f2a",
  "seq": 1,
  "type": "markdown"
}

发送注意点:

  • 融云流式消息是独立 objectName RC:StreamMsg,客户端从 5.16.1 起支持打字机效果。
  • 本项目服务端已有 message.stream.start/append/end/get REST 能力,但 ContentType 没有 stream,客户端 SDK 未暴露流式消息能力,因此文档口径仍为未实现。

接收注意点:

  • 未实现:客户端无法按 RC:StreamMsg 增量渲染。
本项目未实现

当前 ContentType 为封闭 8 值,没有 stream 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname

名片消息(RC:CardMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类用户内容类
objectNameRC:CardMsg
计入未读—
离线缓存—
默认推送—
本项目 content.type—
说明

名片不在 38 个服务端 objectName 的公开清单内,单独列出。

字段类型必传说明
user.idString是名片对应的用户 ID
user.nameString否昵称
user.portraitString否头像地址

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "user": {
    "id": "user2",
    "name": "李雷",
    "portrait": "https://cdn.example.com/avatar/u2.png"
  }
}

发送注意点:

  • 融云名片由 IMKit 名片插件定义 ContactMessage(RC:CardMsg),服务端消息类型清单未单列;本项目未实现。

接收注意点:

  • 未实现:本项目没有名片插件与名片消息渲染。
本项目未实现

当前 ContentType 为封闭 8 值,没有 card 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname

通知类​

需要展示在会话中的提示,如“已撤回”“张三加入了群组”。

客户端本地存储但不计入未读数;服务端未预置推送标题与内容,默认不推送。

撤回通知消息(RC:RcNtf)​

状态:✅ 已实现,对应本项目 content.type=recall。能力等价、格式不等价:本项目用 ContentType=recall 占位,而不是新增 RC:RcNtf 消息。下表的“字段”是融云内容体字段;本项目实际发送的 content 见“本项目可发送的内容体”示例。

项值
分类通知类
objectNameRC:RcNtf
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.typerecall
字段类型必传说明
operatorIdString否执行撤回的用户 ID
recallTimeLong是被撤回原消息的发送时间(毫秒)
originalObjectNameString是原消息类型
originalMessageContentObject否原消息内容
adminBoolean是是否管理员操作
deleteBoolean是接收端是否删除原消息而不是显示“已撤回”

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "operatorId": "user1",
  "recallTime": 1750000000000,
  "originalObjectName": "RC:TxtMsg",
  "originalMessageContent": {
    "content": "发错了"
  },
  "recallContent": "你撤回了一条消息",
  "admin": false,
  "delete": false
}

本项目撤回后的占位 content(由服务端写入,客户端不发送):

JSON
{
  "type": "recall",
  "recallMessageId": "m_9f2a",
  "operatorId": "user1"
}

发送注意点:

  • 本项目不发送独立撤回通知;撤回时服务端把原消息内容替换为 content.type=recall 并通过 recall 帧通知在线端。
  • 撤回时限 120000 毫秒;仅发送者或管理员可撤回;重复撤回返回 1023。

接收注意点:

  • 客户端收到 recall 帧后替换气泡;不计入未读、不触发离线推送。

融云原文(证据):/platform-chat-api/message-about/objectname-notification

提示条通知消息(RC:InfoNtf)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类通知类
objectNameRC:InfoNtf
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.type—
字段类型必传说明
messageString是提示条内容
extraString否扩展信息

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "message": "张三加入了群组",
  "extra": ""
}

发送注意点:

  • 融云提示条是独立 objectName;本项目未实现该消息类型。

接收注意点:

  • 未实现:本项目没有小灰条消息的内置渲染。
本项目未实现

当前 ContentType 为封闭 8 值,没有 info-notification 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname-notification

群组通知消息(RC:GrpNtf)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类通知类
objectNameRC:GrpNtf
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.type—
字段类型必传说明
operatorUserIdString是操作人 userId
operationString是Create / Rename / Add / Kicked / Quit / Dismiss 等
dataString是操作数据 JSON 字符串
messageString是展示文案

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "operatorUserId": "user1",
  "operation": "Add",
  "data": "{\"operatorNickname\":\"张三\",\"targetUserIds\":[\"user2\"],\"targetUserDisplayNames\":[\"李四\"]}",
  "message": "添加群成员",
  "extra": ""
}

发送注意点:

  • 融云群组通知是独立 objectName;本项目未实现,群变更通过回调/业务系统消息自行通知。

接收注意点:

  • 未实现:本项目客户端不解析 RC:GrpNtf。可用 content.type=system 自行构造系统通知,但字段与渲染不等价。
本项目未实现

当前 ContentType 为封闭 8 值,没有 group-notification 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname-notification

命令提醒消息(RC:CmdNtf)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类通知类
objectNameRC:CmdNtf
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.type—
字段类型必传说明
nameString是命令名
dataString否任意格式的命令数据

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "name": "ShowBanner",
  "data": "{\"text\":\"活动开始\"}"
}

发送注意点:

  • 融云命令提醒是存储且展示的通知消息;本项目未实现该 objectName。

接收注意点:

  • 未实现:本项目没有通用命令提醒渲染。
本项目未实现

当前 ContentType 为封闭 8 值,没有 command-notification 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname-notification

状态类​

只在在线期间有效的瞬时状态,例如“正在输入”。

不存储、不计入未读数、不支持离线缓存与推送。

正在输入状态消息(RC:TypSts)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类状态类
objectNameRC:TypSts
计入未读否
离线缓存不支持
默认推送不支持
本项目 content.type—
字段类型必传说明
typingContentTypeString是正在输入对应的消息类型

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "typingContentType": "RC:TxtMsg"
}

发送注意点:

  • 融云使用状态消息 RC:TypSts;本项目未把它定义成消息类型。

接收注意点:

  • 本项目有等价能力:sendTypingStatus + TYPING 事件/WebSocket 帧,5 秒过期、按会话节流;不是 ContentType,也不落库。
本项目未实现

当前 ContentType 为封闭 8 值,没有 typing 对应项。能力等价、协议不等价:输入状态走 WS 帧,不产生消息对象。不要伪装成内置消息类型。

融云原文(证据):/platform-chat-api/message-about/objectname-status

信令类​

IM 服务自身业务使用的信令,如撤回命令、已读回执、聊天室 KV 通知、音视频通话信令。

客户端不存储、不计入未读数;是否离线缓存与推送按具体类型而定。

命令消息(RC:CmdMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类信令类
objectNameRC:CmdMsg
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.type—
字段类型必传说明
nameString是命令名称
dataString是命令内容

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "name": "SyncConfig",
  "data": "{\"version\":3}"
}

发送注意点:

  • 融云命令消息不存储、不展示,只在回调与全量消息路由中出现;本项目未实现该 objectName。

接收注意点:

  • 未实现:本项目客户端不接收 RC:CmdMsg。
本项目未实现

当前 ContentType 为封闭 8 值,没有 command 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname-callback

撤回命令消息(RC:RcCmd)​

状态:✅ 已实现,对应本项目 content.type=recall。能力等价、协议不等价:撤回命令由 WS recall 帧 / REST message.recall 替代。下表的“字段”是融云内容体字段;本项目实际发送的 content 见“本项目可发送的内容体”示例。

项值
分类信令类
objectNameRC:RcCmd
计入未读否
离线缓存支持
默认推送默认推送
本项目 content.typerecall
字段类型必传说明
MessageUIdString是被撤回消息的全局唯一 ID
TargetIdString是会话 ID
ChannelIdString是超级群频道 ID
ConversationTypeString是会话类型
isAdminBoolean是是否管理员操作
isDeleteBoolean是接收端是否删除原消息

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "MessageUId": "msg_9f2a",
  "TargetId": "group_1",
  "ChannelId": "RCDefault",
  "ConversationType": "3",
  "isAdmin": false,
  "isDelete": false
}

本项目撤回后的占位 content(由服务端写入,客户端不发送):

JSON
{
  "type": "recall",
  "recallMessageId": "m_9f2a",
  "operatorId": "user1"
}

发送注意点:

  • 本项目不发送独立撤回命令;撤回通过 recall 帧与 message.recall REST 接口完成。

接收注意点:

  • 能力等价、objectName 不等价:本项目不落 RC:RcCmd 消息,也不包含 ChannelId 语义。

融云原文(证据):/platform-chat-api/message-about/objectname-callback

单聊已读回执消息(RC:ReadNtf)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类信令类
objectNameRC:ReadNtf
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.type—
字段类型必传说明
lastMessageSendTimeInt是已读的最后一条消息发送时间
messageUIdString否已读的最后一条消息 UID
typeInt是会话类型,当前仅支持单聊 1

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "lastMessageSendTime": 1750000000000,
  "messageUId": "msg_9f2a",
  "type": 1
}

发送注意点:

  • 融云以 RC:ReadNtf 消息表达已读;本项目不产生该 objectName。

接收注意点:

  • 本项目有等价能力:sendReadReceipt + READ_RECEIPT 事件 + getMessageReadCount;走 WS 帧与 REST,不落消息。
本项目未实现

当前 ContentType 为封闭 8 值,没有 read-notification 对应项。能力等价、协议不等价:已读回执走 WS 帧,不产生消息对象。不要伪装成内置消息类型。

融云原文(证据):/platform-chat-api/message-about/objectname-callback

群聊已读回执请求消息(RC:RRReqMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类信令类
objectNameRC:RRReqMsg
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.type—
字段类型必传说明
messageUIdString是需要请求已读回执的消息 ID

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "messageUId": "msg_9f2a"
}

发送注意点:

  • 融云以独立信令消息请求群已读回执;本项目未实现该 objectName。

接收注意点:

  • 本项目群已读通过 read_receipt 帧与 REST 查询实现,不产生 RC:RRReqMsg。
本项目未实现

当前 ContentType 为封闭 8 值,没有 group-read-request 对应项。能力部分等价:有群已读计数/明细,无对应信令消息。不要伪装成内置消息类型。

融云原文(证据):/platform-chat-api/message-about/objectname-callback

群聊已读回执响应消息(RC:RRRspMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类信令类
objectNameRC:RRRspMsg
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.type—
字段类型必传说明
receiptMessageDicString是按发送者 userId 分组的已读消息 UID 字典

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "receiptMessageDic": "{\"user1\":[\"msg_9f2a\",\"msg_9f2b\"]}"
}

发送注意点:

  • 融云以独立信令消息返回群已读回执;本项目未实现该 objectName。

接收注意点:

  • 本项目通过 read_receipt 帧回传已读消息列表,不产生 RC:RRRspMsg。
本项目未实现

当前 ContentType 为封闭 8 值,没有 group-read-response 对应项。能力部分等价:有群已读数据,无对应信令消息。不要伪装成内置消息类型。

融云原文(证据):/platform-chat-api/message-about/objectname-callback

多端已读状态同步消息(RC:SRSMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类信令类
objectNameRC:SRSMsg
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.type—
字段类型必传说明
lastMessageSendTimeInt是已读的最后一条消息发送时间

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "lastMessageSendTime": 1750000000000
}

发送注意点:

  • 融云用 RC:SRSMsg 在多端之间同步已读状态;本项目未实现该 objectName。

接收注意点:

  • 本项目多端已读同步依赖服务端会话未读与 read 帧(多端游标能力当前版本尚未提供),不产生 RC:SRSMsg。
本项目未实现

当前 ContentType 为封闭 8 值,没有 sync-read 对应项。部分等价:会话未读多端一致;逐端已读游标未实现。不要伪装成内置消息类型。

融云原文(证据):/platform-chat-api/message-about/objectname-callback

聊天室属性通知消息(RC:chrmKVNotiMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类信令类
objectNameRC:chrmKVNotiMsg
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.type—
字段类型必传说明
typeInt是1 设置属性,2 删除属性
keyString是属性名,不超过 128 字符
valueString是属性值,不超过 4096 字符
extraString否对应设置接口的 notificationExtra

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "type": 1,
  "key": "notice",
  "value": "今晚 8 点活动",
  "extra": ""
}

发送注意点:

  • 融云在聊天室 KV 变更时发送 RC:chrmKVNotiMsg;本项目未实现该 objectName。

接收注意点:

  • 本项目聊天室 KV 通过服务端接口与 WS 事件表达,不产生该消息类型。
本项目未实现

当前 ContentType 为封闭 8 值,没有 chatroom-kv 对应项。能力部分等价、协议不等价。不要伪装成内置消息类型。

融云原文(证据):/platform-chat-api/message-about/objectname-callback

消息扩展功能消息(RC:MsgExMsg)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类信令类
objectNameRC:MsgExMsg
计入未读否
离线缓存支持
默认推送默认不推送
本项目 content.type—
字段类型必传说明
clearInt/Boolean否是否删除全部属性
delArray否删除的 Key/Value 数组
putArray否设置的 Key/Value 数组

融云内容体示例(字段口径;本项目请求体字段不同,不可直接照抄):

JSON
{
  "clear": 0,
  "put": [
    {
      "key": "reaction",
      "value": "[\"👍\"]"
    }
  ]
}

发送注意点:

  • 融云消息扩展变更会生成 RC:MsgExMsg 信令消息;本项目未实现该 objectName。

接收注意点:

  • 本项目通过 updateMessageExpansion/removeMessageExpansion 与 message.expansion.* 接口管理扩展,不产生 RC:MsgExMsg。
本项目未实现

当前 ContentType 为封闭 8 值,没有 message-expansion 对应项。能力等价、协议不等价:扩展 KV 直接存消息,不发信令消息。不要伪装成内置消息类型。

融云原文(证据):/platform-chat-api/message-about/objectname-callback

实时音视频信令(RC:VCAccept / RC:VCHangup / RC:VCInvite / RC:VCModifyMedia / RC:VCModifyMem / RC:VCRinging)​

状态:⛔ 未实现。本项目没有对应 ContentType,不能发送或解析该类型。

项值
分类信令类
objectNameRC:VCAccept / RC:VCHangup / RC:VCInvite / RC:VCModifyMedia / RC:VCModifyMem / RC:VCRinging
计入未读否
离线缓存支持
默认推送默认推送
本项目 content.type—
字段类型必传说明
各类信令内容Object—邀请、接受、挂断、切换媒体、成员变化、响铃;字段随 RTC 产品定义

发送注意点:

  • 音视频信令属于 RTC 产品线,本项目明确排除,未实现。

接收注意点:

  • 未实现:无 RTC 能力,也不会收到这些信令。
本项目未实现

当前 ContentType 为封闭 8 值,没有 vc 对应项。本项目当前没有替代实现;在提供对应能力前不要宣称已支持。

融云原文(证据):/platform-chat-api/message-about/objectname-callback

自定义消息(本项目已实现)​

融云允许应用自定义 objectName(不得以 RC: 开头、长度不超过 32),内容体由应用约定。本项目不使用 objectName,而是 content.type=custom + data 承载任意 JSON。

项值
content.typecustom
字段data(任意 JSON)、extra(可选字符串)
限制序列化后整条消息 ≤5120 字节;服务端不解析 data
对应融云自定义 objectName(非 RC: 前缀)
状态✅ 已实现
JSON
{
  "type": "custom",
  "data": {
    "kind": "vote",
    "question": "周末团建去哪?",
    "options": [
      "爬山",
      "桌游"
    ]
  }
}

发送(Web SDK,sendMessage 接收一个消息对象):

JavaScript
import { ConversationType } from '@ni-paas/im-web';

const res = await client.sendMessage({
  conversationType: ConversationType.PRIVATE,
  targetId: 'user2',
  content: {
    type: 'custom',
    data: { kind: 'vote', question: '周末团建去哪?', options: ['爬山', '桌游'] },
  },
});
注意

自定义消息不会获得内置气泡渲染、搜索命中或系统推送文案;接收端必须按 data 自行解析并做降级渲染。

系统通知(本项目已实现,但不是融云通知类 objectName)​

本项目的 system 内容类型只允许在系统会话(conversationType=4、targetId=system)中使用,且只能由服务端发送。它用来承载群变更、好友通过、封禁、广播等系统事件,不等价于融云的 RC:GrpNtf / RC:InfoNtf / RC:CmdNtf。

systemType含义
system_notification通用系统通知
group_notice_changed群公告变更
group_member_changed群成员变化
group_dismissed群解散
user_banned用户封禁
chatroom_destroyed聊天室销毁
friend_accepted好友请求通过
broadcast广播通知
JSON
{
  "type": "system",
  "systemType": "group_member_changed",
  "text": "张三邀请李四加入群组",
  "data": {
    "groupId": "group_1",
    "operatorId": "user1",
    "userIds": [
      "user2"
    ]
  }
}

系统通知由服务端通过 发送系统通知 接口下发,落库、离线补发、多端同步,不触发离线推送 webhook。

实现状态汇总​

状态类型
✅ 已实现为 ContentTypetext / image / file / voice / location / custom / recall / system
⛔ 未实现GIF、图文、小视频、名片、引用、合并转发、流式、命令消息、命令提醒、提示条、群组通知、聊天室 KV 通知、正在输入、单聊/群聊已读信令、多端已读同步、消息扩展通知、音视频信令
✅ 已有等价能力但不是消息类型输入状态(WS 帧)、已读回执(WS 帧 + REST)、消息扩展(REST KV)、聊天室 KV(接口/事件)

相关页面​

融云原文(证据):/platform-chat-api/message-about/about-message-types