advertisingService
1、建立影片廣告
描述
通过上传广告文件及时间范围等参数创建视频广告
接口地址(仅做说明使用):https://api.polyv.net/v2/advertising/%s/create
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateAdvertising() throws IOException, NoSuchAlgorithmException {
VodCreateAdvertisingRequest vodCreateAdvertisingRequest = new VodCreateAdvertisingRequest();
String vodCreateAdvertisingResponse = null;
try {
String filePath = getClass().getResource("/img/cover.jpg").getPath();
vodCreateAdvertisingRequest.setStartDate(super.getDate(2021, 2, 22))
.setEndDate(super.getDate(2021, 3, 22))
.setTitle("测试广告")
.setFile(new File(filePath))
.setSize(2)
.setCategoryIds("1")
.setLocation(1)
.setStatus(10)
.setUpTime("00:00:00")
.setOffTime("23:59:59")
.setNote("测试广告描述")
.setSkipAd("Y")
.setSkipOffset(1)
.setSkipButtonLabel("跳过广告");
vodCreateAdvertisingResponse = new VodAdvertisingServiceImpl().createAdvertising(
vodCreateAdvertisingRequest);
Assert.assertNotNull(vodCreateAdvertisingResponse);
if (vodCreateAdvertisingResponse != null) {
log.debug("测试创建视频广告成功,{}", vodCreateAdvertisingResponse);
}
} 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.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| startDate | true | Date | 廣告開始日期,格式為 yyyy-MM-dd |
| endDate | true | Date | 廣告結束日期,格式為 yyyy-MM-dd |
| title | true | String | 廣告標題 |
| file | true | File | 廣告素材,片頭、片尾廣告素材支援:JPEG, GIF, PNG, FLV, MP4;暫停廣告支援:SWF, PNG, JPEG, GIF;彈窗廣告支援 PNG, JPEG, GIF。 |
| size | true | Integer | 廣告時長,除暫停廣告外,皆為必填參數。單位:秒 |
| categoryIds | false | String | 分類 ID,關聯多分類時,以英文逗號分隔,預設值為預設分類 1【對應 API 文件的 cataids 欄位】 |
| location | false | Integer | 廣告類型,片頭 1,暫停 2,片尾 3,彈窗 4;預設為 1:片頭 |
| popLocation | false | Integer | 廣告彈窗位置,廣告類型為彈窗時必填,右下角 1,右上角 2,左下角 3,左上角 4 |
| popUpTime | false | Integer | 彈窗出現的時間,單位秒,廣告類型為彈窗時必填 |
| status | false | Integer | 廣告狀態,已上線 10,待上線 1,已下線 0;預設為 10:已上線 |
| upTime | false | String | 廣告開始時間,格式為 HH:mm:ss,預設為 00:00:00 |
| offTime | false | String | 廣告結束時間,格式為 HH:mm:ss,預設為 23:59:59 |
| note | false | String | 廣告描述 |
| skipAd | false | String | Y 表示開啟跳過廣告,N 表示關閉跳過廣告。僅片頭廣告有效,預設為 N:關閉跳過廣告 |
| skipOffset | false | Integer | 多少秒後允許跳過,當 skipAd 為 Y 時,該欄位為必要參數 |
| skipButtonLabel | false | String | 跳過按鈕標籤,預設為跳過 |
回傳物件描述
建立成功回傳影片廣告 ID
2、查詢影片廣告列表
描述
分页查询视频广告列表
接口地址(仅做说明使用):https://api.polyv.net/v2/advertising/%s/list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetAdvertisingList() throws IOException, NoSuchAlgorithmException {
VodGetAdvertisingListRequest vodGetAdvertisingListRequest = new VodGetAdvertisingListRequest();
VodGetAdvertisingListResponse vodGetAdvertisingListResponse = null;
try {
vodGetAdvertisingListRequest.setCurrentPage(1).setPageSize(10);
vodGetAdvertisingListResponse = new VodAdvertisingServiceImpl().getAdvertisingList(
vodGetAdvertisingListRequest);
Assert.assertNotNull(vodGetAdvertisingListResponse);
if (vodGetAdvertisingListResponse != null) {
log.debug("测试查询视频广告列表成功,{}", JSON.toJSONString(vodGetAdvertisingListResponse));
}
} 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、請求正確,回傳 VodGetAdvertisingListResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| currentPage | false | Integer | 頁數,預設為 1【對應 API 文件的 page 欄位】 |
| pageSize | false | Integer | 每頁顯示的資料筆數,預設每頁顯示 20 筆資料 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| contents | Array | 回傳的結果集【詳見 AdvertisingInfo 參數描述】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示 20 筆資料 |
| currentPage | Integer | 目前頁【對應 API 文件的 pageNumber 欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應 API 文件的 totalPages 欄位】 |
AdvertisingInfo 參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| advertisingId | String | 廣告 ID【對應 API 文件的 adid 欄位】 |
| title | String | 廣告標題 |
| note | String | 廣告描述 |
| userId | String | 使用者 ID【對應 API 文件的 userid 欄位】 |
| location | Integer | 廣告類型(片頭 1,暫停 2,片尾 3,彈窗 4) |
| matterUrl | String | 廣告素材位址【對應 API 文件的 matterurl 欄位】 |
| size | Integer | 廣告時長 (s) |
| playNum | Integer | 播放次數【對應 API 文件的 playnum 欄位】 |
| addrUrl | String | 連結位址【對應 API 文件的 addrurl 欄位】 |
| stasis | Integer | 廣告是否懸浮(是為 1,不是為 2),預設為 2:否【對應 API 文件的 isstatis 欄位】 |
| upTime | Date | 投放開始時間,格式 HH:mm:ss【對應 API 文件的 uptime 欄位】 |
| offTime | Date | 投放結束時間,格式 HH:mm:ss【對應 API 文件的 offtime 欄位】 |
| startDate | Date | 投放開始日期,格式為:yyyy-MM-dd【對應 API 文件的 startdate 欄位】 |
| endDate | Date | 投放結束日期,格式為:yyyy-MM-dd【對應 API 文件的 enddate 欄位】 |
| lastModified | Date | 修改時間【對應 API 文件的 ptime 欄位】 |
| status | Integer | 投放狀態(已上線 10,待下線 1,已下線 0),預設為 10:已上線 |
| popUptime | Integer | 彈窗出現的時間,單位秒【對應 API 文件的 popuptime 欄位】 |
| categoryIds | String | 內容分類,關聯多分類時,以英文逗號分隔,預設值為預設分類 1【對應 API 文件的 cataids 欄位】 |
| popLocation | Integer | 彈窗位置(右下角 1,右上角 2,左下角 3,左上角 4)【對應 API 文件的 poplocation 欄位】 |
3、修改影片廣告
描述
通过广告id修改视频广告信息
接口地址(仅做说明使用):https://api.polyv.net/v2/advertising/%s/edit
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateAdvertising() throws IOException, NoSuchAlgorithmException {
VodUpdateAdvertisingRequest vodUpdateAdvertisingRequest = new VodUpdateAdvertisingRequest();
Boolean vodUpdateAdvertisingResponse = null;
try {
String filePath = getClass().getResource("/img/cover.jpg").getPath();
vodUpdateAdvertisingRequest.setAdvertisingId("ea7a04430dd04d01853d")
.setCategoryIds("1")
.setStartDate(super.getDate(2021, 2, 22))
.setEndDate(super.getDate(2021, 3, 22))
.setTitle("测试广告(Junit测试,勿删)")
.setFile(new File(filePath))
.setSize(2)
.setCategoryIds("1")
.setLocation(1)
.setStatus(0)
.setUpTime("00:00:00")
.setOffTime("23:59:59")
.setNote("测试广告描述")
.setSkipAd("Y")
.setSkipOffset(1)
.setSkipButtonLabel("跳过广告");
vodUpdateAdvertisingResponse = new VodAdvertisingServiceImpl().updateAdvertising(
vodUpdateAdvertisingRequest);
Assert.assertTrue(vodUpdateAdvertisingResponse);
if (vodUpdateAdvertisingResponse) {
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.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| advertisingId | true | String | 廣告資訊 ID【對應 API 文件的 adid 欄位】 |
| startDate | false | Date | 廣告開始日期,格式為 yyyy-MM-dd |
| endDate | false | Date | 廣告結束日期,格式為 yyyy-MM-dd |
| title | false | String | 廣告標題 |
| file | false | File | 廣告素材,片頭、片尾廣告素材支援:JPEG, GIF, PNG, FLV, MP4;暫停廣告支援:SWF, PNG, JPEG, GIF;彈窗廣告支援 PNG, JPEG, GIF。 |
| size | false | Integer | 廣告時長,除暫停廣告外,皆為必填參數。單位:秒 |
| categoryIds | false | String | 分類 ID,關聯多分類時,以英文逗號分隔,預設值為預設分類 1【對應 API 文件的 cataids 欄位】 |
| location | false | Integer | 廣告類型,片頭 1,暫停 2,片尾 3,彈窗 4;預設為 1:片頭 |
| popLocation | false | Integer | 廣告彈窗位置,廣告類型為彈窗時必填,右下角 1,右上角 2,左下角 3,左上角 4 |
| popUpTime | false | Integer | 彈窗出現的時間,單位秒,廣告類型為彈窗時必填 |
| status | false | Integer | 廣告狀態,已上線 10,待上線 1,已下線 0;預設為 10:已上線 |
| upTime | false | String | 廣告開始時間,格式為 HH:mm:ss,預設為 00:00:00 |
| offTime | false | String | 廣告結束時間,格式為 HH:mm:ss,預設為 23:59:59 |
| note | false | String | 廣告描述 |
| skipAd | false | String | Y 表示開啟跳過廣告,N 表示關閉跳過廣告。僅片頭廣告有效,預設為 N:關閉跳過廣告 |
| skipOffset | false | Integer | 多少秒後允許跳過,當 skipAd 為 Y 時,該欄位為必要參數 |
| skipButtonLabel | false | String | 跳過按鈕標籤,預設為跳過 |
回傳物件描述
true 為修改成功,false 為修改失敗
4、刪除影片廣告
描述
通过广告id删除视频广告
接口地址(仅做说明使用):https://api.polyv.net/v2/advertising/%s/delete
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteAdvertising() throws IOException, NoSuchAlgorithmException {
VodDeleteAdvertisingRequest vodDeleteAdvertisingRequest = new VodDeleteAdvertisingRequest();
Boolean vodDeleteAdvertisingResponse = null;
try {
//准备测试数据
String advertisingId = super.createAdvertisingOther();
vodDeleteAdvertisingRequest.setAdvertisingId(advertisingId);
vodDeleteAdvertisingResponse = new VodAdvertisingServiceImpl().deleteAdvertising(
vodDeleteAdvertisingRequest);
Assert.assertTrue(vodDeleteAdvertisingResponse);
if (vodDeleteAdvertisingResponse) {
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.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| advertisingId | true | String | 廣告資訊 ID【對應 API 文件的 adid 欄位】 |
回傳物件描述
true 為刪除成功,false 為刪除失敗
