在你的音视频应用中,当你需要从业务服务端,向指定 RTC 房间内的批量用户发送点对点消息时,你可以使用 BatchSendRoomUnicast 这个 OpenAPI 实现这一功能。
你可以调用 BatchSendRoomUnicast 接口,指定你所属的 AppId,向 roomId 对应的房间内指定用户批量发送点对点消息。
注:
- 消息可以是文本消息,也可以是二进制消息。
- 文本消息大小不能超过 20 KB,二进制消息大小不能超过 20 KB。
- 该接口支持单次最多同时给600个用户发送点对点消息。
消息发送成功后,用户会通过以下回调收到该消息:
关于调用接口的服务地址、通信协议、字符编码和签名机制,参看调用 OpenAPI。
对于每个 AppId,调用 SendUnicast、SendRoomUnicast、SendBroadcast与BatchSendRoomUnicast的频率上限之和是 500 次每秒。
使用 Post 方式发起请求。
以下是接口特有的请求参数。关于其他公共请求参数,参看请求参数。
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | BatchSendRoomUnicast | 接口名称,本接口取值:SendRoomUnicast |
| Version | String | 是 | 2020-12-01 | 接口版本,本接口取值:2020-12-01 |
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| AppId | String | 是 | Your_AppId | 应用的唯一标志 |
| RoomId | String | 是 | Your_RoomId | 房间 ID,是房间的唯一标志 |
| From | String | 是 | from_userid | 业务服务端的唯一标识; 由你根据 调用 OpenAPI 的 ID 命名规范 自定义; 在一个 AppID 下,不能和真实用户用于实时消息通信的 user_ID 重复;建议使用固定的 ID 的发送消息。 |
| To | String[ ] | 是 | [user1, user2] | 消息接收者的 user_ID |
| Binary | bool | 是 | FALSE | 是否为二进制消息。 |
| Message | String | 是 | hello | 点对点消息 。如果是二进制消息,需进行 base64 编码 |
https://rtc.volcengineapi.com?Action=BatchSendRoomUnicast&Version=2020-12-01
postscript{
"AppId" : "Your_AppId",
"From" : "from_userid",
"To" : ["user1", "user2"],
"RoomId" : "Your_RoomId",
"Message" : "your message",
"Binary" : false
}
json返回值 Result 仅在请求成功时返回消息 success ,表示服务端成功接收到消息,失败时为空。
{
"ResponseMetadata": {
"RequestId": "Your_RequestId",
"Action": "BatchSendRoomUnicast",
"Version": "2020-12-01",
"Service": "rtc",
"Region": "cn-north-1"
},
"Result":{
"Message": "success"
}
}
json