设置超级群消息扩展
超级群消息扩展功能可用于为原始消息增加状态标识(扩展数据为 KV 键值对) ,提供添加、删除、查询扩展信息的接口。
使用消息扩展的场景
对原始消息增加状态标识的业务场景均可使用消息扩展。以下是业务场景示例:
- 消息评论。可通过设置原始消息扩展信息的方式添加评论信息。
- 礼物领取、订单状态变化。通过此功能可改变消息显示状态。例如:向用户发送礼物,默认为未领取状态,用户点击后可设置消息扩展为已领取状态。
消息扩展支持的会话类型
超级群消息扩展接口仅可用于超级群会话类型。
注意事项
消息扩展操作实际上是通过一条特殊的消息实现的,可认为是“扩展操作消息”。如需保证在长期(超过 7 天)不登录客户端等情况下仍可获取扩展操作消息,建议在超级群服务页面延长超级群消息云端存储的时长。
前提条件
原始消息必须在发送时已设置为 可扩展。每次最多可以设置 100 个扩展属性信息,最多可设置 300 个。
提示
例如,通过即时通讯服务端 API 发送消息时,需要设置 expansion
为 true
,该条消息才能支持扩展信息设置。客户端 SDK 从特定版本开始支持该功能(移动端 4.0.3 版本、Web 端 3.0.7 版本)
请求方法
POST: https://数据中心域名/ultragroup/message/expansion/set.json
频率限制: 每秒钟限 100 次
签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名。
正文参数
HTTP 请求正文数据格式为 application/x-www-form-urlencoded
,支持以下 HTTP 表单参数:
提示
扩展信息设置超过 300 个时,设置不成功,返回设置失败错误码,如:已设置 290 个,再次设置 100 个时,本次请求全部失败,设置不成功。
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
msgUID | String | 是 | 消息唯一标识 ID,可通过全量消息路由功能获取。详见全量消息路由。 |
userId | String | 是 | 操作者用户 ID,即需要为指定消息(msgUID )设置扩展信息的用户 ID。 |
busChannel | String | 否 | 超级群频道 ID。具体使用要求如下:
channelId 。 |
groupId | String | 是 | 超级群 ID。 |
extraKeyVal | Object | 是 | 消息扩展的内容,JSON 结构,以 Key、Value 的方式进行设置,如:{"type":"3"} 。Key 最大 32 个字符,支持大小写英文字母、数字、 特殊字符+ = - _ 的组合方式,不支持汉字。Value 最大 4096 个字符。单条消息可设置 300 个扩展信息,一次最多可以设置 100 个。 |
请求示例
POST /ultragroup/message/expansion/set.json HTTP/1.1
Host: api.rong-api.com
App-Key: uwd1c0sxdlx2
Timestamp: 1585127132438
Nonce: 14314
Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
Content-Type: application/x-www-form-urlencoded
msgUID=BRGM-DEN2-01E4-BN66&userId=WNYZbMqpH&groupId=tjw3zbMrU&busChannel=&extraKeyVal=%7B%22type%22%3A%223%22%7D
返回结果
HTTP 响应正文包含具有以下结构的 JSON 对象:
返回值 | 返回类型 | 说明 |
---|---|---|
code | Number | 返回码,200 为正常。 |
返回结果示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{"code":200}