保利威文档中心

幫助中心

修改廣告

更新時間:2023-02-02 10:14:18

介面描述

1、通过广告id修改广告设置
2、接口URL中的{userid}为点播账号userid,具体参考菜单【使用须知】->【获取密钥】
3、接口支持https协议

介面URL

http://api.polyv.net/v2/advertising/{userid}/edit

請求方式

POST

介面限制

1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看

請求參數描述

參數名 必選 類型 說明
userid true String 保利威點播帳戶id,可參考【取得金鑰】取得,取得路徑:官網->登入->點播(API介面)
ptime true Long 當前時間的毫秒級時間戳,3分鐘內有效
sign true String 簽名,為40位大寫的SHA1值,產生簽名的secretkey金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則
adid true String 廣告id,該值可參考【查詢廣告列表】取得
startDate false String 廣告開始日期,格式為:yyyy-MM-dd,例如:2021-04-07
endDate false String 廣告結束日期,格式為:yyyy-MM-dd,例如:2021-04-10
title false String 廣告標題
file false File 廣告素材
片頭、片尾廣告支援:JPEG,GIF,PNG,FLV,MP4
暫停廣告支援:SWF,PNG,JPEG,GIF
彈窗廣告支援:PNG,JPEG,GIF
size false Integer 廣告時長,除請求參數location為暫停廣告外,其他廣告類型都為必填參數,單位秒
cataids false String 分類id,關聯多分類時,以英文逗號分隔,預設值為1,1是預設分類
location false Integer 廣告類型,預設為片頭
1:片頭
2:暫停
3:片尾
4:彈窗
popLocation false Integer 廣告彈窗位置,當請求參數location為彈窗時必填
1:右下角
2:右上角
3:左下角
4:左上角
popUpTime false Integer 彈窗出現的時間,單位秒,當請求參數location為彈窗時必填
status false Integer 廣告狀態,預設為已上線
10:已上線
1:待上線
0:已下線
upTime false String 廣告開始時間,格式為:HH:mm:ss,預設為:00:00:00
offTime false String 廣告結束時間,格式為:HH:mm:ss,預設為:23:59:59
note false String 廣告描述
skipAd false String 是否開啟跳過廣告,僅當請求參數location為片頭廣告有效,預設值為N
Y:開啟
N:關閉
skipOffset false String 多少秒後允許跳過,當請求參數skipAd為Y時,該欄位為必填參數
skipButtonLabel false String 跳過按鈕標籤,預設為跳過

範例

http://api.polyv.net/v2/advertising/1b448be323/edit

表單參數:

note=%E6%B5%8B%E8%AF%95%E4%B8%8B%E4%BF%AE%E6%94%B9%E5%B9%BF%E5%91%8A&endDate=2021-04-10&popLocation=1&sign=61AAC2C374DB0FB93EF83EF1B4FC632191C75864&title=%E6%B5%8B%E8%AF%95%E4%BF%AE%E6%94%B9%E5%B9%BF%E5%91%8A&upTime=15%3A00%3A00&cataids=1615286323771&adid=4229e33f07c141ef96b7&popUpTime=2&size=5&location=4&offTime=15%3A50%3A00&ptime=1617872873234&startDate=2021-04-07&status=10

回應參數描述

參數名 類型 說明
code Integer 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明
status String 回應狀態文字資訊
message String 回應描述資訊,當code為400或500時,輔助描述錯誤原因
data Object 回應成功時返回true,回應失敗時返回空

返回錯誤代碼列表

回應代碼 message 說明
400 sign can not be empty. 加密串為空
400 ptime is too old. 時間戳過期
400 ptime is illegal. 時間戳參數格式不對或超過當前時間3分鐘
400 Could not find user by userid. userid不存在
400 the sign is not right. 加密串不正確
400 file is empty. 沒上傳檔案或為空檔案
400 illegal file type. 非法的檔案類型
400 upload file failed. 上傳檔案失敗
400 startDate or endDate error. 日期格式不正確或開始日期大於結束日期
400 upTime or offTime error. 時間格式不正確或開始時間大於結束時間
400 param status can not be empty. 廣告狀態不能為空
400 title can not be empty. 廣告標題不能為空
400 cataids length is not right. 分類數量不正確
400 exist the same cataid. 存在相同的cataid
400 cataid type error. cataid類型錯誤
400 cata not exist. 分類不存在
400 cata conflict. 不能同時存在父分類和子分類
400 param location error. 廣告類型錯誤
400 param addrurl error. 連結位址錯誤
400 pop location error. 彈窗位置錯誤
400 pop up time error. 彈窗出現時間錯誤
400 admatter is not exist. 廣告不存在
400 illegal skipOffset. 開啟了跳過廣告,但skipOffset參數不正確(不得小於0或大於廣告時長)
400 location type not supported to skipAd. 廣告類型不支援開啟跳過廣告
400 save fail. 伺服器異常導致失敗

Java請求範例

快速接入基礎程式碼請下載相關依賴原始碼點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 VodSignUtil.java 都包含在下載檔案中。

強烈建議您使用點播Java SDK完成API的功能對接,點播Java SDK 對API呼叫邏輯、異常處理、資料簽名、HTTP請求執行緒池進行了統一封裝和最佳化。

private static final Logger log = LoggerFactory.getLogger(VodVideoAdvertising.class);
/**
 * 修改广告
 */
@Test
public void testModifyAdvertising() throws Exception, NoSuchAlgorithmException {
    //公共参数,填写自己的实际参数
    String secretKey = super.secretKey;
    String userid = super.userId;
    String ptime = String.valueOf(System.currentTimeMillis());
    //业务参数
    String url = String.format("http://api.polyv.net/v2/advertising/%s/edit", userid);
    String adid = "4229e33f07c141ef96b7";
    String startDate = "2021-04-07";
    String endDate = "2021-04-10";
    String title = "测试修改广告";
    String advertisingPath =  getClass().getResource("/file/").getPath() + "advertisement.jpeg";
    File file = new File(advertisingPath);
    String size = "5";
    String cataids = "1615286323771";
    String location = "4";
    String popLocation = "1";
    String popUpTime = "2";
    String status = "10";
    String upTime = "15:00:00";
    String offTime = "15:50:00";
    String note = "测试下修改广告";

    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("ptime", ptime);
    requestMap.put("startDate", startDate);
    requestMap.put("endDate", endDate);
    requestMap.put("title", title);
    Map<String,File> fileMap = new HashMap<>();
    fileMap.put("file",file);
    requestMap.put("adid",adid);
    requestMap.put("size", size);
    requestMap.put("cataids", cataids);
    requestMap.put("location", location);
    requestMap.put("popLocation", popLocation);
    requestMap.put("popUpTime", popUpTime);
    requestMap.put("status", status);
    requestMap.put("upTime", upTime);
    requestMap.put("offTime", offTime);
    requestMap.put("note", note);
    requestMap.put("sign", VodSignUtil.getSign(requestMap, secretKey));

    String response = HttpUtil.postFile(url, requestMap,fileMap,Constant.UTF8);
    log.debug("测试修改广告,{}", response);
    //do somethings

}

回應範例

系統全域錯誤說明詳見全域錯誤說明

成功範例

{
    "code": 200,
    "status": "success",
    "message": "success",
    "data": true
}

異常範例

{
  "code": 400,
  "status": "error",
  "message": "ptime is too old.",
  "data": ""
}
联系客服,在线咨询