account
1、创建账号下直播分类
描述
创建账号下直播分类
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/category/create
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testCreateCategory() throws Exception {
LiveCreateCategoryRequest liveCreateCategoryRequest = new LiveCreateCategoryRequest();
LiveCreateCategoryResponse liveCreateCategoryResponse;
try {
liveCreateCategoryRequest.setCategoryName("分类1");
liveCreateCategoryResponse = new LiveAccountServiceImpl().createCategory(liveCreateCategoryRequest);
Assert.assertNotNull(liveCreateCategoryResponse);
log.debug("测试创建账号下直播分类成功,{}", JSON.toJSONString(liveCreateCategoryResponse));
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveCreateCategoryResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| categoryName | true | String | 频道分类名称 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| categoryId | Integer | 分类id |
| categoryName | String | 分类名称 |
| userId | String | POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置) |
| rank | Integer | 分类排序(从小到大排序) |
2、查询账号下直播分类
描述
查询账号下直播分类
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/category/list
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testListCategory() throws Exception {
LiveListCategoryRequest liveListCategoryRequest = new LiveListCategoryRequest();
LiveListCategoryResponse liveListCategoryResponse;
try {
liveListCategoryResponse = new LiveAccountServiceImpl().listCategory(liveListCategoryRequest);
Assert.assertNotNull(liveListCategoryResponse);
log.debug("测试查询账号下直播分类成功,{}", JSON.toJSONString(liveListCategoryResponse));
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveListCategoryResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| liveCategories | Array | 频道分类列表【详见LiveCategory参数描述】 |
LiveCategory参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| categoryId | Integer | 分类ID |
| categoryName | String | 分类名称 |
| userId | String | POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置) |
| rank | Integer | 分类排序号,rank=0表示为默认排序 |
3、修改直播频道分类名称
描述
修改直播频道分类名称
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/category/update-name
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateCategory() throws Exception {
LiveUpdateCategoryRequest liveUpdateCategoryRequest = new LiveUpdateCategoryRequest();
Boolean liveUpdateCategoryResponse;
try {
liveUpdateCategoryRequest.setCategoryId(391976).setCategoryName("勿删分类-" + super.getRandomString(4));
liveUpdateCategoryResponse = new LiveAccountServiceImpl().updateCategory(liveUpdateCategoryRequest);
Assert.assertTrue(liveUpdateCategoryResponse);
log.debug("测试修改直播频道分类名称成功");
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| categoryId | true | Integer | 分类id |
| categoryName | true | String | 分类名称 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为修改成功,false为修改失败
4、修改直播频道分类顺序
描述
修改直播频道分类顺序
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/category/update-rank
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateCategorySort() throws Exception {
LiveUpdateCategorySortRequest liveUpdateCategorySortRequest = new LiveUpdateCategorySortRequest();
Boolean liveUpdateCategorySortResponse;
try {
liveUpdateCategorySortRequest.setCategoryId(388964).setAfterCategoryId(340019);
liveUpdateCategorySortResponse = new LiveAccountServiceImpl().updateCategorySort(
liveUpdateCategorySortRequest);
Assert.assertTrue(liveUpdateCategorySortResponse);
log.debug("测试修改直播频道分类顺序成功");
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| categoryId | true | Integer | 分类id |
| afterCategoryId | true | Integer | 移动到该id对应的分类之后 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为修改排序成功,false为修改排序失败
5、删除直播频道分类
描述
删除直播频道分类
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/category/delete
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testDeleteCategory() throws Exception {
LiveDeleteCategoryRequest liveDeleteCategoryRequest = new LiveDeleteCategoryRequest();
Boolean liveDeleteCategoryResponse;
try {
liveDeleteCategoryRequest.setCategoryId(345128);
liveDeleteCategoryResponse = new LiveAccountServiceImpl().deleteCategory(liveDeleteCategoryRequest);
Assert.assertTrue(liveDeleteCategoryResponse);
log.debug("测试删除直播频道分类成功");
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| categoryId | true | Integer | 分类id |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为删除成功,false为删除失败
6、获取直播用户账号信息接口
描述
获取直播用户账号信息接口
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/get-info
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetAccountInfo() throws Exception {
LiveAccountInfoRequest liveAccountInfoRequest = new LiveAccountInfoRequest();
LiveAccountInfoResponse liveAccountInfoResponse;
try {
liveAccountInfoResponse = new LiveAccountServiceImpl().getAccountInfo(liveAccountInfoRequest);
Assert.assertNotNull(liveAccountInfoResponse);
log.debug("测试获取直播用户账号信息接口成功,{}", JSON.toJSONString(liveAccountInfoResponse));
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveAccountInfoResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| userId | String | POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置) |
| String | 邮箱账号 | |
| maxChannels | Integer | 最大可创建频道数 |
| totalChannels | Integer | 当前已创建频道总数 |
| availableChannels | Integer | 当前剩余可创建频道数 |
| linkMicLimit | Integer | 账号连麦人数上限 |
7、查询账号下所有频道详细信息
描述
查询账号下所有频道详细信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/management/list-detail
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testListAccountDetail() throws Exception, NoSuchAlgorithmException {
LiveListAccountDetailRequest liveListAccountDetailRequest = new LiveListAccountDetailRequest();
LiveListAccountDetailResponse liveListAccountDetailResponse;
try {
liveListAccountDetailRequest.setCurrentPage(1);
liveListAccountDetailResponse = new LiveAccountServiceImpl().listAccountDetail(
liveListAccountDetailRequest);
Assert.assertNotNull(liveListAccountDetailResponse);
if (liveListAccountDetailResponse != null) {
//to do something ......
log.debug("分页查询账号下所有频道详细信息成功,{}", JSON.toJSONString(liveListAccountDetailResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveListAccountDetailResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| categoryId | false | Integer | 所属分类id |
| watchStatus | false | String | 观看页状态筛选,live-直播中,playback-回放中,end-已结束,waiting-未开始 |
| keyword | false | String | 频道名称,模糊查询 |
| currentPage | false | Integer | 页数,默认为1【对应api文档的page字段】 |
| pageSize | false | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| contents | Array | 频道详细信息列表【详见LiveChannelDetail参数描述】 |
| pageSize | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| currentPage | Integer | 当前页【对应api文档的pageNumber字段】 |
| totalItems | Integer | 记录总条数 |
| totalPage | Integer | 总页数【对应api文档的totalPages字段】 |
LiveChannelDetail参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| name | String | 频道名称 |
| channelPasswd | String | 频道密码 |
| categoryId | String | 频道分类ID |
| scene | String | 场景,alone-活动直播,ppt-三分屏,topclass-大班课,seminar:研讨会 |
| sceneText | String | 场景描述,如:大班课 |
| watchStatus | String | 观看页状态,live-直播中,playback-回放中,end-已结束,waiting-未开始 |
| watchStatusText | String | 观看页状态描述,直播中,回放中,已结束,未开始 |
| watchUrl | String | 观看页链接 |
| content | String | 直播介绍 |
| startTime | Date | 直播开始时间 |
| authSetting | Array | 直播权限设置数据传输对象【详见LiveAuthSetting参数描述】 |
LiveAuthSetting参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| rank | Integer | 用于实现一个频道设置两个观看条件,为1或2(1为主要条件,2为次要条件) |
| userId | String | POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置) |
| globalSettingEnabled | String | 是否开启全局设置(Y/N) |
| enabled | String | 是否开启观看条件(Y/N) |
| authType | String | 观看条件类型(1. 无限制 none 2. 验证码观看 code 3. 付费观看 pay 4. 白名单观看 phone 5. 登记观看 info 6. 分享观看 wxshare 7. 自定义授权观看 custom 8. 外部授权观看 external) |
| codeAuthTips | String | 验证码观看提示信息 |
| authCode | String | 验证码观看方式的验证码 |
| qcodeTips | String | 验证码观看方式的二维码提示 |
| qcodeImg | String | 验证码观看方式的二维码图片 |
| payAuthTips | String | 付费观看提示信息 |
| price | Float | 付费观看的价格 |
| validTimePeriod | String | 付费观看的截止时长 (天) |
| watchEndTime | Date | 付费观看,截止时间,为null表示:一次付费,永久有效 |
| authTips | String | 白名单观看提示信息 |
| infoAuthTips | String | 登记观看提示信息 |
| customKey | String | 自定义授权观看的key |
| customUri | String | 自定义授权观看的接口地址 |
| externalKey | String | 自定义授权观看的接口地址 |
| externalUri | String | 外部授权观看的接口地址 |
| externalRedirectUri | String | 外部授权观看,用户直接访问观看页时的跳转地址 |
| directKey | String | 独立授权key |
| trialWatchEnabled | String | 试看开关,Y:开启试看,N:关闭试看 |
| trialWatchTime | Integer | 试看时间,单位为分钟 |
| trialWatchEndTime | Date | 试看截止日期,为null 表示对该频道永久有效 |
8、查询账号下的频道列表
描述
查询账号下的频道列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/channels
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testListAccount() throws Exception, NoSuchAlgorithmException {
LiveListAccountRequest liveListAccountRequest = new LiveListAccountRequest();
LiveListAccountResponse liveListAccountResponse;
try {
liveListAccountRequest.setCategoryId(null).setKeyword(null);
liveListAccountResponse = new LiveAccountServiceImpl().listAccount(liveListAccountRequest);
Assert.assertNotNull(liveListAccountResponse);
if (liveListAccountResponse != null) {
//to do something ......
log.debug("测试查询账号下的频道列表成功,{}", JSON.toJSONString(liveListAccountResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveListAccountResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| categoryId | false | Integer | 所属分类id,不传则查询所有分类下的频道号 |
| keyword | false | String | 频道名称,模糊查询 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channels | Array | 频道号列表 |
9、获取账号连麦分钟数使用量与剩余量
描述
获取账号连麦分钟数使用量与剩余量
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/statistics/mic/get-duration
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetMicDuration() throws Exception, NoSuchAlgorithmException {
LiveAccountMicDurationRequest liveAccountMicDurationRequest = new LiveAccountMicDurationRequest();
LiveAccountMicDurationResponse liveAccountMicDurationResponse;
try {
liveAccountMicDurationResponse = new LiveAccountServiceImpl().getMicDuration(liveAccountMicDurationRequest);
Assert.assertNotNull(liveAccountMicDurationResponse);
if (liveAccountMicDurationResponse != null) {
//to do something ......
log.debug("测试获取账号连麦分钟数使用量与剩余量成功,{}", JSON.toJSONString(liveAccountMicDurationResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveAccountMicDurationResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| available | Integer | 可用连麦分钟数,单位分钟 |
| history | Integer | 历史已使用连麦分钟数,单位分钟 |
10、设置账号单点登录的token
描述
设置账号单点登录的token
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/set-sso-token
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、token 参数请勿过于简单,建议使用16位随机字符串
单元测试
@Test
public void testCreateAccountToken() throws Exception, NoSuchAlgorithmException {
LiveCreateAccountTokenRequest liveCreateAccountTokenRequest = new LiveCreateAccountTokenRequest();
Boolean liveCreateAccountTokenResponse;
try {
liveCreateAccountTokenRequest.setToken(LiveSignUtil.generateUUID());
liveCreateAccountTokenResponse = new LiveAccountServiceImpl().createAccountToken(
liveCreateAccountTokenRequest);
Assert.assertNotNull(liveCreateAccountTokenResponse);
if (liveCreateAccountTokenResponse) {
//to do something ......
log.debug("测试设置账号单点登录的token成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| token | true | String | 唯一的字符串,请勿过于简单,建议使用16位随机字符串 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为设置成功,false为设置失败
11、设置直播状态回调通知url
描述
设置直播状态回调通知url
接口地址(仅做说明使用):https://api.polyv.net/live/v2/user/%s/set-stream-callback
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、不提交地址参数url,则回调地址为空,表示关闭回调功能,如果要提交的地址参数url,必须以 http:// 或者 https:// 开头
单元测试
@Test
public void testUpdateStreamCallbackUrl() throws Exception, NoSuchAlgorithmException {
LiveAccountStreamCallbackRequest liveAccountStreamCallbackRequest = new LiveAccountStreamCallbackRequest();
Boolean liveAccountStreamCallbackResponse;
try {
liveAccountStreamCallbackRequest.setUrl("http://www.abc.com/callback");
liveAccountStreamCallbackResponse = new LiveAccountServiceImpl().updateStreamCallbackUrl(
liveAccountStreamCallbackRequest);
Assert.assertNotNull(liveAccountStreamCallbackResponse);
if (liveAccountStreamCallbackResponse) {
//to do something ......
log.debug("测试设置直播状态回调通知url成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| userId | false | String | POLYV用户ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| url | false | String | 回调地址url,不提交表示关闭回调功能,如果提交,必须以http://或者https://开头 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为设置回调成功,false为设置回调失败
回调说明
设置接口地址后,如果账号下频道有进行推流、断流操作导致频道直播状态改变,直播系统会将以下参数channelId(频道号)和status(直播状态:live表示开始直播,end表示直播结束)以GET方式提交到给用户自定义的回调接口进行通知,如:http://abc.com/test.do?channelId=123456&status=live×tamp=1557976774000&sign=xxdxxxxx&sessionId=xxxxxddd&startTime=1557976777111&endTime=1557976777111
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| status | String | 直播频道的状态:live正在直播,end直播结束 |
| timestamp | Long | 13位的时间戳 |
| sign | String | 校验的加密字符串,生成的规则md5(AppSecret+timestamp),AppSecret是直播系统的用密匙 |
| sessionId | String | 直播的场次ID |
| startTime | Date | 直播的开始时间 |
| endTime | Date | 直播的结束时间(当status=end的时候有值,status=live的时候为空值) |
12、设置转存成功回调通知url
描述
设置转存成功回调通知url
接口地址(仅做说明使用):https://api.polyv.net/live/v2/user/%s/set-playback-callback
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、不提交地址参数url,则回调地址为空,表示关闭回调功能,如果要提交的地址参数url,必须以 http:// 或者 https:// 开头
单元测试
@Test
public void testUpdatePlaybackCallbackUrl() throws Exception, NoSuchAlgorithmException {
LiveAccountPlaybackCallbackRequest liveAccountPlaybackCallbackRequest =
new LiveAccountPlaybackCallbackRequest();
Boolean liveAccountPlaybackCallbackResponse;
try {
liveAccountPlaybackCallbackRequest.setUrl("http://www.abc.com/callback");
liveAccountPlaybackCallbackResponse = new LiveAccountServiceImpl().updatePlaybackCallbackUrl(
liveAccountPlaybackCallbackRequest);
Assert.assertTrue(liveAccountPlaybackCallbackResponse);
if (liveAccountPlaybackCallbackResponse != null) {
//to do something ......
log.debug("测试设置转存成功回调通知url成功,{}", liveAccountPlaybackCallbackResponse);
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| userId | false | String | POLYV用户ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| url | false | String | 回调地址url,不提交表示关闭回调功能,如果提交,必须以http://或者https://开头 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为设置回调成功,false为设置回调失败
回调说明
设置接口地址后,如果账号有进行暂存视频转存,即将直播生成的录制文件转存到点播中,如果转存视频处理完毕为已完成状态,直播系统会将以下参数channelId(频道号)、vid(转存成功的视频ID)、title(视频标题)、duration(视频时长)和fileSize(视频文件大小)以GET方式提交到给用户自定义的回调接口进行通知,如:http://abc.com/test.do?channelId=123456&vid=e6b23c6f5134943a015bc117e2854eae_e&title=视频标题&duration=01:23:45&fileSize=123400×tamp=1557976774000&sign=xxxxxxxxxx&fileId=359a81ed8fd8cb83d88ddcd97d9e8a2b&videoId=b1c6f3ad2c&origin=auto&sessionIds=["20190703145126,4,fdqbopvtnv","20190703145126,8,fdqbopvtnv"]
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| vid | String | 转存成功的视频ID |
| title | String | 视频标题 |
| duration | String | 视频时长 格式为 hh:mm:ss |
| fileSize | Long | 视频文件大小,单位为byte |
| timestamp | Long | 13位的时间戳(签名使用) |
| sign | String | 校验的加密字符串,生成的规则md5(AppSecret+timestamp),AppSecret是直播系统的密匙 |
| sessionIds | String | 录制的场次和时间对应的数组字符串,格式:["20190703145126,4,fdqbopvtnv","20190703145126,8,fdqbopvtnv"] ,其中:"20190703145126,4,fdqbopvtnv" 第一个字段是开始时间,第二个字段是直播的时长,第三个是对应的sessionId。 |
| fileId | String | 转存对应的录制文件id |
| videoId | String | 转存回放唯一的id |
| origin | String | 转存的录制来源。manual-云录制,auto-自动录制,merge-合并,clip-裁剪 |
| sessionId | String | 回放对应的单个场次id |
| userId | String | POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置) |
| status | String | 转存成功返回success |
13、设置录制回调通知url
描述
设置录制回调通知url
接口地址(仅做说明使用):https://api.polyv.net/live/v2/user/%s/set-record-callback
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、不提交地址参数url,则回调地址为空,表示关闭回调功能,如果要提交的地址参数url,必须以 http:// 或者 https:// 开头
单元测试
@Test
public void testUpdateRecordCallbackUrl() throws Exception, NoSuchAlgorithmException {
LiveAccountRecordCallbackRequest liveAccountRecordCallbackRequest = new LiveAccountRecordCallbackRequest();
Boolean liveAccountRecordCallbackResponse;
try {
liveAccountRecordCallbackRequest.setUrl("http://www.abc.com/callback");
liveAccountRecordCallbackResponse = new LiveAccountServiceImpl().updateRecordCallbackUrl(
liveAccountRecordCallbackRequest);
Assert.assertTrue(liveAccountRecordCallbackResponse);
if (liveAccountRecordCallbackResponse) {
//to do something ......
log.debug("测试设置录制回调通知url成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| userId | false | String | POLYV用户ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| url | false | String | 回调地址url,不提交表示关闭回调功能,如果提交,必须以http://或者https://开头 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为设置回调成功,false为设置回调失败
回调说明
设置接口地址后,如果账号有开通录制功能,账号下各频道在推流结束,生成m3u8录制视频后,直播系统会将参数channelId(频道号)和fileUrl(录制文件地址)以GET方式提交到给用户自定义的回调接口进行通知,如:http://abc.com/test.do?channelId=104400&fileUrl=http://rflive.videocc.net/i6ro0hxj0020150529112242035/recordf.i6ro0hxj0020150529112242035_20170120184803.m3u8&origin=auto&fileId=072c36138cfbd3e546cda227dc273951×tamp=1557976774000&sign=xxxxxxxxxx
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| fileUrl | String | 录制文件地址 |
| format | String | 文件类型,m3u8或者mp4 |
| timestamp | Long | 13位的时间戳(签名使用) |
| sign | String | 校验的加密字符串,生成的规则md5(AppSecret+timestamp),AppSecret是直播系统的密匙 |
| fileId | String | 录制唯一的id |
| origin | String | 录制来源。manual-云录制,auto-自动录制,merge-合并,clip-裁剪 |
| hasRtcRecord | String | (该字段只对开启云录制功能有用),值为 'Y',表示该场直播录制同时存在云录制和自动录制,值为"N",该场直播只有自动录制 |
14、设置功能开关状态
描述
设置功能开关状态
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/switch/update
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、isClosePreview当enabled值为Y时,表示的是关闭系统观看页;closeDanmu当enabled值为Y时,表示的是关闭弹幕;closeChaterList当enabled值为Y时,表示的是关闭在线列表
单元测试
@Test
public void testUpdateAccountSwitch() throws Exception, NoSuchAlgorithmException {
LiveUpdateAccountSwitchRequest liveUpdateAccountSwitchRequest = new LiveUpdateAccountSwitchRequest();
Boolean liveUpdateAccountSwitchResponse;
try {
liveUpdateAccountSwitchRequest.setType(LiveConstant.ChannelSwitch.AUTO_PLAY.getDesc()).setEnabled("N");
liveUpdateAccountSwitchResponse = new LiveAccountServiceImpl().updateAccountSwitch(
liveUpdateAccountSwitchRequest);
Assert.assertNotNull(liveUpdateAccountSwitchResponse);
if (liveUpdateAccountSwitchResponse) {
//to do something ......
log.debug("设置功能开关状态成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| channelId | false | String | 频道号,不传该参数则表示修改全局设置 |
| type | true | String | 开关类型,若未注明默认Y表示开启 isClosePreview:是否关闭系统观看页,Y时表示关闭 mobileWatch:是否开启移动端系统观看页 mobileAudio:是否开启移动端音视频切换 autoPlay:是否开启播放器自动播放功能 booking:是否开启预约功能 redPack:是否开启红包功能 shareBtnEnabled:是否开启分享功能 chat:是否开启聊天室 closeChaterList:是否关闭在线列表,Y时表示关闭 consultingMenu:是否开启咨询提问 closeDanmu:是否关闭弹幕功能,Y时表示关闭 praise:是否开启点赞语功能 welcome:是否开启欢迎语功能 viewerSendImgEnabled:是否开启观众发送图片 qaMenuEnabled:是否开启问答功能 filterManagerMsgEnabled:过滤聊天室管理员的聊天消息开关,即观看页聊天室只看主持人开关 showCustomMessageEnabled:显示自定义消息开关 chatOnlineNumberEnable:在线人数开关 |
| enabled | true | String | 开关值,Y或N |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为设置成功,false为设置失败
15、查询功能开关状态接口
描述
接口用于获取开关设置,可获取全局开关设置或频道开关设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/switch/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、isClosePreview当enabled值为Y时,表示的是关闭系统观看页;closeDanmu当enabled值为Y时,表示的是关闭弹幕;closeChaterList当enabled值为Y时,表示的是关闭在线列表
3、当频道非三分屏场景时才返回:mobileAudio移动端音频开关,redPack红包开关,praise点赞语开关,chatPlayBack聊天回放开关
单元测试
@Test
public void testGetAccountSwitch() throws Exception, NoSuchAlgorithmException {
LiveAccountSwitchRequest liveAccountSwitchRequest = new LiveAccountSwitchRequest();
LiveAccountSwitchResponse liveAccountSwitchResponse;
try {
liveAccountSwitchRequest.setChannelId(null);
liveAccountSwitchResponse = new LiveAccountServiceImpl().getAccountSwitch(liveAccountSwitchRequest);
Assert.assertNotNull(liveAccountSwitchResponse);
if (liveAccountSwitchResponse != null) {
//to do something ......
log.debug("测试查询功能开关状态接口成功,{}", JSON.toJSONString(liveAccountSwitchResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveAccountSwitchResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| channelId | false | String | 频道号,不传该参数为获取全局设置 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelSwitches | Array | 频道开关【详见ChannelSwitch参数描述】 |
ChannelSwitch参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | String | 开关类型 isClosePreview:是否关闭系统观看页,Y时表示关闭 mobileWatch:是否开启移动端系统观看页 mobileAudio:是否开启移动端音视频切换 autoPlay:是否开启播放器自动播放功能 booking:是否开启预约功能 redPack:是否开启红包功能 shareBtnEnabled:是否开启分享功能 chat:是否开启聊天室 closeChaterList:是否关闭在线列表,Y时表示关闭 consultingMenu:是否开启咨询提问 closeDanmu:是否关闭弹幕功能,Y时表示关闭 barrageSpeed:弹幕速度(quickest/quicker/slowest/slower/standard) praise:是否开启点赞语功能 welcome:是否开启欢迎语功能 viewerSendImgEnabled:是否开启观众发送图片 qaMenuEnabled:是否开启问答功能 filterManagerMsgEnabled:过滤聊天室管理员聊天消息开关(只看主持人) showCustomMessageEnabled:显示自定义消息开关 chatOnlineNumberEnable:在线人数开关 pvShowEnabled:是否显示访问次数,Y-开启,N-关闭 chatPlayBack:是否开启聊天回放开关 pushSharingEnabled:是否开启推流端分享开关 sendFlowersEnabled:是否开启送花开关 |
| enabled | String | 是否已打开开关 |
16、查询账号下所有频道缩略信息
描述
查询账号下所有频道缩略信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/management/list
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testListChannelBasic() throws Exception, NoSuchAlgorithmException {
LiveListAccountChannelBasicRequest liveListAccountChannelBasicRequest =
new LiveListAccountChannelBasicRequest();
LiveListAccountChannelBasicResponse liveListAccountChannelBasicResponse;
try {
liveListAccountChannelBasicRequest.setCategoryId(null)
.setWatchStatus("end")
.setKeyword("勿删")
.setPageSize(null)
.setCurrentPage(1);
liveListAccountChannelBasicResponse = new LiveAccountServiceImpl().listChannelBasic(
liveListAccountChannelBasicRequest);
Assert.assertNotNull(liveListAccountChannelBasicResponse);
if (liveListAccountChannelBasicResponse != null) {
//to do something ......
log.debug("测试查询账号下所有频道缩略信息成功,{}", JSON.toJSONString(liveListAccountChannelBasicResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveListAccountChannelBasicResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| categoryId | false | Integer | 所属分类id |
| watchStatus | false | String | 观看页状态筛选,live-直播中,playback-回放中,end-已结束,waiting-未开始 |
| keyword | false | String | 频道名称,模糊查询 |
| currentPage | false | Integer | 页数,默认为1【对应api文档的page字段】 |
| pageSize | false | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| contents | Array | 频道基础信息【详见ChannelBasicInfo参数描述】 |
| pageSize | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| currentPage | Integer | 当前页【对应api文档的pageNumber字段】 |
| totalItems | Integer | 记录总条数 |
| totalPage | Integer | 总页数【对应api文档的totalPages字段】 |
ChannelBasicInfo参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| name | String | 频道名称 |
| channelPasswd | String | 频道密码 |
| scene | String | 场景,alone-活动直播,ppt-三分屏,topclass-大班课,seminar:研讨会 |
| sceneText | String | 场景描述 |
| watchStatus | String | 观看页状态,live-直播中,playback-回放中,end-已结束,waiting-未开始 |
| watchStatusText | String | 观看页状态描述,直播中,回放中,已结束,未开始 |
| watchUrl | String | 观看页链接 |
17、查询账户分钟数
描述
查询账户分钟数
接口地址(仅做说明使用):https://api.polyv.net/live/v2/user/get-user-durations
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetUserDurations() throws Exception, NoSuchAlgorithmException {
LiveAccountUserDurationsRequest liveAccountUserDurationsRequest = new LiveAccountUserDurationsRequest();
LiveAccountUserDurationsResponse liveAccountUserDurationsResponse;
try {
liveAccountUserDurationsResponse = new LiveAccountServiceImpl().getUserDurations(
liveAccountUserDurationsRequest);
Assert.assertNotNull(liveAccountUserDurationsResponse);
if (liveAccountUserDurationsResponse != null) {
//to do something ......
log.debug("测试查询账户分钟数成功,{}", JSON.toJSONString(liveAccountUserDurationsResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveAccountUserDurationsResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| userId | String | POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置) |
| available | Long | 当前可用的分钟数 |
| used | Long | 历史已经使用的分钟数 |
18、查询账号下所有/某个频道号收入详情
描述
查询账号下所有/某个频道号收入详情
接口地址(仅做说明使用):https://api.polyv.net/live/v2/user/%s/get-income-detail
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看 根据是否提交channelId来获取全部频道/某个频道的收入详情数据
单元测试
@Test
public void testGetChannelIncomeDetail() throws Exception {
LiveChannelIncomeDetailRequest liveChannelIncomeDetailRequest = new LiveChannelIncomeDetailRequest();
LiveChannelIncomeDetailResponse liveChannelIncomeDetailResponse;
try {
String channelId = super.createChannel();
liveChannelIncomeDetailRequest.setChannelId(channelId)
.setStartDate(getDate(2019, 10, 24))
.setEndDate(getDate(2021, 11, 11));
liveChannelIncomeDetailResponse = new LiveAccountServiceImpl().getChannelIncomeDetail(
liveChannelIncomeDetailRequest);
Assert.assertNotNull(liveChannelIncomeDetailResponse);
if (liveChannelIncomeDetailResponse != null) {
//to do something ......
log.debug("测试查询账号下所有/某个频道号收入详情成功,{}", JSON.toJSONString(liveChannelIncomeDetailResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveChannelIncomeDetailResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| userId | false | String | POLYV用户ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| channelId | false | String | 要查询的频道号,不提交默认为查询所有频道 |
| startDate | true | Date | 查询的开始日期 格式为yyyy-MM-dd |
| endDate | true | Date | 查询的结束日期 格式为yyyy-MM-dd |
| currentPage | false | Integer | 页数,默认为1【对应api文档的page字段】 |
| pageSize | false | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| contents | Array | 收入详情【详见ChannelIncomeDetail参数描述】 |
| pageSize | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| currentPage | Integer | 当前页【对应api文档的pageNumber字段】 |
| totalItems | Integer | 记录总条数 |
| totalPage | Integer | 总页数【对应api文档的totalPages字段】 |
ChannelIncomeDetail参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| amount | Float | 金额 |
| payType | String | 收入类型:good、cash、pay |
| payTypeName | String | 收入类型的名称:道具打赏、现金打赏、付费观看 |
| viewerName | String | 付费观众昵称 |
| payTime | Date | 付费时间 |
| outTradeNo | String | 保利威视系统内部订单号 |
19、分页查询频道可设置接收转播频道列表
描述
通过一个(发起转播的)频道分页查询能够被它设置接收转播的频道列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/receive/list
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetReceiveList() throws IOException, NoSuchAlgorithmException {
LiveChannelReceiveListRequest liveChannelReceiveListRequest = new LiveChannelReceiveListRequest();
LiveChannelReceiveListResponse liveChannelReceiveListResponse;
try {
String channelId = super.createChannel();
liveChannelReceiveListRequest.setChannelId(channelId);
liveChannelReceiveListResponse = new LiveAccountServiceImpl().getReceiveList(liveChannelReceiveListRequest);
Assert.assertNotNull(liveChannelReceiveListResponse);
if (liveChannelReceiveListResponse != null) {
//to do something ......
log.debug("测试分页查询频道可设置接收转播频道列表成功 {}", JSON.toJSONString(liveChannelReceiveListResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveChannelReceiveListResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| channelId | true | String | (发起转播的)频道号 |
| keyword | false | String | 频道名称,支持模糊搜索 |
| currentPage | false | Integer | 页数,默认为1【对应api文档的page字段】 |
| pageSize | false | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| contents | Array | 查询的结果列表【详见ReceiveList参数描述】 |
| pageSize | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| currentPage | Integer | 当前页【对应api文档的pageNumber字段】 |
| totalItems | Integer | 记录总条数 |
| totalPage | Integer | 总页数【对应api文档的totalPages字段】 |
ReceiveList参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| name | String | 频道名称 |
| channelPasswd | String | 频道密码,非研讨会场景使用 |
| hostPasswd | String | 研讨会主持人密码,研讨会场景使用 |
| attendeePasswd | String | 研讨会参会人密码,研讨会场景使用 |
| categoryName | String | 频道所属分类名称 |
| authType | String | 观看条件,使用,分隔,如:none,none none:无条件, pay:付费观看, code:验证码观看, phone:白名单观看, info:登记观看, custom:自定义授权观看, external:外部授权, direct:直接授权 |
| recentViewCount | Integer | 最近场次观看人数 |
| subChannelAccount | String | 第一个子频道号,如果没有子频道则为null |
| subChannelPasswd | String | 第一个子频道密码,如果没有子频道则为null |
| transmitChannelId | String | 关联转播的频道号,如果没有关联则为null |
| scene | String | 场景 alone:活动直播 ppt:三分屏 topclass:大班课 |
20、查询所有频道的缩略信息
描述
查询账号下所有的频道缩略信息列表,观看页状态与新版后台一致
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/simple/list
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testListChannelSimpleV2() throws Exception, NoSuchAlgorithmException {
LiveListAccountChannelSimpleV2Request liveListAccountChannelSimpleV2Request =
new LiveListAccountChannelSimpleV2Request();
LiveListAccountChannelSimpleV2Response liveListAccountChannelSimpleV2Response;
try {
liveListAccountChannelSimpleV2Request.setCategoryId(null)
.setOrderBy(LiveConstant.OrderBy.CHANNEL_CREATED_TIME_DESC.getType());
liveListAccountChannelSimpleV2Response = new LiveAccountServiceImpl().listChannelSimpleV2(
liveListAccountChannelSimpleV2Request);
Assert.assertNotNull(liveListAccountChannelSimpleV2Request);
if (liveListAccountChannelSimpleV2Response != null) {
//to do something ......
log.debug("测试查询所有频道的缩略信息成功,{}", JSON.toJSONString(liveListAccountChannelSimpleV2Response));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveListAccountChannelSimpleV2Response对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| categoryId | false | Integer | 所属分类id |
| watchStatus | false | String | 观看页状态筛选,live-直播中,playback-回放中,end-已结束,waiting-等待中,unStart-未开始 |
| keyword | false | String | 频道名称,模糊查询 |
| orderBy | false | String | 排序字段,默认按频道创建时间升序,startTimeDesc:开播时间降序,startTimeAsc:开播时间升序,channelCreatedTimeDesc:频道创建时间降序 |
| currentPage | false | Integer | 页数,默认为1【对应api文档的pageNumber字段】 |
| pageSize | false | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| contents | Array | 频道基础信息【详见ChannelBasicInfo参数描述】 |
| pageSize | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| currentPage | Integer | 当前页【对应api文档的pageNumber字段】 |
| totalItems | Integer | 记录总条数 |
| totalPage | Integer | 总页数【对应api文档的totalPages字段】 |
ChannelBasicInfo参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| name | String | 频道名称 |
| channelPasswd | String | 频道密码 |
| scene | String | 场景,alone-活动直播,ppt-三分屏,topclass-大班课,seminar:研讨会 |
| sceneText | String | 场景描述 |
| watchStatus | String | 观看页状态,live-直播中,playback-回放中,end-已结束,waiting-等待中,unStart-未开始 |
| watchStatusText | String | 观看页状态描述,直播中,回放中,已结束,等待中,未开始 |
| watchUrl | String | 观看页链接 |
21、查询所有频道的基础信息
描述
查询账号下所有的频道基础信息列表
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/basic/list
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testListAccountBasicV2() throws IOException, NoSuchAlgorithmException {
LiveListAccountBasicInfoV2Request liveListAccountBasicInfoV2Request = new LiveListAccountBasicInfoV2Request();
LiveListAccountBasicV2Response liveListAccountBasicV2Response;
try {
liveListAccountBasicInfoV2Request.setPageSize(2).setCurrentPage(2);
liveListAccountBasicV2Response = new LiveAccountServiceImpl().listAccountBasicInfoV2(
liveListAccountBasicInfoV2Request);
Assert.assertNotNull(liveListAccountBasicV2Response);
if (liveListAccountBasicV2Response != null) {
//to do something ......
log.debug("测试查询所有频道的基础信息成功 {}", JSON.toJSONString(liveListAccountBasicV2Response));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveListAccountBasicV2Response对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| categoryIds | false | String | 分类ID,多个id用英文逗号分隔 |
| channelIds | false | String | 频道号,多个频道用英文逗号分隔 |
| watchStatus | false | String | 观看页状态筛选 |
| startTime | false | Date | 直播开始时间,查询开始时间13位时间戳 |
| endTime | false | Date | 直播开始时间,查询结束时间13位时间戳 |
| orderBy | false | String | 排序字段,默认按频道创建时间升序,startTimeDesc:开播时间降序,startTimeAsc:开播时间升序,channelCreatedTimeDesc:频道创建时间降序 |
| currentPage | false | Integer | 页数,默认为1【对应api文档的pageNumber字段】 |
| pageSize | false | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| contents | Array | 查询的结果列表【详见LiveChannelBasic参数描述】 |
| pageSize | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| currentPage | Integer | 当前页【对应api文档的pageNumber字段】 |
| totalItems | Integer | 记录总条数 |
| totalPage | Integer | 总页数【对应api文档的totalPages字段】 |
LiveChannelBasic参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| name | String | 频道名称 |
| publisher | String | 主持人名称 |
| startTime | Date | 直播开始时间,关闭时为0 |
| pageView | Integer | 页面累计观看数 |
| likes | Integer | 观看页点赞数 |
| coverImg | String | 频道图标url |
| splashImg | String | 引导页图片地址 |
| splashEnabled | String | 引导页开关,取值 Y:开启 N:关闭 |
| desc | String | 直播介绍 |
| maxViewer | Integer | 最大在线观看人数 |
| watchStatus | String | 频道的观看页状态,取值为 live:直播中 end:直播结束 playback:回放中 waiting:等待中 unStart:未开始 |
| watchStatusText | String | 观看页状态描述,直播中,回放中,已结束,等待中,未开始 |
| onlineNum | Integer | 在线人数 |
| bgImg | String | 暖场图片URL |
| categoryId | Integer | 分类ID |
| videoList | Array | 回放视频列表,当有多个时按添加时间倒叙排列【详见BasicVideoList参数描述】 |
BasicVideoList参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoId | String | 直播系统生成的id (视频库中的回放视频) |
| videoPoolId | String | 点播视频vid (视频库中的回放视频) |
22、查询所有频道的详细信息
描述
查询账号下所有频道详细信息列表,观看页状态与新版后台一致
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/detail/list
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testListAccountDetailV2() throws IOException, NoSuchAlgorithmException {
LiveListAccountDetailV2Request liveListAccountDetailV2Request = new LiveListAccountDetailV2Request();
LiveListAccountDetailV2Response liveListAccountDetailV2Response;
try {
liveListAccountDetailV2Request.setPageSize(2).setCurrentPage(2);
liveListAccountDetailV2Response = new LiveAccountServiceImpl().listAccountDetailV2(
liveListAccountDetailV2Request);
Assert.assertNotNull(liveListAccountDetailV2Response);
if (liveListAccountDetailV2Response != null) {
//to do something ......
log.debug("测试查询所有频道的详细信息成功 {}", JSON.toJSONString(liveListAccountDetailV2Response));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveListAccountDetailV2Response对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| categoryId | false | Integer | 所属分类id |
| watchStatus | false | String | 观看页状态筛选 live:直播中 playback:回放中 end:已结束 waiting:等待中 unStart:未开始 |
| keyword | false | String | 频道名称,模糊查询 |
| orderBy | false | String | 排序字段,默认按频道创建时间升序,startTimeDesc:开播时间降序,startTimeAsc:开播时间升序,channelCreatedTimeDesc:频道创建时间降序 |
| currentPage | false | Integer | 页数,默认为1【对应api文档的pageNumber字段】 |
| pageSize | false | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| contents | Array | 频道详细信息列表【详见LiveChannelDetail参数描述】 |
| pageSize | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| currentPage | Integer | 当前页【对应api文档的pageNumber字段】 |
| totalItems | Integer | 记录总条数 |
| totalPage | Integer | 总页数【对应api文档的totalPages字段】 |
LiveChannelDetail参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| name | String | 频道名称 |
| channelPasswd | String | 频道密码 |
| categoryId | Integer | 频道分类ID |
| scene | String | 场景,alone-活动直播,ppt-三分屏,topclass-大班课,seminar:研讨会 |
| sceneText | String | 场景描述,如:大班课 |
| watchStatus | String | 观看页状态 live:直播中 playback:回放中 end:已结束 waiting:等待中 unStart:未开始 |
| watchStatusText | String | 观看页状态描述,直播中,回放中,已结束,等待中,未开始 |
| watchUrl | String | 观看页链接 |
| content | String | 直播介绍 |
| startTime | Date | 直播开始时间 |
| channelLogo | String | 频道图标 |
| splashImg | String | 频道引导图 |
| splashEnabled | String | 引导页开关 Y:开启 N:关闭 |
| publisher | String | 主持人名称 |
| authSetting | Array | 直播权限设置数据传输对象【详见LiveAuthSetting参数描述】 |
LiveAuthSetting参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| rank | Integer | 用于实现一个频道设置两个观看条件,为1或2(1为主要条件,2为次要条件) |
| userId | String | POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置) |
| globalSettingEnabled | String | 是否开启全局设置(Y/N) |
| enabled | String | 是否开启观看条件(Y/N) |
| authType | String | 观看条件类型(1. 无限制 none 2. 验证码观看 code 3. 付费观看 pay 4. 白名单观看 phone 5. 登记观看 info 6. 分享观看 wxshare 7. 自定义授权观看 custom 8. 外部授权观看 external) |
| codeAuthTips | String | 验证码观看提示信息 |
| authCode | String | 验证码观看方式的验证码 |
| qCodeTips | String | 验证码观看方式的二维码提示【对应api文档的qcodeTips字段】 |
| qCodeImg | String | 验证码观看方式的二维码图片【对应api文档的qcodeTips字段】 |
| payAuthTips | String | 付费观看提示信息 |
| price | Float | 付费观看的价格 |
| validTimePeriod | Integer | 付费观看的截止时长 (天) |
| watchEndTime | Date | 付费观看,截止时间,为null表示:一次付费,永久有效 |
| authTips | String | 白名单观看提示信息 |
| infoAuthTips | String | 登记观看提示信息 |
| customKey | String | 自定义授权观看的key |
| customUri | String | 自定义授权观看的接口地址 |
| externalKey | String | 自定义授权观看的接口地址 |
| externalUri | String | 外部授权观看的接口地址 |
| externalRedirectUri | String | 外部授权观看,用户直接访问观看页时的跳转地址 |
| directKey | String | 独立授权key |
| trialWatchEnabled | String | 试看开关,Y:开启试看,N:关闭试看 |
| trialWatchTime | Integer | 试看时间,单位为分钟 |
| trialWatchEndTime | Date | 试看截止日期,为null 表示对该频道永久有效 |
23、查询全局回调设置
描述
查询全局回调设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/global-setting/callback/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetLiveUserCallback() throws IOException, NoSuchAlgorithmException {
LiveGetUserCallbackRequest liveGetUserCallbackRequest = new LiveGetUserCallbackRequest();
LiveGetUserCallbackResponse liveGetUserCallbackResponse;
try {
liveGetUserCallbackResponse = new LiveAccountServiceImpl().getLiveUserCallback(liveGetUserCallbackRequest);
Assert.assertNotNull(liveGetUserCallbackResponse);
if (liveGetUserCallbackResponse != null) {
//to do something ......
log.debug("测试查询全局回调设置成功 {}", JSON.toJSONString(liveGetUserCallbackResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveGetUserCallbackResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| recordCallbackUrl | String | 录制生成回调URL |
| recordFileCallBackType | String | 回调录制文件类型 all:全部回放视频 last:最终回放视频 |
| recordCallbackVideoType | String | 回调文件类型 m3u8:m3u8文件 mp4:mp4文件 m3u8,mp4:m3u8和mp4文件 |
| playbackCallbackUrl | String | 转存成功回调URL |
| rebirthVodCallbackEnabled | String | 重制课件转存点播回调开关 Y:开启 N:关闭 |
| pptRecordCallbackUrl | String | 课件重制成功回调URL |
| streamCallbackUrl | String | 直播状态改变回调URL |
| channelBasicUpdateCallbackUrl | String | 频道直播间信息修改回调URL |
| liveScanCallbackUrl | String | 直播内容审核不通过回调URL |
| chatUserStatusCallbackUrl | String | 直播间人员状态回调URL |
| interactionCallbackUrl | String | 互动功能回调URL |
| playbackCacheCallbackUrl | String | 直播回放缓存生成回调通知URL |
| playbackSettingCallbackUrl | String | 回放设置回调URL |
24、修改全局回调设置
描述
修改全局回调设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/global-setting/callback/update
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateLiveUserCallback() throws IOException, NoSuchAlgorithmException {
LiveUpdateUserCallbackRequest liveUpdateUserCallbackRequest = new LiveUpdateUserCallbackRequest();
Boolean liveUpdateUserCallbackResponse;
try {
liveUpdateUserCallbackRequest.setPptRecordCallbackUrl("https://abc.cn/callback")
.setRecordCallbackVideoType("m3u8,mp4")
.setRecordFileCallBackType("all");
liveUpdateUserCallbackResponse = new LiveAccountServiceImpl().updateLiveUserCallback(
liveUpdateUserCallbackRequest);
Assert.assertNotNull(liveUpdateUserCallbackResponse);
if (liveUpdateUserCallbackResponse != null) {
//to do something ......
log.debug("测试修改全局回调设置成功 {}", JSON.toJSONString(liveUpdateUserCallbackResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| recordCallbackUrl | false | String | 录制生成回调URL |
| recordFileCallBackType | false | String | 回调录制文件内容 all:全部回放视频 last:最终回放视频 |
| recordCallbackVideoType | false | String | 回调文件类型 m3u8:m3u8文件 mp4:mp4文件 m3u8,mp4:m3u8和mp4文件 |
| playbackCallbackUrl | false | String | 转存成功回调URL |
| rebirthVodCallbackEnabled | false | String | 重制课件转存点播回调开关 Y:开启 N:关闭 |
| pptRecordCallbackUrl | false | String | 课件重制成功回调URL |
| streamCallbackUrl | false | String | 直播状态改变回调URL |
| channelBasicUpdateCallbackUrl | false | String | 频道直播间信息修改回调URL |
| liveScanCallbackUrl | false | String | 直播内容审核不通过回调URL |
| playbackCacheCallbackUrl | false | String | 直播回放缓存生成回调通知URL |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
修改全局回调设置返回实体
25、查询账号时间范围连麦使用量
描述
查询账号时间范围连麦使用量
接口地址(仅做说明使用):https://api.polyv.net/live/v4/statistics/mic/history/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、连麦使用量按天统计,由于数据量和计算量大,统计结果时效性为两天,即今天的数据需后天才可查询(凌晨2点汇总)
单元测试
@Test
public void testGetMicDurationHistory() throws IOException, NoSuchAlgorithmException {
LiveGetMicDurationRequest liveGetMicDurationRequest = new LiveGetMicDurationRequest();
LiveGetMicDurationResponse liveGetMicDurationResponse;
try {
liveGetMicDurationResponse = new LiveAccountServiceImpl().getMicDuration(liveGetMicDurationRequest);
Assert.assertNotNull(liveGetMicDurationResponse);
if (liveGetMicDurationResponse != null) {
//to do something ......
log.debug("测试查询账号时间范围连麦使用量成功 {}", JSON.toJSONString(liveGetMicDurationResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveGetMicDurationResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| startTime | false | Date | 开始时间,13位毫秒级时间戳(仅支持到日期) |
| endTime | false | Date | 结束时间,13位毫秒级时间戳(仅支持到日期) |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| userId | String | 用户ID |
| history | Integer | 连麦使用分钟数 |
26、查询全局频道设置
描述
查询全局频道设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/global-setting/switch/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetGlobalSwitch() throws IOException, NoSuchAlgorithmException {
LiveGetGlobalSwitchRequest liveGetGlobalSwitchRequest = new LiveGetGlobalSwitchRequest();
LiveGetGlobalSwitchResponse liveGetGlobalSwitchResponse;
try {
liveGetGlobalSwitchResponse = new LiveAccountServiceImpl().getGlobalSwitch(liveGetGlobalSwitchRequest);
Assert.assertNotNull(liveGetGlobalSwitchResponse);
if (liveGetGlobalSwitchResponse != null) {
//to do something ......
log.debug("测试查询全局频道设置成功 {}", JSON.toJSONString(liveGetGlobalSwitchResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveGetGlobalSwitchResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelConcurrencesEnabled | String | 最高同时在线人数修改开关 Y:开启 N:关闭 |
| timelyConvertEnabled | String | 自动转存开关 Y:开启 N:关闭 |
| donateEnabled | String | 打赏开关 Y:开启 N:关闭 |
| rebirthAutoUploadEnabled | String | 重制课件自动转存开关 Y:开启 N:关闭 |
| rebirthAutoConvertEnabled | String | 重制课件自动重制开关 Y:开启 N:关闭 |
| pptCoveredEnabled | String | 重制课件PPT铺满开关 Y:开启 N:关闭 |
| coverImgType | String | 播放器封面设置 contain:等比例缩放 cover:拉伸 |
27、修改全局频道设置
描述
修改全局频道设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/global-setting/switch/update
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateGlobalSwitch() throws IOException, NoSuchAlgorithmException {
LiveUpdateGlobalSwitchRequest liveUpdateGlobalSwitchRequest = new LiveUpdateGlobalSwitchRequest();
Boolean liveUpdateGlobalSwitchResponse;
try {
liveUpdateGlobalSwitchRequest.setChannelConcurrencesEnabled(LiveConstant.Flag.YES.getFlag())
.setCoverImgType("contain");
liveUpdateGlobalSwitchResponse = new LiveAccountServiceImpl().updateGlobalSwitch(
liveUpdateGlobalSwitchRequest);
Assert.assertNotNull(liveUpdateGlobalSwitchResponse);
if (liveUpdateGlobalSwitchResponse != null) {
//to do something ......
log.debug("测试修改全局频道设置成功 {}", JSON.toJSONString(liveUpdateGlobalSwitchResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| channelConcurrencesEnabled | false | String | 最高同时在线人数修改开关 Y:开启 N:关闭 |
| timelyConvertEnabled | false | String | 自动转存开关 Y:开启 N:关闭 |
| donateEnabled | false | String | 打赏开关 Y:开启 N:关闭 |
| rebirthAutoUploadEnabled | false | String | 重制课件自动转存开关 Y:开启 N:关闭 |
| rebirthAutoConvertEnabled | false | String | 重制课件自动重制开关 Y:开启 N:关闭 |
| pptCoveredEnabled | false | String | 重制课件PPT铺满开关 Y:开启 N:关闭 |
| coverImgType | false | String | 播放器封面设置 contain:等比例缩放 cover:拉伸 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
修改全局频道设置返回实体
28、查询观看次数显示开关
描述
查询观看页观看次数显示开关
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/global-setting/pv-show/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetPVShowSetting() throws IOException, NoSuchAlgorithmException {
LiveGetPVShowSettingRequest liveGetPVShowSettingRequest = new LiveGetPVShowSettingRequest();
LiveGetPVShowSettingResponse liveGetPVShowSettingResponse;
try {
liveGetPVShowSettingResponse = new LiveAccountServiceImpl().getPVShowSetting(liveGetPVShowSettingRequest);
Assert.assertNotNull(liveGetPVShowSettingResponse);
if (liveGetPVShowSettingResponse != null) {
//to do something ......
log.debug("测试查询观看次数显示开关成功 {}", JSON.toJSONString(liveGetPVShowSettingResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveGetPVShowSettingResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| enabled | String | 观看页观看次数显示开关 Y:开启 N:关闭 |
29、修改观看次数显示开关
描述
修改观看页观看次数显示开关
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/global-setting/pv-show/update
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdatePVShowSetting() throws IOException, NoSuchAlgorithmException {
LiveUpdatePVShowSettingRequest liveUpdatePVShowSettingRequest = new LiveUpdatePVShowSettingRequest();
Boolean liveUpdatePVShowSettingResponse;
try {
liveUpdatePVShowSettingRequest.setEnabled(LiveConstant.Flag.YES.getFlag());
liveUpdatePVShowSettingResponse = new LiveAccountServiceImpl().updatePVShowSetting(
liveUpdatePVShowSettingRequest);
Assert.assertNotNull(liveUpdatePVShowSettingResponse);
if (liveUpdatePVShowSettingResponse != null) {
//to do something ......
log.debug("测试修改观看次数显示开关成功 {}", JSON.toJSONString(liveUpdatePVShowSettingResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| enabled | true | String | 观看页观看次数显示开关 Y:开启 N:关闭 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
修改观看次数显示开关返回实体
30、查询页脚设置
描述
查询全局页脚设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/global-setting/footer/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetFooterSetting() throws IOException, NoSuchAlgorithmException {
LiveGetFooterSettingRequest liveGetFooterSettingRequest = new LiveGetFooterSettingRequest();
LiveGetFooterSettingResponse liveGetFooterSettingResponse;
try {
liveGetFooterSettingResponse = new LiveAccountServiceImpl().getFooterSetting(liveGetFooterSettingRequest);
Assert.assertNotNull(liveGetFooterSettingResponse);
if (liveGetFooterSettingResponse != null) {
//to do something ......
log.debug("测试查询页脚设置成功 {}", JSON.toJSONString(liveGetFooterSettingResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveGetFooterSettingResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| userId | String | POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置) |
| showFooterEnabled | String | 是否开启页脚 Y:开启 N:关闭 |
| footerText | String | 页脚文案 |
| footTextLinkProtocol | String | 页脚链接协议头 |
| footTextLinkUrl | String | 页脚链接地址 |
31、修改页脚设置
描述
修改全局页脚设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/global-setting/footer/update
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateFooterSetting() throws IOException, NoSuchAlgorithmException {
LiveUpdateFooterSettingRequest liveUpdateFooterSettingRequest = new LiveUpdateFooterSettingRequest();
Boolean liveUpdateFooterSettingResponse;
try {
liveUpdateFooterSettingRequest.setShowFooterEnabled(LiveConstant.Flag.YES.getFlag())
.setFooterText("保利威提供技术支持")
.setFootTextLinkProtocol("https://")
.setFootTextLinkUrl("www.polyv.net");
liveUpdateFooterSettingResponse = new LiveAccountServiceImpl().updateFooterSetting(
liveUpdateFooterSettingRequest);
Assert.assertNotNull(liveUpdateFooterSettingResponse);
if (liveUpdateFooterSettingResponse != null) {
//to do something ......
log.debug("测试修改页脚设置成功 {}", JSON.toJSONString(liveUpdateFooterSettingResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| showFooterEnabled | false | String | 是否开启页脚 Y:开启 N:关闭 |
| footerText | false | String | 页脚文案,最大长度12 |
| footTextLinkProtocol | false | String | 页脚链接协议头 http:// 或者 https:// |
| footTextLinkUrl | false | String | 页脚链接地址,最大长度50,不用带协议,例如:www.polyv.net |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
修改页脚设置返回实体
32、查询观看页默认模板设置
描述
查询观看页默认模板设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/template/page-setting/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetPageSetting() throws IOException, NoSuchAlgorithmException {
LiveGetPageSettingRequest liveGetPageSettingRequest = new LiveGetPageSettingRequest();
LiveGetPageSettingResponse liveGetPageSettingResponse;
try {
liveGetPageSettingResponse = new LiveAccountServiceImpl().getPageSetting(liveGetPageSettingRequest);
Assert.assertNotNull(liveGetPageSettingResponse);
if (liveGetPageSettingResponse != null) {
//to do something ......
log.debug("测试查询观看页默认模板设置成功 {}", JSON.toJSONString(liveGetPageSettingResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveGetPageSettingResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| autoPlayEnabled | String | 自动播放开关,Y:开启,N:关闭 |
| barrageEnabled | String | 弹幕开关,Y:开启,N:关闭 |
| barrageSpeed | String | 弹幕速度,340:缓慢,270:较慢,200:标准,130:较快,60:快速 |
| bookingEnabled | String | 微信预约功能开关,Y:开启,N:关闭 |
| closePreviewEnabled | String | 观看页开关,Y:不显示观看页(仅允许集成SDK观看),N:显示观看页 |
| flashPlayerEnabled | String | flash播放器开关,Y:开启,N:关闭 |
| forbidFirefoxEnabled | String | 禁止Firefox开关,Y:开启,N:关闭 |
| mobileAudioEnabled | String | 音视频切换开关,Y:开启,N:关闭 |
| mobilePvShowLocation | String | 观看次数移动端显示位置,player:播放器,desc:直播介绍 |
| mobileWatchEnabled | String | 移动观看页开关,Y:开启,N:关闭 |
| pvShowEnabled | String | 观看次数开关,Y:开启,N:关闭 |
| recordingProtectEnabled | String | 防弹窗播放开关,Y:开启,N:关闭 |
| showCountdownEnabled | String | 回放中显示“下一场次”倒计时 开关值,Y:开启,N:关闭 |
| switchPlayerEnabled | String | 允许观众切换h5及flash播放器,Y:允许,N:不允许;flash播放器开关为N时,该值不生效 |
| viewerVerificationEnabled | String | 观众实名认证开关,Y:开启,N:关闭 |
| watchFeedbackEnabled | String | 观众投诉开关,Y:开启,N:关闭 |
| watchLangType | String | 观看页语言,zh_CN:中文,en:英文,follow_browser:跟随浏览器 |
| watchLayout | String | 观看页布局,ppt文档为主、video视频为主、only-video仅视频、followTeacher跟随讲师 |
33、修改观看页默认模板设置
描述
修改观看页默认模板设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/template/page-setting/update
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdatePageSetting() throws IOException, NoSuchAlgorithmException {
LiveUpdatePageSettingRequest liveUpdatePageSettingRequest = new LiveUpdatePageSettingRequest();
Boolean liveUpdatePageSettingResponse;
try {
liveUpdatePageSettingRequest.setAutoPlayEnabled("Y");
liveUpdatePageSettingResponse = new LiveAccountServiceImpl().updatePageSetting(
liveUpdatePageSettingRequest);
Assert.assertNotNull(liveUpdatePageSettingResponse);
if (liveUpdatePageSettingResponse != null) {
//to do something ......
log.debug("测试修改观看页默认模板设置成功 {}", JSON.toJSONString(liveUpdatePageSettingResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| autoPlayEnabled | false | String | 自动播放开关,Y:开启,N:关闭 |
| barrageEnabled | false | String | 弹幕开关,Y:开启,N:关闭 |
| barrageSpeed | false | String | 弹幕速度,340:缓慢,270:较慢,200:标准,130:较快,60:快速 |
| bookingEnabled | false | String | 微信预约功能开关,Y:开启,N:关闭 |
| closePreviewEnabled | false | String | 观看页开关,Y:不显示观看页(仅允许集成SDK观看),N:显示观看页 |
| flashPlayerEnabled | false | String | flash播放器开关,Y:开启,N:关闭 |
| forbidFirefoxEnabled | false | String | 禁止Firefox开关,Y:开启,N:关闭 |
| mobileAudioEnabled | false | String | 音视频切换开关,Y:开启,N:关闭 |
| mobilePvShowLocation | false | String | 观看次数移动端显示位置,player:播放器,desc:直播介绍 |
| mobileWatchEnabled | false | String | 移动观看页开关,Y:开启,N:关闭 |
| pvShowEnabled | false | String | 观看次数开关,Y:开启,N:关闭 |
| recordingProtectEnabled | false | String | 防弹窗播放开关,Y:开启,N:关闭 |
| showCountdownEnabled | false | String | 回放中显示“下一场次”倒计时 开关值,Y:开启,N:关闭 |
| switchPlayerEnabled | false | String | 允许观众切换h5及flash播放器,Y:允许,N:不允许;flash播放器开关为N时,该值不生效 |
| viewerVerificationEnabled | false | String | 观众实名认证开关,Y:开启,N:关闭 |
| watchFeedbackEnabled | false | String | 观众投诉开关,Y:开启,N:关闭 |
| watchLangType | false | String | 观看页语言,zh_CN:中文,en:英文,follow_browser:跟随浏览器 |
| watchLayout | false | String | 观看页布局,ppt文档为主、video视频为主、only-video仅视频、followTeacher跟随讲师 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为修改成功,false为修改失败
34、查询所有频道的回放视频
描述
查询账号下回放列表和点播列表, 注意:不包括暂存列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/playback/list
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetUserPlaybackList() throws IOException, NoSuchAlgorithmException {
LiveListUserPlaybackRequest liveListUserPlaybackRequest = new LiveListUserPlaybackRequest();
LiveListUserPlaybackResponse liveListUserPlaybackResponse;
try {
String channelId = super.createChannel();
liveListUserPlaybackRequest.setChannelId(channelId);
liveListUserPlaybackResponse = new LiveAccountServiceImpl().getUserPlaybackList(
liveListUserPlaybackRequest);
Assert.assertNotNull(liveListUserPlaybackResponse);
if (liveListUserPlaybackResponse != null) {
//to do something ......
log.debug("测试查询所有频道的回放视频成功 {}", JSON.toJSONString(liveListUserPlaybackResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveListUserPlaybackResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| channelId | false | String | 频道号,不传查询账号下所有回放视频 |
| page | false | String | 页码,默认为1 |
| pageSize | false | String | 每页数据大小,默认为20,合法范围为1-1000 |
| order | false | String | 排序规则,取值 timeDesc:按createdTime降序 rankDesc:按rank降序 time:按createdTime升序 rank:按rank升序,默认是timeDesc |
| listType | false | String | playback:回放列表 vod:点播列表,默认是playback |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| contents | Array | 响应成功时返回回放视频列表信息【详见UserPlayback参数描述】 |
| pageSize | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| currentPage | Integer | 当前页【对应api文档的pageNumber字段】 |
| totalItems | Integer | 记录总条数 |
| totalPage | Integer | 总页数【对应api文档的totalPages字段】 |
UserPlayback参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoId | String | 直播系统生成的id (视频库中的回放视频) |
| videoPoolId | String | 点播视频vid (视频库中的回放视频) |
| userId | String | POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置) |
| channelId | String | 回放视频对应的直播频道号 |
| title | String | 视频标题 |
| firstImage | String | 视频首图 |
| duration | String | 视频长度,格式为HH:mm:ss |
| myBr | String | 默认视频的播放清晰度 1:流畅 2:高清 3:超清 |
| qid | String | 访客信息收集id |
| seed | Integer | 视频加密状态,1表示为加密状态,0为非加密 |
| orderTime | Integer | 关联点播视频的排序字段【对应api文档的ordertime字段】 |
| createdTime | Date | 添加为回放视频的日期 |
| lastModified | Date | 视频最后修改日期 |
| rank | Integer | 排序值,值越大优先级越高 |
| asDefault | String | 是否为默认播放视频,值为Y/N Y:是 N:否 |
| url | String | 视频播放地址,注:如果视频为加密视频,则此地址无法访问 |
| channelSessionId | String | 用于PPT请求数据,与PPT直播的回放相关,普通直播回放值为null |
| status | String | 转存点播视频完成状态,已完成:Y,未完成:N |
| fileUrl | String | 视频地址 |
| fileId | String | 回放视频转存前的暂存fileId |
| startTime | Date | 直播开始时间 |
| liveType | String | 直播类型 alone:活动直播 ppt:三分屏 topclass:大班课 seminar:研讨会 |
| width | Integer | 视频宽度 |
| height | Integer | 视频高度 |
| origin | String | 转存文件来源 manual:手动录制 auto:自动录制 merge:合并 clip:裁剪 |
| callbackUrl | String | 转存视频时设置的回调地址 |
| errorCount | Integer | 处理失败的次数 |
| lang | String | 语言 zh_CN:中文 EN:英文 |
| videoIdEN | String | 英文回放videoId |
| enFileUrl | String | 英文回放文件地址 |
| mergeInfo | String | 视频合并信息【对应api文档的mergeinfo字段】 |
| watchUrl | String | 观看回放视频的地址 |
35、查询默认模板防录屏设置
描述
查询防录屏默认模板设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/template/marquee/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetMarquee() throws IOException, NoSuchAlgorithmException {
LiveGetMarqueeRequest liveGetMarqueeRequest = new LiveGetMarqueeRequest();
LiveGetMarqueeResponse liveGetMarqueeResponse;
try {
liveGetMarqueeResponse = new LiveAccountServiceImpl().getMarquee(liveGetMarqueeRequest);
Assert.assertNotNull(liveGetMarqueeResponse);
if (liveGetMarqueeResponse != null) {
//to do something ......
log.debug("测试查询默认模板防录屏设置成功 {}", JSON.toJSONString(liveGetMarqueeResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveGetMarqueeResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | String | 防录屏开关 Y:开启 N:关闭 |
| antiRecordType | String | 防录屏方式 marquee:跑马灯 watermark:水印 |
| modelType | String | 防录屏类型 fixed:固定 nickname:用户名 diyurl:url自定义设置 |
| autoZoomEnabled | String | 自定义缩放开关 Y:开启 N:关闭 |
| content | String | 固定值时为设置内容 URL自定义设置时为网址 |
| opacity | Integer | 透明度 跑马灯透明度,范围0-99 水印透明度,范围0-100 |
| doubleEnabled | String | 双跑马灯开关 Y:开启 N:关闭 |
| fontColor | String | 跑马灯字体颜色,色值,例如:#FFFFFF |
| fontSize | String | 字体大小 防录屏方式为跑马灯时:设置数值,范围1-256 防录屏方式为水印时: small:小 middle:中 large:大 |
| showMode | String | 跑马灯显示方式 roll:滚动 flicker:闪烁 |
36、查询默认模板回放设置
描述
查询回放默认模板设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/template/playback-setting/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetTemplatePlaybackSetting() throws IOException, NoSuchAlgorithmException {
LiveGetTemplatePlaybackSettingRequest liveGetTemplatePlaybackSettingRequest =
new LiveGetTemplatePlaybackSettingRequest();
LiveGetTemplatePlaybackSettingResponse liveGetTemplatePlaybackSettingResponse;
try {
liveGetTemplatePlaybackSettingResponse = new LiveAccountServiceImpl().getTemplatePlaybackSetting(
liveGetTemplatePlaybackSettingRequest);
Assert.assertNotNull(liveGetTemplatePlaybackSettingResponse);
if (liveGetTemplatePlaybackSettingResponse != null) {
//to do something ......
log.debug("测试查询默认模板回放设置成功 {}", JSON.toJSONString(liveGetTemplatePlaybackSettingResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回LiveGetTemplatePlaybackSettingResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| playbackEnabled | String | 回放开关 Y:开启 N:关闭 |
| type | String | 观看页回放方式 single:单个视频 list:列表回放 |
| origin | String | 回放视频来源 record:暂存 playback:回放列表 vod:点播列表 |
| sectionEnabled | String | 章节开关 Y:开启 N:关闭 |
| chatPlaybackEnabled | String | 聊天回放开关 Y:开启 N:关闭 |
37、修改默认模板防录屏设置
描述
更新防录屏默认模板设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/template/marquee/update
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateMarquee() throws IOException, NoSuchAlgorithmException {
LiveUpdateMarqueeRequest liveUpdateMarqueeRequest = new LiveUpdateMarqueeRequest();
Boolean liveUpdateMarqueeResponse;
try {
liveUpdateMarqueeRequest.setAntiRecordType("marquee");
liveUpdateMarqueeRequest.setAutoZoomEnabled("Y");
liveUpdateMarqueeRequest.setContent("测试跑马灯内容test");
liveUpdateMarqueeRequest.setDoubleEnabled("N");
liveUpdateMarqueeRequest.setEnable("Y");
liveUpdateMarqueeRequest.setFontColor("#ff4d4f");
liveUpdateMarqueeRequest.setFontSize("20");
liveUpdateMarqueeRequest.setModelType("fixed");
liveUpdateMarqueeRequest.setOpacity(80);
liveUpdateMarqueeRequest.setShowMode("flicker");
liveUpdateMarqueeResponse = new LiveAccountServiceImpl().updateMarquee(liveUpdateMarqueeRequest);
Assert.assertNotNull(liveUpdateMarqueeResponse);
if (liveUpdateMarqueeResponse != null) {
//to do something ......
log.debug("测试修改默认模板防录屏设置成功 {}", JSON.toJSONString(liveUpdateMarqueeResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| enable | true | String | 防录屏开关 Y:开启 N:关闭 |
| antiRecordType | false | String | 防录屏方式,防录屏开关开启时必填 marquee:跑马灯 watermark:水印 |
| modelType | false | String | 防录屏类型,防录屏开关开启时必填,水印方式时设置自定义URL无效 fixed:固定 nickname:用户名 diyurl:url自定义设置,仅跑马灯方式有效 |
| content | false | String | 防录屏类型是固定值时为设置内容 URL自定义设置时为网址,需要携带 http:// 或 https:// 防录屏类型为登录用户名时可不传,固定值和url自定义设置时必传 |
| opacity | false | Integer | 跑马灯透明度,范围0-99 水印透明度,范围0-100 |
| fontSize | false | String | 字体大小 防录屏方式为跑马灯时:设置数值,范围1-256 防录屏方式为水印时: small:小 middle:中 large:大 |
| fontColor | false | String | 跑马灯字体颜色,色值,例如:#FFFFFF |
| showMode | false | String | 跑马灯显示方式 roll:滚动 flicker:闪烁 |
| doubleEnabled | false | String | 双跑马灯开关 Y:开启 N:关闭 |
| autoZoomEnabled | false | String | 自定义缩放开关 Y:开启 N:关闭 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
修改默认模板防录屏设置返回实体
38、修改默认模板回放设置
描述
修改回放默认模板设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/user/template/playback-setting/update
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdatePlaybackSetting() throws IOException, NoSuchAlgorithmException {
LiveUpdatePlaybackSettingRequest liveUpdatePlaybackSettingRequest = new LiveUpdatePlaybackSettingRequest();
Boolean liveUpdatePlaybackSettingResponse;
try {
liveUpdatePlaybackSettingRequest.setChatPlaybackEnabled("Y");
liveUpdatePlaybackSettingRequest.setOrigin("vod");
liveUpdatePlaybackSettingRequest.setPlaybackEnabled("N");
liveUpdatePlaybackSettingRequest.setSectionEnabled("N");
liveUpdatePlaybackSettingRequest.setType("list");
liveUpdatePlaybackSettingResponse = new LiveAccountServiceImpl().updatePlaybackSetting(
liveUpdatePlaybackSettingRequest);
Assert.assertNotNull(liveUpdatePlaybackSettingResponse);
if (liveUpdatePlaybackSettingResponse != null) {
//to do something ......
log.debug("测试修改默认模板回放设置成功 {}", JSON.toJSONString(liveUpdatePlaybackSettingResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| playbackEnabled | false | String | 回放开关 Y:开启 N:关闭 |
| type | false | String | 观看页回放方式 single:单个视频 list:列表回放 |
| origin | false | String | 回放视频来源 record:暂存 playback:回放列表 vod:点播列表 |
| sectionEnabled | false | String | 章节开关 Y:开启 N:关闭 |
| chatPlaybackEnabled | false | String | 聊天回放开关 Y:开启 N:关闭 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
修改默认模板回放设置返回实体
