创建频道
旧版接口地址创建单个频道(旧版)
旧版接口升级新版注意事项
1、旧版接口创建频道时,能直接设置频道基本信息、观看条件、回放设置、讲师设置、角色设置; 2、新版接口创建频道时,只能设置频道基本信息,观看条件、回放设置、讲师设置、角色设置来源于默认模板设置,在创建频道前需设置好默认模板; 3、默认模板的修改不会对已创建的频道产生影响,已创建频道信息的修改与旧版接口一致; 4、旧版接口直播场景(scene)对应本接口直播模板(template),由于旧版接口无场景(newScene字段)概念,旧版升级新版后,使用旧版接口创建的频道,在新版直播后台的场景会显示未定义,对数据无影响
接口描述
1、根据直播默认模板创建频道
2、(timestamp, appId)参与sign签名,并和sign一起通过url传递,请求体参数不参与签名,通过post请求体传递【请设置请求头contentType:application/json】
3、接口支持https协议
接口URL
http://api.polyv.net/live/v4/channel/create
请求方式
POST
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
2、直播场景为双师课、研讨会时,不支持转播类型设置;直播延迟为无延迟时,不支持转播类型设置;
3、直播场景为研讨会时,不支持直播延迟、转播、连麦人数设置;
4、研讨会场景下主持人密码和参会人密码不能相同;
请求参数描述
请求体参数描述
name
true
String
直播名称,最大长度100
newScene
true
String
直播场景 topclass(大班课) double(双师课,该场景需开通) train(企业培训) alone(活动营销) seminar(研讨会) guide(导播,该场景需开通)
template
true
String
直播模板 ppt(三分屏-横屏) portrait_ppt(三分屏-竖屏) alone(纯视频-横屏) portrait_alone(纯视频-竖屏) topclass(纯视频极速-横屏) portrait_topclass(纯视频极速-竖屏) seminar(研讨会) 字段约束: 直播场景(newScene字段)为 topclass(大班课)时,字段支持ppt(三分屏-横屏)、portrait_ppt(三分屏-竖屏)、alone(纯视频-横屏)、portrait_alone(纯视频-竖屏)、topclass(纯视频极速-横屏)、portrait_topclass(纯视频极速-竖屏) 直播场景(newScene字段)为 train(企业培训)或 alone(活动营销)时,该字段支持ppt(三分屏-横屏)、portrait_ppt(三分屏-竖屏)、alone(纯视频-横屏)、portrait_alone(纯视频-竖屏) 直播场景(newScene字段)为 double(双师课)时,该字段支持ppt(三分屏-横屏)、alone(纯视频-横屏) 直播场景(newScene字段)为 seminar(研讨会)时,该字段支持seminar(研讨会) 直播场景(newScene字段)为 guide(导播)时,该字段支持alone(纯视频-横屏)、portrait_alone(纯视频-竖屏)
channelPasswd
false
String
讲师登录密码,直播场景不是研讨会时有效,长度6-16位,不传则由系统随机生成。(接口允许设置纯数字或纯字母,若需要在直播后台编辑,建议同时包含数字和字母)
seminarHostPassword
false
String
研讨会主持人密码,仅直播场景是研讨会时有效,长度6-16位,不传则由系统随机生成。研讨会主持人密码和参会人密码不能相同。(接口允许设置纯数字或纯字母,若需要在直播后台编辑,建议同时包含数字和字母)
seminarAttendeePassword
false
String
研讨会参会人密码,仅直播场景是研讨会时有效,长度6-16位,不传则由系统随机生成。研讨会主持人密码和参会人密码不能相同。 (接口允许设置纯数字或纯字母,若需要在直播后台编辑,建议同时包含数字和字母)
pureRtcEnabled
false
String
直播延迟 Y无延时 N普通延迟
type
false
String
转播类型 normal不开启、transmit发起转播、receive接收转播(该功能需要开通),部分直播场景不支持转播设置,具体请阅读接口约束
doubleTeacherType
false
String
线上双师 transmit大房间、receive小房间
cnAndEnLiveEnabled
false
String
中英双语直播开关 Y开、N关。设置Y时,仅在newScene为train/alone,template为alone,pureRtcEnabled为N时生效
linkMicLimit
false
Integer
连麦人数限制,最多16人,不传使用账号最大连麦人数(可联系商务修改)
categoryId
false
Integer
分类ID,可通过“查询直播分类”接口获取
startTime
false
Long
开始时间,时间戳,如:1629734400000【注:仅做直播前倒计时显示,不对讲师开播操作产生影响】
endTime
false
Long
结束时间,时间戳,如:1629845600000【注:仅做未开播时直播状态判断显示,不对讲师开播操作产生影响】
subAccount
false
String
子账号邮箱,填写时频道会创建在该子账号下(子账号不能被删除或者禁用),暂无法通过接口获取
customTeacherId
false
String
自定义讲师ID,32个以内ASCII码可见字符
labelData
false
Array
标签id数组
clientAloneTemplateBackgroundUrl
false
String
客户端模版背景图URL
liveCdnBackgroundUrl
false
String
视频混流背景图URL
### 示例
```requestUrl
http://api.polyv.net/live/v4/channel/create?appId=frlr1zazn3&sign=E3F501CFEF5FCCF2DF9BFDCE9C91F48C×tamp=1629445373947
```
请求体json参数:
{
"template": "ppt",
"doubleTeacherType": "normal",
"name": "polyv小课堂",
"startTime": "1779254040000",
"newScene": "topclass",
"type": "normal",
"pureRtcEnabled": "Y",
"linkMicLimit": "6",
"labelData":[]
}
响应参数描述
Data参数描述
channelId
Integer
频道ID
userId
String
POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)
channelPasswd
String
讲师登录密码,直播场景不是研讨会时不为null,长度6-16位
seminarHostPassword
String
研讨会主持人密码,仅直播场景是研讨会时不为null,长度6-16位
seminarAttendeePassword
String
研讨会参会人密码,仅直播场景是研讨会时不为null,长度6-16位
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下载文件中。
强烈建议您使用直播Java SDK完成API的功能对接,直播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。
/**
* 创建单个频道
* @throws IOException
* @throws NoSuchAlgorithmException
*/
@Test
public void testBasicCreateV4() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际
String appId = super.appId;
String appSecret = super.appSecret;
String userId = super.userId;
String timestamp = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "http://api.polyv.net/live/v4/channel/create";
String name = "polyv小课堂";
String newScene = "topclass";
String template = "ppt";
String pureRtcEnabled = "Y";
String type = "normal";
String doubleTeacherType = "normal";
String cnAndEnLiveEnabled = "N";
String linkMicLimit = "5";
String categoryId = "";
Long startTime = new Date().getTime() + 30 * 60 * 1000l;
//http 调用逻辑
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
Map<String, String> bodyMap = new HashMap<>();
bodyMap.put("name", name);
bodyMap.put("newScene", newScene);
bodyMap.put("template", template);
bodyMap.put("pureRtcEnabled", pureRtcEnabled);
bodyMap.put("type", type);
bodyMap.put("doubleTeacherType", doubleTeacherType);
bodyMap.put("cnAndEnLiveEnabled", cnAndEnLiveEnabled);
bodyMap.put("linkMicLimit", linkMicLimit);
// bodyMap.put("categoryId", categoryId);
bodyMap.put("channelPasswd", "Y2KRyUauSITWv");
// bodyMap.put("seminarHostPassword", "lLnAtoeNfAID3");
// bodyMap.put("seminarAttendeePassword", "cpoonjki9CRBh");
bodyMap.put("startTime", String.valueOf(startTime));
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
String body = JSON.toJSONString(bodyMap);
url = HttpUtil.appendUrl(url, requestMap);
String response = HttpUtil.postJsonBody(url,body,null);
log.info("测试创建单个频道,返回值:{}", response);
//do somethings
}
响应示例
系统全局错误说明详见全局错误说明
成功示例
{
"code": 200,
"status": "success",
"requestId": "847f0716fa76461baf8979aaa4415dc3.67.16342672396023837",
"data": {
"channelId": 2614804,
"userId": "1b448be323",
"scene": null,
"channelPasswd": "jvO3RbFTKE61A",
"seminarHostPassword": null,
"seminarAttendeePassword": null
},
"success": true
}
异常示例
{
"code": 400,
"status": "error",
"requestId": "4081dbac03e6441e8bdd301d8feee5a2.124.16360831818611581",
"error": {
"code": 20001,
"desc": "application not found."
},
"success": false
}
Last updated
Was this helpful?