# 频道

# 1 创建或加入

接口地址 方法 说明
BaseUrl/api/v1/channel/createOrJoin/{appId} POST 创建或加入

PathVariable:

参数 长度 描述
appId 32位字符串 控制台中项目的APP ID(应用标识ID)

RequestBody: Content-Type="application/json;charset=utf8"

参数 - 长度 描述
channelName - 32位字符串 必填,channel名称
uid - 32位字符串 必填,用户id
hostname - 64位字符串 必填,ip地址或域名,当前paas的uri的location.hostname
nickName - 32位字符串 选填,昵称
layoutId - 可选,布局ID,默认是allEqualNinths (stacked 堆叠布局,allEqualQuarters 4分屏,allEqualNinths 9分屏,allEqualSixteenths 16分屏)
keepActiveInputPrimary - 布尔类型,是否启用语音激励,默认false 可选(true
enableMixCommon - 布尔类型,是否启用语音混流,默认true 可选(true
resolution width 分辨率的width*height 默认864*480
height

channelName说明:

标识通话的频道名称,长度32位字符串。以下为支持的字符集范围:
26 个小写英文字母 a-z
26 个大写英文字母 A-Z
10 个数字 0-9

nickName说明:

长度32位字符串。以下为支持的字符集范围:中文、下划线、英文字母大小写、数字

响应状态码:

参数 描述
200 成功
400 失败,参数错误或请求地址不存在
401 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。
500 系统内部错误

响应数据:

实例:
[POST] https://192.168.2.251/client/api/v1/channel/createOrJoin/5f56eb4b43d86d5f82982524
请求JSON数据:
{
    "channelName":"c1",
    "uid":"1",
    "hostname":"192.168.2.251",
    "nickName":"n1",
    "layoutId":"allEqualNinths",
    "keepActiveInputPrimary":false,
    "enableMixCommon":false,
    "resolution": {
        "width": 864,
        "height": 480
    },
    "bgColor": {
        "r": 115,
        "g": 122,
        "b": 135
    }
}
响应:
{
    "msg": "操作成功",
    "code": 200,
    "data": {
        "appId": "5f56eb4b43d86d5f82982524",
        "appKey": "JgKogm",
        "channelId": "5f5700276736dc5f76ba5120",
        "token": "eyJ0b2tlbklkIjoiNWY1NzAwMjc2NzM2ZGM1Zjc2YmE1MTIxIiwiaG9zdCI6IjE5Mi4xNjguMi4xNTE6ODA4MCIsInNlY3VyZSI6dHJ1ZSwic2lnbmF0dXJlIjoiTnpKaFpERXhOelppT1RVeU5EZ3haRFpqTlRneVltWmpNREU1WkdJNE1UZzBaRGN5WkRKbU16WXlNemhpTmpBME1XVm1PR05tWXpGaFpUTTBORFJqWWc9PSJ9"
    }
}

# 2 创建或更新channel

接口地址 方法 说明
BaseUrl/api/v1/channel/createOrUpdate/{appId} POST 创建或更新channel

PathVariable:

参数 长度 描述
appId 32位字符串 控制台中项目的APP ID(应用标识ID)

RequestBody: Content-Type="application/json;charset=utf8"

参数 描述
channelName 必填,channel名称(channelName不可变,如果变了会生成新的Channel)
memberNum 选填,最大限制人数(默认100)
layout 必填,布局,默认是stacked (stacked 堆叠布局,allEqualQuarters 4分屏,allEqualNinths 9分屏,allEqualSixteenths 16分屏)
startTime 必填,开始时间
timelength 必填,时长(分钟)

响应状态码:

参数 描述
200 成功
400 失败,参数错误或请求地址不存在
401 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。
500 系统内部错误

响应数据:

实例:
[POST] https://192.168.2.251/client/api/v1/channel/createOrUpdate/5f9105ce7255ff666a9109d7
请求JSON数据:
{
    "channelName":"fff",
    "memberNum":"10",
    "videoNum":"3",
    "layout":"stacked",
    "startTime":"2020-10-26 11:13:49",
    "timelength":"200"
}
响应:
{
    "msg": "操作成功",
    "code": 200,
    "data": {
        "channelId": "5f96432a2362bd6669e4f411"
    }
}

# 3 删除channel

接口地址 方法 说明
BaseUrl/api/v1/channel/{appId}/{channelName} DELETE 删除channel

PathVariable:

参数 长度 描述
appId 32位字符串 控制台中项目的APP ID(应用标识ID)
channelName 32位字符串 channelName

响应状态码:

参数 描述
200 成功
400 失败,参数错误或请求地址不存在
401 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。
500 系统内部错误

响应数据:

实例:
[DELETE] https://192.168.2.251/client/api/v1/channel/5f9105ce7255ff666a9109d7/5f963ef47255ff666a9109da
请求JSON数据:

响应:
{
    "msg": "操作成功",
    "code": 200
}

# 4 关闭channel

接口地址 方法 说明
BaseUrl/api/v1/channel/close/{appId}/{channelName} POST 关闭channel

PathVariable:

参数 长度 描述
appId 32位字符串 控制台中项目的APP ID(应用标识ID)
channelName 32位字符串 channelName

响应状态码:

参数 描述
200 成功
400 失败,参数错误或请求地址不存在
401 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。
500 系统内部错误

响应数据:

实例:
[DELETE] https://192.168.2.251/client/api/v1/channel/close/5f9105ce7255ff666a9109d7/5f963ef47255ff666a9109da
请求JSON数据:

响应:
{
    "msg": "操作成功",
    "code": 200
}

# 5 音视频相关

接口地址 方法 说明
BaseUrl/api/v1/channel/changeMedia/{appId}/{channelName}/{streamId} POST 音视频开关

PathVariable:

参数 长度 描述
appId 32位字符串 控制台中项目的APP ID(应用标识ID)
channelName 32位字符串 channelName
streamId 流ID

RequestBody: Content-Type="application/json;charset=utf8"

参数 描述
media 必填,媒体类型:audio/video/av
stat 必填,更新状态:inactive/active active开启 inactive关闭

响应状态码:

参数 描述
200 成功
400 失败,参数错误或请求地址不存在
401 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。
500 系统内部错误

响应数据:

实例:
[POST] https://192.168.2.251/client/api/v1/channel/changeMedia/5f9105ce7255ff666a9109d7/5f963ef47255ff666a9109da/7291123155091312
请求JSON数据:
{
    "media": "video",
    "stat": "active"
}
响应:
{
    "msg": "操作成功",
    "code": 200
}

# 6 发送消息

接口地址 方法 说明
BaseUrl/api/v1/channel/sendMessage/{appId}/{channelName} POST 发送消息

PathVariable:

参数 长度 描述
appId 32位字符串 控制台中项目的APP ID(应用标识ID)
channelName 32位字符串 channelName

RequestBody: Content-Type="application/json;charset=utf8"

参数 描述
from participantId
to 默认"all",可以选择:all或者participantId, all表示会议室, participantId是接受人
type 默认"text"
message 消息内容

响应状态码:

参数 描述
200 成功
400 失败,参数错误或请求地址不存在
401 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。
500 系统内部错误

响应数据:

实例:
[DELETE] https://192.168.2.251/client/api/v1/channel/sendMessage/5f9105ce7255ff666a9109d7/5f963ef47255ff666a9109da
请求JSON数据:
{
    from: "",
    to: "all",
    type: "text",
    message: "",
}
响应:
{
    "msg": "操作成功",
    "code": 200
}

# 7 踢人

接口地址 方法 说明
BaseUrl/api/v1/channel/kickout/{appId}/{channelName}/{participantId} POST 踢人

PathVariable:

参数 长度 描述
appId 32位字符串 控制台中项目的APP ID(应用标识ID)
channelName 32位字符串 channelName
participantId 参与者ID

响应状态码:

参数 描述
200 成功
400 失败,参数错误或请求地址不存在
401 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。
500 系统内部错误

响应数据:

实例:
[POST] https://192.168.2.251/client/api/v1/channel/kickout/5f9105ce7255ff666a9109d7/5f963ef47255ff666a9109da/kikoiafaweqwddsfad
请求JSON数据:

响应:
{
    "msg": "操作成功",
    "code": 200
}

# 8 更换视频位置

接口地址 方法 说明
BaseUrl/api/v1/channel/changeFirsting/{appId}/{channelName}/{streamId} POST 更换视频位置

PathVariable:

参数 长度 描述
appId 32位字符串 控制台中项目的APP ID(应用标识ID)
channelName 32位字符串 channelName
streamId 流ID(混流ID)

RequestBody: Content-Type="application/json;charset=utf8"

参数 描述
streamId 用户视频流ID
index 位置(整型数字)

响应状态码:

参数 描述
200 成功
400 失败,参数错误或请求地址不存在
401 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。
500 系统内部错误

响应数据:

实例:
[POST] https://192.168.2.251/client/api/v1/channel/changeFirsting/5f9105ce7255ff666a9109d7/123/5f963ef47255ff666a9109da-common
请求JSON数据:
[{
	"index":0,
	"streamId":"951854185655840500"
}]
响应:
{
    "msg": "操作成功",
    "code": 200
}

# 9 语音激励

接口地址 方法 说明
BaseUrl/api/v1/channel/activeInput/{appId}/{channelName} POST 语音激励

PathVariable:

参数 长度 描述
appId 32位字符串 控制台中项目的APP ID(应用标识ID)
channelName 32位字符串 channelName

RequestBody: Content-Type="application/json;charset=utf8"

参数 描述
mixStreamId 混流的名称
keepActiveInputPrimary true

响应状态码:

参数 描述
200 成功
400 失败,参数错误或请求地址不存在
401 未授权,未经授权的(App ID/Customer Certificate 匹配错误)。
500 系统内部错误

响应数据:

实例:
[POST] https://192.168.2.251/client/api/v1/channel/activeInput/5f9105ce7255ff666a9109d7/123
请求JSON数据:
{
    "mixStreamId":"common",
    "keepActiveInputPrimary":false
}
响应:
{
    "msg": "ok",
    "code": 200
}