根據消息 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-urlencodedmsgUID=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}