本文档 API 接口为最新版本接口,后续相关功能的新增都会在此更新,推荐使用最新版本接口。旧版接口文档请参考历史版本。

在你的音视频应用中,当你需要从业务服务端,向指定的一个应用客户端发送房间外点对点消息时,你可以使用 SendUnicast 这个 OpenAPI 实现这一功能。

使用说明
接口行为

你可以调用 SendUnicast 接口,指定你所属的 AppId,通过服务端向指定 user_Id 的用户发送房间外点对点消息。

注意:

  • 用户只要调用 login 接口完成登录,获得用于接收实时消息的 user_Id,就可以接收来自服务端的房间外消息。
  • 消息可以是文本消息,也可以是二进制消息。
  • 文本消息大小不能超过 64 KB,二进制消息大小不能超过 64 KB。

消息发送成功后,用户会通过以下回调收到该消息:

AndroidiOSWindows
文本消息onUserMessageReceivedOutsideRoomrtcEngine:onUserMessageReceivedOutsideRoom:messageOnUserMessageReceivedOutsideRoom
二进制消息onUserBinaryMessageReceivedOutsideRoomrtcEngine:onUserBinaryMessageReceivedOutsideRoom:messageOnUserBinaryMessageReceivedOutsideRoom
调用接口

关于调用接口的服务地址、通信协议、字符编码和签名机制,参看调用 OpenAPI。

注意事项

请求频率:对于每个 AppId,调用 SendUnicast、SendRoomUnicast、SendBroadcast与BatchSendRoomUnicast的频率上限之和是 500 次每秒。

请求说明
请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。

Query
参数类型是否必选示例值描述
ActionString是SendUnicast接口名称。当前 API 的名称为 SendUnicast。
VersionString是2023-07-20接口版本。当前 API 的版本为 2023-07-20。
Body
参数类型是否必选示例值描述
AppIdString是Your_AppId应用的唯一标志

From

String

是

from_server_id

业务服务端的唯一标识。
命名规则符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128}。
在一个 AppID 下,不能和真实用户用于实时消息通信的 user_ID 重复;
建议使用固定的 ID 的发送消息。

ToString是to_user_id消息接收用户调用 login 接口登录时设置的 ID,可用于接收房间外消息

Binary

Boolean

是

false

  • 字段为 true,发送二进制消息;
  • 字段为 false,发送文本消息。
MessageString是hello点对点消息内容。如果是二进制消息,需进行 base64 编码
返回参数

下表仅列出本接口特有的返回参数,公共返回参数请参见返回结构。

参数类型示例值描述
MessageStringsuccess请求成功时返回消息 Success,表示服务端成功接收到消息,失败时返回具体错误信息。
请求示例
POST https://rtc.volcengineapi.com?Action=SendUnicast&Version=2020-12-01

{
    "AppId": "Your_AppId",
    "From": "from_user_id",
    "To": "to_user_id",
    "Message": "hello",
    "Binary" : true/false
}
json
返回示例
{
    "ResponseMetadata": {
        "RequestId": "Your_RequestId",
        "Action": "SendUnicast",
        "Version": "2020-12-01",
        "Service": "rtc",
        "Region": "cn-north-1"
    },
    "Result":{
        "Message": "Success"
    }
}
json
错误码

您可访问公共错误码,获取更多错误码信息。