# 频道
# 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
}