在线调试
批量发送聊天室消息
更新时间: 2024/07/17 16:53:41
功能描述
该接口可以在聊天室中批量发送多条消息,支持发送定向消息(指定消息接收者列表)和空间消息(指定接收者的空间坐标)。
- 在聊天室重发消息也都可通过本接口实现,通过设置
resend_flag
参数进行区分。详情请参见下文请求体参数说明。 - 不支持将聊天室定向消息保存为历史消息。
聊天室存在流量控制机制(以下简称“流控机制”),即用户在聊天室发送大量消息时,部分消息可能丢失。
为保证用户体验(如避免服务器过载),目前针对消息接收,有以下流控机制。
- 针对普通消息,聊天室用户每秒至多可接收 20 条,超过部分会因为流控随机丢弃。为避免丢失重要消息(通常为服务端消息),可将下文请求参数中的
high_priority
参数设置为 true,实现高优先级接收服务端消息,进而保证高优先级消息流控上限内的重要消息不丢失。 - 针对高优先级消息,每秒至多接收 10 条,超过部分可能会丢失。
调用频率
单个应用默认最高调用频率请参考 频控说明。
请求
URL
POST https://open.yunxinapi.com/im/v2/chatrooms/messages
Header
请求 Header 的参数说明请参见请求 Header。
请求体参数
参数名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
room_id |
Long | 必选 | 聊天室 ID。 |
sender_id |
String | 必选 | 发送聊天室消息的账号 ID。 |
receiver_ids |
Array of strings | 可选 | 消息接收账号 ID 列表,例如["yx2","yx3"]。message_config 参数。 |
resend_flag |
Integer | 可选 | 重发消息标记。 0(默认):非重发消息;1:重发消息(按照 message_client_id 进行去重)。 |
extension |
String | 可选 | 开发者扩展参数,JSON 格式,长度上限为 4096 位字符。例如:"{"k":"v"}" |
+
messages |
Array of objects | 必选 | 消息列表。 |
+
message_config |
Object | 可选 | 消息配置项。 |
+
route_config |
Object | 可选 | 抄送相关配置项。 |
+
antispam_config |
Object | 可选 | 安全通相关配置项。 |
请求体示例
json{
"sender_id": "gg",
"room_id": 72,
"receiver_ids": ["wmtest2", "不存在的account_id", "movnrlqeweo9qi0ymlrjhn7jtzhsmv9q0"],
"extension": "laboris enim aliqua sint nostrud",
"messages": [
{
"message_type": 0,
"text": "proident Excepteur irure",
"message_client_id": "dfdfsdfdsf-dfsdfsd-werewrw-11",
"sub_type": 10
}
],
"route_config": {
"route_enabled": true
},
"message_config": {
"ignore_mute": false
}
}
响应
Header
响应 Header 的参数说明请参见响应 Header。
响应体参数
参数名称 | 类型 | 描述 | 是否必返回 |
---|---|---|---|
code |
Integer | 状态码,200 表示请求成功。 | 是 |
msg |
String | 提示信息。请求失败时返回错误信息,请求成功时返回 "success"。 | 是 |
+
data |
Object | 返回的 JSON 数据对象,请求失败则返回空对象。 | 是 |
响应体示例
json{
"code": 200,
"msg": "success",
"data": {
"success_list": [
{
"text": "proident Excepteur irure",
"message_client_id": "dfdfsdfdsf-dfsdfsd-werewrw-11",
"create_time": 1698667510463,
"message_type": 0,
"sender_id": "gg",
"sender_nick": "123",
"sender_avatar": "",
"room_id": 72,
"high_priority": false,
"sub_type": 10
}
],
"failed_list": {
"failed_account_ids": [
{
"account_id": "fgfdgfdgd",
"error_code": 102404,
"error_msg": "fgfdgfdgd not exist"
}
],
"failed_messages": [
{
"message_client_id": "dfdfsdfdsf-dfsdfsd-werewrw-12",
"error_msg": "message hit antispam",
"error_code": 107451
}
]
}
}
}
错误码
错误码 | 错误码描述 | 错误信息示例 |
---|---|---|
200 | 请求成功 | success |
414 | 参数错误 | parameter error |
102404 | 用户不存在 | account not exist |
102422 | 用户被禁用 | account banned |
103404 | 用户资料不存在 | user profile not exist |
107410 | 该 App 未开启发消息功能 | messaging function disabled |
107304 | 高优消息超过频控限制 | rate limit of high-priority messages exceeded |
107305 | ack 消息必须是高优消息 | ack message should be high-priority |
107306 | 消息 ID 重复 | duplicate client message ID |
107451 | 该消息未通过反垃圾审核 | message hit antispam |
113410 | 聊天室服务未开通 | chatroom service disabled |
113404 | 聊天室不存在 | chatroom not exist |
113406 | 聊天室已关闭 | chatroom closed |
113423 | 聊天室全体禁言 | all chatroom members chat banned |
113302 | 聊天室标签成员被禁言 | chatroom tagged members chat banned |
500 | 服务器内部错误 | internal server error |
此文档是否对你有帮助?