保利威文档中心

幫助中心

questionnaireService

更新時間:2025-09-11 15:18:09

1、查詢頻道問卷列表

描述

接口用于获取频道的问卷列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/questionnaire/list

呼叫限制

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

單元測試

    @Test
    public void testGetQuestionnaireListInfo() throws Exception, NoSuchAlgorithmException {
        LiveQuestionnaireListRequest liveQuestionnaireListRequest = new LiveQuestionnaireListRequest();
        LiveQuestionnaireListResponse liveQuestionnaireListResponse = null;
        try {
            String channelId = super.createChannel();
            liveQuestionnaireListRequest.setChannelId(channelId);
            liveQuestionnaireListResponse = new LiveQuestionnaireServiceImpl().getQuestionnaireListInfo(
                    liveQuestionnaireListRequest);
            Assert.assertNotNull(liveQuestionnaireListResponse);
            if (liveQuestionnaireListResponse != null) {
                //to do something ......
                log.debug("测试查询频道问卷列表成功{}", JSON.toJSONString(liveQuestionnaireListResponse));
            }
        } 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、請求正確,回傳 LiveQuestionnaireListResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參說明

參數名 必選 類型 說明
channelId true String 頻道號
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 問卷資料列表【詳見QuestionDetail參數說明
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 當前頁【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
QuestionDetail參數描述
參數名 類型 說明
questionnaireId String 問卷ID
channelId String 頻道號
userId String POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
questionnaireTitle String 問卷標題【對應API文件的name欄位】
status String 問卷狀態,取值:saved(已儲存)、published(已發布)、forbidden(問卷已完成填寫)
createdTime Date 問卷建立時間
lastModified Date 問卷最後修改時間
endTime Date 停止提交問卷時間
customQuestionnaireId String 使用者自訂問卷ID






2、查詢頻道問卷詳情

描述

1、接口用于查询频道问卷详情
2、问卷ID 可以从获取频道问卷列表中获取
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/questionnaire/detail

呼叫限制

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

單元測試

    @Test
    public void testGetQuestionnaireDetailInfo() throws Exception, NoSuchAlgorithmException {
        LiveQuestionnaireDetailRequest liveQuestionnaireDetailRequest = new LiveQuestionnaireDetailRequest();
        LiveQuestionnaireDetailResponse liveQuestionnaireDetailResponse = null;
        try {
            String channelId = super.createChannel();
            //获取详情
            liveQuestionnaireDetailRequest.setChannelId(channelId).setQuestionnaireId("fs9skpv22f");
            liveQuestionnaireDetailResponse = new LiveQuestionnaireServiceImpl().getQuestionnaireDetailInfo(
                    liveQuestionnaireDetailRequest);
            Assert.assertNotNull(liveQuestionnaireDetailResponse);
            if (liveQuestionnaireDetailResponse != null) {
                //to do something ......
                log.debug("测试查询频道问卷详情成功{}", JSON.toJSONString(liveQuestionnaireDetailResponse));
            }
        } 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、請求正確,回傳 LiveQuestionnaireDetailResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參描述

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

回傳物件描述

參數名 類型 說明
questionnaireId String 問卷ID
customQuestionnaireId String 使用者自訂問卷ID
channelId String 頻道號
userId String POLYV使用者ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
questionnaireTitle String 問卷標題【對應API文件的name欄位】
status String 問卷狀態,draft:草稿,send:已發送,delete:已刪除
createdTime Date 問卷建立時間
endTime Date 停止問卷時間
questions Array 問卷問題列表【詳見QuestionDetail參數說明
QuestionDetail參數描述
參數名 類型 說明
questionId String 問題ID
name String 問題題目
type String 問題類型,取值:R 單選;C 多選;S 評星題;Q 問答
option1 String 選項A
option2 String 選項B
option3 String 選項C
option4 String 選項D
option5 String 選項E
option6 String 選項F
option7 String 選項G
option8 String 選項H
option9 String 選項I
option10 String 選項J
createdTime Date 建立時間
lastModified Date 最後修改時間
scoreEnabled String 是否計分,取值: Y 計分 、N 不計分,預設N
score Integer 題目分值
required String 是否必答,取值Y 必填 、N 非必填 ,預設 N
answer String 問題答案






3、查詢頻道問卷結果

描述

接口用于查询直播问卷的答题结果及统计
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/questionnaire/answer-records

呼叫限制

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

單元測試

    @Test
    public void testGetQuestionnaireResultInfo() throws Exception, NoSuchAlgorithmException {
        LiveQuestionnaireResultRequest liveQuestionnaireResultRequest = new LiveQuestionnaireResultRequest();
        List<LiveQuestionnaireResultResponse> liveQuestionnaireResultResponse = null;
        try {
            String channelId = super.createChannel();
            liveQuestionnaireResultRequest.setChannelId(channelId);
            liveQuestionnaireResultRequest.setStartDate(getDate(2020, 10, 01)).setEndDate(getDate(2099, 12, 12));
//        liveQuestionnaireResultRequest.setQuestionnaireId("fs9skpv22f");
            liveQuestionnaireResultResponse = new LiveQuestionnaireServiceImpl().getQuestionnaireResultInfo(
                    liveQuestionnaireResultRequest);
            Assert.assertNotNull(liveQuestionnaireResultResponse);
            if (liveQuestionnaireResultResponse != null) {
                //to do something ......
                log.debug("测试查询频道问卷结果成功{}", JSON.toJSONString(liveQuestionnaireResultResponse));
            }
        } 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、請求正確,回傳 LiveQuestionnaireResultResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參說明

參數名 必填 類型 說明
channelId true String 頻道號
startDate false Date 開始時間,格式:yyyy-MM-dd 如 2018-12-10
endDate false Date 結束時間,格式:yyyy-MM-dd 如 2018-12-10
questionnaireId false String 問卷ID,與 startDate / endDate 同時提交時,startDate / endDate 無效,優先以 questionnaireId 為查詢條件
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

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

參數名 類型 說明
questionnaireId String 問卷ID
customQuestionnaireId String 使用者自訂問卷ID
questionnaireTitle String 問卷名稱
lastModified Date 問卷最後修改時間
endTime Date 問卷最後修改時間
questionStats Array 問卷下各個問題的答題統計【詳見QuestionStats參數描述
users Array 觀看端提交答題的使用者資訊【詳見Users參數描述
QuestionStats參數描述
參數名 類型 說明
total Integer 題目的答題人數
questions Array 問卷下單一問題的答題統計資訊【詳見QuestionStat參數描述
Users參數描述
參數名 類型 說明
viewerId String 提交問卷的使用者ID
nickname String 提交問卷的使用者暱稱
submitTime Date 提交問卷時間
totalScore String 提交問卷的使用者總得分
answers Array 使用者每道題目的答題情況【詳見Answers參數描述
param4 String 在外部授權、直接(獨立)授權情況下傳過來的自訂參數,同步回傳
param5 String 在外部授權、直接(獨立)授權情況下傳過來的自訂參數,同步回傳
QuestionStat參數描述
參數名 類型 說明
questionId String 題目ID
questionName String 題目名稱
score Integer 題目分數
totalScore Integer 題目的總得分
correctCount Integer 題目的答對人數
a Integer 選擇項a的答題人數
b Integer 選擇項b的答題人數
c Integer 選擇項c的答題人數
d Integer 選擇項d的答題人數
e Integer 選擇項e的答題人數
f Integer 選擇項f的答題人數
g Integer 選擇項g的答題人數
h Integer 選擇項h的答題人數
i Integer 選擇項i的答題人數
j Integer 選擇項j的答題人數
Answers參數描述
參數名 類型 說明
questionId String 題目ID
questionName String 題目名稱
answer String 提交的題目答案
score Integer 使用者答題的得分
type String 題目的類型
R:單選題
C:多選題
Q:問答題






4、分頁查詢問卷結果

描述

分页查询直播问卷的答题结果及统计
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/questionnaire/list-answer-records

呼叫限制

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

單元測試

    @Test
    public void testGetQuestionnaireResultPageInfo() throws Exception, NoSuchAlgorithmException {
        LiveQuestionnaireResultPageRequest liveQuestionnaireResultPageRequest =
                new LiveQuestionnaireResultPageRequest();
        LiveQuestionnaireResultPageResponse liveQuestionnaireResultPageResponse = null;
        try {
            String channelId = super.createChannel();
            liveQuestionnaireResultPageRequest.setChannelId(channelId)
                    .setStartDate(getDate(2020, 10, 01))
                    .setEndDate(getDate(2099, 12, 12))
                    .setPageSize(20)
                    .setCurrentPage(1);
            liveQuestionnaireResultPageResponse = new LiveQuestionnaireServiceImpl().getQuestionnaireResultPageInfo(
                    liveQuestionnaireResultPageRequest);
            Assert.assertNotNull(liveQuestionnaireResultPageRequest);
            if (liveQuestionnaireResultPageResponse != null) {
                //to do something ......
                log.debug("测试分页查询频道问卷结果成功{}", JSON.toJSONString(liveQuestionnaireResultPageResponse));
            }
        } 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、請求正確,回傳 LiveQuestionnaireResultPageResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求參數說明

參數名 必填 類型 說明
channelId true String 頻道號
startDate false Date 開始時間,格式:yyyy-MM-dd 如 2018-12-10
endDate false Date 結束時間,格式:yyyy-MM-dd 如 2018-12-10
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 頻道的問卷資訊與統計結果列表【詳見LiveQuestionnaireResultResponse參數描述
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 當前頁【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
LiveQuestionnaireResultResponse參數描述
參數名 類型 說明
questionnaireId String 問卷ID
customQuestionnaireId String 使用者自訂問卷ID
questionnaireTitle String 問卷名稱
lastModified Date 問卷最後修改時間
endTime Date 問卷最後修改時間
questionStats Array 問卷下各個問題的答題統計【詳見QuestionStats參數描述
users Array 觀看端提交答題的使用者資訊【詳見Users參數描述
QuestionStats參數描述
參數名 類型 說明
total Integer 題目的答題人數
questions Array 問卷下單一問題的答題統計資訊【詳見QuestionStat參數描述
Users參數描述
參數名 類型 說明
viewerId String 提交問卷的使用者ID
nickname String 提交問卷的使用者暱稱
submitTime Date 提交問卷時間
totalScore String 提交問卷的使用者總得分
answers Array 使用者每道題目的答題情況【詳見Answers參數描述
param4 String 在外部授權、直接(獨立)授權情況下傳過來的自訂參數,同步回傳
param5 String 在外部授權、直接(獨立)授權情況下傳過來的自訂參數,同步回傳
QuestionStat參數描述
參數名 類型 說明
questionId String 題目ID
questionName String 題目名稱
score Integer 題目分數
totalScore Integer 題目的總得分
correctCount Integer 題目的答對人數
a Integer 選擇項a的答題人數
b Integer 選擇項b的答題人數
c Integer 選擇項c的答題人數
d Integer 選擇項d的答題人數
e Integer 選擇項e的答題人數
f Integer 選擇項f的答題人數
g Integer 選擇項g的答題人數
h Integer 選擇項h的答題人數
i Integer 選擇項i的答題人數
j Integer 選擇項j的答題人數
Answers參數描述
參數名 類型 說明
questionId String 題目ID
questionName String 題目名稱
answer String 提交的題目答案
score Integer 使用者答題得分
type String 題目類型
R:單選題
C:多選題
Q:問答題






5、設定頻道問卷資訊

描述

接口用于编辑或添加问卷信息,为全量增加或修改
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/questionnaire/add-edit-questionnaire

呼叫限制

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

單元測試

    @Test
    public void testSetQuestionnaireDetailInfo() throws Exception, NoSuchAlgorithmException {
        LiveQuestionnaireDetailSetRequest liveQuestionnaireDetailSetRequest = new LiveQuestionnaireDetailSetRequest();
        LiveQuestionnaireDetailSetResponse liveQuestionnaireDetailSetResponse = null;
        try {
            String channelId = super.createChannel();
            //封装问卷请求对象
            liveQuestionnaireDetailSetRequest.setChannelId(channelId)
                    .setCustomQuestionnaireId(LiveSignUtil.generateUUID())
//                .setQuestionnaireId("fs9skpv22f")
                    .setQuestionnaireTitle("测试试卷,爱好问卷调查");
            //封装问卷题目
            LiveQuestionnaireDetailSetRequest.QuestionDetail questionDetail =
                    new LiveQuestionnaireDetailSetRequest.QuestionDetail();
            questionDetail.setQuestionId(LiveSignUtil.generateUUID())
                    .setName("您的兴趣爱好?")
                    .setAnswer("A")
                    .setScoreEnabled(LiveConstant.Flag.YES.getFlag())
                    .setRequired(LiveConstant.Flag.YES.getFlag())
                    .setOptions(Arrays.asList(new String[]{"篮球", "足球", "排球", "跑步", "羽毛球"}))
                    .setScore(20)
                    .setType(LiveConstant.QuestionType.CHECK.getType());
            LiveQuestionnaireDetailSetRequest.QuestionDetail questionDetail1 =
                    new LiveQuestionnaireDetailSetRequest.QuestionDetail();
            questionDetail1.setQuestionId(LiveSignUtil.generateUUID())
                    .setName("您的性别")
                    .setScoreEnabled(LiveConstant.Flag.NO.getFlag())
                    .setRequired(LiveConstant.Flag.YES.getFlag())
                    .setOptions(Arrays.asList(new String[]{"M", "W"}))
                    .setType(LiveConstant.QuestionType.RADIO.getType());
            LiveQuestionnaireDetailSetRequest.QuestionDetail questionDetail2 =
                    new LiveQuestionnaireDetailSetRequest.QuestionDetail();
            questionDetail2.setQuestionId(LiveSignUtil.generateUUID())
                    .setName("您的职务?")
                    .setScoreEnabled(LiveConstant.Flag.NO.getFlag())
                    .setRequired(LiveConstant.Flag.YES.getFlag())
                    .setType(LiveConstant.QuestionType.QUESTION.getType());
            //将问卷题目和问卷关联
            liveQuestionnaireDetailSetRequest.setQuestions(Arrays.asList(
                    new LiveQuestionnaireDetailSetRequest.QuestionDetail[]{questionDetail, questionDetail1,
                            questionDetail2}));
            //发送请求
            liveQuestionnaireDetailSetResponse = new LiveQuestionnaireServiceImpl().setQuestionnaireDetailInfo(
                    liveQuestionnaireDetailSetRequest);
            //判断结果
            Assert.assertNotNull(liveQuestionnaireDetailSetResponse);
            if (liveQuestionnaireDetailSetResponse != null) {
                //to do something ......
                log.debug("测试添加频道问卷成功{}", JSON.toJSONString(liveQuestionnaireDetailSetResponse));
            }
        } 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、請求正確,回傳 LiveQuestionnaireDetailSetResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參描述

參數名 必選 類型 說明
channelId true String 頻道號
questionnaireId false String 問卷 ID,新增問卷時該欄位為 null,修改問卷時該欄位為問卷 ID
customQuestionnaireId false String 客戶自訂問卷 ID,用於關聯自己系統的主鍵 ID
questionnaireTitle true String 問卷標題
questions true Array 問卷的單一題目詳細列表【詳見QuestionDetail參數說明
appId false String POLYV 用戶 APP_ID,多帳號調用時該參數必填(即已調用 initMultiAccount() 設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號調用時該參數必填(即已調用 initMultiAccount() 設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
QuestionDetail參數描述
參數名 必選 類型 說明
questionId false String 題目ID,新增時為null,修改問卷時必須傳遞
score false Integer 題目分數,自動化評分使用
name true String 題目資訊描述
type true String 題目類型,R為單選,C為多選,Q為問答
scoreEnabled false String 題目是否需要評分,Y為需要,N為不需要,預設為N
answer false String 選擇題答案,需要評分的選擇題才有答案,填入對應選項序號,如:A或AB
required false String 題目是否為必答,Y為必答,N為非必答,預設為N
options false Array 題目為單選題或多選題的選項資料列表,選項陣列下標0-9對應答案A-J

回傳物件描述

參數名稱 類型 說明
questionnaireId String 問卷 ID
questionIds Array 同一問卷下題目的問題 ID 陣列
questionnaireTitle String 問卷標題






6、手動結束問卷

描述

结束问卷,当前频道没有问卷发布返回true
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/questionnaire/end

呼叫限制

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

單元測試

    @Test
    public void testUpdatePlayDomain() throws IOException, NoSuchAlgorithmException {
        LiveQuestionnaireEndRequest liveQuestionnaireEndRequest = new LiveQuestionnaireEndRequest();
        Boolean liveQuestionnaireEndResponse = null;
        try {
            liveQuestionnaireEndRequest.setChannelIds(createChannel());
            liveQuestionnaireEndResponse = new LiveQuestionnaireServiceImpl().questionnaireStop(
                    liveQuestionnaireEndRequest);
            Assert.assertTrue(liveQuestionnaireEndResponse);
            if (liveQuestionnaireEndResponse) {
                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 頻道號,多個頻道用英文逗號分隔,如:100000,100001
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true:手動結束問卷成功,false:手動結束問卷失敗

联系客服,在线咨询