保利威文档中心

幫助中心

引用平台商品到頻道商品

更新時間: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": ""
}
联系客服,在线咨询