拼多多商品信息批量获取及开放API接口调用指南
一、核心API接口介绍
1. 商品详情接口 pdd.goods.detail.get
- 功能:获取商品详细信息,包括标题、价格、库存、销量、主图/详情图URL、SKU属性等。
- 请求参数:
goods_id_list
:商品ID列表(JSON格式,必填)。app_key
:API密钥(必填)。timestamp
:时间戳(秒级,必填)。sign
:签名(通过MD5加密生成,必填)。
- 响应数据:
json
{
"goods_detail_response": {
"goods": {
"goodsID": "373913035272",
"goodsName": "夏季休闲女鞋皮鞋爆款网红单鞋",
"price": "89.00",
"stock_num": "1000",
"sales": "5000",
"topGallery": [
{"url": "https://img.pddpic.com/..."}
]
}
}
}
- 限流规则:商家限流3000次/60秒,需合理控制调用频率。
2. 联盟商品详情接口 pdd.ddk.goods.detail
- 功能:获取商品到手价(含优惠券、拼团价等优惠信息)。
- 请求参数:
goods_id_list
:商品ID列表(JSON格式,必填)。pid
:推广位ID(可选,用于获取专属优惠)。
- 认证方式:
client_id
+client_secret
+ 签名(MD5加密)。
二、调用流程详解
1. 注册与认证
- 步骤:
- 访问拼多多开放平台,注册账号并完成企业/个人认证。
- 创建应用,获取
App Key
和App Secret
(用于接口调用签名)。 - 提交API使用申请,说明业务场景(如商品分析、价格监控)。
2. 接口调用步骤
- 构造请求:
python
import requests
import hashlib
import time
class PDDAPI:
def __init__(self, client_id, client_secret):
self.client_id = client_id
self.client_secret = client_secret
self.base_url = "https://api.pinduoduo.com/router/rest"
def _generate_sign(self, params):
sorted_params = sorted(params.items(), key=lambda x: x[0])
sign_str = "&".join([f"{k}={v}" for k, v in sorted_params]) + self.client_secret
return hashlib.md5(sign_str.encode()).hexdigest().upper()
def get_goods_detail(self, goods_id):
params = {
"client_id": self.client_id,
"method": "pdd.goods.detail.get",
"goods_id_list": f'["{goods_id}"]',
"timestamp": str(int(time.time())),
"format": "json",
"v": "1.0"
}
params["sign"] = self._generate_sign(params)
response = requests.get(self.base_url, params=params)
if response.status_code == 200:
return response.json()
return None
- 发送请求:使用GET/POST方法发送HTTP请求,推荐使用Python的
requests
库。 - 解析响应:处理JSON格式的返回数据,提取所需字段(如商品价格、库存等)。
3. 批量获取实现
- 分页查询:部分接口支持分页参数(如
page_no
、page_size
),需循环调用以获取全部数据。 - 并发控制:利用异步请求或线程池提高效率,同时遵守限流规则(如3000次/60秒)。
三、权限与注意事项
1. 权限申请
- 在开发者控制台提交API使用申请,说明业务场景(如商品分析、价格监控)。
- 审核通过后,需签订使用协议,确保合规使用数据。
2. 安全与合规
- 密钥保护:严格保密
App Key
和App Secret
,避免泄露。 - 数据使用:遵守拼多多平台规则,不得滥用数据或用于非法用途。
- 频率限制:监控调用次数,避免触发限流(可通过缓存机制减少调用频率)。
四、应用场景示例
1. 电商ERP集成
- 目标:同步商品库存、价格至ERP系统,实现自动化管理。
- 步骤:
- 调用
pdd.goods.detail.get
获取商品库存和价格。 - 将数据映射至ERP系统字段(如
stock_num
→inventory
)。 - 设置定时任务(如每5分钟同步一次)。
- 调用
2. 价格监控
- 目标:定期获取竞品价格,动态调整定价策略。
- 步骤:
- 调用
pdd.ddk.goods.detail
获取商品到手价。 - 计算价格差值(如
self_price - competitor_price
)。 - 设置价格波动预警(如降价超过10%时推送通知)。
- 调用
3. 选品分析
- 目标:筛选高销量、高评价商品,辅助跨境选品决策。
- 步骤:
- 调用
pdd.goods.detail.get
获取商品销量和评价。 - 过滤条件(如
销量 > 1000
、评分 ≥ 4.8
)。 - 导出数据至Excel或生成可视化报表。
- 调用
五、常见问题解答
1. 如何申请API权限?
- 访问拼多多开放平台,注册并创建应用,提交API使用申请,审核通过后获取密钥。
2. 如何处理API限流?
- 使用缓存机制(如Redis)存储频繁请求的数据,减少API调用次数。
- 合理规划调用时间,避免在高峰期集中请求。
3. 如何调试API调用?
- 使用拼多多提供的拼多多开放API文档模拟请求,验证参数和响应。
通过以上指南,您可以高效、合规地调用拼多多开放API,实现商品信息的批量获取与业务集成。