发送超级群消息
提示
- 如果您的应用/环境在 2022.10.13 日及以后开通超级群服务,超级群业务中会包含一个 ID 为
RCDefault的默认频道。如果发消息时不指定频道 ID,则该消息会发送到RCDefault频道中。客户端 SDK 在获取RCDefault频道的历史消息时,需要传入该频道 ID。 - 如果您的应用/环境在 2022.10.13 日前已开通超级群服务,在发送消息时如果不指定频道 ID,则该消息不属于任何频道。客户端 SDK 获取历史消息时,如果不传入频道 ID,可获取不属于任何频道的消息。即时通讯服务支持客户调整服务至最新行为。该行为调整将影响客户端、服务端收发消息、获取会话、清除历史消息、禁言等多个功能。如有需要,请提交工单咨询详细方案。
应用下的用户可以向应用下的单个超级群或多个超级群发送消息。通过 Server API 发送超级群消息时,终端用户在线状态下,发送者也会接收该消息,同时保存到该用户的历史消息中。
超级群消息发送成功后支持修改消息内容,详见修改超级群消息。
请求方法
POST: https://数据中心域名/message/ultragroup/publish.json
频率限制: 每秒钟限发送 100 条超级群消息。单个频道每秒钟最多发送 20 条;不传频道参数时(busChannel),往指定群中发消息限每秒钟 20 条。请注意,如果一次向 3 个超级群发送消息,视为发送 3 条消息。
签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名。
正文参数
HTTP 请求正文数据格式为 application/json,包含具有以下结构的 JSON 对象:
| 参数 | 类型 | 必传 | 说明 |
|---|---|---|---|
fromUserId | String | 是 | 发送人用户 ID,通过 Server API 非群成员也可以向群组中发送消息。 注意:发送消息所使用的用户 ID 必须已获取过用户 Token,否则消息一旦触发离线推送,通知内无法正确显示发送者的用户信息。 |
toGroupIds | String[] | 是 | 接收群 ID,提供多个本参数可以实现向多群发送消息,最多不超过 3 个超级群。 |
toUserIds | String[] | 否 | 发送超级群定向消息时,接收消息的群成员用户 ID 列表。列表之外的其他超级群用户无法收到该定向消息。注:仅当toGroupIds 传入单个超级群 ID 时有效。 |
objectName | String | 是 | 消息类型,接受内置消息类型(见消息类型概述)或自定义消息的消息类型值。 注意:在自定义消息时,消息类型不可以 "RC:" 开头,以免与系统内置消息类型重名;消息类型长度不可超 过 32 个字符。SDK 中必须已注册过该自定义消息,否则 SDK 收到该消息后将无法解析。 |
content | String | 是 | 所发送消息的内容。2026 年 5 月 29 日起,新注册客户的除图片消息(RC:ImgMsg)、流式消息(RC:StreamMsg)、语音消息(RC:VcMsg)、视频消息(RC:SightMsg)、位置消息(RC:LBSMsg)、合并转发消息(RC:CombineV2Msg,RC:CombineMsg)、引用消息(RC:ReferenceMsg)外,其他消息的 content 消息体大小限制不超过 10 KB。
|
pushContent | String | 否 | 指定收件人离线时触发的远程推送通知中的通知内容。注意:对于部分消息类型,该字段是否有值决定了是否触发远程推送通知。
|
pushData | String | 否 | iOS 平台收到推送消息时,可从 payload 中获取 APNs 推送数据,对应字段名为 appData(提示:rc 字段中默认携带了消息基本信息)。Android 平台收到推送消息时对应字段名为 appData。 |
isPersisted | Int | 否 | 是否需要为收件人在历史消息云端存储服务中存储此条消息。0 表示不存储;1 表示存储。默认值为 1,存储。一般情况下(第 1、2 种情况),客户端是否存储消息不依赖此参数。以下第 3 种情况属于例外:
|
isCounted | Int | 否 | 用户未在线时是否计入未读消息数。0 表示为不计数、1 表示为计数,默认为 1。 |
isMentioned | Int | 否 | 是否为 @ 消息,不传时默认为非 @ 消息(效果等于传 0)。如果需要发送 @ 消息,必须指定为 1,且必须在消息内容字段(content)内部携带 @ 相关信息(mentionedInfo,可参考下方请求示例)。关于 mentionedInfo 结构的详细说明,参见如何发送 @ 消息。 |
contentAvailable | Int | 否 | 针对 iOS 平台,对 SDK 处于后台暂停状态时为静默推送,是 iOS7 之后推出的一种推送方式。 允许应用在收到通知后在后台运行一段代码,且能够马上执行。详情请查看知识库文档。1 表示为开启,0 表示为关闭,默认为 0 |
pushExt | Object | 否 | 配置消息的推送通知,如推送通知的标题等。具体请查看下方 pushExt 参数说明。 |
busChannel | String | 否 | 频道 Id,发消息时会对群 ID 下的频道 ID 做合法性校验,如 果群 ID 下无此频道 ID 则服务端不会下发此条消息。支持大小写英文字母、数字的组合方式,不支持特殊字符,最长为 20 个字符。 |
expansion | Boolean | 否 | 是否为可扩展消息,默认为 false,设为 true 时终端在收到该条消息后,可对该条消息设置扩展信息 |
extraContent | Object | 否 | 仅在 expansion 为 true 时有效。自定义的消息扩展信息,该字段接受 JSON 字符串格式的键值对(key-value pairs)。请注意区别于消息体内的 extra 字段,extraContent 的值在消息发送后可修改,修改方式请参见服务端 API 接口文档消息扩展,或参考各客户端「消息扩展」接口文档。KV 详细要求:以 Key、Value 的方式进行设置,如: {"type":"3"}。Key 最大 32 个字符,支持大小写英文字母、数字、 特殊字符+ = - _ 的组合方式,不支持汉字。Value 最大 4096 个字符。单次可设置最多 100 对 KV 扩展信息,单条消息最多可设置 300 对 KV 扩展信息。 |
quote | String | 否 | 引用消息信息,具体请查看下方 quote 参数说明。 |
-
pushExt参数说明pushExt参数支持设置消息推送通知的标题、推送内容模板、是否强制通知及推送ChannelID等。pushExt为 JSON 结构请求时需要做转义处理。pushExt 参数 类型 必传 说明 titleString否 通知栏显示标题,最长不超过 50 个字符,默认情况下通知标题单聊会话显示用户名称,群聊会话显示群名称。 templateIdString否 推送模板 ID,设置后根据目标用户通过 SDK 设置的语言环境,匹配模板中设置的语言内容进行推送,未匹配成功时使用默认内容进行推送,模板内容在“控制台-自定义推送文案”中进行设置。详情请查看 自定义多语言推送模板。 forceShowPushContentNumber否 是否越过客户端配置,强制在推送通知内显示通知内容( pushContent)。默认值0表示不强制,1表示强制。
说明:客户端设备可设置在接收推送通知时仅显示类似「您收到了一条通知」的提醒。从服务端发送消息时,可通过设置forceShowPushContent为1越过该配置,强制客户端针在此条消息的推送通知中显示推送内容。pushConfigsArray否 按厂商设置不同推送属性。支持的推送通道值为 MI(小米)、HONOR(荣耀)、HW(华为)、OPPO、VIVO、APNs、FCM。pushConfigs.HONOR.importanceString否 荣耀通知栏消息优先级,取值: - NORMAL(服务与通讯类消息)
- LOW(咨询营销类消息)。若资讯营销类消息发送时带图片,图片不会展示。
pushConfigs.HONOR.imageString否 荣耀推送自定义通知栏消息右侧的大图标 URL,若不设置,则不展示通知栏右侧图标。 - URL 使用的协议必须是 HTTPS 协议,取值样例:
https://example.com/image.png。 - 图标文件须小于 512KB,图标建议规格大小:40dp x 40dp,弧角大小为 8dp。
超出建议规格大小的图标会存在图片压缩或显示不全的情况。
pushConfigs.HW.channelIdString否 华为推送通知渠道的 ID,详细请参见 华为自定义通知渠道。更多通知渠道信息,请参见 Android 官方文档。 pushConfigs.HW.importanceString否 华为通知栏消息优先级,取值: - NORMAL(默认值,重要信息)
- LOW
pushConfigs.HW.imageString否 华为推送自定义通知栏消息右侧的大图标 URL,若不设置,则不展示通知栏右侧图标。 - URL 使用的协议必须是 HTTPS 协议,取值样例:
https://example.com/image.png。 - 图标文件须小于 512KB,图标建议规格大小:40dp x 40dp,弧角大小为 8dp。
超出建议规格大小的图标会存在图片压缩或显示不全的情况。
pushConfigs.HW.categoryString否 华为推送通道的消息自分类标识,category 取值必须为大写字母,例如 IM。App 根据华为要求完成自分类权益申请 或 申请特殊权限 后可传入该字段有效。详见华为推送官方文档消息分类标准。该字段优先级高于控制台为 App Key 下的应用标识配置的华为推送 Category。pushConfigs.MI.channelIdString否 小米推送通知渠道的 ID,详细请参见 小米推送消息分类新规。 pushConfigs.MI.large_icon_uriString否 小米推送自定义通知栏消息的右侧图标 URL,若不设置,则不展示通知栏右侧图标。 - 国内版仅 MIUI12 以上版本支持,以下版本均不支持;国际版支持。
- 图片要求:大小 120 * 120px,格式为 png 或者 jpg 格式。
pushConfigs.MI.templateIdString否 小米推送模板 ID,从小米推送运营平台获取。设置后,推送中的 title和pushContent对小米推送不生效。若未设置,系统将使用控制台配置的 App Key 级默认模板。pushConfigs.MI.templateParamObject否 小米推送模板参数,Key/Value 格式,最多 9 个 Key。Key 需与模板预配置参数格式一致,单条消息 Key 不能重复。Value 要求:1~128 字符,不能为纯空格,不支持 emoji 及特殊符号(Unicode Other Symbol 类,即 \p{So}),不支持未分配的 Unicode 字符。 pushConfigs.OPPO.channelIdString否 OPPO 推送通知渠道的 ID,详细请参见 OPPO PUSH 通道升级说明。 pushConfigs.OPPO.categoryString