API 参考
在线调试

发送聊天室消息

更新时间: 2024/07/17 16:53:41

功能描述

网易云信服务端支持发送聊天室消息,消息类型包括文本消息、图片消息、语音消息、视频消息、地理位置消息、文件消息、提示消息和自定义消息。各类消息及相关功能的更多介绍,请参见消息概述

该接口可以在聊天室中发送一条消息,支持发送定向消息(指定消息接收者列表)和空间消息(指定接收者的空间坐标)。

  • 在聊天室重发消息也都可通过本接口实现,通过设置 resend_flag 参数进行区分。详情请参见下文请求体参数说明
  • 不支持将聊天室定向消息保存为历史消息。

聊天室存在流量控制机制(以下简称“流控机制”),即用户在聊天室发送大量消息时,部分消息可能丢失。

为保证用户体验(如避免服务器过载),目前针对消息接收,有以下流控机制

  • 针对普通消息,聊天室用户每秒至多可接收 20 条,超过部分会因为流控随机丢弃。为避免丢失重要消息(通常为服务端消息),可将下文请求参数中的 high_priority 参数设置为 true,实现高优先级接收服务端消息,进而保证高优先级消息流控上限内的重要消息不丢失。
  • 针对高优先级消息,每秒至多接收 10 条,超过部分可能会丢失。

调用频率

单个应用默认最高调用频率请参考 频控说明

请求

URL

POST https://open.yunxinapi.com/im/v2/chatrooms/:{room_id}/messages

请求 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 可选 消息配置项。定向消息(receiver_ids 不为空)不支持该参数。
    route_config Object 可选 抄送相关配置项。
    antispam_config 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
    此文档是否对你有帮助?
    有帮助
    去反馈
    • 功能描述
    • 调用频率
    • 请求
    • URL
    • Header
    • 路径参数
    • 请求体参数
    • 请求体示例
    • 响应
    • Header
    • 响应体参数
    • 响应体示例
    • 错误码