保利威文档中心

帮助中心

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 多平台链接,移动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 产品描述
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 false String 视频ID
videoSource false 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 false String 视频ID
videoSource false 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 false String 视频ID
videoSource false 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-安卓系统原生页面链接
iosLink String 多平台链接,移动APP-苹果系统原生页面链接
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 true String 频道号
productId true Integer 商品productId
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false 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 true String 频道号
productId true Integer 商品ID
type true Integer 商品上下移动操作,10:上移,20:下移
sort false Integer type为50时必传,移动到的指定位置(范围:1~商品总数)
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false 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为删除失败

联系客服,在线咨询