拼多多商品详情接口解析与实战代码
拼多多,作为中国的一家知名电商平台,为第三方开发者提供了丰富的API接口,其中商品详情接口(item_get)是获取商品详细信息的关键接口之一。通过该接口,开发者可以获取商品的标题、价格、销量、评价等关键信息,为电商数据分析、供应链管理、商品推荐等提供有力支持。
接口功能
拼多多商品详情接口允许开发者通过商品ID获取商品的详细信息,包括但不限于商品标题、价格、促销价、优惠券信息、库存、销量、详情图片、SKU属性等。这些信息对于电商企业分析商品市场、优化库存管理、提升用户购物体验等方面具有重要意义。
请求参数与签名
在使用拼多多商品详情接口之前,开发者需要在拼多多开放平台上注册开发者账号,并创建应用以获取应用ID和密钥。在请求接口时,需要包含以下参数:
client_id
:开放平台分配的应用ID。timestamp
:时间戳,格式为Unix时间戳,单位为毫秒。sign
:签名,对请求参数和应用密钥使用HMAC-SHA256算法生成的签名字符串。
代码示例
以下是一个使用Python语言调用拼多多商品详情接口的示例代码:
python
import requests |
import hmac |
import hashlib |
import time |
import urllib.parse |
# 拼多多商品详情接口URL模板 |
url_template = "https://api-gw.pinduoduo.com/router" |
# 应用ID和密钥(请替换为您自己的) |
client_id = 'your_client_id' |
client_secret = 'your_client_secret' |
# 商品ID(请替换为您要查询的商品ID) |
num_iid = '1234567890' |
# 生成签名 |
def generate_sign(params, secret): |
params = sorted(params.items()) |
string_to_sign = '&'.join([f"{k}={v}" for k, v in params]) |
string_to_sign = f"{string_to_sign}&secret={secret}" |
return hmac.new(secret.encode('utf-8'), string_to_sign.encode('utf-8'), hashlib.sha256).hexdigest().upper() |
# 请求参数 |
params = { |
'type': 'pdd.ddk.goods.detail', # 接口类型 |
'client_id': client_id, |
'timestamp': int(time.time() * 1000), # Unix时间戳,单位为毫秒 |
'num_iid': num_iid, |
'p_id_list': '[]', # 推广位ID列表,空数组表示不传 |
'adzone_id': '0', # 推广位ID,不传则默认为0 |
'goods_id_list': f'[{num_iid}]' # 商品ID列表 |
} |
# 生成签名并添加到参数中 |
params['sign'] = generate_sign(params, client_secret) |
# 将参数转换为URL编码的查询字符串 |
query_string = urllib.parse.urlencode(params) |
# 拼接完整的请求URL |
full_url = f"{url_template}?{query_string}" |
# 发送GET请求 |
response = requests.get(full_url) |
# 解析响应数据 |
json_obj = response.json() |
print(json_obj) |
响应数据
拼多多商品详情接口的响应数据是一个JSON对象,包含商品的详细信息。以下是一个示例响应数据:
json
{ |
"goods_detail_response": { |
"goods": { |
"goods_id": "1234567890", |
"goods_name": "商品标题", |
"min_group_price": "10.00", # 最低价 |
"discount_rate": "80", # 折扣率 |
"pic_url": "https://.../goods_image.jpg", # 商品主图URL |
"sku_list": [ |
{ |
"sku_id": "1", |
"outer_id": "outer_id_1", |
"price": "10.00", |
"quantity": 100, # 库存数量 |
"sku_name": "颜色:红色;尺码:M", |
"thumb_url": "https://.../sku_image.jpg" # SKU图片URL |
}, |
... |
], |
... |
} |
} |
} |
结语
通过以上介绍和代码示例,开发者可以更加深入地了解拼多多商品详情接口的使用方法和响应数据格式。利用该接口,开发者可以获取商品的详细信息,为电商平台的商品管理、数据分析、用户推荐等功能提供有力支持。