发送聊天室消息
应用下的用户可向指定的单个或多个聊天室发送消息。
- 通过该接口发送的消息,默认不会向消息发件人客户端同步。如需同步,请参见
isIncludeSender
参数用法。 - 支持单次向多个聊天室发送消息,建议不要超过 10 个。
提示
- 通过此接口,用户未加入聊天室时可以向聊天室中发送消息。
- 如需向应用下所有聊天室发送消息,可使用发送全体聊天室广播消息(
/message/chatroom/broadcast.json
)接口。详见发送全体聊天室广播消息。
请求方法
POST: https://数据中心域名/message/chatroom/publish.json
频率限制: 每秒钟限 100 条,同时向 10 个聊天室发送消息视为 10 条。
签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名。
正文参数
HTTP 请求正文数据格式为 application/x-www-form-urlencoded
,支持以下 HTTP 表单参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
fromUserId | String | 是 | 发送人用户 ID。 |
toChatroomId | String | 是 | 接收聊天室 ID,提供多个本参数可以实现向多个聊天室发送消息,建议最多不超过 10 个聊天室。 |
objectName | String | 是 | 接受内置消息类型(见消息类型概述)或自定义消息的消息类型值。 注意:在自定义消息时,消息类型不可以 "RC:" 开头,以免与系统内置消息类型重名;消息类型长度不可超过 32 个字符。SDK 中必须已注册过该自定义消息,否则 SDK 收到该消息后将无法解析。 |
content | String | 是 | 所发送消息的内容,单条消息最大 128k。
|
isPersisted | Int | 否 | 是否需要为收件人在历史消息云端存储服务中存储此条消息。0 表示不存储;1 表示存储。默认值为 1 ,存储(依赖聊天室消息云端存储服务)。一般情况下(第 1、2 种情况),客户端是否存储消息不依赖此参数。以下第 3 种情况属于例外:
|
isIncludeSender | Int | 否 | 是否向发件人客户端同步已发消息。1 表示同步,默认值为 0 ,即不同步。注意,仅设置该参数无法确保发件人客户端一定能获取到该条已发消息,您可能还需要启用其他服务。详见发件人客户端如何同步已发消息。 |
priority | Int | 否 | 此条消息的优先级级别,默认不传的话为 0,此消息的优先级按照原有逻辑设定。
|
请求示例
POST /message/chatroom/publish.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
content=%7B%22content%22%3A%22hello%22%2C%22extra%22%3A%22helloExtra%22%7D&fromUserId=2191&toChatroomId=2192&toChatroomId=2193&objectName=RC:TxtMsg
返回结果
HTTP 响应正文包含具有以下结构的 JSON 对象:
返回值 | 返回类型 | 说明 |
---|---|---|
code | Number | 返回码,200 为正常。 |
messageUIDs | Array | messageUID 列表 |
messageUIDs[i].userId | String | 聊天室 ID, 和请求 toChatroomId 对应 |
messageUIDs[i].messageUID | String | 发送到对应聊天室的消息的唯一 ID |
返回结果示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"code": 200,
"messageUIDs": [
{
"chatroomId": "2192",
"messageUID": "XXXX-JJJJ-KKK-LLLL"
},
{
"chatroomId": "2193",
"messageUID": "XXXX-JJJJ-KKK-LLKL"
}
]
}