使用拼多多开放平台API根据商品ID获取商品详情

简介: 本文详解如何调用拼多多开放平台API(pdd.ddk.goods.detail)获取商品详情,涵盖认证授权、签名生成、请求构造与响应解析,并提供完整Python示例代码,助开发者快速集成商品数据能力。(239字)


引言
在电商系统开发或数据分析场景中,经常需要获取指定商品的详细信息。拼多多开放平台提供了丰富的API接口,其中获取商品详情是一个基础且重要的功能。本文将介绍如何使用拼多多开放平台的API,通过商品ID获取商品的完整详情数据。

核心流程
获取商品详情的主要步骤如下:

认证与授权:获取有效的访问令牌 (access_token)。
构建请求:使用商品ID和其他必要参数构造API请求。
发送请求:向拼多多API服务器发送HTTP请求。
解析响应:处理返回的JSON数据,提取所需信息。
关键API
拼多多开放平台中用于获取商品详情的核心API是: pdd.ddk.goods.detail (商品详情查询接口)

代码示例 (Python)
以下是一个使用Python语言调用该API的示例代码框架:

import requests
import hashlib
import time
import json

1. 准备基础信息 (需替换为你的实际信息)

client_id = "YOUR_CLIENT_ID" # 开放平台应用ID
client_secret = "YOUR_CLIENT_SECRET" # 开放平台应用密钥
access_token = "YOUR_ACCESS_TOKEN" # 通过OAuth2.0获取的有效令牌
goods_id = "1234567890" # 目标商品ID

2. 设置API地址

api_url = "https://open-api.pinduoduo.com/api/router"

3. 构造请求参数

timestamp = str(int(time.time())) # 当前时间戳
params = {
"type": "pdd.ddk.goods.detail", # API方法名
"client_id": client_id,
"timestamp": timestamp,
"access_token": access_token,
"goods_id_list": f'["{goods_id}"]' # 商品ID列表,支持批量查询
}

4. 生成签名 (sign) - 拼多多API要求

4.1 按key排序参数

sorted_params = sorted(params.items(), key=lambda x: x[0])

4.2 拼接键值对

param_str = client_secret
for key, value in sorted_params:
param_str += key + str(value)
param_str += client_secret

4.3 计算MD5

sign = hashlib.md5(param_str.encode('utf-8')).hexdigest().upper()
params["sign"] = sign

5. 发送GET请求

response = requests.get(api_url, params=params)

6. 处理响应

if response.status_code == 200:
data = response.json()

# 检查API返回是否成功
if data.get("error_response"):
    error_code = data["error_response"]["error_code"]
    error_msg = data["error_response"]["error_msg"]
    print(f"API调用失败! 错误码: {error_code}, 错误信息: {error_msg}")
else:
    # 提取商品详情
    goods_detail = data["goods_detail_response"]["goods_details"][0]  # 取第一个商品
    # 示例: 输出商品名称和价格
    print("商品名称:", goods_detail["goods_name"])
    print("商品价格:", goods_detail["min_group_price"] / 100)  # 价格单位为分,需除以100
    # 可以继续解析其他字段: 图片、描述、规格等
    # print(json.dumps(goods_detail, indent=2, ensure_ascii=False))  # 打印完整详情

else:
print("网络请求失败, 状态码:", response.status_code)

参数说明
client_id 和 client_secret: 在拼多多开放平台创建应用后获得。
access_token: 需要通过OAuth2.0授权流程获取,代表用户或商家的授权。具体获取方法请参考开放平台文档。
goods_id_list: 需要查询的商品ID列表,用JSON数组格式表示。示例中查询单个商品。
timestamp: 请求发起的时间戳,精确到秒。
sign: 根据 client_secret、所有参数(按key排序后拼接)和 client_secret 生成的MD5签名,用于验证请求合法性。
响应数据结构 (主要字段示例)
成功的响应中,商品详情主要包含在 goods_detail_response -> goods_details 列表中。每个商品对象包含丰富的信息,例如:

goods_id: 商品ID
goods_name: 商品名称
goods_desc: 商品描述
goods_image_url: 商品主图
min_group_price: 最小成团价 (单位:分)
category_id: 商品类目ID
category_name: 商品类目名称
mall_id: 店铺ID
mall_name: 店铺名称
goods_gallery_urls: 商品轮播图列表
goods_properties: 商品规格属性列表
... (更多字段请查阅官方文档)
注意事项
权限申请: 确保你的应用已申请并获得调用 pdd.ddk.goods.detail 接口的权限。
访问令牌管理: access_token 有有效期(通常2小时),过期后需要刷新或重新获取。生产环境需要实现令牌的自动刷新逻辑。
频率限制: 拼多多API对调用频率有限制,请遵守平台规则,避免高频请求触发限流。
沙箱环境: 开发阶段建议使用开放平台提供的沙箱环境进行测试。
错误处理: 务必检查响应中的 error_response 字段,并根据错误码 (error_code) 进行相应的错误处理。常见错误如令牌过期 (error_code=61001)。
数据单位: 注意价格等字段的单位(如分),在展示给用户前需要转换。
结语
通过拼多多开放平台的 pdd.ddk.goods.detail API,开发者可以方便地根据商品ID获取到详细的商品数据。掌握API调用、参数构造、签名生成和响应解析是成功集成的关键。在开发过程中,务必参考最新的拼多多开放平台官方文档以获取最准确的接口定义和参数要求。

相关文章
|
5月前
|
JSON 算法 安全
调用拼多多开放平台 API 获取店铺列表
本文介绍如何通过拼多多开放平台API获取店铺列表,涵盖接口调用流程、参数构造、签名生成及响应处理,助开发者安全高效实现店铺信息查询。
764 0
|
27天前
|
JSON 算法 5G
拼多多开放平台商品搜索API技术实践指南
拼多多商品搜索API(pdd.ddk.goods.search)支持关键词检索商品,返回ID、标题、价格、销量等核心信息,适用于比价与选品分析。个人开发者日调用2000次,企业认证可达10万次。需签名认证,支持多维度排序与优惠券筛选。(239字)
253 0
|
6月前
|
JSON 搜索推荐 API
拼多多商品详情API技术指南
拼多多商品详情API(pdd.goods.detail.get)支持通过商品ID获取商品标题、价格、销量、图片、库存及评价等详细信息,适用于电商数据分析、竞品监控与价格策略优化,返回标准JSON格式,便于集成开发。
|
29天前
|
JSON 算法 API
调用拼多多开放平台API获取店铺所有商品列表
本文详解拼多多开放平台商品列表API(pdd.goods.list.get)调用方法,涵盖授权流程、签名生成、关键参数、分页处理及响应解析,助力商家/开发者高效获取全量商品数据,适用于商品管理、数据分析等场景。(239字)
357 0
|
前端开发
jeecgboot数据权限用法
jeecgboot数据权限用法
1708 0
jeecgboot数据权限用法
|
6月前
|
缓存 API Python
如何通过API获取拼多多商品详情数据?
注册开放平台账号,获取client_id与client_secret,调用鉴权接口换取access_token(有效期24小时)。通过GET请求查询商品详情,需传goods_id和access_token。响应包含商品名称、价格、销量及SKU库存等信息。注意处理code非0的错误,控制请求频率≤100次/分钟,建议指数退避重试。Python示例使用requests实现。
770 0
|
8月前
|
JSON Java API
【干货满满】分享拼多多API接口到手价,用Java语言实现
本方案基于 Java 实现调用拼多多开放平台商品详情 API,通过联盟接口获取商品到手价(含拼团折扣与优惠券),包含签名生成、HTTP 请求及响应解析逻辑,适用于电商比价、导购系统集成。
|
5月前
|
API
拼多多商品列表API使用指南
拼多多商品列表API是拼多多开放平台的核心接口,支持关键词搜索、类目筛选、价格与销量排序,并提供分页查询功能,便于高效获取海量商品基本信息,适用于电商数据分析与商品聚合等场景。
|
5月前
|
缓存 JSON 搜索推荐
拼多多商品详情API接口指南
拼多多商品详情API是开放平台提供的商品数据查询接口,支持获取商品信息、价格、库存、销量、评价及促销等关键数据,返回结构化JSON格式。适用于电商数据分析、价格监测、竞品分析与个性化推荐场景,配合缓存、批量请求与签名优化策略,提升调用效率与系统稳定性。(238字)