channelDistribute
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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| distributeIds | false | String | 分發 ID,以英文逗號分隔,不傳則預設查詢頻道下全部分發地址 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| distributeEnable | String | 頻道分發直播總開關 Y:開啟 N:關閉 |
| result | Array | 分發地址回應物件列表【詳見ChannelDistribute 參數說明】 |
ChannelDistribute 參數說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| id | Integer | 雲端分發 ID |
| channelId | String | 頻道號 |
| name | String | 分發地址名稱 |
| distributeUrl | String | 推流地址 |
| distributeLiveCode | String | 直播碼 |
| status | String | 分發直播開關 Y:開啟 N:關閉 |
| connectionStatus | String | 連線狀態 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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| contents | true | Array | 分發地址請求物件列表【詳見CreateDistribute 參數說明】 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
CreateDistribute 參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| name | true | String | 分發地址名稱,長度不能超過 20 |
| distributeUrl | true | String | 推流地址(不可存在相同的推流地址),例:rtmp://polyv.net,需滿足正則:(^([rR][tT][mM][pP]://)([\w-]+.)+[\w-]+(/[\w-./?%#&=]*)?$) |
| distributeLiveCode | false | String | 直播碼 |
| status | false | String | 分發直播推流開關,不傳則預設關閉 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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| contents | true | Array | 分發地址請求物件列表【詳見UpdateDistribute 參數說明】 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
UpdateDistribute 參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| id | true | Integer | 雲端分發 ID |
| name | false | String | 分發地址名稱,長度不能超過 20 |
| distributeUrl | false | String | 推流地址,例:rtmp://polyv.net,需滿足正則:(^([rR][tT][mM][pP]://)([\w-]+.)+[\w-]+(/[\w-./?%#&=]*)?$) |
| distributeLiveCode | false | String | 直播碼 |
回傳物件說明
批次修改分發地址回傳實體
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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道 ID |
| distributeIds | true | String | 分發 ID,以英文逗號分隔 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件說明
批次刪除分發地址回傳實體
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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| distributeEnabled | false | String | 頻道雲端分發總開關,Y:開啟,N:關閉,預設為 Y |
| enforce | false | String | 是否強制關閉,Y:強制關閉,N:非強制關閉,預設為 N。非強制關閉時,頻道如果正常直播中,介面會拋出異常 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件說明
修改雲端分發頻道總開關回傳實體
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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| distributeIds | true | String | 雲端分發列表 id,多個使用,分隔 |
| distributeEnabled | false | String | 雲端分發開關,Y:開啟,N:關閉,預設為 N |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件說明
批次修改頻道雲端分發開關回傳實體
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,錯誤
