Query Channel Product List
Interface Description
1、获取频道商品库商品列表
2、支持分页
3、接口支持https协议
Interface URL
http://api.polyv.net/live/v3/channel/product/list
<a href="/req.html?api=http://api.polyv.net/live/v3/channel/product/list"" target="_blank">Online API Call
Request Method
GET
Interface Constraints
- The interface supports both HTTP and HTTPS. HTTPS is recommended to ensure interface security. Interface calls are subject to frequency limits. For details, please refer to.
Request Parameter Description
| Parameter | Required | Type | Description |
|---|---|---|---|
| appId | true | String | Account appId [See Get Secret Key] |
| timestamp | true | Long | Current 13-digit millisecond timestamp, valid within 3 minutes |
| sign | true | String | Signature, a 32-character uppercase MD5 value. The appSecret key used to generate the signature is critical for communication data security. It must never be used directly on the client side. All APIs must be called through the customer's own server to relay requests to the POLYV server and obtain responses. [See Signature Generation Rules] |
| channelId | true | String | Channel ID |
| status | false | Integer | Listing status [1: Listed, 2: Unlisted] |
| productIds | false | String | Product IDs, separated by commas for multiple IDs |
| page | false | Integer | Current page, defaults to 1 |
| size | false | Integer | Number of items per page, defaults to 10, maximum 100 |
Example
http://api.polyv.net/live/v3/channel/product/list?size=1&appId=frlr1zazn3&sign=4C526B259BEFD10B90F9B159AE1CB92A&page=1&channelId=1965681×tamp=1621843424385
Response Parameter Description
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Response status code. 200 indicates success, non-200 indicates failure [see Global Error Description] |
| status | String | Response status text |
| message | String | Response description. When code is 400 or 500, provides additional error details |
| data | Object | Contains product information on success [see Data Parameter Description], empty on failure |
Data Parameter Description
| Parameter | Type | Description |
|---|---|---|
| pageSize | Integer | Number of items per page |
| pageNumber | Integer | Current page number |
| totalItems | Integer | Total number of items |
| contents | Array | List of query results [See Contents parameter description] |
| startRow | Integer | Position of the first record on the current page in the total result set |
| firstPage | Boolean | Whether it is the first page, value: true/false |
| lastPage | Boolean | Whether it is the last page, value: true/false |
| prePageNumber | Integer | Previous page number |
| nextPageNumber | Integer | Next page number |
| limit | Integer | Number of items per page |
| totalPages | Integer | Total number of pages |
| endRow | Integer | Position of the last record on the current page in the total result set |
| offset | Integer | Starting record for pagination |
Contents Parameter Description
| Parameter Name | Type | Description |
|---|---|---|
| productId | Integer | Product ID |
| userId | String | POLYV user ID, consistent with the one on the POLYV official website. Path: Official Website -> Login -> Live (Development Settings) |
| channelId | String | Channel ID |
| name | String | Product name |
| productType | String | Product type. Possible values: normal: General product finance: Financial product position: Job product |
| cover | String | Product cover URL |
| link | String | General product link |
| status | Integer | Product listing status 1: Listed 2: Unlisted |
| createdTime | Long | Product creation time, 13-digit millisecond timestamp |
| lastModified | Long | Product update time, 13-digit millisecond timestamp |
| rank | Integer | Product sort order |
| type | String | Platform identifier, default is "live", others are invalid |
| linkType | Integer | Product link type 10: General link 11: Multi-platform link |
| pcLink | String | Multi-platform link, PC redirect URL |
| mobileLink | String | Multi-platform link, Mobile web redirect URL |
| wxMiniprogramLink | String | Multi-platform link, WeChat Mini Program redirect URL |
| wxMiniprogramOriginalId | String | Multi-platform link, WeChat Mini Program ID |
| mobileAppLink | String | Multi-platform link, Mobile app redirect URL |
| androidLink | String | Multi-platform link, Mobile app - Android native page URL |
| iosLink | String | Multi-platform link, Mobile app - iOS native page URL |
| params | String | Custom parameters, JSON object |
| showId | Integer | Display ID |
| btnShow | String | Button display text |
| features | String | Product features, selling point tags, JSON array |
| productDesc | String | Product description, supports special characters |
| yield | String | Product yield/price |
| originId | String | Source ID, has value for products copied from the platform product library |
| productDetail | String | Product details, returns a content storage address. For example, https://liveimages.videocc.net/product-info/product-detail/4d57ea01de/704007d1fdfd4cb2a5b3d3a842418831.json URL stores the product detail content |
| ext | String | Extended information: JSON object string: {"coverList":["Cover image URLs, up to 15"], "videoList":[{"videoSource":"Video source", "videoId":"Video ID"}]} See details in EXT |
| tags | List | Product tag information See details in Product Tag Information |
| - | - | The following are parameters specific to general products (productType=normal) |
| priceType | String | Actual product price type. Possible values: AMOUNT: Amount CUSTOM: Custom |
| realPrice | Float | Actual product price - amount, maximum precision of two decimal places, e.g., 12.34 |
| customPrice | String | Actual product price - custom |
| originalPriceType | String | Original product price (strikethrough price) type. Possible values: AMOUNT: Amount CUSTOM: Custom |
| price | Float | Original product price (strikethrough price) - amount, maximum precision of two decimal places, e.g., 12.34 |
| customOrignalPrice | String | Original product price (strikethrough price) - custom note: If both price and customOriginalPrice are empty, the original price (strikethrough price) is not enabled |
| - | - | The above are parameters specific to general products (productType=normal) |
Example of content stored in the productDetail URL
{
"productDetail": "<p>这是商品详情</p>"
}
EXT
| Parameter | Required | Type | Description |
|---|---|---|---|
| coverList | true | Array | Array of cover image URLs, up to 15 |
| videoList | false | Array | Array of videos, up to 1 See ChannelProductExtVideo Requires the material library to be enabled |
| jumpWay | false | String | Jump method for external link purchase - universal link: POP_UP - open in popup, NEW_WINDOW - open in new window, CURRENT_WINDOW - open in current window |
ChannelProductExtVideo
| Parameter | Required | Type | Description |
|---|---|---|---|
| videoId | true | String | Video ID |
| videoSource | true | String | Video source: MATERIAL_LIBRARY - Material Library |
Product Tag Information
| Parameter | Required | Type | Description |
|---|---|---|---|
| id | true | Long | Tag ID |
| name | true | String | Tag name |
Java Request Example
Quick Integration Basic Code Please download the relevant dependency source code, click here to download the source code. After downloading, add it to your own source project. The test cases HttpUtil.java and LiveSignUtil.java are both included in the downloaded file.
It is strongly recommended that you use the Live Java SDK to complete the API integration. The Live Java SDK provides a unified encapsulation and optimization for API call logic, exception handling, data signing, and HTTP request thread pooling.
private static final Logger log = LoggerFactory.getLogger(ChannelOperateTest.class);
/**
* 查询频道商品库商品列表
* @throws IOException
*/
@Test
public void testGetChannelProductList() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId=super.appId;
String appSecret=super.appSecret;
String userId = super.userId;
String timestamp=String.valueOf(System.currentTimeMillis());
//业务参数
String channelId = "1965681";
String url = "http://api.polyv.net/live/v3/channel/product/list";
String page = "1";
String size = "1";
//http 调用逻辑
Map<String,String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp",timestamp);
requestMap.put("channelId", channelId);
requestMap.put("page",page);
requestMap.put("size", size);
requestMap.put("sign",LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.get(url, requestMap);
log.info("测试查询频道商品库商品列表:{}",response);
//do somethings
}
Response Example
For system-wide error descriptions, see Global Error Description.
Successful Example
{
"code": 200,
"status": "success",
"message": "",
"data": {
"pageSize": 1,
"pageNumber": 1,
"totalItems": 53,
"contents": [
{
"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%",
"showId": 53
}
],
"limit": 1,
"totalPages": 53,
"nextPageNumber": 2,
"endRow": 1,
"startRow": 1,
"firstPage": true,
"lastPage": false,
"prePageNumber": 1,
"offset": 0
}
}
Error Example
{
"code": 400,
"status": "error",
"message": "invalid signature.",
"data": ""
}
