保利威文档中心

帮助中心

批量添加频道商品

更新时间:2025-07-25 17:34:06

接口描述

1、批量添加频道商品库商品
2、(channelId, timestamp, appId)参与sign签名,并和sign一起通过url传递,请求体参数不参与签名,通过post请求体传递【请设置请求头contentType:application/json】
3、接口支持https协议

接口URL

http://api.polyv.net/live/v3/channel/product/batch-add

在线API调用

请求方式

POST

接口约束

1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看

2、当商品类型为普通商品时,商品名称、商品封面链接、商品实际价格、商品上下架状态、商品链接类型必传,并根据商品链接类型传入对应链接;当商品类型为金融商品时,商品名称、商品上下架状态、商品链接类型必传,并根据商品链接类型传入对应链接

请求参数描述

参数名 必选 类型 说明
appId true String 账号appId【详见获取密钥
timestamp true Long 当前13位毫秒级时间戳,3分钟内有效
sign true String 签名,为32位大写的MD5值,生成签名的appSecret密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据【详见签名生成规则
channelId true String 频道号

请求体参数描述

参数名 必选 类型 说明
true array 商品json数组

请求体参数描述

参数名 必选 类型 说明
productType false String 商品类型,可选值有:
normal: 普通商品
finance: 金融商品
position:职位商品
不传时默认为 normal
cover false String 普通商品(productType为normal)时,商品封面链接,必传且长度范围:1-500
金融商品(productType为finance)时,产品封面,非必填
职位商品(productType为position)时,职位封面,非必填 cover和ext选择其中一个字段传,如果同时传以ext为准
name true String 普通商品(productType为normal)时,商品名称,必填
金融商品(productType为finance)时,产品名称,必填
职位商品(productType为position)时,职位名称,必填
注:接口可支持1-100字符,直播后台设置仅支持1-50个字符
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
mobileLink false String 多平台链接,移动web端链接
wxMiniprogramLink false String 多平台链接,小程序内页面路径及参数(对于path属性,所声明的页面路径必须添加.html后缀,如pages/home/index.html)
wxMiniprogramOriginalId false String 多平台链接,小程序端原始Id
mobileAppLink false String 多平台链接,移动App端链接
androidLink false String 多平台链接,移动APP-安卓系统原生页面链接
iosLink false String 多平台链接,移动APP-苹果系统原生页面链接
params false String 自定义参数,该参数以String类型的json对象接收,请求时需要转义,见下方请求体参数示例
普通商品(productType为normal)时示例:{"id":21,"color":"blue","level":1},非必填
金融商品(productType为finance)时示例:{"id":21,"color":"blue","level":1},非必填
职位商品(productType为position)时必填且必须上传treatment(薪资/待遇)参数,例如:{"treatment":"7~8k"}
productDesc false String 普通商品(productType为normal)时,商品描述,非必填
金融商品(productType为finance)时,产品描述,非必填
职位商品(productType为position)时,职位描述,必填
features false String 该参数以String类型的json对象接收,请求时需要转义,见下方请求体参数示例
普通商品(productType为normal)时,产品标签,json数组,例如:["tab1", "tab2"]
金融商品(productType为finance)时,产品标签,json数组,例如:["tab1", "tab2"]
职位商品(productType为position)时,职位标签,json数组,例如:["tab1", "tab2", "tab3"],职位商品标签不足三个时用空字符串代替
btnShow true String 按钮显示文案
yield false String 金融商品(productType为finance)参数,产品收益率/价格
productDetail false String 商品详情
ext false String JSON对象字符串:{"coverList":["封面图地址,最多15个"], "videoList":[{"videoSource":"视频来源", "videoId":"视频ID"}]} 【详情见EXT】 cover和ext选择其中一个字段传,如果同时传以ext为准
tagIds false String 商品标签id列表:JSON数组字符串, 格式如: [100,102,103]
- - - 以下为普通商品专用参数 (productType=normal)
priceType false String 商品实际价格类型,可选值有:
AMOUNT: 金额
CUSTOM: 自定义
不传时默认为 AMOUNT
realPrice false Float 商品实际价格-金额,priceType=AMOUNT 时必传,最高精确度为两位小数,如 12.34
customPrice false String 商品实际价格-自定义,priceType=CUSTOM 时必传,最多20个字符
originalPriceType false String 商品原始价格(划线价格)类型,可选值有:
AMOUNT: 金额
CUSTOM: 自定义
默认为 AMOUNT
price false Float 商品原始价格(划线价格)-金额,originalPriceType=AMOUNT 时生效,最高精确度为两位小数,如 12.34
customOrignalPrice false String 商品原始价格(划线价格)-自定义,originalPriceType=CUSTOM 时生效,最多20个字符
备注:如果 price 和 customOriginalPrice 都为空,则表示不启用原始价格(划线价格)
- - - 以上为普通商品专用参数 (productType=normal)

EXT

参数名 必选 类型 说明
coverList true Array 封面图地址数组,最多15个
videoList false Array 视频数组,最多1个【详情见ChannelProductExtVideo】需要开通素材库才能用
jumpWay false String 购买方式为外链购买-通用链接的跳转方式: POP_UP-弹出框打开、NEW_WINDOW-新窗口打开、CURRENT_WINDOW-当前窗口打开

ChannelProductExtVideo

参数名 必选 类型 说明
videoId true String 视频ID
videoSource true String 视频来源: MATERIAL_LIBRARY-素材库

示例

http://api.polyv.net/live/v3/channel/product/batch-add?appId=frlr1zazn3&sign=8C89A574637594B0CB524039FC6D66C9&channelId=2288633&timestamp=1622177434141

请求体参数

[
    {
        "name": "测试添加金融产品1",
        "status": "1",
        "linkType": 10,
        "link": "http://live.polyv.net",      
        "btnShow": "测试按钮显示",
        "productDesc": "测试产品描述",
        "yield": "10.01%",
        "features": "[\"tab1\", \"tab2\"]",
        "params": "{\"id\":21,\"color\":\"blue\",\"level\":1}",
        "productType": "finance",
        "productDetail" : "<p>这是商品详情!</p>"
    },
    {
        "name": "测试添加金融产品1",
        "status": "1",
        "linkType": 10,
        "link": "http://live.polyv.net",
        "btnShow": "测试按钮显示",
        "productDesc": "测试产品描述",
        "yield": "10.01%",
        "features": "[\"tab1\", \"tab2\"]",
        "params": "{\"id\":21,\"color\":\"blue\",\"level\":1}",
        "productType": "finance",
        "productDetail" : "<p>这是商品详情!</p>"
    }
]

响应参数描述

参数名 类型 说明
code Integer 响应状态码,200为成功返回,非200为失败【详见全局错误说明
status String 响应状态文本信息
message String 响应描述信息,当code为400或者500的时候,辅助描述错误原因
data Array 请求成功时为商品信息【详见Data参数描述】,请求失败时为空
Data参数描述
参数名 类型 说明
productId Integer 商品productId
userId String POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)
channelId String 频道号
name String 商品名称
productType String 商品类型,可能的值有:
normal: 普通商品
finance: 金融商品
position:职位商品
cover String 商品封面链接
link String 商品通用类型商品链接
status Integer 商品上下架状态 ,
1:上架状态
2:下架状态
createdTime Long 创建商品时间,13位毫秒级时间戳
lastModified Long 更新商品时间,13位毫秒级时间戳
rank Integer 商品排序号
type String 平台标志,默认live,其他无效
linkType Integer 商品链接类型,
10:通用链接
11:多平台链接
pcLink String 多平台链接,PC端跳转链接
mobileLink String 多平台链接,移动WEB端跳转链接
wxMiniprogramLink String 多平台链接,小程序端跳转链接
wxMiniprogramOriginalId String 多平台链接,小程序端ID
mobileAppLink String 多平台链接,移动APP端跳转链接
androidLink String 多平台链接,移动APP-安卓系统原生页面链接
iosLink String 多平台链接,移动APP-苹果系统原生页面链接
params String 自定义参数,json对象
btnShow String 按钮显示文案
features String 普通商品(productType为normal)时,产品标签,json数组,例如:["tab1", "tab2"]
金融商品(productType为finance)时,产品标签,json数组,例如:["tab1", "tab2"]
职位商品(productType为position)时,职位标签,json数组,例如:["tab1", "tab2"]
productDesc String 产品描述,支持特殊字符
yield String 产品收益率/价格
productDetail String 商品详情,返回的是个内容存放的地址:例如 https://liveimages.videocc.net/product-info/product-detail/4d57ea01de/704007d1fdfd4cb2a5b3d3a842418831.json url存放的就是商品详情内容
ext String JSON对象字符串:{"coverList":["封面图地址,最多15个"], "videoList":[{"videoSource":"视频来源", "videoId":"视频ID"}]} 【详情见EXT
- - 以下为普通商品专用参数 (productType=normal)
priceType String 商品实际价格类型,可能的值有:
AMOUNT: 金额
CUSTOM: 自定义
realPrice Float 商品实际价格-金额,最高精确度为两位小数,如 12.34
customPrice String 商品实际价格-自定义
originalPriceType String 商品原始价格(划线价格)类型,可能的值有:
AMOUNT: 金额
CUSTOM: 自定义
price Float 商品原始价格(划线价格)-金额,最高精确度为两位小数,如 12.34
customOrignalPrice String 商品原始价格(划线价格)-自定义备注:如果 price 和 customOriginalPrice 都为空,则表示不启用原始价格(划线价格)
- - 以上为普通商品专用参数 (productType=normal)

商品详情productDetail url里存放内容示例

{
"productDetail": "<p>这是商品详情</p>"
}

Java请求示例

快速接入基础代码请下载相关依赖源码点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下载文件中。

强烈建议您使用直播Java SDK完成API的功能对接,直播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。

private static final Logger log = LoggerFactory.getLogger(ChannelOperateTest.class);
/**
 * 添加商品
 * @throws IOException
 */
@Test
public void testAddChannelProduct() throws IOException, NoSuchAlgorithmException {
        //公共参数,填写自己的实际参数
        String appId = super.appId;
        String appSecret = super.appSecret;
        String userId = super.userId;
        String timestamp = String.valueOf(System.currentTimeMillis());

        //业务参数
        String channelId = "2288633";
        String url = "http://api.polyv.net/live/v3/channel/product/batch-add";

        //http 调用逻辑
        Map<String, String> requestMap = new HashMap<>();
        requestMap.put("appId", appId);
        requestMap.put("timestamp", timestamp);
        requestMap.put("channelId", channelId);
        requestMap.put("sign",LiveSignUtil.getSign(requestMap, appSecret));
        url=HttpUtil.appendUrl(url,requestMap);
        String json = "[{\"name\":\"测试添加金融产品1\",\"status\":\"1\",\"linkType\":10,\"link\":\"http://live.polyv.net\",\"btnShow\":\"测试按钮显示\",\"productDesc\":\"测试产品描述\",\"yield\":\"10.01%\",\"features\":\"[\\\"tab1\\\", \\\"tab2\\\"]\",\"productType\":\"finance\"}]";
        String response = HttpUtil.postJsonBody(url, json,null);
        log.info("测试添加商品:{}",response);
        //do somethings

}

响应示例

系统全局错误说明详见全局错误说明

成功示例

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": [
            {
            "productId": 134827,
            "userId": "1b448be323",
            "channelId": 2272655,
            "name": "测试添加金融产品1",
            "price": null,
            "cover": "",
            "link": "http://live.polyv.net",
            "status": 1,
            "createdTime": 1661390909000,
            "lastModified": 1661390909000,
            "rank": 55,
            "realPrice": 0,
            "type": "live",
            "linkType": 10,
            "pcLink": "",
            "mobileLink": "",
            "androidLink": null,
            "iosLink": null,
            "otherLink": null,
            "wxMiniprogramLink": "",
            "wxMiniprogramOriginalId": "",
            "mobileAppLink": "",
            "params": "{\"id\": 21, \"color\": \"blue\", \"level\": 1}",
            "productType": "finance",
            "btnShow": "测试按钮显示",
            "features": "[\"tab1\", \"tab2\"]",
            "productDesc": "测试产品描述",
            "yield": "10.01%", 
            "productDetail" : "https://liveimages.videocc.net/product-info/product-detail/4d57ea01de/704007d1fdfd4cb2a5b3d3a842418831.json"
        },
        {
            "productId": 134828,
            "userId": "1b448be323",
            "channelId": 2272655,
            "name": "测试添加金融产品1",
            "price": null,
            "cover": "",
            "link": "http://live.polyv.net",
            "status": 1,
            "createdTime": 1661390909000,
            "lastModified": 1661390909000,
            "rank": 55,
            "realPrice": 0,
            "type": "live",
            "linkType": 10,
            "pcLink": "",
            "mobileLink": "",
            "androidLink": null,
            "iosLink": null,
            "otherLink": null,
            "wxMiniprogramLink": "",
            "wxMiniprogramOriginalId": "",
            "mobileAppLink": "",
            "params": "{\"id\": 21, \"color\": \"blue\", \"level\": 1}",
            "productType": "finance",
            "btnShow": "测试按钮显示",
            "features": "[\"tab1\", \"tab2\"]",
            "productDesc": "测试产品描述",
            "yield": "10.01%",
            "productDetail" : "https://liveimages.videocc.net/product-info/product-detail/4d57ea01de/704007d1fdfd4cb2a5b3d3a842418831.json"
        }
    ]
}

异常示例

{
    "code": 400,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}
联系客服,在线咨询