跳到主要内容

设置单群聊消息扩展

根据消息 ID ,对单聊会话或群聊会话中已经发送的消息设置扩展信息。每次最多可以设置 100 个扩展属性信息,最多可设置 300 个。

通过 Server API 操作消息扩展,默认不会向操作者的客户端同步,会导致扩展信息不一致。如有需要,建议设置 isSyncSender 参数为 1,并了解使用细节。

前提条件

需要设置消息扩展的原始消息必须在发送时已打开可扩展属性。

例如,通过即时通讯服务端 API 发送消息时,需要设置 expansiontrue,该条消息才能支持扩展信息设置。

客户端 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 表单参数:

参数类型必传说明
msgUIDString消息唯一标识 ID,可通过全量消息路由功能获取。详见全量消息路由
userIdString操作者用户 ID,即需要为指定消息(msgUID)设置扩展信息的用户 ID。
conversationTypeString会话类型。支持的会话类型包括:1(二人会话)、3(群组会话)。
targetIdString目标 ID,根据不同的 conversationType,可能是用户 ID 或群组 ID。
extraKeyValObject消息扩展的内容,JSON 结构,以 Key、Value 的方式进行设置,如:{"type":"3"}。Key 最大 32 个字符,支持大小写英文字母、数字、 特殊字符+ = - _ 的组合方式,不支持汉字。Value 最大 4096 个字符。单条消息可设置 300 个扩展信息,一次最多可以设置 100 个。
isSyncSenderInt删除操作会生成一条「扩展操作消息」。该字段指定是否将该「扩展操作消息」同步到发件人(扩展操作者)的客户端。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 对象:

返回值返回类型说明
codeNumber返回码,200 为正常。

返回结果示例

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{"code":200}