API 参考
在线调试

批量发送聊天室消息

更新时间: 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

请求体参数

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