发送房间消息
描述
发送房间消息,推送给房间内的所有在线用户。
调用频率限制:10 次/秒,如需调整,请联系 ZEGO 商务人员了解具体计费规则。
客户端将通过 ZIM SDK 的回调接口,接收房间内的消息通知。
iOS | Android | macOS | Windows | Web |
---|---|---|---|---|
receiveRoomMessage | onReceiveRoomMessage | receiveRoomMessage | onReceiveRoomMessage | receiveRoomMessage |
小程序 | Flutter | Unity3D | uni-app | React Native |
receiveRoomMessage | onReceiveRoomMessage | onReceiveRoomMessage | receiveRoomMessage | receiveRoomMessage |
接口原型
- 请求方法:POST
- 请求地址:
https://zim-api.zego.im/?Action=SendRoomMessage
- 传输协议:HTTPS
请求参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表请参考 调用方式 - 公共请求参数。
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
FromUserId | String | 是 | 发送方的用户 ID。 |
RoomId | String | 是 | 房间 ID。 |
MessageType | Number | 是 | 消息类型,房间会话的适用类型请参考 MessageBody 说明。 |
Priority | Number | 是 | 消息优先级,取值如下:
|
MessageBody | Object | 是 | 消息内容,具体参数格式请参考 MessageBody 说明。 |
SubMsgType | Number | 当 MessageType 为自定义消息时,才需赋值此参数 | 具体的自定义类型。值由您定义,取值范围为 [0,200]。 |
SearchedContent | String | 否 | 自定义消息的检索字段。当 MessageType 为自定义消息时,才可填写此字段,长度上限默认为 64 字节。此字段作用于客户端,除非填写了此字段,否则无法通过客户端搜索到关联的自定义消息。 |
SenderUnaware | Number | 否 | 通过本服务端接口发送消息,请求参数中的 FromUserId 所对应的客户端是否能感知此次发送:
|
说明
- FromUserId、RoomId 仅支持数字,英文字符和 '!','#','$','%','&','(',')','+','-',':',';','<','=','.','>','?','@','[',']','^','_',' ','{','}','|','~'。
- 对于发送和接收 MessageType 为 200 的自定义消息,发送方和接收放对应的客户端的 SDK 版本需为 2.8.0 或以上。
- 如果接收端的 SDK 版本介乎 [2.0.0, 2.8.0) 区间,可以收到自定义消息时,但会显示此消息类型为未知,且无法获取信息内容。如需获取此条消息,请将 SDK 升级为 2.8.0 或以上版本。
- 如果接收端的 SDK 版本为 1.x.x 版本,则无法收到自定义消息,也不会收到未知消息。
请求示例
- 请求地址 URL:
Untitled
https://zim-api.zego.im/?Action=SendRoomMessage
&<公共请求参数>
1
- 请求消息体:
Untitled
{
"FromUserId": "u1",
"RoomId": "r1",
"MessageType": 1,
"Priority": 1,
"MessageBody": {
"Message":"hello world",
"ExtendedData":"d"
}
}
1
响应参数
参数 | 类型 | 描述 |
---|---|---|
Code | Number | 返回码。 |
Message | String | 请求结果的说明信息。 |
RequestId | String | 请求 ID。 |
响应示例
Untitled
{
"Code":0,
"Message":"success",
"RequestId":"343649807833778782"
}
1
返回码
以下仅列出了接口业务逻辑相关的返回码,完整返回码请参考 全局返回码。
返回码 | 说明 | 处理建议 |
---|---|---|
660000025 | MessageBody 中 IsBase64 传入 1 后,发送经 base64 编码的信令消息失败。 | 请确认:
|
660300001 | 输入的 RoomId 不存在。 | 请确认输入的 RoomId 是否正确。 |
660300013 | 房间消息不支持附带回执。 | 请删除请求消息体中的 “HasReceipt” 字段。 |
660400001 | 输入的消息大小超出限制。 | 请检查输入的消息大小。 |
660500002 | 消息发送者未登录过 SDK。 | 请用户先登录后再发送消息。 |