淘宝获取商品规格接口(item-sku)操作详解
一、接口核心功能
淘宝item-sku
接口用于获取商品SKU(库存量单位)的详细信息,包括属性(如颜色、尺码)、库存、价格、销售状态及图片等。SKU是商品的不同规格组合,帮助商家管理库存和消费者了解商品差异。
二、调用流程与参数
1. 注册与授权
- 步骤:
- 注册淘宝开放平台账号:访问淘宝开放平台,使用淘宝账号登录或注册新账号。
- 创建应用:在开发者中心创建应用,填写应用名称、描述等信息,选择“电商后台”类目。
- 获取API密钥:应用创建成功后,获取
App Key
和App Secret
,这是调用接口的身份凭证。 - 申请API权限:在应用管理页面中,申请
taobao.item.sku.get
或taobao.skus.quantity.update
等SKU相关接口的权限。
2. 请求构造
接口地址:
https://gw.api.taobao.com/router/rest
必填参数:
参数名 类型 必填 说明 method
String 是 接口名称,如 taobao.item.sku.get
app_key
String 是 应用密钥(App Key) timestamp
String 是 请求时间戳,格式 YYYY-MM-DD HH:mm:ss
format
String 是 响应格式,默认为 json
v
String 是 API版本,默认为 2.0
sign_method
String 是 签名方法,如 md5
或hmac
num_iid
String 是 商品ID(可通过商品链接获取) sku_id
String 否 SKU ID(不传则返回商品所有SKU) is_promotion
Int 否 是否获取促销价,0为否,1为是 签名生成:
- 将所有请求参数按字母顺序排序,拼接成字符串(如
app_keyxxxmethodxxx...
)。 - 使用
App Secret
对拼接后的字符串进行加密(MD5或HMAC-SHA256),生成签名并转为大写。
- 将所有请求参数按字母顺序排序,拼接成字符串(如
3. 响应解析
返回JSON结构:
json
{
"taobao_item_sku_get_response": {
"result": {
"skus": {
"sku": [
{
"sku_id": "3880971359554",
"properties": "颜色:红色;尺码:M",
"price": "135.00",
"quantity": 200,
"img": "http://img.alicdn.com/xxx.jpg"
}
]
}
}
}
}
关键字段说明:
sku_id
:SKU唯一标识。properties
:属性组合(如“颜色:红色;尺码:M”)。price
:当前价格。quantity
:库存数量。img
:SKU图片URL。
三、示例代码(Python)
python
import requests |
import hashlib |
app_key = "YOUR_APP_KEY" |
app_secret = "YOUR_APP_SECRET" |
num_iid = "572050066584" |
sku_id = "3880971359554" |
# 构造请求参数 |
params = { |
"method": "taobao.item.sku.get", |
"app_key": app_key, |
"timestamp": "2025-07-17 12:00:00", |
"format": "json", |
"v": "2.0", |
"sign_method": "md5", |
"num_iid": num_iid, |
"sku_id": sku_id, |
"is_promotion": 0 |
} |
# 生成签名 |
sorted_params = sorted(params.items(), key=lambda x: x[0]) |
query = "".join([f"{k}{v}" for k, v in sorted_params]) |
sign = hashlib.md5((query + app_secret).encode()).hexdigest().upper() |
params["sign"] = sign |
# 发送请求 |
response = requests.get("https://gw.api.taobao.com/router/rest", params=params) |
print(response.json()) |
四、注意事项
- 频率限制:
- 普通开发者QPS≤10,企业认证可提升至100。
- 每日调用上限50000次,建议购买“独立资源池”权限。
- 数据更新:
- 商品信息每5分钟更新一次,高频调用建议加缓存(如Redis,过期时间30分钟)。
- 错误处理:
- 常见错误码:
10001
:参数错误。20002
:商品不存在。30001
:权限不足。
- 需根据淘宝开放平台-文档中心排查。
- 常见错误码:
- 合规性:
- 禁止存储用户敏感信息(如买家评论中的手机号)。
- 图片需通过CDN代理引用,避免直接使用淘宝源链接。
五、高级应用场景
- 库存同步:
- 使用
taobao.skus.quantity.update
接口实时更新库存,结合虚拟库存方案降低出错率。 - 示例请求:
json
{
"method": "taobao.skus.quantity.update",
"num_iid": "572050066584",
"skus": {
"sku": [
{"sku_id": "3880971359554", "quantity": 150}
]
}
}
- 使用
- 促销价获取:
- 设置
is_promotion=1
以获取活动价、优惠券信息。
- 设置
- 批量查询:
- 通过
taobao.items.list.get
一次性获取多个商品SKU,提升效率。
- 通过
六、工具支持
- API Explorer:在线调试接口,生成代码示例。
- 开放平台SDK:支持Java、Python、C#等语言,简化流程。
- 监控:使用阿里云日志服务监控API调用情况,确保系统稳定运行。
通过以上步骤,您可高效集成淘宝SKU接口,实现商品数据自动化管理。