保利威文档中心

幫助中心

channelOperate

更新時間:2026-05-29 16:22:49

1、建立頻道

描述

创建一个直播频道,返回直播频道相关的基础信息。
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/create

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCreateChannelV2() throws Exception, NoSuchAlgorithmException {
        LiveChannelV2Request liveChannelRequest = new LiveChannelV2Request();
        LiveChannelV2Response liveChannelResponse = null;
        try {
            liveChannelRequest.setName("gateway 从入门到精通")
                    .setNewScene(LiveConstant.NewSceneType.ALONE.getCode())
                    .setTemplate("alone")
                    .setCategoryId(391352)
                    .setSeminarAttendeePassword(super.getRandomString(6))
                    .setSeminarHostPassword(super.getRandomString(7))
                    .setEndTime(super.getDate(2034,11,11))
                    .setOnlyOneLiveEnabled("N");
            liveChannelResponse = new LiveChannelOperateServiceImpl().createChannelV2(liveChannelRequest);
            Assert.assertNotNull(liveChannelResponse);
            if (liveChannelResponse != null) {
                //to do something ......
                log.debug("频道创建成功{}", JSON.toJSONString(liveChannelResponse));
                log.debug("网页开播地址:https://live.polyv.net/web-start/login?channelId={}",
                        liveChannelResponse.getChannelId());
                log.debug("网页观看地址:https://live.polyv.cn/watch/{} ", liveChannelResponse.getChannelId());
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                super.deleteChannel(liveChannelResponse.getChannelId());
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveChannelV2Response 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必選 類型 說明
name true String 直播名稱,最大長度100
newScene true String 直播場景 (topclass-大班課、double-雙師課(該場景需開通)、train-企業培訓、seminar-研討會、alone-活動行銷)
template true String 直播模板 (ppt-三分屏(橫向)、portrait_ppt-三分屏(直向)、alone-純影片(橫向)、portrait_alone-純影片(直向)、topclass-純影片-極速(橫向)、portrait_topclass-純影片-極速(直向)、seminar-研討會、guide(導播,該場景需開通))
直播場景為topclass時,該欄位支援ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass
直播場景為train、guide或alone時,該欄位支援ppt、portrait_ppt、alone、portrait_alone
直播場景為double時,該欄位支援ppt、alone
直播場景為seminar時,該欄位支援seminar
channelPasswd false String 講師登入密碼,直播場景不是研討會時有效,長度6-16位,不傳則由系統隨機生成
seminarHostPassword false String 研討會主持人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成。研討會主持人密碼和與會人密碼不能相同。
seminarAttendeePassword false String 研討會與會人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成。研討會主持人密碼和與會人密碼不能相同。
pureRtcEnabled false String 直播延遲 Y無延遲 N普通延遲
type false String 轉播類型 normal不開啟、transmit發起轉播、receive接收轉播(該功能需開通)
doubleTeacherType false String 線上雙師 transmit大房間、receive小房間
cnAndEnLiveEnabled false String 中英雙語直播開關 Y開、N關
splashImg false String 引導頁圖片位址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳
linkMicLimit false Integer 連麥人數限制,最多16人。為0表示關閉連麥。
該值為空時,則預設使用帳號的最大連麥人數(可聯繫業務修改)
categoryId false Integer 分類ID,可透過「查詢直播分類」介面取得
startTime false Date 開始時間,格式:yyyy-MM-dd HH:mm:ss【註:僅做直播前倒數計時顯示,不對講師開播操作產生影響】
endTime false Date 結束時間,格式:yyyy-MM-dd HH:mm:ss【註:僅做未開播時直播狀態判斷顯示,不對講師開播操作產生影響】
subAccount false String 子帳號信箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或停用),暫無法透過介面取得
onlyOneLiveEnabled false String 頻道僅可上下課一次(已經結束直播的頻道不可以再發起直播)
Y:開啟,N:關閉,預設為N
appId false String POLYV使用者APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV使用者APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
channelId String 頻道ID
userId String POLYV 使用者 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定)
channelPasswd String 講師登入密碼,直播場景非研討會時不為 null,長度 6-16 位
seminarHostPassword String 研討會主持人密碼,僅直播場景為研討會時不為 null,長度 6-16 位
seminarAttendeePassword String 研討會與會者密碼,僅直播場景為研討會時不為 null,長度 6-16 位






2、批次建立頻道

描述

批量创建频道
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/create-batch

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCreateChannelListV2() throws IOException, NoSuchAlgorithmException {
        LiveCreateChannelListV2Request liveCreateChannelListV2Request = new LiveCreateChannelListV2Request();
        List<LiveCreateChannelListV2Response> liveCreateChannelListV2Response;
        try {
            List<LiveCreateChannelListV2Request.ChannelV2CreateBatch> channelV2CreateBatch = new ArrayList<>();
            channelV2CreateBatch.add(LiveCreateChannelListV2Request.ChannelV2CreateBatch.builder()
                    .name("测试批量创建频道1(可删)")
                    .newScene(LiveConstant.NewSceneType.ALONE.getCode())
                    .template(LiveConstant.Template.ALONE.getCode())
                    .channelPasswd(super.getRandomString(8))
                    .pureRtcEnabled(LiveConstant.Flag.YES.getFlag())
                    .categoryId(391352)
                    .linkMicLimit(2)
                    .startTime(super.getDate(System.currentTimeMillis() + 600 * 1000))
                    .build());
            channelV2CreateBatch.add(LiveCreateChannelListV2Request.ChannelV2CreateBatch.builder()
                    .name("测试批量创建频道2(可删)")
                    .newScene(LiveConstant.NewSceneType.SEMINAR.getCode())
                    .template(LiveConstant.Template.SEMINAR.getCode())
                    .seminarHostPassword(super.getRandomString(8))
                    .seminarAttendeePassword(super.getRandomString(8))
                    .categoryId(391352)
                    .subAccount("test-dev@qq.com")
                    .build());
            liveCreateChannelListV2Request.setChannels(channelV2CreateBatch);
            liveCreateChannelListV2Response = new LiveChannelOperateServiceImpl().createBatchV2(
                    liveCreateChannelListV2Request);
            Assert.assertNotNull(liveCreateChannelListV2Response);
            if (liveCreateChannelListV2Response != null) {
                //to do something ......
                log.debug("测试批量创建频道成功{}", JSON.toJSONString(liveCreateChannelListV2Response));
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                liveCreateChannelListV2Response.stream()
                        .forEach(channel -> super.tryDeleteChannel(channel.getChannelId()));
            }
        } 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、請求正確,回傳 LiveCreateChannelListV2Response 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]

請求參數說明

參數名稱 必填 類型 說明
channels true Array 批次建立頻道請求體【詳見ChannelV2CreateBatch參數說明
appId false String POLYV使用者APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
ChannelV2CreateBatch參數描述
參數名 必選 類型 說明
name true String 直播名稱,最大長度100
newScene true String 直播場景 (topclass-大班課 、 double-雙師課(該場景需開通) 、 train-企業培訓 、 seminar-研討會 、 alone-活動行銷)
template true String 直播模板 (ppt-三分屏(橫向) 、 portrait_ppt-三分屏(直向) 、 alone-純影片(橫向) 、portrait_alone-純影片(直向) 、 topclass-純影片-極速(橫向) 、 portrait_topclass-純影片-極速(直向) 、 seminar-研討會)
直播場景為topclass時,該欄位支援ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass
直播場景為train或alone時,該欄位支援ppt、portrait_ppt、alone、portrait_alone
直播場景為double時,該欄位支援ppt、alone
直播場景為seminar時,該欄位支援seminar
channelPasswd false String 講師登入密碼,直播場景不是研討會時有效,長度6-16位,不傳則由系統隨機生成
seminarHostPassword false String 研討會主持人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成。研討會主持人密碼和與會人密碼不能相同。
seminarAttendeePassword false String 研討會與會人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成。研討會主持人密碼和與會人密碼不能相同。
pureRtcEnabled false String 直播延遲 Y無延遲 N普通延遲
type false String 轉播類型 normal不開啟、transmit發起轉播、receive接收轉播(該功能需開通),部分直播場景不支援轉播設定,具體請閱讀介面約束
doubleTeacherType false String 線上雙師 transmit大房間、receive小房間
cnAndEnLiveEnabled false String 中英雙語直播開關 Y開、N關
splashImg false String 引導頁圖片位址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳
linkMicLimit false Integer 連麥人數限制,最多16人
categoryId false Integer 分類ID,可透過「查詢直播分類」介面取得
startTime false Date 開始時間
subAccount false String 子帳號信箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或停用),暫無法透過介面取得

回傳物件描述

回傳物件為 List<LiveCreateChannelListV2Response>,LiveCreateChannelListV2Response 具體元素內容如下:

參數名 類型 說明
channelId String 頻道ID
userId String 驗證資訊
scene String 直播場景
channelPasswd String 講師登入密碼,非研討會場景使用,長度6-16位
seminarHostPassword String 研討會主持人密碼,僅直播場景為研討會時回傳,長度6-16位
seminarAttendeePassword String 研討會與會者密碼,僅直播場景為研討會時回傳,長度6-16位






3、建立並初始化頻道

描述

根据请求参数与默认模板创建频道
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/create-init

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCreateChannelInitV2() throws IOException, NoSuchAlgorithmException {
        LiveChannelInitV2Request liveChannelInitV2Request = new LiveChannelInitV2Request();
        LiveChannelInitV2Response liveChannelInitV2Response;
        try {
            //基础信息
            LiveChannelInitV2Request.BasicSetting basicSetting = new LiveChannelInitV2Request.BasicSetting().setName(
                            "创建并初始化新版后台频道-验证码观看")
                    .setChannelPasswd(getRandomString(6))
                    .setNewScene(LiveConstant.NewSceneType.TOPCLASS.getCode())
                    .setTemplate(LiveConstant.Template.PPT.getCode())
                    .setCategoryId(391352)
                    .setDescription("这是一个描述")
                    .setLinkMicLimit(1)
                    .setSubAccount("test-dev@qq.com");
            liveChannelInitV2Request.setBasicSetting(basicSetting);
            //主要观看条件 验证码观看
            LiveChannelInitV2Request.MasterAuthSetting masterAuthSetting =
                    new LiveChannelInitV2Request.MasterAuthSetting().setAuthType(
                            LiveConstant.AuthType.CODE.getDesc())
                    .setEnabled("Y")
                    .setAuthCode("123456")
                    .setQCodeTips("提示文案")
                    .setQCodeImg("https://live.polyv.net/static/images/live-header-logo.png");
            liveChannelInitV2Request.setMasterAuthSetting(masterAuthSetting);
            //回放设置
            LiveChannelInitV2Request.PlaybackSetting playbackSetting = new LiveChannelInitV2Request.PlaybackSetting();
            playbackSetting.setPlaybackEnabled("N");
            liveChannelInitV2Request.setPlaybackSetting(playbackSetting);
            //设置角色
            LiveChannelInitV2Request.Roles assistantRole = new LiveChannelInitV2Request.Roles();
            assistantRole.setNickName("孙助教").setActor("助教").setPasswd(getRandomString(6)).setRole("Assistant");
            LiveChannelInitV2Request.Roles guestRole = new LiveChannelInitV2Request.Roles();
            guestRole.setNickName("赵嘉宾").setActor("嘉宾").setPasswd(getRandomString(6)).setRole("Guest");
            List<LiveChannelInitV2Request.Roles> roles = new ArrayList<>();
            roles.add(assistantRole);
            roles.add(guestRole);
            liveChannelInitV2Request.setRoles(roles);
            liveChannelInitV2Response = new LiveChannelOperateServiceImpl().createChannelInitV2(
                    liveChannelInitV2Request);
            Assert.assertNotNull(liveChannelInitV2Response);
            if (liveChannelInitV2Response != null) {
                //to do something ......
                log.debug("测试创建并初始化频道(新版后台)成功 {}", JSON.toJSONString(liveChannelInitV2Response));
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                super.tryDeleteChannel(liveChannelInitV2Response.getChannelId());
            }
        } 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、請求正確,回傳 LiveChannelInitV2Response 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必選 類型 說明
basicSetting true BasicSetting 頻道基礎資訊【詳見BasicSetting參數說明
masterAuthSetting false MasterAuthSetting 主要觀看條件,不傳該欄位,將按照預設模板設定值。【詳見MasterAuthSetting參數說明
playbackSetting false PlaybackSetting 回放設定,不傳該欄位,將按照預設模板設定值。【詳見PlaybackSetting參數說明
roles false Array 角色設定,包括講師、助教、嘉賓。 不傳該欄位,將按照預設模板設定角色資訊。 傳入該欄位,不設定講師,將按照預設模板設定講師資訊。 傳入該欄位,不設定助教、嘉賓將不建立。最多設定10個角色【詳見Roles參數說明
appId false String POLYV用戶APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
BasicSetting參數描述
參數名 必填 類型 說明
name true String 直播名稱,最大長度50
newScene true String 直播場景 (topclass-大班課 、 double-雙師課(該場景需開通) 、 train-企業培訓 、 seminar-研討會 、 alone-活動行銷)
template false String 直播模板 (ppt-三分屏(橫向) 、 portrait_ppt-三分屏(直向) 、 alone-純影片(橫向) 、portrait_alone-純影片(直向) 、 topclass-純影片-極速(橫向) 、 portrait_topclass-純影片-極速(直向) 、 seminar-研討會) 直播場景為topclass時,該欄位支援ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass 直播場景為train或alone時,該欄位支援ppt、portrait_ppt、alone、portrait_alone 直播場景為double時,該欄位支援ppt、alone 直播場景為seminar時,該欄位支援seminar
channelPasswd false String 講師登入密碼,直播場景不是研討會時有效,長度6-16位,不傳則由系統隨機生成
seminarHostPassword false String 研討會主持人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成
seminarAttendeePassword false String 研討會與會人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成
categoryId false Integer 分類ID
startTime false Date 直播開始時間
pureRtcEnabled false String 無延遲直播開關,Y:開啟,N:關閉
type false String 頻道類型 發起轉播:transmit 接收轉播:receive 一般頻道:normal
doubleTeacherType false String 線上雙師房間類型 transmit大房間、receive小房間
cnAndEnLiveEnabled false String 中英雙語直播開關Y開、N關
linkMicLimit false Integer 連線人數限制,最多16人
description false String 直播介紹,最多1024字元長度
logoImg false String 直播logo圖片
splashImg false String 引導頁圖片位址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳
coverImg false String 播放器封面圖片,沒有直播和回放的時候顯示
subAccount false String 子帳號信箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或停用),暫無法透過介面取得
watchLangType false String 觀看頁語言(zh_CN:中文/en:英文 /ja:日文 /ko:韓文 /zh_TW:繁體中文 /follow_browser:跟隨瀏覽器)
allowSwitchLangEnabled false String 允許觀眾切換語言開關
Y:允許
N:不允許
MasterAuthSetting參數描述
參數名 必選 類型 說明
enabled true String 是否開啟觀看條件 Y:開啟 N:關閉
authType false String 觀看條件類型 code:驗證碼觀看 pay:付費觀看 custom:自訂授權觀看 external:外部授權觀看 direct:獨立授權觀看
authCode false String authType為code時,設定參數,必填。觀看驗證碼,長度不超過8位
codeAuthTips false String authType為code時,設定參數,非必填。歡迎標題,長度不超過20位,預設:歡迎觀看本次直播
qCodeTips false String authType為code時,設定參數,非必填。驗證碼提示文案,長度不超過30位,預設:掃描二維碼獲得驗證碼
qCodeImg false String authType為code時,設定參數,非必填。二維碼圖片地址
payAuthTips true String 當authType為pay時,設定參數,必填。歡迎語標題,長度不超過20位
price true Float 當authType為pay時,設定參數,必填。價格,單位為元
watchEndTime false Date 當authType為pay時,設定參數,非必填。付費有效截止日期
validTimePeriod false Integer 當authType為pay時,設定參數,非必填。付費有效時長,單位天。當watchEndTime和validTimePeriod都為空時,表示付費永久有效
customKey true String 當authType為custom時,設定參數,必填。SecretKey,長度不超過10位
customUri true String 當authType為custom時,設定參數,必填。自訂url
externalKey true String 當authType為external時,設定參數,必填。SecretKey,長度不超過10位
externalUri true String 當authType為external時,設定參數,必填。自訂url
externalRedirectUri false String 當authType為external時,設定參數,非必填。失敗跳轉地址
externalEntryText false String 當authType為external時,設定參數,非必填。入口文字,預設為:登入觀看
directKey true String 當authType為direct時,設定參數,必填。獨立授權SecretKey,長度不超過10位
PlaybackSetting參數描述
參數名 必選 類型 說明
playbackEnabled false String 回放開關
Y:開啟
N:關閉
sectionEnabled false String 回放設定,章節開關
Y:開啟
N:關閉
type false String 回放方式
single:單一回放
list:列表回放
origin false String 回放來源
record:暫存
playback:回放列表
註:type為single時,該值只能為record;type為list時,該值只能為playback或vod;
Roles參數描述
參數名 必選 類型 說明
role true String 角色類型 Teacher:講師 Assistant:助教 Guest:嘉賓
nickName false String 角色暱稱
actor false String 角色頭銜
passwd false String 角色密碼,密碼長度6-16位,必須包含數字和英文
avatar false String 角色頭像圖片位址,需包含協定

回傳物件描述

參數名 類型 說明
channelId String 頻道ID
name String 頻道名稱
userId String POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
channelPasswd String 講師登入密碼,非研討會場景使用,長度6-16位
seminarHostPassword String 研討會主持人密碼,僅直播場景為研討會時回傳,長度6-16位
seminarAttendeePassword String 研討會與會者密碼,僅直播場景為研討會時回傳,長度6-16位
publisher String 主持人名稱
description String 直播介紹
newScene String 直播場景 (topclass-大班課、double-雙師課(該場景需開通)、train-企業培訓、seminar-研討會、alone-活動行銷)
template String 直播模板 (ppt-三分屏(橫向)、portrait_ppt-三分屏(直向)、alone-純影片(橫向)、portrait_alone-純影片(直向)、topclass-純影片-極速(橫向)、portrait_topclass-純影片-極速(直向)、seminar-研討會) 直播場景為topclass時,該欄位支援ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass 直播場景為train或alone時,該欄位支援ppt、portrait_ppt、alone、portrait_alone 直播場景為double時,該欄位支援ppt、alone 直播場景為seminar時,該欄位支援seminar
linkMicLimit Integer 連麥人數
pureRtcEnabled String 直播延遲 Y:無延遲 N:普通延遲
type String 頻道類型 發起轉播:transmit 接收轉播:receive 一般頻道:normal
currentTimeMillis Date 當前13位毫秒級時間戳






4、建立MR頻道

描述

创建MR频道
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/mr/create

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCreateMrChannel() throws IOException, NoSuchAlgorithmException {
        LiveCreateMrChannelRequest liveCreateMrChannelRequest = new LiveCreateMrChannelRequest();
        LiveCreateMrChannelResponse liveCreateMrChannelResponse;
        try {
            liveCreateMrChannelRequest.setName("SDK测试创建MR频道")
                    .setStartTime(getXDay(new Date(), 10))
                    .setChannelPasswd(getRandomString(16));
            liveCreateMrChannelResponse = new LiveChannelOperateServiceImpl().createMrChannel(
                    liveCreateMrChannelRequest);
            Assert.assertNotNull(liveCreateMrChannelResponse);
            if (liveCreateMrChannelResponse != null) {
                //to do something ......
                log.debug("测试创建MR频道成功 {}", JSON.toJSONString(liveCreateMrChannelResponse));
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                super.tryDeleteChannel(liveCreateMrChannelResponse.getChannelId());
            }
        } 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、請求正確,回傳 LiveCreateMrChannelResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參說明

參數名 必選 類型 說明
name true String 直播名稱,最大長度100
categoryId false Integer 分類ID
startTime false Date 開始時間,13位毫秒級時間戳
channelPasswd false String MR控制台密碼,長度6-16位,不傳則由系統隨機生成
assistantPasswd false String MR直播助理角色密碼,長度6-16位,不傳則由系統隨機生成
splashImg false String 引導頁圖片地址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳
subAccount false String 子帳號信箱,提交後,該頻道帳號在後台擁有的權限會跟隨該子帳號的頻道權限
appId false String POLYV使用者APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV使用者APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
channelId String 頻道ID
name String 頻道名稱
userId String 直播帳號userId
channelPasswd String MR直播-控制台登入密碼
assistantAccount String MR直播-直播助理帳號
assistantPasswd String MR直播-直播助理登入密碼






5、查詢頻道資訊

描述

查询频道信息
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/get

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetChannelInfo() throws Exception, NoSuchAlgorithmException {
        LiveChannelInfoRequest liveChannelInfoRequest = new LiveChannelInfoRequest();
        LiveChannelInfoResponse liveChannelInfoResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelInfoRequest.setChannelId(channelId);
            liveChannelInfoResponse = new LiveChannelOperateServiceImpl().getChannelInfo(liveChannelInfoRequest);
            Assert.assertNotNull(liveChannelInfoResponse);
            if (liveChannelInfoResponse != null) {
                //to do something ......
                log.debug("查询频道信息成功{}", JSON.toJSONString(liveChannelInfoResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveChannelInfoResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必選 類型 說明
channelId true String 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
channelId String 頻道號
userId String POLYV 用戶 ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
name String 直播頻道名稱
description String 直播頻道描述
url String 直播推流地址
stream String 直播流名稱
logoImage String 播放器 logo
logoOpacity Float Logo 不透明度,取值【0-1】,1 表示完全不透明
logoPosition String Logo 位置
logoHref String Logo 的跳轉連結
coverImage String 播放前顯示的封面圖
coverHref String 封面圖的跳轉連結
waitImage String 等待推流時的顯示圖片
waitHref String 等待推流時顯示圖片的跳轉連結
cutoffImage String 切斷流時的顯示圖片
cutoffHref String 切斷流時顯示圖片的跳轉連結
advertType String 廣告類型
advertDuration String 廣告時長,單位:秒
advertWidth String 廣告區域寬度
advertHeight String 廣告區域高度
advertImage String 圖片廣告
advertHref String 廣告的跳轉連結
advertFlvVid String 影片廣告 ID
advertFlvUrl String 影片廣告連結
playerColor String 播放器控制欄顏色
autoPlay Boolean 自動播放
warmUpFlv String 一開始的暖場影片
passwdRestrict Boolean 觀看密碼限制,需要輸入觀看密碼才能播放流
passwdEncrypted String 觀看密碼加密後的密文
isOnlyAudio String 僅推音頻流
isLowLatency String 低延遲
m3u8Url String 直播拉流(播放)m3u8 地址
m3u8Url1 String 直播拉流(播放)m3u8 地址1
m3u8Url2 String 直播拉流(播放)m3u8 地址2
m3u8Url3 String 直播拉流(播放)m3u8 地址3
currentTimeMillis Long 伺服器返回的時間戳(毫秒)
channelLogoImage String 頻道的圖標
publisher String 主持人姓名
scene String 直播場景:alone 活動直播, topclass 大班課, ppt 三分屏, seminar:研討會
categoryId String 所屬分類 Id
categoryName String 所屬分類名稱
channelPasswd String 頻道密碼
channelViewerPasswd String 參與者密碼
streamType String client:客戶端推流,pull:拉流,thirdpull:第三方拉流,disk:硬碟推流,audio:音頻直播
pureRtcEnabled String 無延遲直播開關,Y:開啟,N:關閉
type String transmit:發起轉播,normal:普通的頻道,receive:接收轉播
cnAndEnLiveEnabled String 中英文直播間開關,Y:開啟,N:關閉
pushEnUrl String 英文推流地址
closeDanmu String N:沒有關閉彈幕,Y:關閉彈幕
linkMicLimit Integer -1:使用帳號連麥人數,0-16:代表連麥人數






6、查詢頻道基本資訊

描述

查询频道基本信息,观看页状态与新版后台一致
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/basic/get

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetChannelDetail() throws IOException, NoSuchAlgorithmException {
        LiveChannelBasicInfoV2Request liveChannelBasicInfoV2Request = new LiveChannelBasicInfoV2Request();
        LiveChannelBasicInfoV2Response liveChannelBasicInfoV2Response;
        try {
            String channelId = super.createChannel();
            liveChannelBasicInfoV2Request.setChannelId(channelId);
            liveChannelBasicInfoV2Response = new LiveChannelOperateServiceImpl().getChannelDetail(
                    liveChannelBasicInfoV2Request);
            Assert.assertNotNull(liveChannelBasicInfoV2Response);
            if (liveChannelBasicInfoV2Response != null) {
                //to do something ......
                log.debug("测试查询频道信息成功 {}", JSON.toJSONString(liveChannelBasicInfoV2Response));
            }
        } 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、請求正確,回傳 LiveChannelBasicInfoV2Response 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必填 類型 說明
channelId true String 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
channelId String 頻道號
name String 頻道名稱
scene String 直播場景:alone 活動拍攝;ppt 三分屏;topclass 大班課;seminar:研討會
newScene String 新版後台直播場景,若未定義則取scene
undefined:未定義
topclass:大班課
double:雙師課(需開通權限)
train:企業培訓
seminar:研討會
alone:活動行銷
template String 新版後台直播模板,若老版頻道,該欄位為未定義
undefined:未定義
ppt:文件+影片
alone:純影片(專業)
topclass:純影片(極速)
seminar:研討會
portrait_ppt:文件+影片(直式)
portrait_alone:影片(直式)
channelPasswd String 頻道密碼
publisher String 主持人名稱
startTime Date 直播開始時間,關閉時為null
endTime Date 直播結束時間
pageView Integer 頁面累計觀看數
likes Integer 觀看頁按讚數
coverImg String 頻道圖示url
splashImg String 引導頁圖片位址
splashEnabled String 引導頁開關(取值為Y/N)
desc String 直播介紹
consultingMenuEnabled String 諮詢提問開關(取值為Y/N)
maxViewerRestrict String 限制最大線上觀看人數開關(取值為Y/N)
maxViewer Integer 最大線上觀看人數
watchStatus String 觀看頁狀態 live:直播中 playback:回放中 end:已結束 waiting:等待中 unStart:未開始
watchStatusText String 觀看頁狀態描述
userCategory UserCategory 頻道所屬分類的資訊【詳見UserCategory參數描述
authSettings Array 直播觀看條件列表【詳見AuthSetting參數描述
linkMicLimit Integer 頻道連麥人數限制
createdAccountId String 建立者帳號id,為主帳號建立時,回傳主帳號userId
createdAccountEmail String 建立者帳號信箱
createdTime Date 建立時間
clientAloneTemplateBackgroundUrl String 客戶端模板背景圖URL
liveCdnBackgroundUrl String 影片混流背景圖URL
labelData Array 標籤id陣列
UserCategory參數描述
參數名稱 類型 說明
categoryId Integer 分類ID
categoryName String 分類名稱
userId String POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
rank Integer 分類的排序值
AuthSetting參數描述
參數名 類型 說明
channelId String 頻道號
userId String POLYV 用戶 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定)
rank Integer 用於實現一個頻道設定兩個觀看條件,為 1 或 2(1 為主要條件,2 為次要條件)
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)
authTips String 白名單觀看提示資訊
payAuthTips String 付費觀看提示資訊
authCode String 驗證碼觀看方式的驗證碼
qCodeTips String 驗證碼觀看方式的 QR Code 提示【對應 API 文件的 qcodeTips 欄位】
qCodeImg String 驗證碼觀看方式的 QR Code 圖片【對應 API 文件的 qcodeImg 欄位】
price Float 付費觀看的價格
watchEndTime Date 付費觀看,截止時間,為 null 表示:一次付費,永久有效
validTimePeriod Integer 付費觀看的截止時長(天)
customKey String 自訂授權觀看的 key
customUri String 自訂授權觀看的介面位址
externalKey String 外部授權觀看的 key
externalUri String 外部授權觀看的介面位址
externalRedirectUri String 外部授權觀看,用戶直接存取觀看頁面時的跳轉位址
directKey String 獨立授權 key
trialWatchEnabled String 試看開關,Y:開啟試看,N:關閉試看
trialWatchTime Integer 試看時間,單位為分鐘
trialWatchEndTime Date 試看截止日期,為 null 表示對該頻道永久有效
whiteListInputTips String 白名單輸入提示
whiteListEntryText String 白名單入口文案
infoDesc String 登記觀看描述欄位
customTeacherId String 自訂講師 ID






7、查詢授權與連線的 Token

描述

查询授权和连麦的token
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/common/get-chat-token

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetChannelAuthToken() throws Exception, NoSuchAlgorithmException {
        LiveChannelAuthTokenRequest liveChannelAuthTokenRequest = new LiveChannelAuthTokenRequest();
        LiveChannelAuthTokenResponse liveChannelAuthTokenResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelAuthTokenRequest.setUserId(getRandomString(32))
                    .setChannelId(channelId)
                    .setRole(LiveConstant.Role.ADMIN.getDesc())
                    .setOrigin(null);
            liveChannelAuthTokenResponse = new LiveChannelOperateServiceImpl().getChannelAuthToken(
                    liveChannelAuthTokenRequest);
            Assert.assertNotNull(liveChannelAuthTokenResponse);
            if (liveChannelAuthTokenResponse != null) {
                //to do something ......
                log.debug("查询授权和连麦的token成功{}", JSON.toJSONString(liveChannelAuthTokenResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveChannelAuthTokenResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]

請求參數說明

參數名 必選 類型 說明
userId true String C端觀眾ID
channelId true String 頻道號
role true String 角色,值有:teacher、admin、guest、assistant、viewer 等
origin false String 觀看來源,可為 web、client、app 等
appId false String POLYV 用戶 APP_ID,多帳號調用時此參數必填(即已調用 initMultiAccount() 設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號調用時此參數必填(即已調用 initMultiAccount() 設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
token String 連結介面所需的 token 值,有效期 6 小時
mediaChannelKey String 連線麥克風所需的 key






8、修改頻道的相關設定

描述

修改频道的相关设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/update

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testUpdateChannelSetting() throws Exception, NoSuchAlgorithmException {
        LiveChannelSettingRequest liveChannelSettingRequest = new LiveChannelSettingRequest();
        Boolean liveChannelSettingResponse;
        try {
            //准备测试数据
            String channelId = getAloneChannelId();
            LiveChannelSettingRequest.BasicSetting basicSetting = new LiveChannelSettingRequest.BasicSetting().setName(
                    "Junit测试(勿删)888")
                    .setChannelPasswd(getRandomString(7))
                    .setCategoryId(340019)
                    .setMaxViewer(0)
                    .setPageView(1000)
                    .setLikes(2000)
                    .setCoverImg("https://www.polyv.net/")
                    .setStartTime(0l)
                    .setDesc("这是一个描述")
                    .setPublisher("sadboy主讲")
                    .setLinkMicLimit(-1)
                    .setReceiveChannelIds(null);
            LiveChannelSettingRequest.AuthSetting authSetting = new LiveChannelSettingRequest.AuthSetting().setAuthType(
                    LiveConstant.AuthType.CODE.getDesc())
                    .setRank(1)
                    .setEnabled("Y")
                    .setAuthCode("123456")
                    .setQcodeTips("提示文案")
                    .setQcodeImg("https://live.polyv.net/static/images/live-header-logo.png");
            List<LiveChannelSettingRequest.AuthSetting> authSettings =
                    new ArrayList<LiveChannelSettingRequest.AuthSetting>();
            authSettings.add(authSetting);
            liveChannelSettingRequest.setChannelId(channelId)
                    .setBasicSetting(basicSetting)
                    .setAuthSettings(authSettings);
            liveChannelSettingResponse = new LiveChannelOperateServiceImpl().updateChannelSetting(
                    liveChannelSettingRequest);
            Assert.assertTrue(liveChannelSettingResponse);
            if (liveChannelSettingResponse) {
                //to do something ......
                log.debug("测试修改频道的相关设置成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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 String 需要設定頻道詳細資訊的頻道號碼,例如:1938028
basicSetting BasicSetting 基礎設定【詳見BasicSetting參數說明
authSettings Array 觀看條件設定【詳見AuthSetting參數說明
appId String POLYV使用者APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret String POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
BasicSetting參數描述
參數名 必選 類型 說明
name false String 頻道名稱
channelPasswd false String 頻道密碼,長度不能超過16位,必須同時包含字母和數字
publisher false String 主持人名稱
startTime false Long 直播開始時間,13位時間戳,設定為0表示關閉直播開始時間顯示
pageView false Integer 累積觀看數
likes false Integer 點讚數
coverImg false String 封面圖片地址
splashImg false String 引導頁圖片地址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳
splashEnabled false String 引導頁開關(Y、N)
desc false String 直播介紹
consultingMenuEnabled false String 諮詢提問開關(Y、N)
maxViewerRestrict false String 是否限制最大觀看人數(Y、N)
maxViewer false Integer 最大線上人數
categoryId false Integer 頻道的所屬分類(分類ID可透過「取得直播分類」介面取得)
linkMicLimit false Integer -1<=連麥人數<=帳號的連麥人數,-1:使用帳號的連麥人數,最大16人
operation false String 是否增加轉播關聯,Y:表示增加關聯,N:表示取消關聯 (註:需要開啟頻道轉播功能該參數才生效)(Y、N)
receiveChannelIds false String 接收轉播頻道號,多個頻道號用半形逗號,隔開(註:需要開啟頻道轉播功能該參數才生效)
closeBarrage false String 是否關閉彈幕功能的開關,N:表示不關閉,Y:表示關閉;【對應api文件的closeDanmu欄位】
showBarrageInfoEnabled false String 預設是否顯示彈幕資訊開關,Y:表示顯示,N:表示不顯示;【對應api文件的showDanmuInfoEnabled欄位】
pureRtcEnabled false String 是否開啟無延遲直播開關,為空時不對欄位進行修改,直播中不能對該欄位進行修改,Y:表示是,N:表示否;
customTeacherId false String 自訂講師ID,32個以內ASCII碼可見字元
labelData false Array 標籤id陣列,傳null不修改
AuthSetting參數描述
參數名 必選 類型 說明
rank true Integer 通用參數:主要觀看條件為1,次要觀看條件為2
enabled true String 通用參數:是否開啟,Y為開啟,N為關閉
authType false String 通用參數:付費觀看-pay,驗證碼觀看-code,白名單觀看-phone,登記觀看-info,自定義授權觀看-custom,外部授權-external,直接授權-direct
subAuthType false String authType為none時對應的值,public-公開觀看,wx-微信授權
wxAuthExpireValue false String subAuthType為wx時,對應的微信授權有效期,例如:3d表示3天,3h表示3小時
payAuthTips false String 付費觀看參數:歡迎語標題
price false Float 付費觀看參數:價格,單位為元
watchEndTime false Date 付費觀看參數:付費有效截止日期。當watchEndTime和validTimePeriod都為空時,表示付費永久有效
validTimePeriod false Integer 付費觀看參數:付費有效時長,單位天。當watchEndTime和validTimePeriod都為空時,表示付費永久有效
authCode false String 驗證碼觀看參數:驗證碼
qcodeTips false String 驗證碼觀看參數:提示文案
qcodeImg false String 驗證碼觀看參數:公眾號二維碼地址
authTips false String 當authType為phone時,設定參數,非必填。提示文案
whiteListEntryText false String 當authType為phone時,設定參數,非必填。白名單入口文案
whiteListInputTips false String 當authType為phone時,設定參數,非必填。白名單輸入提示
infoFields false Array 登記觀看參數,上限為5個【詳見InfoField參數描述
infoAuthTips false String 當authType為info時,設定參數,非必填。歡迎標題
infoDesc false String 當authType為info時,設定參數,非必填。提示資訊
infoEntryText false String 當authType為info時,設定參數,非必填。入口文字
externalKey false String 外部授權參數:SecretKey
externalUri false String 外部授權參數:自訂url
externalRedirectUri false String 外部授權參數:跳轉地址
externalEntryText false String 外部授權觀看,入口文字
externalButtonEnabled false String 外部授權觀看,登入按鈕。Y為開啟,N為關閉。開啟後使用者訪問連結時,引導頁面將顯示登入按鈕
customKey false String 自訂授權參數:SecretKey
customUri false String 自訂授權參數:自訂url
directKey false String 直接授權參數:直接授權SecretKey
codeAuthTips false String 密碼觀看條件提示資訊
codeEntryText false String 密碼觀看入口文字
payEntryText false String 付費入口文字
expectedArrivalEnabled false String 白名單觀看到勤名單開關,Y-開,N-關,預設為N
onceWhitelistEnabled false String 白名單觀看不允許重複使用,預設為N,Y:是、N:否
privacyStatus false String 是否開啟隱私聲明,Y-開,N-關,預設為N
privacyContent false String 隱私聲明內容
inviteWatchAuditEnabled false String 邀請觀看審核開關,Y-開,N-關,預設為N
InfoField參數描述
參數名 必填 類型 說明
name false String 登記資訊名稱,最多8個字元
type true String 登記類型,姓名-name、文字-text、手機號碼-mobile、數字-number、下拉選項-option,登記觀看時此欄位必填
options false String 下拉選項時,下拉的選項值,以英文逗號分隔。選項個數上限為8個;選項內容最多8個字元
placeholder false String 文字框輸入提示,最多8個字元
sms false String 簡訊驗證開關,Y 開啟,N 關閉

回傳物件描述

true 表示設定成功,false 表示設定失敗




9、修改頻道設定

描述

修改频道设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/update

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testUpdateChannel() throws IOException, NoSuchAlgorithmException {
        LiveUpdateChannelRequest liveUpdateChannelRequest = new LiveUpdateChannelRequest();
        Boolean liveUpdateChannelResponse;
        try {
            String channelId = super.createChannel();
            liveUpdateChannelRequest.setChannelId(channelId)
                    .setPassword(getRandomString(8))
                    .setPublisher("主持人sadboy");
            liveUpdateChannelResponse = new LiveChannelOperateServiceImpl().updateChannel(liveUpdateChannelRequest);
            Assert.assertTrue(liveUpdateChannelResponse);
            if (liveUpdateChannelResponse) {
                //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 頻道號
name false String 直播名稱,最大長度100
password false String 密碼,長度6-16位,需同時包含數字與字母
seminarHostPassword false String 主持人密碼,頻道場景為研討會有效,長度6-16位,需同時包含數字與字母
seminarAttendeePassword false String 與會者密碼,頻道場景為研討會有效,長度6-16位,需同時包含數字與字母
publisher false String 主持人,最大長度100
template false String 直播觀看模板 三分屏-橫屏:ppt 三分屏-豎屏:portrait_ppt 純影片-橫屏:alone 純影片-豎屏:portrait_alone 純影片-極速-橫屏:topclass 純影片-極速-豎屏:portrait_topclass 舊版後台頻道(場景為未定義 newScene:undefined)不支援修改 研討會(seminar)場景不支援修改 場景為三分屏(scene:ppt)可修改值:ppt、portrait_ppt 場景為純影片(scene:alone)可修改值:alone、portrait_alone 場景為大班課(scene:topclass)可修改值:topclass、portrait_topclass
pureRtcEnabled false String 無延遲直播開關 Y:開啟 N:關閉
linkMicLimit false Integer 連線人數,範圍:0-16
maxViewer false Integer 最大同時線上人數
startTime false Date 直播開始時間,需大於當前時間
endTime false Date 直播結束時間,需大於直播開始時間
splashImg false String 引導頁圖片地址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳
appId false String POLYV用戶APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

修改頻道設定回傳實體




10、設定頻道詳細資訊

描述

设置频道详情
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/detail/update

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testUpdateChannelDetail() throws Exception, NoSuchAlgorithmException {
        LiveChannelDetailRequest liveChannelDetailRequest = new LiveChannelDetailRequest();
        Boolean liveChannelDetailResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String newPassword = getRandomString(16);
            liveChannelDetailRequest.setChannelId(channelId).setField("channelPasswd").setValue(newPassword);
            liveChannelDetailResponse = new LiveChannelOperateServiceImpl().updateChannelDetail(
                    liveChannelDetailRequest);
            Assert.assertNotNull(liveChannelDetailResponse);
            if (liveChannelDetailResponse) {
                //to do something ......
                log.debug("频道{}修改密码为{}成功", channelId, newPassword);
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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 String 需要設定頻道詳細資訊的頻道號碼,例如:1938028
field String 要更新的欄位名稱:channelPasswd-頻道密碼;maxViewer-最大同時觀看人數;
value String 要更新的欄位值,除設定無限制最大觀看人數時可不提交,其他情況皆為必填;field欄位為channelPasswd時,value長度為1-16位,必填,必須同時包含英文和數字;field欄位為maxViewer時,value取值為(0-2147483647),其中0和不傳為不限制同時觀看人數,非必填
appId String POLYV用戶APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret String POLYV用戶APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示修改成功,false 表示修改失敗




11、設定頻道密碼

描述

设置频道密码
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/passwdSetting

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testUpdateChannelPassword() throws Exception, NoSuchAlgorithmException {
        LiveChannelPasswordSettingRequest liveChannelPasswordSettingRequest = new LiveChannelPasswordSettingRequest();
        Boolean liveChannelPasswordSettingResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelPasswordSettingRequest.setChannelId(channelId).setPasswd(getRandomString(6));
            liveChannelPasswordSettingResponse = new LiveChannelOperateServiceImpl().updateChannelPassword(
                    liveChannelPasswordSettingRequest);
            Assert.assertNotNull(liveChannelPasswordSettingResponse);
            if (liveChannelPasswordSettingResponse) {
                //to do something ......
                log.debug("设置频道密码成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
channelId false String 頻道號,請注意,如果此參數為空,會對該用戶所有的頻道進行修改
passwd true String 修改的密碼,必須同時包含字母和數字
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示設定密碼成功,false 表示設定失敗




12、設定頻道單點登入 Token

描述

设置频道单点登录token
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/set-token

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCreateChannelToken() throws Exception, NoSuchAlgorithmException {
        LiveCreateChannelTokenRequest liveCreateChannelTokenRequest = new LiveCreateChannelTokenRequest();
        Boolean liveCreateChannelTokenResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveCreateChannelTokenRequest.setChannelId(channelId).setToken(LiveSignUtil.generateUUID());
            liveCreateChannelTokenResponse = new LiveChannelOperateServiceImpl().createChannelToken(
                    liveCreateChannelTokenRequest);
            Assert.assertNotNull(liveCreateChannelTokenResponse);
            if (liveCreateChannelTokenResponse) {
                //to do something ......
                log.debug("设置频道单点登录token成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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 頻道號
token true String 唯一的字串
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示設定 token 成功,false 表示設定失敗




13、刪除直播頻道

描述

删除直播频道
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/delete

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testDeleteChannel() throws Exception, NoSuchAlgorithmException {
        LiveDeleteChannelRequest liveDeleteChannelRequest = new LiveDeleteChannelRequest();
        Boolean liveDeleteChannelResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveDeleteChannelRequest.setChannelId(channelId);
            liveDeleteChannelResponse = new LiveChannelOperateServiceImpl().deleteChannel(liveDeleteChannelRequest);
            Assert.assertNotNull(liveDeleteChannelResponse);
            if (liveDeleteChannelResponse) {
                //to do something ......
                log.debug("删除直播频道成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
channelId true String 頻道號
appId false String POLYV用戶APP_ID,多帳號調用時此參數必填(即呼叫了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即呼叫了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示刪除成功,false 表示刪除失敗




14、批次刪除頻道

描述

批量删除频道
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/batch-delete

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testDeleteChannelList() throws Exception, NoSuchAlgorithmException {
        LiveDeleteChannelListRequest liveDeleteChannelListRequest = new LiveDeleteChannelListRequest();
        Boolean liveDeleteChannelListResponse;
        try {
            //准备测试数据
            String[] channelIds = new String[]{super.createChannel(), super.createChannel(), super.createChannel()};
            liveDeleteChannelListRequest.setChannelIds(channelIds);
            liveDeleteChannelListResponse = new LiveChannelOperateServiceImpl().deleteChannelList(
                    liveDeleteChannelListRequest);
            Assert.assertNotNull(liveDeleteChannelListResponse);
            if (liveDeleteChannelListResponse) {
                //to do something ......
                log.debug("批量删除频道成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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. ]

請求參數說明

參數名 必選 類型 說明
channelIds true String[] 頻道號列表,每次最多刪除100個頻道,必須放在請求體中
appId false String POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示批次刪除成功,false 表示批次刪除失敗,不存在部分成功的情況





15、建立角色

描述

创建频道的助教或嘉宾角色
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/account/create

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCreateAccount() throws Exception {
        LiveCreateAccountRequest liveCreateAccountRequest = new LiveCreateAccountRequest();
        LiveCreateAccountResponse liveCreateAccountResponse;
        try {
            String channelId = super.createChannel();
            liveCreateAccountRequest.setChannelId(channelId)
                    .setRole("Assistant")
                    .setActor("助教boy")
                    .setNickName("王助教")
                    .setPasswd(super.getRandomString(6))
                    .setPurviewList(Arrays.asList(new LiveCreateAccountRequest.Purview().setCode(
                                    LiveConstant.RolePurview.CHAT_LIST_ENABLED.getCode())
                            .setEnabled(LiveConstant.Flag.YES.getFlag())));
            liveCreateAccountResponse = new LiveChannelOperateServiceImpl().createAccount(liveCreateAccountRequest);
            Assert.assertNotNull(liveCreateAccountResponse);
            if (liveCreateAccountResponse != null) {
                //to do something ......
                log.debug("测试创建角色成功 {}", JSON.toJSONString(liveCreateAccountResponse));
                //TODO 此处创建完成后删除了角色,正式使用需删除该语句
                super.deleteSonChannel(liveCreateAccountResponse.getAccount());
            }
        } 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、請求正確,回傳 LiveCreateAccountResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必選 類型 說明
channelId true String 頻道ID
role true String 角色 Assistant:助教 Guest:嘉賓
actor false String 頭銜,助教預設為助教,頭銜長度必須1到10位
nickName false String 暱稱,預設隨機生成暱稱,暱稱長度必須1到15位
avatar false String 頭像,預設初始頭像(JPG、PNG格式圖片),需攜帶 http:// 或 https://
passwd false String 角色密碼,預設隨機生成密碼,密碼長度必須6到16位
purviewList false Array 權限【詳見Purview參數說明
appId false String POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置)
Purview參數描述
參數名 必選 類型 說明
code true String 權限
chatListEnabled:線上列表(僅支援助教)
pageTurnEnabled:翻頁(僅支援助教,且僅能設定一個助教有翻頁權限)
monitorEnabled:監播(僅支援助教,且僅能設定一個助教有監播權限)
chatAuditEnabled:聊天審核(僅支援助教)
enabled true String 開關 Y:開啟 N:關閉

回傳物件描述

參數名 類型 說明
account String 助教/嘉賓帳號
userId String 使用者ID
channelId String 頻道號
passwd String 角色密碼
nickname String 角色名稱
stream String 角色串流名稱,單獨使用無效
status String 角色狀態 Y:開啟 N:關閉
createdTime Date 建立角色時間,13位毫秒級時間戳
lastModified Date 角色最後修改時間,13位毫秒級時間戳
sort Integer 頻道角色序號
avatar String 角色頭像
actor String 角色頭銜
role String 角色 Assistant:助教 Guest:嘉賓
monitorEnabled String 監播權限 Y:開啟 N:關閉
pageTurnEnabled String 翻頁權限 Y:開啟 N:關閉
chatListEnabled String 線上列表權限 Y:開啟 N:關閉






16、查詢角色

描述

查询角色
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/account

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetSonChannelInfo() throws Exception, NoSuchAlgorithmException {
        LiveSonChannelInfoRequest liveSonChannelInfoRequest = new LiveSonChannelInfoRequest();
        LiveSonChannelInfoResponse liveSonChannelInfoResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String sonChannelId = createSonChannel(channelId);
            liveSonChannelInfoRequest.setAccount(sonChannelId).setChannelId(channelId);
            liveSonChannelInfoResponse = new LiveChannelOperateServiceImpl().getSonChannelInfo(
                    liveSonChannelInfoRequest);
            Assert.assertNotNull(liveSonChannelInfoResponse);
            if (liveSonChannelInfoResponse != null) {
                //to do something ......
                log.debug("测试查询角色信息成功{}", JSON.toJSONString(liveSonChannelInfoResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveSonChannelInfoResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必選 類型 說明
channelId true String 頻道號
account true String 助教/嘉賓帳號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
account String 助教/嘉賓帳號
userId String POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
channelId String 頻道號
passwd String 角色密碼
nickname String 角色名稱
stream String 角色串流名稱(單獨使用無效)
status String 角色狀態
createdTime Date 建立角色時間
lastModified Date 角色最後修改時間
sort Integer 頻道中所有角色序號
avatar String 角色頭像
pageTurnEnabled String 助教翻頁權限(只能一個角色有)
notifyEnabled String 發布公告權限(Y/N)
checkinEnabled String 開啟簽到權限(Y/N)
voteEnabled String 發起投票(Y/N)
role String 角色
Assistant:助教
Guest:嘉賓
chatListEnabled String 助教頁在線列表顯示開關 Y:開啟 N:關閉
chatAuditEnabled String 助教聊天審核 Y:開啟 N:關閉
monitorEnabled String 助教監播開關 Y:開啟 N:關閉
roundTourEnabled String 助教輪巡開關 Y:開啟 N:關閉
watchLockEnabled String 鎖定直播間功能開關 Y:開啟 N:關閉
pushUrl String 子頻道推流地址(子頻道推流請參考後台導播台使用)






17、查詢頻道號下所有角色資訊

描述

查询频道号下所有角色信息
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/accounts

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetSonChannelInfoList() throws Exception, NoSuchAlgorithmException {
        LiveSonChannelInfoListRequest liveSonChannelInfoListRequest = new LiveSonChannelInfoListRequest();
        LiveSonChannelInfoListResponse liveSonChannelInfoResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveSonChannelInfoListRequest.setChannelId(channelId);
            liveSonChannelInfoResponse = new LiveChannelOperateServiceImpl().getSonChannelInfoList(
                    liveSonChannelInfoListRequest);
            Assert.assertNotNull(liveSonChannelInfoResponse);
            if (liveSonChannelInfoResponse != null) {
                //to do something ......
                log.debug("查询频道号下所有角色信息成功{}", JSON.toJSONString(liveSonChannelInfoResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveSonChannelInfoListResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必填 類型 說明
channelId true String 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
sonChannelInfos Array 角色資訊【詳見LiveSonChannelInfoResponse參數描述
LiveSonChannelInfoResponse參數描述
參數名 類型 說明
account String 助教/嘉賓帳號
userId String POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
channelId String 頻道號
passwd String 角色密碼
nickname String 角色名稱
stream String 角色串流名稱(單獨使用無效)
status String 角色狀態
createdTime Date 建立角色時間
lastModified Date 角色最後修改時間
sort Integer 頻道中所有角色序號
avatar String 角色頭像
pageTurnEnabled String 助教翻頁權限(只能一個角色有)
notifyEnabled String 發布公告權限(Y/N)
checkinEnabled String 開啟簽到權限(Y/N)
voteEnabled String 發起投票(Y/N)
role String 角色
Assistant:助教
Guest:嘉賓
chatListEnabled String 助教頁在線列表顯示開關 Y:開啟 N:關閉
chatAuditEnabled String 助教聊天審核 Y:開啟 N:關閉
monitorEnabled String 助教監播開關 Y:開啟 N:關閉
roundTourEnabled String 助教輪巡開關 Y:開啟 N:關閉
watchLockEnabled String 鎖定直播間功能開關 Y:開啟 N:關閉
pushUrl String 子頻道推流地址(子頻道推流請參考後台導播台使用)






18、修改角色資訊

描述

修改助教或嘉宾的信息
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/account/update

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testUpdateAccount() throws Exception {
        LiveUpdateAccountRequest liveUpdateAccountRequest = new LiveUpdateAccountRequest();
        LiveUpdateAccountResponse liveUpdateAccountResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String accountId = createSonChannel(channelId);
            liveUpdateAccountRequest.setChannelId(channelId)
                    .setAccount(accountId)
                    .setNickName("张三")
                    .setActor("嘉宾A")
                    .setPasswd(super.getRandomString(6));
            liveUpdateAccountResponse = new LiveChannelOperateServiceImpl().updateAccount(liveUpdateAccountRequest);
            Assert.assertNotNull(liveUpdateAccountResponse);
            if (liveUpdateAccountResponse != null) {
                //to do something ......
                log.debug("测试修改角色信息成功 {}", JSON.toJSONString(liveUpdateAccountResponse));
            }
        } 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、請求正確,回傳 LiveUpdateAccountResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]

請求入參說明

參數名 必選 類型 說明
channelId true String 頻道ID
account true String 助教/嘉賓帳號
actor false String 頭銜,助教預設為助教
nickName false String 暱稱,預設隨機生成暱稱
avatar false String 頭像,預設初始頭像(JPG、PNG格式圖片,需攜帶 http:// 或 https://)
passwd false String 角色密碼
purviewList false Array 權限【詳見Purview參數說明
appId false String POLYV用戶APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
Purview參數描述
參數名 必填 類型 說明
code true String 權限
chatListEnabled:線上列表(僅支援助教)
pageTurnEnabled:翻頁(僅支援助教,且僅能設定一位助教擁有翻頁權限)
monitorEnabled:監播(僅支援助教,且僅能設定一位助教擁有監播權限)
chatAuditEnabled:聊天審核(僅支援助教)
enabled true String 開關 Y:開啟 N:關閉

回傳物件描述

參數名 類型 說明
account String 助教/嘉賓帳號
userId String 使用者ID
channelId String 頻道號
passwd String 角色密碼
nickname String 角色名稱
stream String 角色串流名稱,單獨使用無效
status String 角色狀態 Y:開啟 N:關閉
createdTime Date 建立角色時間,13位毫秒級時間戳
lastModified Date 角色最後修改時間,13位毫秒級時間戳
sort Integer 頻道角色序號
avatar String 角色頭像
actor String 角色頭銜
role String 角色 Assistant:助教 Guest:嘉賓
monitorEnabled String 監播權限 Y:開啟 N:關閉
pageTurnEnabled String 翻頁權限 Y:開啟 N:關閉
chatListEnabled String 線上列表權限 Y:開啟 N:關閉






19、刪除角色

描述

删除角色
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/delete

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testDeleteSonChannel() throws Exception, NoSuchAlgorithmException {
        LiveDeleteSonChannelRequest liveDeleteSonChannelRequest = new LiveDeleteSonChannelRequest();
        Boolean liveDeleteSonChannelResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String sonChannelId = createSonChannel(channelId);
            liveDeleteSonChannelRequest.setChannelId(channelId).setAccount(sonChannelId);
            liveDeleteSonChannelResponse = new LiveChannelOperateServiceImpl().deleteSonChannel(
                    liveDeleteSonChannelRequest);
            Assert.assertNotNull(liveDeleteSonChannelResponse);
            if (liveDeleteSonChannelResponse) {
                //to do something ......
                log.debug("测试删除角色成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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 頻道號
account true String 助教/嘉賓帳號
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示刪除成功,false 表示刪除失敗




20、批次刪除角色

描述

批量删除角色
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/account/delete-batch

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testDeleteAccount() throws Exception {
        LiveDeleteAccountRequest liveDeleteAccountRequest = new LiveDeleteAccountRequest();
        Boolean liveDeleteAccountResponse;
        try {
            String channelId = super.getAloneNewChannelId();
            LiveCreateSonChannelRequest sonChannelRequest = new LiveCreateSonChannelRequest();
            sonChannelRequest.setChannelId(channelId);
            liveDeleteAccountRequest.setChannelId(channelId);
            liveDeleteAccountRequest.setAccounts(createSonChannel(sonChannelRequest));
            liveDeleteAccountResponse = new LiveChannelOperateServiceImpl().deleteAccount(liveDeleteAccountRequest);
            Assert.assertTrue(liveDeleteAccountResponse);
            if (liveDeleteAccountResponse) {
                //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 頻道號
accounts true String 助教/嘉賓帳號,多個用英文逗號分隔,最多150個
appId false String POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

批量刪除角色回傳實體




21、設定子頻道單點登入 Token

描述

设置子频道单点登录token
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/set-account-token

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCreateSonChannelToken() throws Exception, NoSuchAlgorithmException {
        LiveCreateSonChannelTokenRequest liveCreateSonChannelTokenRequest = new LiveCreateSonChannelTokenRequest();
        Boolean liveCreateSonChannelTokenResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String sonChannelId = createSonChannel(channelId);
            liveCreateSonChannelTokenRequest.setAccount(sonChannelId).setToken(LiveSignUtil.generateUUID());
            liveCreateSonChannelTokenResponse = new LiveChannelOperateServiceImpl().createSonChannelToken(
                    liveCreateSonChannelTokenRequest);
            Assert.assertNotNull(liveCreateSonChannelTokenResponse);
            if (liveCreateSonChannelTokenResponse) {
                //to do something ......
                log.debug("设置子频道单点登录token成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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. ]

請求入參說明

參數名 必選 類型 說明
account true String 子頻道號(不能以數字類型提交,否則可能去掉ID前的00)
token true String 唯一的字串
appId false String POLYV使用者APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示設定子頻道 token 成功,false 表示設定失敗




22、建立重製課件任務

描述

创建重制课件任务
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/addRecordTask

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCreateChannelPPTRecordTask() throws Exception, NoSuchAlgorithmException {
        LiveCreateChannelPPTRecordRequest liveCreateChannelPPTRecordRequest = new LiveCreateChannelPPTRecordRequest();
        Boolean liveCreateChannelPPTRecordResponse;
        try {
            String channel = super.createChannel();
            List<String> videoIds = listChannelVideoIds(channel);
            liveCreateChannelPPTRecordRequest.setChannelId(channel).setVideoId(videoIds.get(1));
            liveCreateChannelPPTRecordResponse = new LiveChannelOperateServiceImpl().createChannelPPTRecordTask(
                    liveCreateChannelPPTRecordRequest);
            Assert.assertTrue(liveCreateChannelPPTRecordResponse);
            if (liveCreateChannelPPTRecordResponse) {
                //to do something ......
                log.debug("测试创建重制课件任务成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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 頻道號
videoId true String 回放影片 ID,從查詢影片庫列表取得
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示建立成功,false 表示建立失敗




23、查詢課件重製任務列表

描述

查询课件重制任务列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/list

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testListPPTRecord() throws Exception, NoSuchAlgorithmException {
        LiveListChannelPPTRecordRequest liveListChannelPPTRecordRequest = new LiveListChannelPPTRecordRequest();
        LiveListChannelPPTRecordResponse liveListChannelPPTRecordResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveListChannelPPTRecordRequest.setChannelId(channelId)
                    .setStartTime(getDate(2020, 1, 1))
                    .setEndTime(getDate(2020, 11, 11))
                    .setCurrentPage(1);
            liveListChannelPPTRecordResponse = new LiveChannelOperateServiceImpl().listPPTRecord(
                    liveListChannelPPTRecordRequest);
            Assert.assertNotNull(liveListChannelPPTRecordResponse);
            if (liveListChannelPPTRecordResponse != null) {
                //to do something ......
                log.debug("查询课件重制任务列表信息成功{}", JSON.toJSONString(liveListChannelPPTRecordResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveListChannelPPTRecordResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必選 類型 說明
channelId true String 頻道號
sessionId false String 場次ID,透過 new LiveChannelPlaybackServiceImpl().listChannelSessionInfo() 方法取得場次資訊
status false String 課件重製狀態值,waiting-等待處理;process-處理中;success-重製成功;fail-重製失敗;uploaded-上傳點播成功;uploadFailed-上傳點播失敗;
startTime false Date 直播開始時間起始區間
endTime false Date 直播開始時間結束區間
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 課件重製任務列表【詳見LivePPTRecord參數說明
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 目前頁面【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
LivePPTRecord參數描述
參數名 類型 說明
channelId String 直播頻道號
title String 對應回放的名稱
url String 重製 mp4 下載位址,有 24 小時的防盜鏈逾時時間
sessionId String 場次 ID
startTime Date 對應回放的直播開始時間,格式為 yyyy-MM-dd HH:mm:ss
status String 狀態值,waiting-等待處理;process-處理中;success-重製成功;fail-重製失敗;uploaded-上傳點播成功;uploadFailed-上傳點播失敗;
remainDay Integer 重製剩餘的過期時間,過期後將無法存取和下載,單位:天
duration Integer 重製的影片時長,單位秒
videoId String 直播系統影片 ID,如:992d36fa40
vid String 重製課件上傳到點播的點播影片 VID






24、查詢頻道重製課件參數設定資訊

描述

查询频道重制课件参数设置信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/get-setting

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetRecordSetting() throws Exception {
        LiveChannelGetRecordSettingRequest liveChannelGetRecordSettingRequest =
                new LiveChannelGetRecordSettingRequest();
        LiveChannelGetRecordSettingResponse liveChannelGetRecordSettingResponse;
        try {
            String channelId = super.createChannel();
            liveChannelGetRecordSettingRequest.setChannelId(channelId);
            liveChannelGetRecordSettingResponse = new LiveChannelOperateServiceImpl().liveChannelGetRecordSetting(
                    liveChannelGetRecordSettingRequest);
            Assert.assertNotNull(liveChannelGetRecordSettingResponse);
            if (liveChannelGetRecordSettingResponse != null) {
                //to do something ......
                log.debug("测试查询频道重制课件参数设置信息成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveChannelGetRecordSettingResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參說明

參數名 必填 類型 說明
channelId true String 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
channelId String 頻道號
userId String POLYV 用戶 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定)
type Integer 影片佈局方式 0:三分屏 1:純文件 2:畫中畫
globalSettingEnabled String 是否使用通用設定 Y:是 N:否
videoRatio String 攝影機畫面比例 0:畫面比例 16:9 1:畫面比例 4:3
brandImgFile String 展示圖片
backgroundImgFile String 背景圖片
actionPosition String 重置課程攝影機位置 left:左側 right:右側






25、設定頻道重製課件配置資訊

描述

设置频道重制课件配置信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/setting

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、新版頻道無法設定

單元測試

    @Test
    public void testSetChannelRecord() throws IOException, NoSuchAlgorithmException {
        LiveChannelRecordSettingRequest liveChannelRecordSettingRequest = new LiveChannelRecordSettingRequest();
        Boolean liveChannelRecordSettingResponse;
        try {
            String channelId = super.createChannel();
            liveChannelRecordSettingRequest.setChannelId(channelId)
                    .setGlobalSettingEnabled(LiveConstant.Flag.NO.getFlag())
                    .setType(LiveConstant.PPTRecordType.PICTURE.getValue())
                    .setVideoRatio(LiveConstant.PPTRecordRatio.RATIO_16_9.getValue());
            liveChannelRecordSettingResponse = new LiveChannelOperateServiceImpl().setChannelRecord(
                    liveChannelRecordSettingRequest);
            Assert.assertTrue(liveChannelRecordSettingResponse);
            if (liveChannelRecordSettingResponse) {
                //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 頻道號
globalSettingEnabled true String 是否使用通用設定 Y:是 N:否
type true Integer 影片佈局方式 0:三分屏 1:純文件 2:畫中畫
videoRatio false String 攝影機畫面比例,新版重製有效 0:畫面比例16:9 1:畫面比例4:3
brandImgFile false File 展示圖片,新版重製有效,支援jpg和png格式 攝影機畫面比例為16:9時尺寸為480X810 攝影機畫面比例為4:3時尺寸為480X720
backgroundImgFile false File 背景圖片,舊版重製有效,尺寸為1280X720,支援jpg和png格式
appId false String POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置)

回傳物件描述

頻道重製課件配置資訊返回




26、刪除重製課件任務

描述

删除重制课件任务, 可批量删除
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/batch-delete

調用約束

1、接口調用有頻率限制,詳細請查看,調用常見異常,詳細請查看

單元測試

    @Test
    public void testDeleteChannelPPTRecord() throws IOException, NoSuchAlgorithmException {
        LiveDeleteChannelPPTRecordRequest liveDeleteChannelPPTRecordRequest = new LiveDeleteChannelPPTRecordRequest();
        Boolean liveDeleteChannelPPTRecordResponse;
        try {
            String channelId = super.createChannel();
            liveDeleteChannelPPTRecordRequest.setChannelId(channelId);
            liveDeleteChannelPPTRecordRequest.setTaskIds("12345,12346");
            liveDeleteChannelPPTRecordResponse = new LiveChannelOperateServiceImpl().deleteChannelPPTRecord(
                    liveDeleteChannelPPTRecordRequest);
            Assert.assertNotNull(liveDeleteChannelPPTRecordResponse);
            if (liveDeleteChannelPPTRecordResponse != null) {
                //to do something ......
                log.debug("测试删除重制课件任务成功 {}", JSON.toJSONString(liveDeleteChannelPPTRecordResponse));
            }
        } 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
taskIds true String 任務ID列表,多個任務ID使用「,」進行分隔
appId false String POLYV用戶APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示刪除成功,false 表示刪除失敗




27、查詢頻道回呼設定介面

描述

查询频道回调设置接口
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/callback/get-setting

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetChannelCallbackSetting() throws Exception {
        LiveChannelCallbackSettingRequest liveChannelCallbackSettingRequest = new LiveChannelCallbackSettingRequest();
        LiveChannelCallbackSettingResponse liveChannelCallbackSettingResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelCallbackSettingRequest.setChannelId(channelId);
            liveChannelCallbackSettingResponse = new LiveChannelOperateServiceImpl().getChannelCallbackSetting(
                    liveChannelCallbackSettingRequest);
            Assert.assertNotNull(liveChannelCallbackSettingResponse);
            if (liveChannelCallbackSettingResponse != null) {
                //to do something ......
                log.debug("测试查询频道回调设置接口成功,{}", JSON.toJSONString(liveChannelCallbackSettingResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveChannelCallbackSettingResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參說明

參數名 必選 類型 說明
channelId true String 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
recordCallbackUrl String 錄製生成回調URL
playbackCallbackUrl String 錄製影片轉存成功回調URL
streamCallbackUrl String 串流狀態回調URL
liveScanCallbackUrl String 直播內容審核回調URL
recordCallbackVideoType String 錄製回調的影片類型,多個影片類型用,分隔
playbackCacheCallbackUrl String 回放快取生成成功的回調URL
pptRecordCallbackUrl String 課件重製成功回調URL
globalSettingEnabled String 是否套用全域設定開關,Y走用戶回調設定,N走頻道設定






28、設定頻道回呼設定

描述

设置频道回调设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/callback/update-setting

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、若頻道需要跟隨用戶設定,可呼叫設定頻道預設項開關介面

單元測試

    @Test
    public void testUpdateChannelCallbackSetting() throws Exception {
        LiveUpdateChannelCallbackSettingRequest liveUpdateChannelCallbackSettingRequest =
                new LiveUpdateChannelCallbackSettingRequest();
        Boolean liveUpdateChannelCallbackSettingResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveUpdateChannelCallbackSettingRequest.setChannelId(channelId);
            liveUpdateChannelCallbackSettingResponse = new LiveChannelOperateServiceImpl().updateChannelCallbackSetting(
                    liveUpdateChannelCallbackSettingRequest);
            Assert.assertTrue(liveUpdateChannelCallbackSettingResponse);
            if (liveUpdateChannelCallbackSettingResponse) {
                //to do something ......
                log.debug("测试设置频道回调设置成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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 頻道號
recordCallbackVideoType false String 錄製回調檔案類型,可選值 m3u8 或 mp4 或 m3u8,mp4
recordCallbackUrl false String 錄製回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串
playbackCallbackUrl false String 轉存成功回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串
streamCallbackUrl false String 串流狀態回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串
pptRecordCallbackUrl false String 課件重製成功回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串
liveScanCallbackUrl false String 直播內容鑑別回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串
playbackCacheCallbackUrl false String 回放轉存回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

null




29、批次建立角色

描述

批量创建角色
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/account/batch-create

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、批量建立角色,角色支援 guest(嘉賓)、assistant(助教)

單元測試

    @Test
    public void testCreateSonChannelList() throws Exception {
        LiveCreateSonChannelListRequest liveCreateSonChannelListRequest = new LiveCreateSonChannelListRequest();
        LiveCreateSonChannelListResponse liveCreateSonChannelListResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            List<LiveCreateSonChannelListRequest.SonChannel> sonChannels =
                    new ArrayList<LiveCreateSonChannelListRequest.SonChannel>();
            LiveCreateSonChannelListRequest.SonChannel sonChannel1 = new LiveCreateSonChannelListRequest.SonChannel();
            sonChannel1.setRole("Guest")
                    .setNickname("嘉宾甲")
                    .setPasswd(getRandomString(10))
                    .setActor("博士")
                    .setAvatar("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3002379740," +
                            "3965499425&fm=26&gp=0.jpg");
            sonChannels.add(sonChannel1);
            sonChannel1 = new LiveCreateSonChannelListRequest.SonChannel();
            sonChannel1.setRole(null)
                    .setNickname("助教甲")
                    .setPasswd(getRandomString(10))
                    .setActor("助教")
                    .setAvatar("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3002379740," +
                            "3965499425&fm=26&gp=0.jpg");
            sonChannels.add(sonChannel1);
            liveCreateSonChannelListRequest.setChannelId(channelId).setSonChannels(sonChannels);
            liveCreateSonChannelListResponse = new LiveChannelOperateServiceImpl().createSonChannelList(
                    liveCreateSonChannelListRequest);
            Assert.assertNotNull(liveCreateSonChannelListResponse);
            if (liveCreateSonChannelListResponse != null) {
                //to do something ......
                log.debug("测试批量创建角色成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveCreateSonChannelListResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必選 類型 說明
channelId true String 頻道號
sonChannels true Array 角色資訊【詳見SonChannel參數描述
appId false String POLYV用戶APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
SonChannel參數描述
參數名 必選 類型 說明
role false String 預設不傳為助教,傳Guest為嘉賓
nickname false String 建立的助教或嘉賓暱稱
passwd false String 角色密碼
actor false String 建立的助教或嘉賓頭銜
avatar false String 建立的助教或嘉賓頭像

回傳物件描述

參數名 類型 說明
sonChannelInfos Array 角色回傳資訊【詳見SonChannelInfo參數描述
SonChannelInfo參數描述
參數名 類型 說明
account String 助教ID
userId String POLYV使用者ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
channelId String 頻道號
passwd String 助教密碼
nickname String 助教名稱
stream String 助教串流名稱(單獨使用無效)
status String 助教狀態(Y/N)
createdTime Date 建立助教時間
lastModified Date 助教最後修改時間
sort Integer 頻道中所有助教序號
avatar String 助教頭像
pageTurnEnabled String 助教翻頁權限(只能一個助教擁有)
Y:開啟
N:關閉
notifyEnabled String 發布公告權限(Y/N)
checkinEnabled String 開啟簽到權限(Y/N)
voteEnabled String 發起投票(Y/N)
role String 角色
assistant:助教
guest:嘉賓
loginUrl String 子帳號(嘉賓)登入地址






30、取得帳號或頻道轉播列表資訊

描述

获取账号或频道转播列表信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/transmit/get-associations

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetChannelTransmitList() throws Exception {
        LiveChannelTransmitListRequest liveChannelTransmitListRequest = new LiveChannelTransmitListRequest();
        LiveChannelTransmitListResponse liveChannelTransmitListResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelTransmitListRequest.setChannelId(channelId);
            liveChannelTransmitListResponse = new LiveChannelOperateServiceImpl().getChannelTransmitList(
                    liveChannelTransmitListRequest);
            Assert.assertNotNull(liveChannelTransmitListResponse);
            if (liveChannelTransmitListResponse != null) {
                //to do something ......
                log.debug("测试获取账号或频道转播列表信息成功,{}", JSON.toJSONString(liveChannelTransmitListResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveChannelTransmitListResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名稱 必填 類型 說明
channelId String 頻道號,若不傳入,則查詢 appId 對應帳號下所有轉播頻道關聯關係
appId String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
channelTransmits Array 帳號或頻道轉播資訊【詳見ChannelTransmit參數說明
ChannelTransmit參數描述
參數名稱 類型 說明
channelId String 發起轉播的頻道號,若接收轉播的頻道未關聯主頻道,則此值為 null
receiveChannelId String 接收轉播的頻道號






31、設定頻道最大在線人數

描述

设置频道最大在线人数
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelRestrict/%s/set-max-viewer

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testUpdateChannelMaxViewer() throws Exception {
        LiveUpdateChannelMaxViewerRequest liveUpdateChannelMaxViewerRequest = new LiveUpdateChannelMaxViewerRequest();
        Boolean liveUpdateChannelMaxViewerResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveUpdateChannelMaxViewerRequest.setChannelId(channelId).setMaxViewer(Integer.MAX_VALUE);
            liveUpdateChannelMaxViewerResponse = new LiveChannelOperateServiceImpl().updateChannelMaxViewer(
                    liveUpdateChannelMaxViewerRequest);
            Assert.assertTrue(liveUpdateChannelMaxViewerResponse);
            if (liveUpdateChannelMaxViewerResponse) {
                //to do something ......
                log.debug("测试设置频道最大在线人数成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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 頻道號
userId false String POLYV 用戶 ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)
maxViewer true Integer 最大觀看線上人數,等於 0 時表示關閉線上人數觀看限制,最大值為 2147483647
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)

回傳物件描述

true 表示設定成功,false 表示設定失敗




32、查詢頻道廣告列表

描述

查询频道广告列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/advert/list

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、提供查詢頻道輪播廣告列表資訊,頻道廣告為空時,取得全域廣告

單元測試

    @Test
    public void testGetChannelAdvertList() throws Exception {
        LiveChannelAdvertListRequest liveChannelAdvertListRequest = new LiveChannelAdvertListRequest();
        LiveChannelAdvertListResponse liveChannelAdvertListResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelAdvertListRequest.setChannelId(channelId);
            liveChannelAdvertListResponse = new LiveChannelOperateServiceImpl().getChannelAdvertList(
                    liveChannelAdvertListRequest);
            Assert.assertNotNull(liveChannelAdvertListResponse);
            if (liveChannelAdvertListResponse != null) {
                //to do something ......
                log.debug("测试查询频道广告列表成功,{}", JSON.toJSONString(liveChannelAdvertListResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,回傳 LiveChannelAdvertListResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數校驗不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件校驗失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參說明

參數名 必選 類型 說明
channelId true String 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名稱 類型 說明
channelAdverts Array 頻道廣告【詳見ChannelAdvert參數描述
ChannelAdvert參數描述
參數名稱 類型 說明
text String 文字廣告內容
img String 圖片廣告連結
href String 跳轉連結






33、查詢頻道直播截圖

描述

查询频道直播截图
接口地址(仅做说明使用):https://api.polyv.net/live/v2/stream/%s/capture

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、如果直播未開啟,將拋出「channel is not live.」異常

單元測試

    @Test
    public void testGetChannelCapture() throws Exception {
        LiveChannelCaptureRequest liveChannelCaptureRequest = new LiveChannelCaptureRequest();
        String liveChannelCaptureResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelCaptureRequest.setChannelId(channelId);
            liveChannelCaptureResponse = new LiveChannelOperateServiceImpl().getChannelCapture(
                    liveChannelCaptureRequest);
            Assert.assertNotNull(liveChannelCaptureResponse);
            if (liveChannelCaptureResponse != null) {
                //to do something ......
                log.debug("测试查询频道直播截图成功,{}", JSON.toJSONString(liveChannelCaptureResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

單元測試說明

1、請求正確,返回 String 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必填 類型 說明
channelId true String 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

返回圖片 HTTP 位址,





34、修改直播推流方式

描述

修改直播推流方式
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/stream/update

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、直播過程中不允許修改直播方式

單元測試

    @Test
    public void testUpdateChannelStream() throws Exception {
        LiveUpdateChannelStreamRequest liveUpdateChannelStreamRequest = new LiveUpdateChannelStreamRequest();
        Boolean liveUpdateChannelStreamResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveUpdateChannelStreamRequest.setStreamType("disk").setChannelId(channelId);
            liveUpdateChannelStreamResponse = new LiveChannelOperateServiceImpl().updateChannelStream(
                    liveUpdateChannelStreamRequest);
            Assert.assertTrue(liveUpdateChannelStreamResponse);
            if (liveUpdateChannelStreamResponse) {
                //to do something ......
                log.debug("测试修改直播推流方式成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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 直播頻道號
streamType true String 直播方式,client:客戶端推流;disk:硬碟推流;audio:音訊直播;pull:拉流直播
pullUrl false String 拉流地址
appId false String POLYV 用戶 APP_ID,多帳號調用時該參數必填(即調用了 initMultiAccount() 設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置)
appSecret false String POLYV 用戶 APP_SECRET,多帳號調用時該參數必填(即調用了 initMultiAccount() 設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置)

回傳物件描述

true 表示修改推流方式成功,false 表示修改失敗




35、設定硬碟推流直播

描述

设置硬盘推流直播
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/stream/add-disk-videos

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、呼叫 API 後,若當前頻道未在直播中,系統會自動將直播方式設為「硬碟推流」。若當前正在使用其他直播推流方式進行直播,則需在直播結束後,呼叫《修改直播推流方式》將其改為硬碟推流,才會在設定的開始時間進行直播。

3、無延遲頻道不可修改為硬碟推流

4、僅純影片模式支援硬碟推流

5、不支援設定加密影片為硬碟推流

單元測試

    @Test
    public void testCreateDiskVideosStream() throws Exception {
        LiveCreateDiskVideosStreamRequest liveCreateDiskVideosStreamRequest = new LiveCreateDiskVideosStreamRequest();
        Boolean liveCreateDiskVideosStreamResponse;
        try {
            //准备测试数据
            String channelId = super.getAloneChannelId();
            //保利威云点播视频列表的VID,需导入保利威点播SDK,调用new VodQueryServiceImpl().searchVideoList()获取VideoId
            String videoId = "1b448be323d7eaee38dcead42f053911_1";
            liveCreateDiskVideosStreamRequest.setVideoIds(videoId)
                    .setStartTimes(super.getDate(System.currentTimeMillis() + 60 * 1000))
                    .setChannelId(channelId);
            liveCreateDiskVideosStreamResponse = new LiveChannelOperateServiceImpl().createDiskVideosStream(
                    liveCreateDiskVideosStreamRequest);
            Assert.assertTrue(liveCreateDiskVideosStreamResponse);
            if (liveCreateDiskVideosStreamResponse) {
                //to do something ......
                log.debug("测试设置硬盘推流直播成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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 頻道號
videoIds true String 要設定硬碟推流的點播影片ID【對應API文件的vids欄位】
startTimes true Date 硬碟推流開始時間
appId false String POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 為設定硬碟推流直播成功,false 為修改失敗




36、刪除硬碟推流的影片

描述

删除硬盘推流的视频
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/stream/delete-disk-videos

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、刪除偽直播中的影片,不允許刪除正在偽直播中的影片

單元測試

    @Test
    public void testDeleteDiskVideosStream() throws Exception {
        LiveDeleteDiskVideosStreamRequest liveDeleteDiskVideosStreamRequest = new LiveDeleteDiskVideosStreamRequest();
        Boolean liveDeleteDiskVideosStreamResponse;
        try {
            //准备测试数据
            String channelId = super.getAloneChannelId();
            liveDeleteDiskVideosStreamRequest.setVideoIds("1b448be323d7eaee38dcead42f053911_1").setChannelId(channelId);
            liveDeleteDiskVideosStreamResponse = new LiveChannelOperateServiceImpl().deleteDiskVideosStream(
                    liveDeleteDiskVideosStreamRequest);
            Assert.assertTrue(liveDeleteDiskVideosStreamResponse);
            if (liveDeleteDiskVideosStreamResponse) {
                //to do something ......
                log.debug("测试删除硬盘推流的视频成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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 頻道號
videoIds true String 要刪除的硬碟推流影片ID【對應API文件的vids欄位】
appId false String POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 為刪除硬碟推流直播成功,false 為刪除失敗




37、批次修改頻道彈幕開關

描述

调用后频道会关闭掉通用设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/batchUpdateDanmu

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testBatchUpdateBarrage() throws Exception {
        LiveBatchUpdateBarrageRequest liveBatchUpdateBarrageRequest = new LiveBatchUpdateBarrageRequest();
        Boolean liveBatchUpdateBarrageResponse;
        try {
            //准备测试数据
            String channelIds = String.format("%s,%s", super.getAloneChannelId(), super.createChannel());
            liveBatchUpdateBarrageRequest.setChannelIds(channelIds).setCloseBarrage("Y").setShowBarrageInfoEnabled("Y");
            liveBatchUpdateBarrageResponse = new LiveChannelOperateServiceImpl().batchUpdateBarrage(
                    liveBatchUpdateBarrageRequest);
            Assert.assertTrue(liveBatchUpdateBarrageResponse);
            if (liveBatchUpdateBarrageResponse) {
                //to do something ......
                log.debug("测试批量修改频道弹幕开关成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            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. ]

請求入參描述

參數名 必選 類型 說明
closeBarrage true String 是否關閉彈幕功能 Y:表示關閉 N:表示開啟【對應 API 文件的 closeDanmu 欄位】
showBarrageInfoEnabled true String 是否顯示彈幕資訊開關, Y:表示顯示 N:表示不顯示【對應 API 文件的 showDanmuInfoEnabled 欄位】
channelIds true String 需要修改彈幕開關的頻道號,多個頻道號用半形逗號 , 隔開
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 為批量修改頻道彈幕開關成功,false 為批量修改失敗




38、查詢報名觀看記錄

描述

查询频道报名观看记录
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/enroll/list

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetLiveEnrollList() throws IOException, NoSuchAlgorithmException {
        LiveGetEnrollListRequest liveGetEnrollListRequest = new LiveGetEnrollListRequest();
        LiveGetEnrollListResponse liveGetEnrollListResponse;
        try {
            String channelId = super.createChannel();
            liveGetEnrollListRequest.setChannelId(channelId);
            liveGetEnrollListResponse = new LiveChannelOperateServiceImpl().getLiveEnrollList(liveGetEnrollListRequest);
            Assert.assertNotNull(liveGetEnrollListResponse);
            if (liveGetEnrollListResponse != null) {
                //to do something ......
                log.debug("测试查询报名观看记录成功{}", JSON.toJSONString(liveGetEnrollListResponse));
            }
        } 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、請求正確,回傳 LiveGetEnrollListResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求參數說明

參數名 必選 類型 說明
channelId true String 頻道號
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
auditEnabled String 頻道報名審核開關 Y:開啟 N:關閉
list Array 報名觀看記錄【詳見LiveEnrollList參數描述
LiveEnrollList參數描述
參數名 類型 說明
viewerId String 觀眾ID
mobile String 手機號碼
createTime Date 報名時間
hasWatched String 是否已觀看 Y:是 N:否
promoteId String 推廣渠道ID
promoteName String 推廣渠道名稱
auditStatus String 審核結果 W:未審核 P:已通過 F:已拒絕
fields Array 報名資訊【詳見LiveEnrollFields參數描述
LiveEnrollFields參數描述
參數名 類型 說明
name String 報名資訊名稱
value String 報名資訊值






39、查詢頻道頁面裝修

描述

查询频道的页面装修设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/decorate/get

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testGetChannelDecorate() throws IOException, NoSuchAlgorithmException {
        LiveGetChannelDecorateRequest liveGetChannelDecorateRequest = new LiveGetChannelDecorateRequest();
        LiveGetChannelDecorateResponse liveGetChannelDecorateResponse;
        try {
            String channelId = super.createChannel();
            liveGetChannelDecorateRequest.setChannelId(channelId);
            liveGetChannelDecorateResponse = new LiveChannelOperateServiceImpl().getChannelDecorate(
                    liveGetChannelDecorateRequest);
            Assert.assertNotNull(liveGetChannelDecorateResponse);
            if (liveGetChannelDecorateResponse != null) {
                //to do something ......
                log.debug("测试查询频道页面装修成功{}", JSON.toJSONString(liveGetChannelDecorateResponse));
            }
        } 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、請求正確,回傳 LiveGetChannelDecorateResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]

請求入參描述

參數名 必填 類型 說明
channelId true String 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
skin String 皮膚,black:時尚黑,red:喜慶紅,blue:科技藍,white:經典白,green:薄荷綠,golden:富貴金
aloneWatchLayout String 一般直播觀看頁佈局配置(一般:normal,直式:portrait)
chat DecorateChat 裝潢中的聊天物件【詳見DecorateChat參數說明
desc DecorateDesc 裝潢中的中文直播介紹頁物件【詳見DecorateDesc參數說明
menus Array 中文選單列表物件【詳見DecorateMenus參數說明
player DecoratePlayer 裝潢播放器物件【詳見DecoratePlayer參數說明
pptMobileWatchLayout String 三分屏行動端觀看佈局,normal:一般直播,portrait:直播帶貨
splash DecorateSplash 裝潢引導頁物件【詳見DecorateSplash參數說明
splashEnabled String 引導頁開關,Y:開啟,N:關閉
englishSettingEnabled String 雙語直播間開關,Y:開啟,N:關閉
enMenus Array 英文選單列表物件【詳見DecorateMenus參數說明
descEn DecorateDescEn 模板-裝潢英文直播介紹頁物件【詳見DecorateDescEn參數說明
DecorateChat參數描述
參數名 類型 說明
baseLikes Integer 累計按讚人數 (按讚基數)
chatOnlineNumberEnable String 線上人數開關,Y:開啟,N:關閉
emotionEnabled String 情緒直播間開關,情緒開關與按讚開關同時只能開啟一個,Y:開啟,N:關閉
redPackEnabled String 紅包開關,Y:開啟,N:關閉
sendFlowersEnabled String 按讚開關,Y:開啟,N:關閉
viewerSendImgEnabled String 傳送圖片開關,Y:開啟,N:關閉
welcomeEnabled String 歡迎語開關,Y:開啟,N:關閉
withdrawEnabled String 提現開關,Y:開啟,N:關閉
DecorateDesc參數描述
參數名 類型 說明
coverImageUrl String 暖場圖片 -> 封面圖片
iconUrl String 圖示URL
publisher String 主持人名稱,最大長度50
title String 標題 -> 直播名稱,最大長度100
DecorateMenus參數描述
參數名稱 類型 說明
content String 選單內容
menuId String 選單ID
name String 選單名稱
type String 選單類型 desc:直播介紹 chat:互動聊天 quiz:提問 qa:問答 invite:邀請海報 text:圖文選單
DecoratePlayer參數描述
參數名 類型 說明
actualPV Integer 實際累計觀看次數 (真實次數)
backgroundUrl String PC背景圖片
basePV Integer 基礎觀看次數
coverJumpUrl String 封面(暖場)跳轉連結
iconLink String 浮水印連結
iconPosition String 圖示位置 (浮水印位置)
iconUrl String 浮水印圖片URL
logoOpacity Float 浮水印不透明度,0:完全透明,1:完全不透明
warmUpEnabled String 暖場開關,Y:開啟,N:關閉
warmUpImageUrl String 暖場圖片位址 (直播封面圖)
watermarkEnabled String 浮水印開關,Y:開啟,N:關閉
DecorateSplash參數描述
參數名稱 類型 說明
splashImageUrl String 引導頁圖片位址
DecorateMenus參數描述
參數名稱 類型 說明
content String 選單內容
menuId String 選單ID
name String 選單名稱
type String 選單類型 desc:直播介紹 chat:互動聊天 quiz:提問 qa:問答 invite:邀請海報 text:圖文選單
DecorateDescEn參數描述
參數名 類型 說明
publisher String 主持人英文名稱,最大長度50
title String 直播英文名稱,最大長度100






40、修改頻道裝潢設定

描述

修改频道的页面装修设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/decorate/update

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testUpdateChannelDecorate() throws IOException, NoSuchAlgorithmException {
        LiveUpdateChannelDecorateRequest liveUpdateChannelDecorateRequest = new LiveUpdateChannelDecorateRequest();
        Boolean liveUpdateChannelDecorateResponse;
        try {
            String channelId = super.createChannel();
            liveUpdateChannelDecorateRequest.setChannelId(channelId);
            LiveUpdateChannelDecorateRequest.DecorateChat chat = new LiveUpdateChannelDecorateRequest.DecorateChat();
            chat.setBaseLikes(2000)
                    .setChatOnlineNumberEnable(LiveConstant.Flag.YES.getFlag())
                    .setRedPackEnabled(LiveConstant.Flag.YES.getFlag());
            List<LiveUpdateChannelDecorateRequest.DecorateMenus> menus = new ArrayList<>();
            LiveUpdateChannelDecorateRequest.DecorateMenus menu1 = new LiveUpdateChannelDecorateRequest.DecorateMenus();
            LiveUpdateChannelDecorateRequest.DecorateMenus menu2 = new LiveUpdateChannelDecorateRequest.DecorateMenus();
            menu1.setType(LiveConstant.MenuType.DESC.getType()).setName("直播介绍");
            menu2.setType(LiveConstant.MenuType.TEXT.getType()).setName("图文菜单");
            menus.add(menu1);
            menus.add(menu2);
            liveUpdateChannelDecorateRequest.setChat(chat)
                    .setEnglishSettingEnabled(LiveConstant.Flag.NO.getFlag())
                    .setSkin(LiveConstant.Skin.GOLDEN.getValue())
                    .setSplashEnabled(LiveConstant.Flag.YES.getFlag())
                    .setMenus(menus);
            liveUpdateChannelDecorateResponse = new LiveChannelOperateServiceImpl().updateChannelDecorate(
                    liveUpdateChannelDecorateRequest);
            Assert.assertTrue(liveUpdateChannelDecorateResponse);
            if (liveUpdateChannelDecorateResponse) {
                //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 頻道號
skin false String 皮膚,black:時尚黑,red:喜慶紅,blue:科技藍,white:經典白,green:薄荷綠,golden:富貴金
chat false DecorateChat 裝修裡的聊天對象【詳見DecorateChat參數描述
desc false DecorateDesc 裝修中的中文直播介紹頁對象【詳見DecorateDesc參數描述
menus false Array 中文菜單列表對象【詳見DecorateMenus參數描述
player false DecoratePlayer 裝修播放器對象【詳見DecoratePlayer參數描述
splash false DecorateSplash 裝修引導頁對象【詳見DecorateSplash參數描述
splashEnabled false String 引導頁開關,Y:開啟,N:關閉
englishSettingEnabled false String 雙語直播間開關,Y:開啟,N:關閉
enMenus false Array 英文菜單列表對象【詳見DecorateMenus參數描述
descEn false DecorateDescEn 模板-裝修英文直播介紹頁對象【詳見DecorateDescEn參數描述
appId false String POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置)
DecorateChat參數描述
參數名 必選 類型 說明
baseLikes false Integer 累計按讚人數 (按讚基數)
chatOnlineNumberEnable false String 線上人數開關,Y:開啟,N:關閉
emotionEnabled false String 情緒直播間開關,情緒開關和按讚開關同時只能開啟一個,Y:開啟,N:關閉
redPackEnabled false String 紅包開關,Y:開啟,N:關閉
sendFlowersEnabled false String 按讚開關,Y:開啟,N:關閉
viewerSendImgEnabled false String 發送圖片開關,Y:開啟,N:關閉
welcomeEnabled false String 歡迎語開關,Y:開啟,N:關閉
withdrawEnabled false String 提現開關,Y:開啟,N:關閉
DecorateDesc參數描述
參數名 必選 類型 說明
iconUrl false String 圖示URL
publisher false String 主持人名稱,最大長度50
title false String 標題 -> 直播名稱,最大長度100
DecorateMenus參數描述
參數名 必選 類型 說明
content false String 選單內容
menuId false String 選單ID
name true String 選單名稱
type true String 選單類型 desc:直播介紹 chat:互動聊天 quiz:提問 qa:問答 invite:邀請海報 text:圖文選單
DecoratePlayer參數描述
參數名 必選 類型 說明
actualPV false Integer 實際累計觀看次數 (真實次數)
backgroundUrl false String PC背景圖片
basePV false Integer 基礎觀看次數
coverJumpUrl false String 封面(暖場)跳轉連結
iconLink false String 浮水印連結
iconPosition false String 圖示位置 (浮水印位置)
iconUrl false String 浮水印圖片URL
logoOpacity false Float 浮水印不透明度,0:完全透明,1:完全不透明
warmUpEnabled false String 暖場開關,Y:開啟,N:關閉
warmUpImageUrl false String 暖場圖片位址 (直播封面圖)
watermarkEnabled false String 浮水印開關,Y:開啟,N:關閉
DecorateSplash參數描述
參數名稱 必填 類型 說明
splashImageUrl false String 引導頁圖片位址
DecorateMenus參數描述
參數名稱 必填 類型 說明
content false String 選單內容
menuId false String 選單 ID
name true String 選單名稱
type true String 選單類型 desc:直播介紹 chat:互動聊天 quiz:提問 qa:問答 invite:邀請海報 text:圖文選單
DecorateDescEn參數描述
參數名 必選 類型 說明
publisher false String 主持人英文名稱,最大長度50
title false String 直播英文名稱,最大長度100

回傳物件描述

修改頻道裝潢設定回傳實體




41、複製頻道

描述

通过一个频道复制出一个新的频道
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/copy

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testCopyChannel() throws Exception {
        LiveChannelCopyRequest liveChannelCopyRequest = new LiveChannelCopyRequest();
        LiveChannelCopyResponse liveChannelCopyResponse;
        try {
            String channelId = super.getAloneNewChannelId();
            liveChannelCopyRequest.setChannelId(channelId).setName("sdk测试复制频道");
            liveChannelCopyResponse = new LiveChannelOperateServiceImpl().copyChannel(liveChannelCopyRequest);
            Assert.assertNotNull(liveChannelCopyResponse);
            if (liveChannelCopyResponse != null) {
                //to do something ......
                log.debug("测试复制频道成功 {}", JSON.toJSONString(liveChannelCopyResponse));
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                super.deleteChannel(liveChannelCopyResponse.getChannelId());
            }
        } 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、請求正確,回傳 LiveChannelCopyResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參說明

參數名 必選 類型 說明
channelId true String 需要複製頻道的頻道號
name false String 新的頻道名稱,預設為複製頻道的頻道名稱
categoryId false Integer 新的頻道所屬分類ID,預設為預設分類
startTime false String 頻道開始時間,格式:yyyy-MM-DD HH:mm:ss,預設為複製頻道的開始時間
appId false String POLYV 使用者 APP_ID,多帳號呼叫時該參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時該參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名稱 類型 說明
channelId String 頻道號






42、批次修改頻道外觀

描述

批量修改频道装修皮肤
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/decorate/skin/update-batch

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testUpdateChannelSkin() throws IOException, NoSuchAlgorithmException {
        LiveUpdateChannelSkinRequest liveUpdateChannelSkinRequest = new LiveUpdateChannelSkinRequest();
        Boolean liveUpdateChannelSkinResponse;
        try {
            String channelIds = String.format("%s,%s", super.getAloneChannelId(), super.createChannel());
            liveUpdateChannelSkinRequest.setChannelIds(channelIds).setSkin("red");
            liveUpdateChannelSkinResponse = new LiveChannelOperateServiceImpl().updateChannelSkin(
                    liveUpdateChannelSkinRequest);
            Assert.assertTrue(liveUpdateChannelSkinResponse);
            if (liveUpdateChannelSkinResponse) {
                //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. ]

請求入參說明

參數名 必選 類型 說明
channelIds true String 以英文逗號分隔的頻道號,例如:10000,100001,最多10000個
skin true String 皮膚 black:時尚黑 red:喜慶紅 blue:科技藍 white:經典白 green:薄荷綠 golden:富貴金
appId false String POLYV用戶APP_ID,多帳號調用時此參數必填(即已調用initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即已調用initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

批量修改頻道皮膚回傳實體




43、取得頻道關注公眾號設定資訊

描述

查询关注公众号设置接口
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/promotion/list-channels-follow

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testListChannelsFollow() throws IOException, NoSuchAlgorithmException {
        LiveListChannelsFollowRequest liveListChannelsFollowRequest = new LiveListChannelsFollowRequest();
        LiveListChannelsFollowResponse liveListChannelsFollowResponse;
        try {
            String channelId = super.createChannel();
            liveListChannelsFollowRequest.setChannelIds(channelId);
            liveListChannelsFollowResponse = new LiveChannelOperateServiceImpl().listChannelsFollow(
                    liveListChannelsFollowRequest);
            Assert.assertNotNull(liveListChannelsFollowResponse);
            if (liveListChannelsFollowResponse != null) {
                //to do something ......
                log.debug("测试获取频道关注公众号设置信息成功 {}", JSON.toJSONString(liveListChannelsFollowResponse));
            }
        } 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、請求正確,回傳 LiveListChannelsFollowResponse 物件,B 端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]

3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參說明

參數名稱 必填 類型 說明
channelIds String 頻道號碼,多個頻道請用「,」分隔
appId String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),可透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)
appSecret String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),可透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)

回傳物件描述

參數名稱 類型 說明
list Array 追蹤公眾號設定列表【詳見ChannelsFollow參數描述
ChannelsFollow參數描述
參數名 類型 說明
channelId String 頻道號
enabled String 關注公眾號功能開關,開啟Y、關閉N
autoShowEnabled String 主動彈窗開關,開啟Y、關閉N
qrCodeUrl String 二維碼圖片連結位址
entranceText String 入口文案
tips String 彈窗提示文案






44、修改頻道關注公眾號設定資訊

描述

更新关注公众号设置接口
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/promotion/update-channels-follow

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testUpdateChannelsFollow() throws IOException, NoSuchAlgorithmException {
        LiveUpdateChannelsFollowRequest liveUpdateChannelsFollowRequest = new LiveUpdateChannelsFollowRequest();
        Boolean liveUpdateChannelsFollowResponse;
        try {
            String channelId = super.createChannel();
            liveUpdateChannelsFollowRequest.setChannelIds(channelId);
            liveUpdateChannelsFollowRequest.setEnabled("Y");
            liveUpdateChannelsFollowRequest.setAutoShowEnabled("Y");
            liveUpdateChannelsFollowRequest.setEntranceText("welcome");
            liveUpdateChannelsFollowRequest.setTips("tips");
            liveUpdateChannelsFollowRequest.setQrCodeUrl(
                    "https://wwwimg.polyv.net/assets/dist/images/web3.0/c-footer/ft-wechat-qrcode.png");
            liveUpdateChannelsFollowResponse = new LiveChannelOperateServiceImpl().updateChannelsFollow(
                    liveUpdateChannelsFollowRequest);
            Assert.assertNotNull(liveUpdateChannelsFollowResponse);
            if (liveUpdateChannelsFollowResponse != null) {
                //to do something ......
                log.debug("测试修改频道关注公众号设置信息成功 {}", JSON.toJSONString(liveUpdateChannelsFollowResponse));
            }
        } 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. ]

請求入參說明

參數名 必選 類型 說明
channelIds true String 頻道號,多個頻道用「,」分隔
qrCodeUrl true String 圖片連結位址
enabled false String 關注公眾號功能開關,為空則不進行修改 Y:開啟 N:關閉
autoShowEnabled false String 主動彈窗開關,為空則不進行修改 Y:開啟 N:關閉
entranceText false String 入口文案,最多8個字元,為空則不進行修改
tips false String 彈窗提示文案,最多30個字元,為空則不進行修改
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示修改成功,false 表示回傳失敗




45、批次刪除頻道多條聊天記錄

描述

根据聊天的id删除对应聊天记录
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/chat/remove-contents

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testRemoveChatContents() throws IOException, NoSuchAlgorithmException {
        LiveRemoveChatContentsRequest liveRemoveChatContentsRequest = new LiveRemoveChatContentsRequest();
        Boolean liveRemoveChatContentsResponse;
        try {
            String channelId = super.createChannel();
            liveRemoveChatContentsRequest.setChannelId(channelId);
            liveRemoveChatContentsRequest.setIds("c71c7240-86cd-11eb-a963-e9bab7dc4d86");
            liveRemoveChatContentsResponse = new LiveChannelOperateServiceImpl().removeChatContents(
                    liveRemoveChatContentsRequest);
            Assert.assertNotNull(liveRemoveChatContentsResponse);
            if (liveRemoveChatContentsResponse != null) {
                //to do something ......
                log.debug("测试批量删除频道多条聊天记录成功 {}", JSON.toJSONString(liveRemoveChatContentsResponse));
            }
        } 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 頻道號
ids true String 聊天記錄對應的 id(多個 id 使用英文逗號分隔),該參數取自【查詢頻道聊天記錄】
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示刪除成功,false 表示刪除失敗

联系客服,在线咨询