保利威文档中心

帮助中心

引用平台商品到频道商品

更新时间:2025-11-14 22:10:10

接口描述

1、将平台商品引用到指定频道(支持是否同步平台商品标签)
2、(channelId, timestamp, appId)参与sign签名,并和sign一起通过url传递,请求体参数不参与签名,通过post请求体传递【请设置请求头contentType:application/json】
3、接口支持https协议

接口URL

http://api.polyv.net/live/v3/channel/product/reference

在线API调用

请求方式

POST

接口约束

1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看 2、复制时必须提供 originId 与 status;withTags 为可选(默认false)。复制策略固定为 REF,无需传入 strategy

请求参数描述

参数名 必选 类型 说明
appId true String 账号appId【详见获取密钥
timestamp true Long 当前13位毫秒级时间戳,3分钟内有效
sign true String 签名,为32位大写的MD5值
channelId true String 频道号

请求体参数描述

参数名 必选 类型 说明
originId true String 平台商品原始ID
status true Integer 商品上下架状态:1=上架,2=下架
withTags false Boolean 是否同步平台商品标签,默认false

示例

http://api.polyv.net/live/v3/channel/product/reference?appId=frlr1zazn3&timestamp=1670471250000&channelId=2288633&sign=149397BFD607C518A841DAF8777D6A7E

请求体json参数:

{
  "originId": "1986275608147554304",
  "status": 1,
  "withTags": false
}

响应参数描述

参数名 类型 说明
code Integer 响应状态码,200为成功返回,非200为失败
status String 响应结果,由业务决定,成功返回success,失败返回error
message String 错误或提示信息
data Object 成功时返回新增频道商品信息

Java请求示例

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

强烈建议您使用直播Java SDK完成API的功能对接,SDK对API调用、异常处理、签名、HTTP线程池统一封装。

private static final Logger log = LoggerFactory.getLogger(ChannelOperateTest.class);
/**
 * 复制平台商品到频道
 */
@Test
public void testCopyChannelProduct() throws IOException, NoSuchAlgorithmException {
    // 公共参数
    String appId = super.appId;
    String appSecret = super.appSecret;
    String timestamp = String.valueOf(System.currentTimeMillis());

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

    // 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);

    Map<String, Object> json = new HashMap<>();
    json.put("originId", "1986275608147554304");
    json.put("status", 1);
    json.put("withTags", false);

    String response = HttpUtil.postJsonBody(url, JSON.toJSONString(json), null);
    log.info("测试复制平台商品到频道:{}", response);
}

响应示例

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

成功示例

{
  "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%"
  }
}

异常示例

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