1、查询分发地址信息
描述
查询分发地址信息
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/distribute/list
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testListChannelDistribute() throws IOException, NoSuchAlgorithmException {
LiveChannelDistributeListRequest liveChannelDistributeListRequest = new LiveChannelDistributeListRequest();
LiveChannelDistributeListResponse liveChannelDistributeListResponse;
try {
liveChannelDistributeListRequest.setChannelId(super.getAloneChannelId());
liveChannelDistributeListResponse = new LiveChannelDistributeServiceImpl().listChannelDistribute(
liveChannelDistributeListRequest);
Assert.assertNotNull(liveChannelDistributeListResponse);
if (liveChannelDistributeListResponse != null) {
//to do something ......
log.debug("测试查询分发地址信息成功 {}", JSON.toJSONString(liveChannelDistributeListResponse));
}
} 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、请求正确,返回LiveChannelDistributeListResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
参数名 | 必选 | 类型 | 说明 |
---|
| | | |
| | | 分发ID,以英文逗号分割,不传默认查询频道下全部分发地址 |
返回对象描述
ChannelDistribute参数描述
参数名 | 类型 | 说明 |
---|
| | |
| | |
| | |
| | |
| | |
| | |
| | 连接状态 completed:已结束 processing:转推中 waiting:等待连接中 error:转推失败 |
2、批量添加分发地址
描述
批量添加分发地址
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/distribute/create-batch
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、只有纯视频、纯视频-极速(原大班课)直播模板的频道支持云分发
3、账号需要开通云分发功能
4、云分发地址个数上限:15
单元测试
@Test
public void testCreateChannelDistribute() throws IOException, NoSuchAlgorithmException {
LiveChannelDistributeCreateRequest liveChannelDistributeCreateRequest =
new LiveChannelDistributeCreateRequest();
Boolean liveChannelDistributeCreateResponse;
try {
String channelId = super.getAloneNewChannelId();
LiveChannelDistributeCreateRequest.CreateDistribute createDistribute =
new LiveChannelDistributeCreateRequest.CreateDistribute();
createDistribute.setName("SDK测试云分发")
.setDistributeUrl("rtmp://xx.xxx")
.setDistributeLiveCode(super.getRandomString(6))
.setStatus(LiveConstant.Flag.YES.getFlag());
liveChannelDistributeCreateRequest.setChannelId(channelId).setContents(Arrays.asList(createDistribute));
liveChannelDistributeCreateResponse = new LiveChannelDistributeServiceImpl().createChannelDistribute(
liveChannelDistributeCreateRequest);
Assert.assertTrue(liveChannelDistributeCreateResponse);
if (liveChannelDistributeCreateResponse) {
//to do something ......
log.debug("测试批量添加分发地址成功");
//TODO 此处创建完成后删除了分发地址,正式使用需删除该语句
super.deleteChannelDistribute(channelId, getChannelDistributeId(channelId));
}
} 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. ]
请求入参描述
CreateDistribute参数描述
参数名 | 必选 | 类型 | 说明 |
---|
| | | |
| | | 推流地址(不可存在相同的推流地址),例:rtmp://polyv.net,需满足正则:(^([rR][tT][mM][pP]://)([\w-]+.)+[\w-]+(/[\w-./?%#&=]*)?$) |
| | | |
| | | 分发直播推流开关,不传则默认关闭 Y:打开 N:关闭 |
返回对象描述
批量添加分发地址返回实体
3、批量修改分分发地址
描述
修改分发地址
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/distribute/update-batch
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、分发推流中不可修改推流地址
单元测试
@Test
public void testUpdateChannelDistribute() throws IOException, NoSuchAlgorithmException {
LiveChannelDistributeUpdateRequest liveChannelDistributeUpdateRequest =
new LiveChannelDistributeUpdateRequest();
Boolean liveChannelDistributeUpdateResponse;
try {
String channelId = super.getAloneNewChannelId();
LiveChannelDistributeUpdateRequest.UpdateDistribute updateDistribute =
new LiveChannelDistributeUpdateRequest.UpdateDistribute();
updateDistribute.setId(super.getChannelDistributeId(channelId))
.setName("SDK测试修改云分发")
.setDistributeUrl("rtmp://xxxx.xxx")
.setDistributeLiveCode(super.getRandomString(6));
liveChannelDistributeUpdateRequest.setChannelId(channelId).setContents(Arrays.asList(updateDistribute));
liveChannelDistributeUpdateResponse = new LiveChannelDistributeServiceImpl().updateChannelDistribute(
liveChannelDistributeUpdateRequest);
Assert.assertTrue(liveChannelDistributeUpdateResponse);
if (liveChannelDistributeUpdateResponse) {
//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. ]
请求入参描述
UpdateDistribute参数描述
参数名 | 必选 | 类型 | 说明 |
---|
| | | |
| | | |
| | | 推流地址,例:rtmp://polyv.net,需满足正则:(^([rR][tT][mM][pP]://)([\w-]+.)+[\w-]+(/[\w-./?%#&=]*)?$) |
| | | |
返回对象描述
批量修改分分发地址返回实体
4、批量删除分发地址
描述
批量删除分发地址
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/distribute/delete-batch
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、分发推流中不可删除分发地址
单元测试
@Test
public void testDeleteChannelDistribute() throws IOException, NoSuchAlgorithmException {
LiveChannelDistributeDeleteRequest liveChannelDistributeDeleteRequest =
new LiveChannelDistributeDeleteRequest();
Boolean liveChannelDistributeDeleteResponse;
try {
String channelId = super.getAloneNewChannelId();
liveChannelDistributeDeleteRequest.setChannelId(channelId).setDistributeIds("3884,3885");
liveChannelDistributeDeleteResponse = new LiveChannelDistributeServiceImpl().deleteChannelDistribute(
liveChannelDistributeDeleteRequest);
Assert.assertTrue(liveChannelDistributeDeleteResponse);
if (liveChannelDistributeDeleteResponse) {
//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. ]
请求入参描述
返回对象描述
批量删除分发地址返回实体
5、修改云分发频道总开关
描述
修改单个频道云分发总开关,该功能需要超管开通才生效
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/distribute/update-master-switch
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateMasterSwitch() throws IOException, NoSuchAlgorithmException {
LiveDistributeUpdateMasterSwitchRequest liveDistributeUpdateMasterSwitchRequest =
new LiveDistributeUpdateMasterSwitchRequest();
Boolean liveDistributeUpdateMasterSwitchResponse;
try {
String channelId = super.createChannel();
liveDistributeUpdateMasterSwitchRequest.setChannelId(channelId)
.setDistributeEnabled(LiveConstant.Flag.YES.getFlag());
liveDistributeUpdateMasterSwitchResponse = new LiveChannelDistributeServiceImpl().updateMasterSwitch(
liveDistributeUpdateMasterSwitchRequest);
Assert.assertTrue(liveDistributeUpdateMasterSwitchResponse);
if (liveDistributeUpdateMasterSwitchResponse) {
//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. ]
请求入参描述
参数名 | 必选 | 类型 | 说明 |
---|
| | | |
| | | |
| | | 是否强制关闭,Y:强制关闭,N:非强制关闭,默认为N。非强制关闭时,频道如果正常直播中,接口会抛出异常 |
返回对象描述
修改云分发频道总开关返回实体
6、批量修改频道云分发开关
描述
批量修改频道云分发开关,该功能需要超管开通才生效
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/distribute/update-switch
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateSwitch() throws IOException, NoSuchAlgorithmException {
LiveDistributeUpdateSwitchRequest liveDistributeUpdateSwitchRequest = new LiveDistributeUpdateSwitchRequest();
Boolean liveDistributeUpdateSwitchResponse;
try {
String channelId = super.getAloneNewChannelId();
liveDistributeUpdateSwitchRequest.setChannelId(channelId)
.setDistributeIds(String.valueOf(super.getChannelDistributeId(channelId)))
.setDistributeEnabled(LiveConstant.Flag.YES.getFlag());
liveDistributeUpdateSwitchResponse = new LiveChannelDistributeServiceImpl().updateSwitch(
liveDistributeUpdateSwitchRequest);
Assert.assertTrue(liveDistributeUpdateSwitchResponse);
if (liveDistributeUpdateSwitchResponse) {
//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. ]
请求入参描述
返回对象描述
批量修改频道云分发开关返回实体
7、查询云分发数据信息
描述
查询频道云分发数据信息
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/distribute/get/statistic
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetDistributeStatistic() throws IOException, NoSuchAlgorithmException {
LiveChannelDistributeStatisticRequest liveChannelDistributeStatisticRequest =
new LiveChannelDistributeStatisticRequest();
List<LiveChannelDistributeStatisticResponse> liveChannelDistributeStatisticResponse;
try {
String channelId = super.getAloneNewChannelId();
liveChannelDistributeStatisticRequest.setChannelId(channelId)
.setSessionIds("g57pg85h1x")
.setStartTime(super.getDate(1639668105000L))
.setEndTime(super.getDate(1639679787000L));
liveChannelDistributeStatisticResponse = new LiveChannelDistributeServiceImpl().getDistributeStatistic(
liveChannelDistributeStatisticRequest);
Assert.assertNotNull(liveChannelDistributeStatisticResponse);
if (liveChannelDistributeStatisticResponse != null) {
//to do something ......
log.debug("测试查询云分发数据信息成功 {}", JSON.toJSONString(liveChannelDistributeStatisticResponse));
}
} 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、请求正确,返回LiveChannelDistributeStatisticResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
参数名 | 必选 | 类型 | 说明 |
---|
| | | |
| | | 频道场次ID,多个使用,分隔,场次ID和直播开始结束时间不能同时为空 |
| | | 直播开始时间,场次ID和直播开始结束时间不能同时为空 |
| | | 直播结束时间,场次ID和直播开始结束时间不能同时为空 |
返回对象描述
返回对象是List<LiveChannelDistributeStatisticResponse>,LiveChannelDistributeStatisticResponse具体元素内容如下: