chatRoomService
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;
}
}
單元測試說明
- 請求正確,回傳 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;
}
}
單元測試說明
- 請求正確,回傳 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 | 使用者頭像 |
