以下是淘系 API 接口获取商品详情与 SKU 数据的全流程解决方案,结合最新政策与技术实现,助您高效完成数据对接:
一、核心接口与权限配置
1. 商品详情接口(taobao.item.get)
- 功能:获取商品基础信息、价格、库存、属性等
- 关键参数:
{
"num_iid": "633123456789", # 商品ID
"fields": "num_iid,title,price,desc,skus", # 按需筛选字段
"is_promotion": 1 # 获取促销价
}
- 返回示例:
{
"item": {
"num_iid": "633123456789",
"title": "智能手表",
"price": "1999.00",
"desc": "<html>商品详情...</html>",
"skus": {
"sku": [
{
"sku_id": "123456",
"properties": "1627207:28332;1627208:32345", # 属性组合ID
"quantity": 100,
"specs": [{"name": "颜色", "value": "黑色"}, {"name": "尺寸", "value": "42mm"}]
}
]
}
}
}
2. SKU 详情接口(taobao.item.sku.get)
- 功能:获取商品 SKU 的库存、价格、属性值等
- 关键参数:
{ "num_iid": "633123456789", "sku_id": "123456", "fields": "sku_id,price,quantity,specs" }
二、开发流程与技术实现
1. 权限申请与认证
- 注册淘宝平台账号
- 创建应用:选择 “电商后台” 类目,开通后台接口
获取凭证:在应用管理页面获取App Key和App Secret
# 获取授权码(Server-side flow) auth_url = f"https://oauth.taobao.com/authorize?client_id={app_key}&redirect_uri={redirect_uri}&response_type=code" # 获取访问令牌 token_url = "https://oauth.taobao.com/token" data = { "grant_type": "authorization_code", "code": code, "client_id": app_key, "client_secret": app_secret, "redirect_uri": redirect_uri } response = requests.post(token_url, data=data) access_token = response.json()["access_token"]
2. API 调用示例(Python)
import requests import json def get_item_detail(num_iid, app_key, app_secret): url = "https://eco.taobao.com/router/rest" params = { "method": "taobao.item.get", "app_key": app_key, "timestamp": "2025-04-06 12:00:00", "format": "json", "v": "2.0", "sign_method": "hmac", "num_iid": num_iid, "fields": "num_iid,title,price,desc,skus" } # 生成签名 params["sign"] = generate_sign(params, app_secret) response = requests.get(url, params=params) return json.loads(response.text) def generate_sign(params, secret): # 签名算法实现(参考淘宝开放平台文档) sorted_params = sorted(params.items(), key=lambda x: x[0]) query = "".join([f"{k}{v}" for k, v in sorted_params]) return hmac.new(secret.encode(), query.encode(), hashlib.md5).hexdigest().upper()
三、数据解析与业务应用
1. SKU 属性映射
# 解析属性组合ID def parse_sku_properties(props_str): props = {} for prop in props_str.split(";"):
prop_id, value_id = prop.split(":") # 通过taobao.itemprops.get接口获取属性名称
prop_name = get_prop_name(prop_id)
props[prop_name] = get_prop_value(value_id) return props def get_prop_name(prop_id):
# 调用属性接口获取名称 pass def get_prop_value(value_id): # 调用属性值接口获取名称 pass
四、性能优化与合规建议
1. 高频调用优化
- 批量查询:使用
taobao.items.list.get
接口一次性获取多个商品 - 缓存机制:Redis 缓存热门商品数据(建议过期时间 30 分钟)
- 异步请求:使用
asyncio
并发处理多个 API 请求
2. 合规性要求
- 数据隐私:不得存储用户敏感信息(如买家评论中的手机号)
- 版权保护:图片需通过 CDN 代理引用,避免直接使用淘宝源链接
- 调用频率:普通开发者每日调用上限 50000 次,建议购买 “独立资源池” 权限
五、最新政策与工具支持
- 官方工具:
- API Explorer:在线调试接口,生成代码示例
- 开放平台 SDK:支持 Java、Python、C# 等语言,简化流程
通过以上方案,您可高效集成淘系 API,实现商品数据自动化管理。建议定期查看淘宝注册平台获取最新接口动态,并使用阿里云日志服务监控 API 调用情况,确保系统稳定运行。