即时通讯
  • iOS
  • Android : Java
  • macOS
  • Windows
  • Web
  • 小程序
  • Flutter
  • Unity3D
  • uni-app
  • React Native
  • 产品简介
  • 下载
  • 快速开始
    • 跑通示例源码
    • 实现基本消息收发
  • 用户相关
  • 房间相关
  • 群组相关
  • 消息相关
  • 呼叫邀请
  • 会话管理
  • 缓存管理
  • 离线推送
  • 语音组件
  • 客户端 API
  • 服务端 API
  • 迁移方案
  • SDK 错误码
  • 常见问题
  • 文档中心
  • 即时通讯
  • 服务端 API
  • 消息相关
  • 发送房间消息

发送房间消息

更新时间:2024-04-15 14:24

描述

发送房间消息,推送给房间内的所有在线用户。

调用频率限制:10 次/秒,如需调整,请联系 ZEGO 商务人员了解具体计费规则。

客户端将通过 ZIM SDK 的回调接口,接收房间内的消息通知。

接口原型

  • 请求方法:POST
  • 请求地址:https://zim-api.zego.im/?Action=SendRoomMessage
  • 传输协议:HTTPS

请求参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表请参考 调用方式 - 公共请求参数

参数 类型 是否必选 描述
FromUserId
String
发送方的用户 ID。
RoomId
String
房间 ID。
MessageType
Number
消息类型,房间会话的适用类型请参考 MessageBody 说明
Priority
Number
消息优先级,取值如下:

  • 1:低。
  • 2:中。
  • 3:高。
MessageBody
Object
消息内容,具体参数格式请参考 MessageBody 说明
SubMsgType
Number
当 MessageType 为自定义消息时,才需赋值此参数
具体的自定义类型。值由您定义,取值范围为 [0,200]。
SearchedContent
String
自定义消息的检索字段。当 MessageType 为自定义消息时,才可填写此字段,长度上限默认为 64 字节。此字段作用于客户端,除非填写了此字段,否则无法通过客户端搜索到关联的自定义消息。
  • FromUserId、RoomId 仅支持数字,英文字符和 '!','#','$','%','&','(',')','+','-',':',';','<','=','.','>','?','@','[',']','^','_',' ','{','}','|','~'。
  • 对于发送和接收 MessageType 为 200 的自定义消息,发送方和接收放对应的客户端的 SDK 版本需为 2.8.0 或以上。
  • 如果接收端的 SDK 版本介乎 [2.0.0, 2.8.0) 区间,可以收到自定义消息时,但会显示此消息类型为未知,且无法获取信息内容。如需获取此条消息,请将 SDK 升级为 2.8.0 或以上版本。
  • 如果接收端的 SDK 版本为 1.x.x 版本,则无法收到自定义消息,也不会收到未知消息。

请求示例

  • 请求地址 URL:

    https://zim-api.zego.im/?Action=SendRoomMessage
    &<公共请求参数>
  • 请求消息体:

    {
        "FromUserId": "u1",
        "RoomId": "r1",
        "MessageType": 1,
        "Priority": 1,
        "MessageBody": {
            "Message":"hello world",
            "ExtendedData":"d"
        }
    }

响应参数

参数 类型 描述
Code
Number
返回码。
Message
String
请求结果的说明信息。
RequestId
String
请求 ID。

响应示例

{
    "Code":0,
    "Message":"success",
    "RequestId":"343649807833778782"
}

返回码

以下仅列出了接口业务逻辑相关的返回码,完整返回码请参考 全局返回码

返回码 说明 处理建议
660000025
MessageBodyIsBase64 传入 1 后,发送经 base64 编码的信令消息失败。
请确认:

  • 请确认 IsBase64 是否需要为 1,即是否需要发送二进制类型信令消息。
  • 请确认消息内容是否经 base64 编码。
660300001
输入的 RoomId 不存在。
请确认输入的 RoomId 是否正确。
660300013
房间消息不支持附带回执。
请删除请求消息体中的 “HasReceipt” 字段。
660400001
输入的消息大小超出限制。
请检查输入的消息大小。
660500002
消息发送者未登录过 SDK。
请用户先登录后再发送消息。
本篇目录