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 | 否 | Integer | 所屬分類 ID |
| watchStatus | 否 | String | 觀看頁狀態篩選,live-直播中,playback-回放中,end-已結束,waiting-未開始 |
| keyword | 否 | String | 頻道名稱,模糊查詢 |
| currentPage | 否 | Integer | 頁數,預設為 1【對應 API 文件的 page 欄位】 |
| pageSize | 否 | Integer | 每頁顯示的資料筆數,預設每頁顯示 20 筆資料 |
| appId | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | 否 | 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 | 否 | Integer | 所屬分類 ID,不傳則查詢所有分類下的頻道號 |
| keyword | 否 | String | 頻道名稱,模糊查詢 |
| appId | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | 否 | 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
接口地址(仅做说明使用):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
接口地址(仅做说明使用):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 | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定) |
| appSecret | 否 | 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 | 否 | Integer | 所屬分類 ID |
| watchStatus | 否 | String | 觀看頁狀態篩選:live(直播中)、playback(回放中)、end(已結束)、waiting(等待中)、unStart(未開始) |
| keyword | 否 | String | 頻道名稱,模糊查詢 |
| orderBy | 否 | String | 排序欄位,預設依頻道建立時間升序排列。startTimeDesc:開播時間降序,startTimeAsc:開播時間升序,channelCreatedTimeDesc:頻道建立時間降序 |
| currentPage | 否 | Integer | 頁碼,預設為 1【對應 API 文件的 pageNumber 欄位】 |
| pageSize | 否 | Integer | 每頁顯示的資料筆數,預設每頁顯示 20 筆資料 |
| appId | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定) |
| appSecret | 否 | 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 | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | 否 | 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 | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | 否 | 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 | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | 否 | 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 | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | 否 | 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() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
修改預設模板回放設定返回實體
