保利威文档中心

幫助中心

channelProduct

更新時間:2025-12-26 09:27:25

1、新增頻道商品

描述

添加频道商品库商品
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/product/add

呼叫限制

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

2、當商品類型為普通商品時,商品名稱、商品封面連結、商品實際價格、商品上下架狀態、商品連結類型為必填,並根據商品連結類型傳入對應連結。

3、當商品類型為金融商品時,商品名稱、商品上下架狀態、商品連結類型為必填,並根據商品連結類型傳入對應連結

單元測試

    @Test
    public void testAddChannelProduct() throws IOException, NoSuchAlgorithmException {
        LiveAddProductRequest liveAddProductRequest = new LiveAddProductRequest();
        LiveAddProductResponse liveAddProductResponse;
        try {
            LiveAddProductRequest.ExtObject ext = new LiveAddProductRequest.ExtObject();
            ext.setCoverList(Arrays.asList("https://liveimages.videocc.net/assets/wimages/pc_images/logo.png",
                    "https://s1.videocc.net/live-admin-v3/assets/img/5c5f0d2242a07f21.svg"));
            LiveAddProductRequest.Video video = new LiveAddProductRequest.Video();
            video.setVideoId("b820ac35dc3bb6be0dcb0841fcb379db");
            video.setVideoSource("MATERIAL_LIBRARY");
            ext.setVideoList(Collections.singletonList(video));
            ext.setJumpWay("POP_UP");
            liveAddProductRequest.setChannelId(super.createChannel())
                    .setName("测试添加普通产品1")
                    .setProductType("normal")
                    .setStatus(1)
                    .setLinkType(11)
                    .setPcLink("http://polyv.net")
                    .setMobileLink("http://polyv.net")
                    .setMobileAppLink("http://polyv.net")
                    .setWxMiniProgramLink("pages/home/index.html")
                    .setCover("https://liveimages.videocc.net/assets/wimages/pc_images/logo.png")
                    .setWxMiniProgramOriginalId("xxxxxxx")
                    .setYield("88")
                    .setFeatures("[\"tab1\", \"tab2\", \"tab3\", \"tab4\"]")
                    .setBtnShow("立即了解")
                    .setProductDesc("测试描述")
                    .setRealPrice(100F)
                    .setParams("{\"code\":123,\"color\":\"red\"}")
                    .setProductDetail("你能够点击购买<br/>为我们购买助力<a href='https://polyv.com'></a>")
                    .setExtObject(ext)
                    .setTagIds("[100,102,103]")
                    .setOriginalPriceType("CUSTOM")
                    .setCustomOriginalPrice("199.00")
                    .setAppId(super.getLiveAppInfo().getAppId())
                    .setAppSecret(super.getLiveAppInfo().getAppSecret());
            liveAddProductResponse = new LiveChannelProductServiceImpl().addChannelProduct(liveAddProductRequest);
            Assert.assertNotNull(liveAddProductResponse);
            if (liveAddProductResponse != null) {
                log.debug("测试添加频道商品成功 {}", JSON.toJSONString(liveAddProductResponse));
            }
        } 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、請求正確,回傳 LiveAddProductResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參描述

參數名 必填 類型 說明
channelId true String 頻道號
name true String 商品名稱,長度範圍:1-60
status true Integer 商品上下架狀態:1:上架,2:下架
linkType true Integer 商品連結類型:10:通用連結,11:多平台連結
link false String 商品連結,連結位址長度為1-500:請求參數linkType=10時,該參數必填,當請求參數linkType=11時,該參數為非必填
pcLink false String 多平台連結,PC端跳轉連結,連結位址長度為1-500:請求參數linkType=10時,該參數非必填,當請求參數linkType=11時,該參數必填
mobileLink false String 多平台連結,行動網頁端連結
wxMiniProgramLink false String 多平台連結,小程式內頁面路徑及參數(對於path屬性,所聲明的頁面路徑必須添加.html後綴,如pages/home/index.html)【對應API文件的wxMiniprogramLink欄位】
wxMiniProgramOriginalId false String 多平台連結,小程式端原始ID【對應API文件的wxMiniprogramOriginalId欄位】
mobileAppLink false String 多平台連結,行動App端連結
androidLink false String 多平台連結,行動APP-安卓系統原生頁面連結
iosLink false String 多平台連結,行動APP-蘋果系統原生頁面連結
params false String 自訂參數,類型JSON物件,需轉為string
productDesc false String 產品描述
features false String 產品特色,賣點標籤,可以多個,JSON欄位,如:["tab1", "tab2"]
cover false String 一般商品參數,商品封面連結,商品類型為一般商品時必傳,長度範圍:1-500
realPrice false Float 一般商品參數,商品實際價格,商品類型為一般商品時必傳,保留兩位小數,如:0.01
price false Float 一般商品參數,商品原價,保留兩位小數,如:0.01
btnShow false String 金融商品參數,按鈕顯示文案
yield false String 金融商品參數,產品收益率/價格
productType false String 商品類型,預設為一般商品:normal:一般商品,finance:金融商品
originId false String 平台商品ID,(有值則平台商品庫複製新建頻道商品,此時其他欄位只有status為必填)
strategy false String originId非空時的複製平台商品策略,可選值: copy-複製, ref-引用(建議使用此值),預設值為copy (引用平台商品庫的商品:平台商品庫改動商品欄位,會自動同步到頻道商品庫中。拷貝平台商品庫的商品:平台商品庫改動商品欄位,不會自動同步到頻道商品庫中)
productDetail false String 商品詳情,一般商品顯示
priceType false String 價格類型,預設不填為金額 AMOUNT,自訂價格 CUSTOM
customPrice false String 購買價格-自訂,當priceType=CUSTOM時生效
tagIds false String 商品標籤ID列表:JSON陣列字串,格式如: [100,102,103]
originalPriceType false String 商品原始價格(劃線價格)類型,可能的值有:AMOUNT: 金額、CUSTOM: 自訂
customOriginalPrice false String 商品原始價格(劃線價格)-自訂備註:如果 price 和 customOriginalPrice 都為空,則表示不啟用原始價格(劃線價格)
extObject false ExtObject 擴展資訊物件【詳見ExtObject參數描述
appId false String POLYV用戶APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
ExtObject參數描述
參數名 必選 類型 說明
coverList false Array 封面圖網址陣列,最多15個
videoList false Array 影片陣列,最多1個,需開通素材庫才能使用【詳見Video參數描述
jumpWay false Array 購買方式為外鏈購買-通用連結的跳轉方式:POP_UP 彈出視窗開啟、NEW_WINDOW 新視窗開啟、CURRENT_WINDOW 目前視窗開啟
Video參數描述
參數名稱 必填 類型 說明
videoId String 影片ID
videoSource String 影片來源: MATERIAL_LIBRARY-素材庫

回傳物件描述

參數名 類型 說明
productId Integer 商品productId
userId String POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
channelId String 頻道號
name String 商品名稱,長度範圍:1-60
price Float 普通商品參數,商品原價,保留兩位小數,如:0.01
cover String 商品封面連結
link String 商品通用類型商品連結
status Integer 商品上下架狀態:1:上架,2:下架
createdTime Date 建立商品時間
lastModified Date 更新商品時間
rank Integer 商品排序號
realPrice Float 商品實際價格,保留兩位小數,如:0.01
type String 平台標誌,預設live,其他無效
linkType Integer 商品連結類型:10:通用連結,11:多平台連結
pcLink String 多平台連結,pc端跳轉連結
mobileLink String 多平台連結,行動web端跳轉連結
wxMiniProgramLink String 多平台連結,小程式端跳轉連結【對應api文件的wxMiniprogramLink欄位】
wxMiniProgramOriginalId String 多平台連結,小程式端原始Id【對應api文件的wxMiniprogramOriginalId欄位】
mobileAppLink String 多平台連結,行動App端跳轉連結
androidLink String 多平台連結,行動APP-安卓系統原生頁面連結
iosLink String 多平台連結,行動APP-蘋果系統原生頁面連結
params String 自訂參數,類型json物件,需要轉為string
productType String 商品類型,normal:普通商品,finance:金融商品
btnShow String 按鈕顯示文案
features String 產品特色,賣點標籤,可以多個,json欄位,如:["tab1", "tab2"]
productDesc String 產品描述
yield String 金融商品參數,產品收益率/價格
productDetail String 商品詳情,回傳的是個內容存放的地址:例如 https://liveimages.videocc.net/product-info/product-detail/4d57ea01de/704007d1fdfd4cb2a5b3d3a842418831.json url存放的就是商品詳情內容
priceType String 價格類型,預設不填為金額 AMOUNT,自訂價格 CUSTOM
customPrice String 購買價格-自訂,當priceType=CUSTOM時候生效
tagIds String 商品標籤id列表:JSON陣列字串, 格式如: [100,102,103]
originalPriceType String 商品原始價格(劃線價格)類型,可能的值有:AMOUNT: 金額、CUSTOM: 自訂
customOriginalPrice String 商品原始價格(劃線價格)-自訂備註:如果 price 和 customOriginalPrice 都為空,則表示不啟用原始價格(劃線價格)
extObject ExtObject 擴展資訊物件【詳見ExtObject參數描述
ExtObject參數描述
參數名 必選 類型 說明
coverList false Array 封面圖網址陣列,最多15個
videoList false Array 影片陣列,最多1個,需開通素材庫才能使用【詳見Video參數描述
jumpWay false Array 購買方式為外鏈購買-通用連結的跳轉方式:POP_UP 彈出視窗開啟、NEW_WINDOW 新視窗開啟、CURRENT_WINDOW 目前視窗開啟
Video參數描述
參數名稱 必填 類型 說明
videoId String 影片ID
videoSource String 影片來源: MATERIAL_LIBRARY-素材庫






2、修改頻道商品資訊

描述

修改频道商品库商品信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/product/update

呼叫限制

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

2、當商品類型為普通商品時,商品名稱、商品封面連結、商品實際價格、商品上下架狀態、商品連結類型為必填項目,並根據商品連結類型傳入對應的連結。

3、當商品類型為金融商品時,商品名稱、商品上下架狀態、商品連結類型為必填,並根據商品連結類型傳入對應連結

單元測試

    @Test
    public void testUpdateChannelProduct() throws IOException, NoSuchAlgorithmException {
        LiveUpdateProductRequest liveUpdateProductRequest = new LiveUpdateProductRequest();
        Boolean liveUpdateProductResponse;
        try {
            LiveUpdateProductRequest.ExtObject extObject = new LiveUpdateProductRequest.ExtObject()
                    .setCoverList(Arrays.asList("https://liveimages.videocc.net/assets/wimages/pc_images/logo.png",
                            "https://s1.videocc.net/live-admin-v3/assets/img/5c5f0d2242a07f21.svg"))
                    .setVideoList(Collections.singletonList(new LiveUpdateProductRequest.Video()
                            .setVideoId("b820ac35dc3bb6be0dcb0841fcb379db")
                            .setVideoSource("MATERIAL_LIBRARY")))
                    .setJumpWay("POP_UP");
            String ext = JSON.toJSONString(extObject);
            liveUpdateProductRequest.setChannelId(createChannel())
                    .setProductId(getChannelProductId(createChannel()))
                    .setCover("https://liveimages.videocc.net/uploadimage/20200827/chat_img_1779741_15985125681801.jpeg")
                    .setRealPrice(Float.MIN_VALUE)
                    .setName("测试修改普通产品")
                    .setStatus(1)
                    .setProductType("normal")
                    .setLinkType(11)
                    .setPcLink("http://polyv.net")
                    .setMobileLink("http://polyv.net")
                    .setMobileAppLink("http://polyv.net")
                    .setWxMiniProgramLink("pages/home/index.html")
                    .setWxMiniProgramOriginalId("xxxxxxx")
                    .setYield("88.88")
                    .setFeatures("[\"tab1\", \"tab2\", \"tab3\", \"tab4\"]")
                    .setBtnShow("立即了解")
                    .setProductDesc("测试描述")
                    .setParams("{\"code\":123,\"color\":\"red\"}")
                    .setProductDetail("你能够点击购买<br/>为我们购买助力<a href='https://polyv.com'></a>")
                    .setTagIds("[100,102,103]")
                    .setPriceType("CUSTOM")
                    .setCustomPrice("99.00")
                    .setOriginalPriceType("CUSTOM")
                    .setCustomOriginalPrice("199.00")
                    .setExtObject(extObject)
                    .setExt(ext)
                    .setExtObject(null)
                    .setAppId(super.getLiveAppInfo().getAppId())
                    .setAppSecret(super.getLiveAppInfo().getAppSecret());
            liveUpdateProductResponse = new LiveChannelProductServiceImpl().updateChannelProduct(
                    liveUpdateProductRequest);
            Assert.assertTrue(liveUpdateProductResponse);
            if (liveUpdateProductResponse != null) {
                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 頻道號
productId true Integer 商品庫商品 productId
name true String 商品名稱,必填,長度範圍:1-60
status true Integer 商品上下架狀態:1:上架,2:下架
linkType true Integer 商品連結類型 10:通用連結 11:多平台連結
realPrice false Float 普通商品參數,商品類型為普通商品時必傳,商品購買價格,保留兩位小數,如:0.01
cover false String 商品封面連結,必填,長度範圍:1-500
price false Float 商品價格,保留兩位小數,如:0.01
link false String 通用連結,商品連結,長度1-500,當 linkType=10 時,該參數必填;當請求參數 linkType=11 時,該參數無效
pcLink false String 多平台連結,PC 端跳轉連結,長度1-500 當請求參數 linkType=11 時,該參數必填;當請求參數 linkType=10 時,該參數無效
mobileLink false String 多平台連結,行動 Web 端連結
wxMiniProgramLink false String 多平台連結,小程式內頁面路徑及參數(對於 path 屬性,所聲明的頁面路徑必須添加 .html 後綴,如 pages/home/index.html)【對應 API 文件的 wxMiniprogramLink 欄位】
wxMiniProgramOriginalId false String 多平台連結,小程式端原始 ID【對應 API 文件的 wxMiniprogramOriginalId 欄位】
mobileAppLink false String 多平台連結,行動 App 端連結
androidLink false String 多平台連結,行動 APP-安卓系統原生頁面連結
iosLink false String 多平台連結,行動 APP-蘋果系統原生頁面連結
params false String 自訂參數,類型 json 物件,需轉為 string
productDesc false String 產品描述
productDetail false String 產品詳情
features false String 產品特色,賣點標籤,可以多個,json 欄位,如:["tab1", "tab2"]
btnShow false String 金融商品參數,按鈕顯示文案
yield false String 金融商品參數,產品收益率/價格
productType false String 商品類型,預設為普通商品:normal:普通商品,finance:金融商品
tagIds false String 商品標籤 ID, json 物件 例如: [1,2,3]
priceType false String 商品實際價格類型,可選值有:AMOUNT: 金額、CUSTOM: 自訂、不傳時預設為 AMOUNT
customPrice false String 商品實際價格-自訂,priceType=CUSTOM 時必傳,最多20個字元
originalPriceType false String 商品原始價格(劃線價格)類型,可選值有: AMOUNT: 金額、CUSTOM: 自訂、預設為 AMOUNT
customOriginalPrice false String 商品原始價格(劃線價格)-自訂,originalPriceType=CUSTOM 時生效,最多20個字元,備註:如果 price 和 customOriginalPrice 都為空,則表示不啟用原始價格(劃線價格)
extObject false ExtObject 擴展資訊物件【詳見ExtObject參數描述
appId false String POLYV 用戶 APP_ID,多帳號調用時該參數必填(即調用了 initMultiAccount() 設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置)
appSecret false String POLYV 用戶 APP_SECRET,多帳號調用時該參數必填(即調用了 initMultiAccount() 設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置)
ExtObject參數描述
參數名 必選 類型 說明
coverList false Array 封面圖網址陣列,最多15個
videoList false Array 影片陣列,最多1個,需開通素材庫才能使用【詳見Video參數描述
jumpWay false Array 購買方式為外鏈購買-通用連結的跳轉方式:POP_UP 彈出視窗開啟、NEW_WINDOW 新視窗開啟、CURRENT_WINDOW 目前視窗開啟
Video參數描述
參數名稱 必填 類型 說明
videoId String 影片ID
videoSource String 影片來源: MATERIAL_LIBRARY-素材庫

回傳物件描述

null




3、查詢頻道商品庫開關狀態

描述

查询频道商品库开关状态
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/product/get-enabled

呼叫限制

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

單元測試

    @Test
    public void testGetChannelProductEnabled() throws IOException, NoSuchAlgorithmException {
        LiveGetProductEnabledRequest liveGetProductEnabledRequest = new LiveGetProductEnabledRequest();
        LiveGetProductEnabledResponse liveGetProductEnabledResponse;
        try {
            liveGetProductEnabledRequest.setChannelId(createChannel());
            liveGetProductEnabledResponse = new LiveChannelProductServiceImpl().getChannelProductEnabled(
                    liveGetProductEnabledRequest);
            Assert.assertNotNull(liveGetProductEnabledResponse);
            if (liveGetProductEnabledResponse != null) {
                //to do something ......
                log.debug("测试查询频道商品库开关状态成功{}", JSON.toJSONString(liveGetProductEnabledResponse));
            }
        } 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、請求正確,回傳 LiveGetProductEnabledResponse 物件,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() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

參數名 類型 說明
enabled String 開關狀態,Y:開啟,N:關閉






4、查詢頻道商品列表

描述

获取频道商品库商品列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/product/list

呼叫限制

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

單元測試

    @Test
    public void testGetChannelProductList() throws IOException, NoSuchAlgorithmException {
        LiveGetProductListRequest liveGetProductListRequest = new LiveGetProductListRequest();
        LiveGetProductListResponse liveGetProductListResponse;
        try {
            liveGetProductListRequest.setChannelId(createChannel()).setCurrentPage(1).setPageSize(2);
            liveGetProductListResponse = new LiveChannelProductServiceImpl().getChannelProductList(
                    liveGetProductListRequest);
            Assert.assertNotNull(liveGetProductListResponse);
            if (liveGetProductListResponse != null) {
                //to do something ......
                log.debug("测试查询频道商品列表成功{}", JSON.toJSONString(liveGetProductListResponse));
            }
        } 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、請求正確,回傳 LiveGetProductListResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求參數說明

參數名 必選 類型 說明
channelId true String 頻道號
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 查詢的商品列表【詳見channelProductList參數描述
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 目前頁面【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
channelProductList參數描述
參數名 類型 說明
productId Integer 商品 productId
userId String POLYV 使用者 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定)
channelId String 頻道號
name String 商品名稱
price Float 商品價格,保留兩位小數,如:0.01
cover String 商品封面連結
link String 商品通用類型商品連結
status Integer 商品上下架狀態,1:上架狀態,2:下架狀態
createdTime Date 建立商品時間,格式:yyyy-MM-dd HH:mm:ss
lastModified Date 更新商品時間,格式:yyyy-MM-dd HH:mm:ss
rank Integer 商品排序號
realPrice Float 商品實際價格,保留兩位小數,如:0.01
type String 平台標誌,預設 live,其他無效
linkType Integer 商品連結類型,10:通用連結,11:多平台連結
pcLink String 多平台連結,PC 端跳轉連結
mobileLink String 多平台連結,行動 Web 端跳轉連結
wxMiniProgramLink String 多平台連結,小程式端跳轉連結【對應 API 文件的 wxMiniprogramLink 欄位】
wxMiniProgramOriginalId String 多平台連結,小程式端原始 ID【對應 API 文件的 wxMiniprogramOriginalId 欄位】
mobileAppLink String 多平台連結,行動 App 端跳轉連結
androidLink String 多平台連結,行動 APP - Android 系統原生頁面連結
iosLink String 多平台連結,行動 APP - iOS 系統原生頁面連結
params String 自訂參數,類型 JSON 物件,需轉為 string
productType String 商品類型,normal:一般商品,finance:金融商品
btnShow String 按鈕顯示文字
features String 產品特色、賣點標籤,可多個,JSON 欄位,如:["tab1", "tab2"]
productDesc String 產品描述
yield String 金融商品參數,產品收益率/價格
showId Integer 顯示 ID






5、修改頻道商品庫開關狀態

描述

修改频道商品库商品列表开关状态,开启后,观看页将展示商品列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/product/update-enabled

呼叫限制

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

單元測試

    @Test
    public void testUpdateChannelProductEnabled() throws IOException, NoSuchAlgorithmException {
        LiveUpdateProductEnabledRequest liveUpdateProductEnabledRequest = new LiveUpdateProductEnabledRequest();
        Boolean liveUpdateProductEnabledResponse;
        try {
            liveUpdateProductEnabledRequest.setChannelId(createChannel()).setEnabled("Y");
            liveUpdateProductEnabledResponse = new LiveChannelProductServiceImpl().updateChannelProductEnabled(
                    liveUpdateProductEnabledRequest);
            Assert.assertTrue(liveUpdateProductEnabledResponse);
            if (liveUpdateProductEnabledResponse) {
                //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 頻道號
enabled true String 開關狀態,Y:開啟,N:關閉
appId false String POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示修改成功,false 表示修改失敗




6、修改頻道商品庫上下架狀態

描述

修改频道商品库商品上下架状态
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/product/shelf

呼叫限制

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

單元測試

    @Test
    public void testShelfChannelProduct() throws IOException, NoSuchAlgorithmException {
        LiveShelfChannelProductRequest liveShelfChannelProductRequest = new LiveShelfChannelProductRequest();
        Boolean liveShelfChannelProductResponse;
        try {
            liveShelfChannelProductRequest.setChannelId(createChannel())
                    .setProductId(super.getChannelProductId(createChannel()))
                    .setShelf(1);
            liveShelfChannelProductResponse = new LiveChannelProductServiceImpl().shelfChannelProduct(
                    liveShelfChannelProductRequest);
            Assert.assertTrue(liveShelfChannelProductResponse);
            if (liveShelfChannelProductResponse) {
                //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 頻道號
productId true Integer 商品ID
shelf true Integer 商品上下架狀態,1:上架,2:下架
appId false String POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示修改成功,false 表示修改失敗




7、推送頻道商品庫商品

描述

推送频道商品库商品
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/product/push-product

呼叫限制

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

2、僅商品為上架狀態才可進行推送

單元測試

    @Test
    public void testPushChannelProduct() throws IOException, NoSuchAlgorithmException {
        LivePushProductRequest livePushProductRequest = new LivePushProductRequest();
        Boolean livePushProductResponse;
        try {
            livePushProductRequest.setChannelId(createChannel())
                    .setProductId(super.getChannelProductId(createChannel()));
            livePushProductResponse = new LiveChannelProductServiceImpl().pushChannelProduct(livePushProductRequest);
            Assert.assertTrue(livePushProductResponse);
            if (livePushProductResponse) {
                //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 String 頻道號
productId Integer 商品 productId
appId String POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)
appSecret String POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定)

回傳物件描述

true 表示推送成功,false 表示推送失敗




8、修改頻道商品庫列表順序

描述

修改商品库商品列表顺序
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/product/sort

呼叫限制

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

2、排序在第一位的項目無法執行上移操作,最後一位無法執行下移操作

單元測試

    @Test
    public void testSortChannelProduct() throws IOException, NoSuchAlgorithmException {
        LiveSortChannelProductRequest liveSortChannelProductRequest = new LiveSortChannelProductRequest();
        Boolean liveSortChannelProductResponse;
        try {
            liveSortChannelProductRequest.setChannelId(createChannel())
                    .setProductId(super.getChannelProductId(createChannel()))
                    .setType(20);
            liveSortChannelProductResponse = new LiveChannelProductServiceImpl().sortChannelProduct(
                    liveSortChannelProductRequest);
            Assert.assertTrue(liveSortChannelProductResponse);
            if (liveSortChannelProductResponse) {
                //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 String 頻道號
productId Integer 商品ID
type Integer 商品上下移動操作,10:上移,20:下移
sort Integer type為50時必填,移動到的指定位置(範圍:1~商品總數)
appId String POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示修改成功,false 表示修改失敗




9、刪除頻道商品

描述

删除频道商品库商品
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/product/delete

呼叫限制

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

單元測試

    @Test
    public void testDeleteChannelProduct() throws IOException, NoSuchAlgorithmException {
        LiveDeleteChannelProductRequest liveDeleteChannelProductRequest = new LiveDeleteChannelProductRequest();
        Boolean liveDeleteChannelProductResponse;
        try {
            //准备测试数据
            Integer productId = super.getChannelProductId(createChannel());
            liveDeleteChannelProductRequest.setChannelId(createChannel()).setProductId(productId);
            liveDeleteChannelProductResponse = new LiveChannelProductServiceImpl().deleteChannelProduct(
                    liveDeleteChannelProductRequest);
            Assert.assertTrue(liveDeleteChannelProductResponse);
            if (liveDeleteChannelProductResponse) {
                //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 頻道號
productId true Integer 商品ID
appId false String POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)
appSecret false String POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定)

回傳物件描述

true 表示刪除成功,false 表示刪除失敗

联系客服,在线咨询