设置单群聊消息扩展
根据消息 ID ,对单聊会话或群聊会话中已经发送的消息设置扩展信息。每次最多可以设置 100 个扩展属性信息,最多可设置 300 个。
通过 Server API 操作消息扩展,默认不会向操作者的客户端同步,会导致扩展信息不一致。如有需要,建议设置 isSyncSender
参数为 1
,并了解使用细节。
前提条件
需要设置消息扩展的原始消息必须在发送时已打开可扩展属性。
例如,通过即时通讯服务端 API 发送消息时,需要设置 expansion
为 true
,该条消息才能支持扩展信息设置。
客户端 SDK 从特定版本开始支持该功能(移动端 4.0.3 版本、Web 端 3.0.7 版本),详见各客户端消息扩展文档。
请求方法
POST https://数据中心域名/message/expansion/set.json
频率限制: 每秒钟限 100 次。注意,100 次请求中最多设置群聊消息扩展 20 次。另见已知问题 1。
签名规则: 所有服务端 API 请求均需要 进行规则校验,详见 API 请求签名。
正文参数
HTTP 请求正文数据格式为 application/x-www-form-urlencoded
,支持以下 HTTP 表单参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
msgUID | String | 是 | 消息唯一标识 ID,可通过全量消息路由功能获取。详见全量消息路由。 |
userId | String | 是 | 操作者用户 ID,即需要为指定消息(msgUID )设置扩展信息的用户 ID。 |
conversationType | String | 是 | 会话类型。支持的会话类型包括:1 (二人会话)、3 (群组会话)。 |
targetId | String | 是 | 目标 ID,根据不同的 conversationType,可能是用户 ID 或群组 ID。 |
extraKeyVal | Object | 是 | 消息扩展的内容,JSON 结构,以 Key、Value 的方式进行设置,如:{"type":"3"} 。Key 最大 32 个字符,支持大小写英文字母、 数字、 特殊字符+ = - _ 的组合方式,不支持汉字。Value 最大 4096 个字符。单条消息可设置 300 个扩展信息,一次最多可以设置 100 个。 |
isSyncSender | Int | 否 | 删除操作会生成一条「扩展操作消息」。该字段指定是否将该「扩展操作消息」同步到发件人(扩展操作者)的客户端。1 表示同步,默认值为 0 ,即不同步。注意,仅设置该参数无法确保发件人客户端一定能获取到该条已发消息,您可能还需要启用其他服务。详见发件人客户端如何同步已发消息。 |
请求示例
POST /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&targetId=tjw3zbMrU&conversationType=1&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}