在线调试
发送聊天室消息
更新时间: 2024/08/02 18:48:46
功能描述
网易云信服务端支持发送聊天室消息,消息类型包括文本消息、图片消息、语音消息、视频消息、地理位置消息、文件消息、提示消息和自定义消息。各类消息及相关功能的更多介绍,请参见消息概述。
该接口可以在聊天室中发送一条消息,支持发送定向消息(指定消息接收者列表)和空间消息(指定接收者的空间坐标)。
- 在聊天室重发消息也都可通过本接口实现,通过设置
resend_flag
参数进行区分。详情请参见下文请求体参数说明。 - 不支持将聊天室定向消息保存为历史消息。
聊天室存在流量控制机制(以下简称“流控机制”),即用户在聊天室发送大量消息时,部分消息可能丢失。
为保证用户体验(如避免服务器过载),目前针对消息接收,有以下流控机制。
- 针对普通消息,聊天室用户每秒至多可接收 20 条,超过部分会因为流控随机丢弃。为避免丢失重要消息(通常为服务端消息),可将下文请求参数中的
high_priority
参数设置为 true,实现高优先级接收服务端消息,进而保证高优先级消息流控上限内的重要消息不丢失。 - 针对高优先级消息,每秒至多接收 10 条,超过部分可能会丢失。
调用频率
单个应用默认最高调用频率请参考 频控说明。
请求
URL
POST https://open.yunxinapi.com/im/v2/chatrooms/:{room_id}/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"}"。 |
+
message |
Object | 必选 | 消息体。 |
+
message_config |
Object | 可选 | 消息配置项。 |
+
route_config |
Object | 可选 | 抄送相关配置项。 |
+
antispam_config |
Object | 可选 | 安全通相关配置项。 |
+
ai_params |
Object | 可选 | 数字人功能配置项。 |
请求体示例
json{
"sender_id": "wmtest1",
"receiver_ids": ["wmtest2"],
"message": {
"message_type": 0,
"text": "9vblpfa2z1",
"message_client_id": "g238klz45t"
}
}
响应
Header
响应 Header 的参数说明请参见响应 Header。
响应体参数
参数名称 | 类型 | 描述 | 是否必返回 |
---|---|---|---|
code |
Integer | 状态码,200 表示请求成功。 | 是 |
msg |
String | 提示信息。请求失败时返回错误信息,请求成功时返回 "success"。 | 是 |
+
data |
Object | 返回的 JSON 数据对象,请求失败则返回空对象。 | 是 |
响应体示例
json{
"code": 200,
"msg": "success",
"data": {
"message": {
"text": "修改名称反垃圾",
"message_client_id": "xxxxx-dfsfsdfsd-dfdsfs014",
"create_time": 1697632133877,
"message_type": 0,
"sender_id": "yx1",
"sender_nick": "yx1-太安",
"sender_avatar": "https://nim.nosdn.127.net/MTAxMTAxMA==/bmltYV8yNDI1MTU3Nl8xNTM2NjcwOTQ3NTQxXzE0MGJmY2YyLTY0NTQtNGE3YS1iYWQ3LTk1MTg1MWFiMGU1Mg==?imageView&createTime=1536670947328?imageView&thumbnail=200x0&quality=85",
"room_id": 1602883517,
"high_priority_flag": true,
"antispam": false
},
"failed_list": [
{
"account_id": "不存在的account_id",
"error_code": 414,
"error_msg": "invalid parameter: 不存在的account_id"
},
{
"account_id": "zh0ynazdltot5uf",
"error_code": 414,
"error_msg": "length must be between 1 and 32"
}
]
}
}
错误码
错误码 | 错误码描述 | 错误信息示例 |
---|---|---|
200 | 请求成功 | success |
414 | 参数错误 | parameter error |
102404 | 用户不存在 | account not exist |
102421 | 用户被禁言 | account chat banned |
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 |
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 |
114301 | 目标账号在禁言或黑名单列表中 | target account in blocklist or chat banned list of chatroom |
500 | 服务器内部错误 | internal server error |
此文档是否对你有帮助?