保利威文档中心

幫助中心

chatRoomService

更新時間:2026-02-27 09:50:47

1、批次匯入頻道禁止詞

描述

批量导入频道严禁词
接口地址(仅做说明使用):https://api.polyv.net/live/v2/chat/%s/addBadWords

呼叫限制

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

單元測試

    @Test
    public void testAddBadWord() throws Exception, NoSuchAlgorithmException {
        LiveBadWordRequest liveBadWordRequest = new LiveBadWordRequest();
        LiveBadWordResponse liveBadWordResponse = null;
        try {
            String channelId = super.createChannel();
            liveBadWordRequest.setChannelId(channelId).setWords(Arrays.asList(new String[]{"微信号", "手机号", "QQ号"}));
            liveBadWordResponse = new LiveChatRoomServiceImpl().addBadWord(liveBadWordRequest);
            Assert.assertNotNull(liveBadWordResponse);
            if (liveBadWordResponse != null) {
                //to do something ......
                log.debug("测试批量导入频道严禁词成功{}", JSON.toJSONString(liveBadWordResponse));
            }
        } 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、請求正確,回傳 LiveBadWordResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參說明

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

回傳物件描述

參數名 類型 說明
count Integer 請求參數設定了頻道號,count則為該頻道禁止詞的數量,如果沒有設定頻道號,count則為該帳戶禁止詞的數量
userId String POLYV用戶ID,透過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定)






2、查詢歷史聊天資訊

描述

查询一段时间内的聊天记录,时间格式为yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss。如未提交具体时间,只提交了日期,开始时间默认为日期当天的 00:00:00,结束时间为日期当天的23:59:59
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/chat/get-history-page

呼叫限制

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

單元測試

    @Test
    public void testGetHistoryChatMsg() throws Exception, NoSuchAlgorithmException {
        LiveGetMessageListRequest liveGetMessageListRequest = new LiveGetMessageListRequest();
        LiveGetMessageListResponse liveGetMessageListResponses;
        try {
            String channelId = super.createChannel();
            liveGetMessageListRequest.setChannelId(channelId)
                    .setStartDay(getDate(2020, 10, 01))
                    .setEndDay(getDate(2099, 12, 12))
                    .setStatus("pass")
                    .setPageSize(5)
                    .setCurrentPage(3);
            liveGetMessageListResponses = new LiveChatRoomServiceImpl().getPageHistoryChatMsg(
                    liveGetMessageListRequest);
            Assert.assertNotNull(liveGetMessageListResponses);
            if (liveGetMessageListResponses != null) {
                //to do something ......
                log.debug("测试查询历史聊天信息成功{}", JSON.toJSONString(liveGetMessageListResponses));
            }
        } 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、請求正確,回傳 LiveGetMessageListResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參說明

參數名 必選 類型 說明
startDay true Date 聊天記錄的開始時間,格式為 yyyy-MM-dd,例如:2021-03-01 或格式為 yyyy-MM-dd HH:mm:ss,例如:2021-03-01 16:30:12
endDay true Date 聊天記錄的結束時間,要求同上
channelId true String 頻道號
userType false String 使用者類型,可選擇多個類型,用英文逗號隔開。slice:雲課堂學員、teacher:講師、guest:嘉賓、manager:管理員、assistant:助教、viewer:特邀觀眾、monitor:場監、attendee:研討會參與者、student:普通直播觀眾
status false String 聊天記錄審核狀態,預設為 pass:已審核。pass:已審核、censor:審核中和刪除
source false String 類型,不填預設為公聊。extend:管理員私聊
roomId false String 如果有房間號,需傳入房間號,預設不傳
hasTotal false String 是否返回當前查詢總數,Y:是,N:否,預設為 N。注意:僅在查第一頁時有效,此參數可能影響介面回應效能,若非強烈需求,建議不要傳此參數,可根據返回結果中的 contents 陣列長度判斷是否還有下一頁
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 查詢的結果列表【詳見MessageList參數說明
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 目前頁面【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
MessageList參數描述
參數名 類型 說明
id String 聊天訊息 id
accountId String 帳號 id
clientIP String 使用者 IP
content String 聊天內容
event String 事件,具體請參考聊天室 SDK
image String 圖片訊息的圖片位址
msgType String 訊息類型 redpaper:紅包訊息 get_redpaper:領取紅包訊息 chatImg:圖片訊息 custom:自訂訊息(透過 socket 發送的自訂訊息) reward:打賞訊息 customerMessage:自訂訊息(透過 http 介面發送的自訂訊息) 為空:一般聊天訊息
quote String 引用
sessionId String 場次號碼
roomId String 房間號碼
channelId String 頻道號碼
time Date 發送訊息時的時間
userType String 使用者類型 slice:雲課堂學員 teacher:講師 guest:嘉賓 manager:管理員 assistant:助教 viewer:特邀觀眾 monitor:場監 attendee:研討會參與者 student:一般直播觀眾
status String 審核狀態 pass:已審核 censor:審核中 delete:刪除
sourceType String 訊息來源 public:群聊 extend:管理員私聊
user MessageListUser 聊天資訊陣列 【詳見MessageListUser 參數說明
MessageListUser參數描述
參數名 類型 說明
actor String 角色
banned Boolean 是否禁言
channelId String 頻道號
clientIp String 使用者 IP
nickname String 觀眾暱稱
pic String 觀眾頭像
roomId String 房間號
sessionId String 場次號
uid String socketId
userId String 使用者唯一標示
userSource String 觀眾來源
userType String 使用者類型 slice:雲課堂學員 teacher:講師 guest:嘉賓 manager:管理員 assistant:助教 viewer:特邀觀眾 monitor:場監 attendee:研討會參與者 student:一般直播觀眾
param4 String 使用者自訂欄位
param5 String 使用者自訂欄位






3、查詢聊天室管理員資訊

描述

查询聊天室管理员信息
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelSetting/%s/get-chat-admin

呼叫限制

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

單元測試

    @Test
    public void testGetChatAdminData() throws Exception, NoSuchAlgorithmException {
        LiveGetChatAdminDataRequest liveGetChatAdminDataRequest = new LiveGetChatAdminDataRequest();
        LiveGetChatAdminDataResponse liveGetChatAdminDataResponse = null;
        try {
            String channelId = super.createChannel();
            liveGetChatAdminDataRequest.setChannelId(channelId);
            liveGetChatAdminDataResponse = new LiveChatRoomServiceImpl().getChatAdminData(liveGetChatAdminDataRequest);
            Assert.assertNotNull(liveGetChatAdminDataResponse);
            if (liveGetChatAdminDataResponse != null) {
                //to do something ......
                log.debug("测试查询聊天室管理员信息成功{}", JSON.toJSONString(liveGetChatAdminDataResponse));
            }
        } 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、請求正確,回傳 LiveGetChatAdminDataResponse 物件,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() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)

回傳物件描述

參數名 類型 說明
nickname String 講師暱稱
actor String 講師頭銜
avatar String 頭像圖片網址
appId String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)






4、查詢頻道禁言列表

描述

查询频道禁言列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/chat/get-banned-list

呼叫限制

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

單元測試

    @Test
    public void testGetBannedList() throws Exception, NoSuchAlgorithmException {
        LiveGetBannedListRequest liveGetBannedListRequest = new LiveGetBannedListRequest();
        List<String> liveGetBannedListResponseList = null;
        try {
            String channelId = super.createChannel();
            liveGetBannedListRequest.setChannelId(channelId).setType(LiveConstant.BannedType.IP.getType());
            liveGetBannedListResponseList = new LiveChatRoomServiceImpl().getBannedList(liveGetBannedListRequest);
            Assert.assertNotNull(liveGetBannedListResponseList);
            if (liveGetBannedListResponseList != null) {
                //to do something ......
                log.debug("测试查询频道禁言列表成功{}", JSON.toJSONString(liveGetBannedListResponseList));
            }
        } 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、請求正確,回傳 String 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參描述

參數名 必選 類型 說明
channelId true String 頻道號
type true String 查詢禁言類型,ip:聊天室使用者的機器 IP,userId:聊天室使用者的 userId
toGetSubRooms false Integer 是否取得子房間的禁言列表,0:不取得,1:取得,預設為 0
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

回傳物件是List<String>,String具體元素內容如下: 回傳當前頻道的禁言列表




5、查詢頻道踢人列表

描述

查询频道踢人列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/chat/list-kicked

呼叫限制

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

單元測試

    @Test
    public void testGetKickedList() throws Exception, NoSuchAlgorithmException {
        LiveKickedListRequest liveKickedListRequest = new LiveKickedListRequest();
        List<LiveKickedListResponse> liveKickedListResponsesList = null;
        try {
            String channelId = super.createChannel();
            liveKickedListRequest.setChannelId(channelId);
            liveKickedListResponsesList = new LiveChatRoomServiceImpl().getKickedList(liveKickedListRequest);
            Assert.assertNotNull(liveKickedListResponsesList);
            if (liveKickedListResponsesList != null) {
                //to do something ......
                log.debug("测试查询频道踢人列表成功{}", JSON.toJSONString(liveKickedListResponsesList));
            }
        } 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、請求正確,回傳 LiveKickedListResponse 物件,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() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

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

參數名 類型 說明
banned Boolean 是否禁言
channelId String 頻道號
clientIp String C 端觀眾 IP
kickRefer String 踢人方式,userId : 使用者 userId,ip : 使用者登入 IP
nickname String 暱稱【對應 API 文件的 nick 欄位】
pic String 頭像圖片位址
roomId String 房間號
uid String 聊天室 socketid
userId String C 端觀眾 ID
userType String 使用者身份:管理員 manager,講師 teacher,助教 assistant,嘉賓 guest,參與者 viewer,觀看者 slice/student






6、查詢頻道嚴禁詞/禁言IP列表

描述

接口用于获取频道的严禁词或者禁言IP列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/badword/list

呼叫限制

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

單元測試

    @Test
    public void testGetChannelBadworkList() throws Exception, NoSuchAlgorithmException {
        LiveGetBadwordIPRequest liveGetBadwordIPRequest = new LiveGetBadwordIPRequest();
        List<String> liveGetBadwordIPResponseList = null;
        try {
            String channelId = super.createChannel();
            liveGetBadwordIPRequest.setChannelId(channelId).setType(LiveConstant.BannedType.IP.getType());
            liveGetBadwordIPResponseList = new LiveChatRoomServiceImpl().getChannelBadworkList(liveGetBadwordIPRequest);
            Assert.assertNotNull(liveGetBadwordIPResponseList);
            if (liveGetBadwordIPResponseList != null) {
                //to do something ......
                log.debug("测试查询频道严禁词/禁言IP列表成功{}", JSON.toJSONString(liveGetBadwordIPResponseList));
            }
        } 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、請求正確,回傳 String 物件,B 端依據此物件處理業務邏輯;

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

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

請求參數說明

參數名 必選 類型 說明
channelId true String 頻道號
type false String 查詢類型: ip=禁言ip,badword=禁止詞,預設為badword
appId false String POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

回傳物件是List<String>,String具體元素內容如下: 取得當前頻道的禁止詞/禁言IP列表




7、查詢帳號禁止詞列表

描述

接口用于获取账号下通用设置的严禁词列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/badword/list

呼叫限制

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

單元測試

    @Test
    public void testGetAccountBadworkList() throws Exception, NoSuchAlgorithmException {
        LiveGetAccountBadWordRequest liveGetAccountBadWordRequest = new LiveGetAccountBadWordRequest();
        List<String> liveGetAccountBadWordResponseList = null;
        try {
            liveGetAccountBadWordResponseList = new LiveChatRoomServiceImpl().getAccountBadworkList(
                    liveGetAccountBadWordRequest);
            Assert.assertNotNull(liveGetAccountBadWordResponseList);
            if (liveGetAccountBadWordResponseList != null) {
                //to do something ......
                log.debug("测试查询账号严禁词列表成功{}", JSON.toJSONString(liveGetAccountBadWordResponseList));
            }
        } 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、請求正確,回傳 String 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參描述

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

返回物件描述

返回物件是List<String>,String具體元素內容如下: 當前保利威帳號下通用設定的禁止詞列表




8、查詢諮詢提問記錄

描述

查询咨询提问记录
接口地址(仅做说明使用):https://api.polyv.net/live/v2/chat/%s/getQuestion

呼叫限制

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

單元測試

    @Test
    public void testGetConsultingRecord() throws Exception, NoSuchAlgorithmException {
        LiveGetConsultingRecordRequest liveGetConsultingRecordRequest = new LiveGetConsultingRecordRequest();
        List<LiveGetConsultingRecordResponse> liveGetConsultingRecordResponseList = null;
        try {
            String channelId = super.createChannel();
            liveGetConsultingRecordRequest.setChannelId(channelId).setBegin(0).setEnd(10);
            liveGetConsultingRecordResponseList = new LiveChatRoomServiceImpl().getConsultingRecord(
                    liveGetConsultingRecordRequest);
            Assert.assertNotNull(liveGetConsultingRecordResponseList);
            if (liveGetConsultingRecordResponseList != null) {
                //to do something ......
                log.debug("测试查询咨询提问记录成功{}", JSON.toJSONString(liveGetConsultingRecordResponseList));
            }
        } 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、請求正確,回傳 LiveGetConsultingRecordResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參說明

參數名稱 必填 類型 說明
channelId true String 頻道號
begin false Integer 起始索引,從0開始
end false Integer 結束索引,-1表示不分頁
appId false String POLYV使用者APP_ID,多帳號呼叫時此參數必填(即已呼叫initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即已呼叫initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

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

參數名 類型 說明
id String 資訊 ID
content String 內容
time Date 發言時間
user User 發言人資訊【詳見User 參數描述
event String 訊息類型,講師回答:T_ANSWER,學生提問:S_QUESTION
userId String 提問者 ID【對應 API 文件的 s_userId 欄位】
User參數描述
參數名 類型 說明
nick String 觀眾暱稱
pic String 觀眾頭像
userId String 用戶唯一標示
sessionId String 場次號
channelId String 頻道號
banned Boolean 是否禁言
true:禁言
false:不禁言
userType String 用戶類型,目前有teacher(老師)、assistant(助教)、manager(管理員)、slice(雲課堂學員)






9、設定講師資訊

描述

设置讲师信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/account/updateTeacher

呼叫限制

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

單元測試

    @Test
    public void testSetChannelTeacherMsg() throws Exception, NoSuchAlgorithmException {
        LiveSetTeacherDataRequest liveSetTeacherDataRequest = new LiveSetTeacherDataRequest();
        Boolean liveSetTeacherDataResponse = null;
        try {
            String channelId = super.createChannel();
            liveSetTeacherDataRequest.setChannelId(channelId)
                    .setNickname("讲师张三")
                    .setActor("教授")
                    .setPasswd("123456")
                    .setAvatar("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3002379740," +
                            "3965499425&fm=26&gp=0" + ".jpg");
            liveSetTeacherDataResponse = new LiveChatRoomServiceImpl().setChannelTeacherMsg(liveSetTeacherDataRequest);
            Assert.assertNotNull(liveSetTeacherDataResponse);
            if (liveSetTeacherDataResponse != null) {
                //to do something ......
                log.debug("测试设置讲师信息成功{}", JSON.toJSONString(liveSetTeacherDataResponse));
            }
        } 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 頻道號
nickname false String 講師暱稱
actor false String 講師頭銜
passwd false String 頻道密碼,長度<=16,必須同時包含字母和數字
avatar false String 頭像圖片位址,如果為空,則使用預設頭像
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 設定講師資訊成功,false 設定講師資訊失敗




10、設定聊天室禁言IP

描述

设置聊天室禁言ip
接口地址(仅做说明使用):https://api.polyv.net/live/v2/chat/%s/addBannedIP

呼叫限制

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

單元測試

    @Test
    public void testAddBannedIP() throws Exception, NoSuchAlgorithmException {
        LiveChatBannedIPRequest liveChatBannedIPRequest = new LiveChatBannedIPRequest();
        List<String> liveChatBannedIPResponseList = null;
        try {
            String channelId = super.createChannel();
            liveChatBannedIPRequest.setIp("192.168.1.1").setChannelId(channelId);
            liveChatBannedIPResponseList = new LiveChatRoomServiceImpl().addBannedIP(liveChatBannedIPRequest);
            Assert.assertNotNull(liveChatBannedIPResponseList);
            if (liveChatBannedIPResponseList != null) {
                //to do something ......
                log.debug("测试设置聊天室禁言ip成功{}", JSON.toJSONString(liveChatBannedIPResponseList));
            }
        } 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、請求正確,回傳 String 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參說明

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

返回物件描述

回傳物件是 List<String>,String 具體元素內容如下: 目前所有的禁言 IP 列表




11、設定聊天室管理員資訊

描述

设置聊天室管理员信息
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelSetting/%s/set-chat-admin

呼叫限制

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

單元測試

    @Test
    public void testSetChatAdminData() throws Exception, NoSuchAlgorithmException, URISyntaxException {
        LiveSetChatAdminDataRequest liveSetChatAdminDataRequest = new LiveSetChatAdminDataRequest();
        Boolean liveSetChatAdminDataResponse = null;
        try {
            String channelId = super.createChannel();
            String path = getClass().getResource("/img/b.jpg").getPath();
            liveSetChatAdminDataRequest.setChannelId(channelId)
                    .setNickname("管理员赵四")
                    .setActor("管理员")
                    .setAvatar(new File(path));
            liveSetChatAdminDataResponse = new LiveChatRoomServiceImpl().setChatAdminData(liveSetChatAdminDataRequest);
            Assert.assertTrue(liveSetChatAdminDataResponse);
            if (liveSetChatAdminDataResponse != null) {
                //to do something ......
                log.debug("测试设置聊天室管理员信息成功{}", JSON.toJSONString(liveSetChatAdminDataResponse));
            }
        } 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 頻道號
nickname true String 管理員暱稱,長度不能超過8個字元
actor true String 管理員頭銜,長度不能超過4個字元
avatar true File 管理員頭像,支援jpg、jpeg、png三種格式,大小不能超過2Mb
appId false String POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 設定成功,false 設定失敗




12、刪除禁言IP/嚴禁詞

描述

删除禁言IP/严禁词
接口地址(仅做说明使用):https://api.polyv.net/live/v2/chat/%s/delBanned

調用約束

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

單元測試

    @Test
    public void testDelBanned() throws Exception, NoSuchAlgorithmException {
        LiveDelBannedDataRequest liveDelBannedDataRequest = new LiveDelBannedDataRequest();
        Boolean liveDelBannedDataResponse = null;
        try {
            //创建一个禁言IP(192.168.1.1)用于测试,实际业务过程中,此代码可以删除
            testAddBannedIP();
            //正式业务逻辑
            String channelId = super.createChannel();
            liveDelBannedDataRequest.setContent("192.168.1.1")
                    .setChannelId(channelId)
                    .setType(LiveConstant.BannedType.IP.getType());
            liveDelBannedDataResponse = new LiveChatRoomServiceImpl().delBanned(liveDelBannedDataRequest);
            Assert.assertNotNull(liveDelBannedDataResponse);
            if (liveDelBannedDataResponse != null) {
                //to do something ......
                log.debug("测试删除禁言IP/严禁词成功{}", JSON.toJSONString(liveDelBannedDataResponse));
            }
        } 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 頻道號
type true String 傳輸內容類型
ip:屬性content內容為IP
badword 屬性content內容為違禁詞
content true String 要取消的IP或違禁詞,支援傳入多個IP或違禁詞,以","區分
appId false String POLYV使用者APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 刪除成功,false 刪除失敗




13、刪除單筆聊天記錄

描述

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

呼叫限制

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

單元測試

    @Test
    public void testDelChatSingleMsg() throws Exception, NoSuchAlgorithmException {
        LiveChatDelSingleMsgRequest liveChatDelSingleMsgRequest = new LiveChatDelSingleMsgRequest();
        Boolean liveChatDelSingleMsgResponse = null;
        String channelId = super.createChannel();
        //获取已经存在的消息id
        //new LiveChatRoomServiceImpl().sendChatMsg(liveSendChatMsgRequest)
        String msgId = getMsgId(channelId);
        try {
            liveChatDelSingleMsgRequest.setId(msgId).setChannelId(channelId);
            liveChatDelSingleMsgResponse = new LiveChatRoomServiceImpl().delChatSingleMsg(liveChatDelSingleMsgRequest);
            Assert.assertNotNull(liveChatDelSingleMsgResponse);
            if (liveChatDelSingleMsgResponse != null) {
                //to do something ......
                log.debug("测试删除单条聊天记录成功{}", JSON.toJSONString(liveChatDelSingleMsgResponse));
            }
        } 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 true String 聊天記錄對應的 id
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 刪除成功,false 刪除失敗




14、刪除頻道聊天記錄

描述

删除频道聊天记录
接口地址(仅做说明使用):https://api.polyv.net/live/v2/chat/%s/cleanChat

呼叫限制

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

單元測試

    @Test
    public void testCleanChannelAllMsg() throws Exception, NoSuchAlgorithmException {
        LiveCleanChannelAllMsgRequest liveCleanChannelAllMsgRequest = new LiveCleanChannelAllMsgRequest();
        Boolean liveCleanChannelAllMsgResponse = null;
        try {
            String channelId = super.createChannel();
            liveCleanChannelAllMsgRequest.setChannelId(channelId);
            liveCleanChannelAllMsgResponse = new LiveChatRoomServiceImpl().cleanChannelAllMsg(
                    liveCleanChannelAllMsgRequest);
            Assert.assertNotNull(liveCleanChannelAllMsgResponse);
            if (liveCleanChannelAllMsgResponse != null) {
                //to do something ......
                log.debug("测试删除频道聊天记录成功{}", JSON.toJSONString(liveCleanChannelAllMsgResponse));
            }
        } 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 頻道號
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 刪除成功,false 刪除失敗




15、管理員發送頻道聊天訊息

描述

管理员发送频道聊天信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/chat/send

呼叫限制

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

單元測試

    @Test
    public void testSendChannelChat() throws Exception, NoSuchAlgorithmException {
        LiveSendChannelChatRequest liveSendChannelChatRequest = new LiveSendChannelChatRequest();
        Boolean liveSendChannelChatResponse;
        try {
            String channelId = super.createChannel();
            liveSendChannelChatRequest.setChannelId(channelId).setContent("请同学们认真学习").setRole("ADMIN");
            liveSendChannelChatResponse = new LiveChatRoomServiceImpl().sendChannelChat(liveSendChannelChatRequest);
            Assert.assertTrue(liveSendChannelChatResponse);
            if (liveSendChannelChatResponse) {
                //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 頻道號
content true String 聊天訊息內容
role true String 發送人角色(目前僅提供管理員角色,值為'ADMIN')
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 傳送成功,false 傳送失敗




16、發送自訂聊天訊息

描述

聊天室发送系统消息
接口地址(仅做说明使用):https://api.polyv.net/live/v1/channelSetting/%s/send-chat

呼叫限制

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

單元測試

    @Test
    public void testSendCustomChat() throws Exception, NoSuchAlgorithmException {
        LiveSendCustomChatRequest liveSendCustomChatRequest = new LiveSendCustomChatRequest();
        Boolean liveSendCustomChatResponse;
        try {
            String channelId = super.createChannel();
            liveSendCustomChatRequest.setChannelId(channelId).setContent("请同学们认真学习");
            liveSendCustomChatResponse = new LiveChatRoomServiceImpl().sendCustomChatV2(liveSendCustomChatRequest);
            Assert.assertTrue(liveSendCustomChatResponse);
            if (liveSendCustomChatResponse) {
                //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 頻道號
userId false String POLYV 用戶 ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
content false String 需要發送的文字(直接設定即可,禁止進行 base64 編碼),content、imgUrl 不能同時為空,可以同時提交
imgUrl false String 需要發送的圖片,content、imgUrl 不能同時為空,可以同時提交
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 發送成功,false 發送失敗




17、傳送自訂訊息

描述

发送聊天室自定义消息
接口地址(仅做说明使用):https://api.polyv.net/live/v4/chat/send-custom-message

呼叫限制

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

2、需要發送的文字內容(content)或圖片(imgUrl)不能同時為空,可以同時提交

單元測試

    @Test
    public void testSendCustomMessage() throws IOException, NoSuchAlgorithmException {
        LiveSendCustomMessageRequest liveSendCustomMessageRequest = new LiveSendCustomMessageRequest();
        Boolean liveSendCustomMessageResponse;
        try {
            String channelId = super.createChannel();
            liveSendCustomMessageRequest.setChannelId(channelId).setContent("请同学们认真学习,天天向上!").setJoinHistoryList(0);
            liveSendCustomMessageResponse = new LiveChatRoomServiceImpl().sendCustomMessage(
                    liveSendCustomMessageRequest);
            Assert.assertTrue(liveSendCustomMessageResponse);
            if (liveSendCustomMessageResponse) {
                //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 頻道號
content false String 發送文字內容
imgUrl false String 發送的圖片URL位址
joinHistoryList false Integer 是否加入聊天歷史資料,預設為1 1:加入到聊天歷史資料 0:不加入
watchType false Integer 此訊息面向何種角色發送(預設為1,支援多選,如:45)
1:面向頻道所有角色
2:僅面向頻道內觀眾角色
3:僅面向特殊角色(講師、嘉賓、助教、管理員)
4:講師
5:嘉賓
6:助教
7:管理員
important false String 是否為重要訊息,預設為N
Y:重要訊息
N:普通訊息。
當important為Y時,介面請求頻率被限制頻道每分鐘最多請求30次,並保證訊息不會遺失以及嚴重的延遲。
appId false String POLYV使用者APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV使用者APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

發送自訂訊息回傳實體




18、刪除帳號禁止詞

描述

删除账号通用设置的严禁词,支持批量删除多个严禁词
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/badword/delete

呼叫限制

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

單元測試

    @Test
    public void testDeleteUserBadword() throws IOException, NoSuchAlgorithmException {
        LiveDeleteUserBadwordRequest liveDeleteUserBadwordRequest = new LiveDeleteUserBadwordRequest();
        List<String> liveDeleteUserBadwordResponse;
        try {
            String words = "中南";
            liveDeleteUserBadwordRequest.setWords(words);
            liveDeleteUserBadwordResponse = new LiveChatRoomServiceImpl().deleteUserBadword(
                    liveDeleteUserBadwordRequest);
            Assert.assertNotNull(liveDeleteUserBadwordResponse);
            if (liveDeleteUserBadwordResponse != null) {
                //to do something ......
                log.debug("测试删除账号严禁词成功 {}", JSON.toJSONString(liveDeleteUserBadwordResponse));
            }
        } 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、請求正確,回傳 String 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參描述

參數名 必選 類型 說明
words true String 要刪除的禁止詞,多個以英文逗號分隔,例如:帳號禁止詞1,帳號禁止詞2
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

回傳物件是List<String>,String具體元素內容如下: 刪除帳號嚴禁詞回傳實體




19、查詢帳號禁言列表

描述

通过账号下的禁言列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/chat/banned-user/list

呼叫限制

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

單元測試

    @Test
    public void testGetUserBannedList() throws IOException, NoSuchAlgorithmException {
        LiveGetUserBannedListRequest liveGetUserBannedListRequest = new LiveGetUserBannedListRequest();
        LiveGetUserBannedListResponse liveGetUserBannedListResponse;
        try {
            liveGetUserBannedListRequest.setCurrentPage(1);
            liveGetUserBannedListRequest.setPageSize(10);
            liveGetUserBannedListResponse = new LiveChatRoomServiceImpl().getUserBannedList(
                    liveGetUserBannedListRequest);
            Assert.assertNotNull(liveGetUserBannedListResponse);
            if (liveGetUserBannedListResponse != null) {
                //to do something ......
                log.debug("测试查询账号禁言列表成功 {}", JSON.toJSONString(liveGetUserBannedListResponse));
            }
        } 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、請求正確,回傳 LiveGetUserBannedListResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參說明

參數名 必選 類型 說明
currentPage false Integer 頁數,預設為1【對應 API 文件的 page 欄位】
pageSize false Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料【對應 API 文件的 size 欄位】
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
contents Array 禁言資料
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 目前頁面【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】






20、禁言/解除禁言使用者

描述

通过登录聊天室的userId,禁言或者解禁用户
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/chat/banned-user

呼叫限制

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

單元測試

    @Test
    public void testUpdateBannedUser() throws IOException, NoSuchAlgorithmException {
        LiveUpdateBannedUserRequest liveUpdateBannedUserRequest = new LiveUpdateBannedUserRequest();
        Boolean liveUpdateBannedUserResponse;
        try {
            String channelId = super.createChannel();
            liveUpdateBannedUserRequest.setChannelId(channelId);
            liveUpdateBannedUserRequest.setUserIds("ovtl9t_RxnrTdqkXqkT5Q5lnxp2A");
            liveUpdateBannedUserResponse = new LiveChatRoomServiceImpl().updateBannedUser(liveUpdateBannedUserRequest);
            Assert.assertNotNull(liveUpdateBannedUserResponse);
            if (liveUpdateBannedUserResponse != null) {
                //to do something ......
                log.debug("测试禁言/解禁用户成功 {}", JSON.toJSONString(liveUpdateBannedUserResponse));
            }
        } 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 頻道號
userIds true String 聊天室用戶ID(非直播帳號ID),多個用戶用半角逗號","隔開。
toBanned false String Y表示禁言,N表示解除禁言
appId false String POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定)

回傳物件描述

禁言/解除禁言用戶回傳實體




21、帳號設定禁言/解禁用戶

描述

通过登录聊天室的userId,禁言或者解禁用户
接口地址(仅做说明使用):https://api.polyv.net/live/v3/user/chat/banned-user/update

呼叫限制

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

單元測試

    @Test
    public void testUpdateUserBannedViewer() throws IOException, NoSuchAlgorithmException {
        LiveUpdateUserBannedViewerRequest liveUpdateUserBannedViewerRequest = new LiveUpdateUserBannedViewerRequest();
        Boolean liveUpdateUserBannedViewerResponse;
        try {
            List<String> viewerIds = new ArrayList<>();
            viewerIds.add("test");
            liveUpdateUserBannedViewerRequest.setViewerIds(viewerIds);
            liveUpdateUserBannedViewerRequest.setBanned("Y");
            liveUpdateUserBannedViewerResponse = new LiveChatRoomServiceImpl().updateUserBannedViewer(
                    liveUpdateUserBannedViewerRequest);
            Assert.assertNotNull(liveUpdateUserBannedViewerResponse);
            if (liveUpdateUserBannedViewerResponse != null) {
                //to do something ......
                log.debug("测试账号设置禁言/解禁用户成功 {}", JSON.toJSONString(liveUpdateUserBannedViewerResponse));
            }
        } 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. ]

請求入參說明

參數名 必選 類型 說明
viewerIds true Array 聊天室使用者ID(非直播帳號ID),JSON 陣列格式
banned true String Y 表示禁言,N 表示解除禁言
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

帳號設定禁言/解禁使用者回傳實體




22、管理員發送聊天訊息

描述

通过HTTP接口发送聊天文本内容,可指定发言者的头像、头衔、昵称,无需连接聊天室
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/chat/send-admin-msg

呼叫限制

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

單元測試

    @Test
    public void testSendAdminMessage() throws IOException, NoSuchAlgorithmException {
        LiveSendAdminMessageRequest liveSendAdminMessageRequest = new LiveSendAdminMessageRequest();
        LiveSendAdminMessageResponse liveSendAdminMessageResponse;
        try {
            String channelId = super.createChannel();
            liveSendAdminMessageRequest.setChannelId(channelId)
                    .setMsg("hello 大家好-通过API发过来的测试信息")
                    .setPic("https://5b0988e595225.cdn.sohucs.com/q_70,c_zoom," +
                            "w_640/images/20190129/e3b0d6311b1a411fa68125fc03b8ef67.jpeg")
                    .setNickName("thomas")
                    .setImgUrl("https://5b0988e595225.cdn.sohucs.com/q_70,c_zoom," +
                            "w_640/images/20190129/e3b0d6311b1a411fa68125fc03b8ef67.jpeg")
                    .setFreeReview(LiveConstant.Flag.YES.getFlag());
            liveSendAdminMessageResponse = new LiveChatRoomServiceImpl().sendAdminMessage(liveSendAdminMessageRequest);
            Assert.assertNotNull(liveSendAdminMessageResponse);
            if (liveSendAdminMessageResponse != null) {
                //to do something ......
                log.debug("测试管理员发送聊天信息成功 {}", JSON.toJSONString(liveSendAdminMessageResponse));
            }
        } 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、請求正確,回傳 LiveSendAdminMessageResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求參數說明

參數名 必選 類型 說明
channelId true String 頻道號
msg false String 發送的純文字訊息,純文字訊息與圖片訊息必須二選一,最長為2000字元
imgUrl false String 發送的圖片訊息網址,URL不支援帶參數。純文字訊息與圖片訊息必須二選一。發送圖片訊息時,設定的暱稱與頭像暫不生效
pic true String 管理員頭像,URL不支援帶參數。
nickName true String 暱稱,最大長度為8個字元,超出將被截斷
adminIndex false Integer 管理員索引,可指定多位管理員發送訊息,預設僅有一位管理員
actor false String 頭銜,最大長度為4個字元,超出將被截斷,不傳參數則表示無頭銜
freeReview false String 當頻道開啟審核時,訊息是否需要經過審核,預設為N。Y:不需要,N:需要
appId false String POLYV用戶APP_ID,多帳號呼叫時此參數必填(即已呼叫initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時此參數必填(即已呼叫initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名稱 類型 說明
msgId String 發送訊息ID






23、更新聊天審核開關

描述

更新聊天审核开关
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/chat/update-censor-enabled

呼叫限制

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

單元測試

    @Test
    public void testUpdateChatCensorEnabled() throws IOException, NoSuchAlgorithmException {
        LiveUpdateChatCensorRequest liveUpdateChatCensorRequest = new LiveUpdateChatCensorRequest();
        Boolean liveUpdateChatCensorResponse;
        try {
            String channelId = super.createChannel();
            liveUpdateChatCensorRequest.setChannelId(channelId);
            liveUpdateChatCensorResponse = new LiveChatRoomServiceImpl().updateChatCensorEnabled(
                    liveUpdateChatCensorRequest);
            Assert.assertNotNull(liveUpdateChatCensorResponse);
            if (liveUpdateChatCensorResponse != null) {
                //to do something ......
                log.debug("测试更新聊天审核开关成功,当前状态 {}", liveUpdateChatCensorResponse);
            }
        } 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 頻道號
enabled false String 開關 Y/N, */
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

設定成功返回當前聊天審核開關類型,開啟為 true,未開啟為 false




24、傳送開播端彈窗訊息

描述

用于直播中,给开播讲师以弹窗形式发送特定消息的能力(当前仅支持给讲师触发)
接口地址(仅做说明使用):https://api.polyv.net/live/v4/chat/alert-to-special

呼叫限制

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

單元測試

    @Test
    public void testAlertChatSpecial() throws IOException, NoSuchAlgorithmException {
        LiveAlertChatSpecialRequest liveAlertChatSpecialRequest = new LiveAlertChatSpecialRequest();
        Boolean liveAlertChatSpecialResponse;
        try {
            String channelId = super.createChannel();
            liveAlertChatSpecialRequest.setChannelId(channelId).setTitle("测试弹窗").setMessage("弹窗内容为hello world");
            liveAlertChatSpecialResponse = new LiveChatRoomServiceImpl().alertChatSpecial(liveAlertChatSpecialRequest);
            Assert.assertNotNull(liveAlertChatSpecialResponse);
            if (liveAlertChatSpecialResponse != null) {
                //to do something ......
                log.debug("测试发送开播端弹窗消息成功 {}", liveAlertChatSpecialRequest);
            }
        } 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 頻道號
title true String 標題
長度大於等於1,長度小於等於100
message true String 訊息說明
長度大於等於1,長度小於等於500
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示呼叫成功,false 表示呼叫失敗






25、發布公告

描述

发布频道公告,支持置顶和弹窗
接口地址(仅做说明使用):https://api.polyv.net/live/v4/chat/add-bullentin

呼叫限制

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

單元測試

    @Test
    public void testAddBullentin() throws IOException, NoSuchAlgorithmException {
        LiveAddBullentinRequest liveAddBullentinRequest = new LiveAddBullentinRequest();
        Boolean liveAddBullentinResponse;
        try {
            String channelId = super.createChannel();
            liveAddBullentinRequest.setChannelId(channelId)
                    .setContent("测试发布公告")
                    .setIsTop(LiveConstant.Flag.YES.getFlag())
                    .setIsPop(LiveConstant.Flag.YES.getFlag());

            liveAddBullentinResponse = new LiveChatRoomServiceImpl().addBullentin(liveAddBullentinRequest);
            Assert.assertNotNull(liveAddBullentinResponse);
            if (liveAddBullentinResponse != null) {
                //to do something ......
                log.debug("测试发布公告成功 {}", liveAddBullentinResponse);
            }
        } 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 頻道號
content true String 公告內容
isTop false String 是否置頂,值為Y/N,預設N
isPop false String 是否彈窗,值為Y/N,預設N
appId false String POLYV用戶APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示呼叫成功,false 表示呼叫失敗






26、查詢頻道公告列表

描述

分页查询频道公告列表
接口地址(仅做说明使用):https://api.polyv.net/live/v4/chat/list-bullentin

呼叫限制

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

單元測試

    @Test
    public void testListBullentin() throws IOException, NoSuchAlgorithmException {
        LiveListBullentinRequest liveListBullentinRequest = new LiveListBullentinRequest();
        LiveListBullentinResponse liveListBullentinResponse;
        try {
            String channelId = super.createChannel();
            liveListBullentinRequest.setChannelId(channelId)
                    .setPageNumber(1)
                    .setPageSize(10);

            liveListBullentinResponse = new LiveChatRoomServiceImpl().listBullentin(liveListBullentinRequest);
            Assert.assertNotNull(liveListBullentinResponse);
            if (liveListBullentinResponse != null) {
                //to do something ......
                log.debug("测试查询公告列表成功 {}", JSON.toJSONString(liveListBullentinResponse));
            }
        } 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. 請求正確,回傳 LiveListBullentinResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參說明

參數名稱 必填 類型 說明
channelId true String 頻道號
sort false String 排序欄位,createTime:asc 升序,createTime:desc 降序
pageNumber false Integer 分頁頁碼,預設1
pageSize false Integer 分頁大小,預設10,最大不超過1000
appId false String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名稱 類型 說明
pageSize Integer 每頁資料大小
currentPage Integer 目前頁面【對應 API 文件的 pageNumber 欄位】
totalItems Integer 總筆數
totalPage Integer 總頁數【對應 API 文件的 totalPages 欄位】
contents Array 查詢結果列表【詳見 Bullentin 參數說明
Bullentin參數描述
參數名稱 類型 說明
id Long 公告ID
content String 公告內容
isTop Integer 是否置頂 : 0-否,1-是
isPop Integer 是否彈窗 : 0-否,1-是
canClose Integer 是否可關閉 : 0-否,1-是
createTime Long 建立時間
nick String 使用者暱稱
pic String 使用者頭像
联系客服,在线咨询