跳转到主要内容
服务端接口是供业务方后端(可参考服务端demo)调用的接口。

基本概念

频道:频道是一个音视频空间(可以理解为一场会议),同一频道内的用户可以互相接收对方的实时音视频数据。

加入频道流程

  1. 业务方客户端调用业务方后端的进入频道接口
  2. 业务方后端调用服务端apichannel/grant获取token返回给业务方客户端
  3. 业务方客户端将token传给rtc sdk以加入频道

频道的打开与销毁

  • 频道可手动打开(如需要提前设置一些频道扩展属性)
  • 第一个用户加入频道时如果频道未打开,自动打开
  • 频道开启后2小时内无人加入,或最后一个用户离开频道2小时后,会自动销毁

频道名规范

长度在 64 字节以内的字符串。以下为支持的字符集范围:
  • 26 个小写字母 a-z。
  • 26 个大写字母 A-Z。
  • 10 个数字 0-9。
  • ”-”,”_“。

约定

  • 本协议采用HTTP+JSON格式进行传输 application/json
  • 协议所有接口只支持POST
  • 字符串编码为UTF-8

准备

调用前需要得到app_idapp_key

请求头

说明备注
app_id应用id必填
nonce请求唯一ID,防重复提交必填,16位随机字符串
timestampunix时间戳s必填,客户端本地时间戳,精确到秒。
客户端本地时间和服务器前后相差不能超过5分钟,否则服务器会拒绝客户端的请求。
signature签名值必填, 采用HMAC-SHA256算法,用服务器发放的app_key作为key,对除signature外的请求数据进行加密。

签名算法

第一步:拼接待签名字符串,将app_id nonce timestamp以及请求body的json字符串用&拼接
// 假定app_id=1 nonce=2 timestamp=3 请求体为{}
app_id=1&nonce=2&timestamp=3&{}
```typescript

第二步:使用HMAC-SHA256加密字符串。key是`app_key`秘钥。

```typescript
HMACSHA256(key, 待签名字符串)
第三步:把二进制转化为小写的十六进制得到signature

响应格式

正常返回,code为0,data为数据
{
    "code": 0,
    "data": 123
}
```typescript

有错误,`code`为错误码,`msg`为错误描述

```css
{
    "code": 10041,
    "msg": "认证失败"
}