一、典型返回值结构(JSON示例)
json
{
"item_sales_get_response": {
"item": {
"num_iid": "123456789", // 商品ID
"title": "示例商品标题", // 商品名称
"sales": 1500, // 30天累计销量(关键字段)
"confirm_goods_count": 1450, // 确认收货数量(更精准销量)
"pay_count": 1480, // 支付订单数(含未确认收货)
"favorite_count": 500, // 收藏数(辅助数据)
"cart_count": 300, // 加购数(辅助数据)
"update_time": "2025-05-27 14:00:00" // 数据更新时间
},
"request_id": "abc123xyz" // 请求唯一标识
}
}
二、核心字段解析
销量相关字段
sales:通常指30天累计销量,但可能包含未确认收货的订单(需结合业务逻辑校验)。
confirm_goods_count:更精准的销量数据,仅统计已确认收货的订单(需接口权限)。
pay_count:支付订单数,反映实际购买行为(可能高于确认收货数)。
辅助数据字段
favorite_count、cart_count:反映商品热度,但非直接销量指标。
update_time:数据更新时间戳,用于判断数据时效性。
状态与错误字段
error_response(错误时返回):
json
{
"code": "40002",
"msg": "Invalid App Key",
"sub_code": "isv.invalid-parameter",
"sub_msg": "参数非法"
}
三、注意事项
接口权限与调用限制
需申请“商品销量查询”权限(如taobao.item.sales.get接口),部分接口需企业资质。
调用频率限制:通常QPS≤2(每秒请求数),超限返回429 Too Many Requests。
数据准确性
销量数据可能延迟(如T+1更新),需结合update_time字段校验。
刷单行为可能导致数据失真,建议结合评价、店铺信誉等综合分析。
字段可选性
通过fields参数指定返回字段(如fields=num_iid,sales,confirm_goods_count),减少冗余数据。
四、代码示例(Python)
python
import requests
import hashlib
import time
def get_item_sales(app_key, app_secret, item_id):
url = "eco.taobao.com/router/rest"
timestamp = time.strftime("%Y-%m-%d %H:%M:%S")
params = {
"method": "taobao.item.sales.get",
"app_key": app_key,
"timestamp": timestamp,
"format": "json",
"v": "2.0",
"sign_method": "md5",
"num_iid": item_id,
"fields": "num_iid,sales,confirm_goods_count,update_time"
}
生成签名
sorted_params = sorted(params.items(), key=lambda x: x[0])
base_string = app_secret + "&".join([f"{k}{v}" for k, v in sorted_params]) + app_secret
params["sign"] = hashlib.md5(base_string.encode("utf-8")).hexdigest().upper()
response = requests.get(url, params=params)
return response.json()
调用示例
result = get_item_sales(
app_key="your_app_key",
app_secret="your_app_secret",
item_id="123456789"
)
print(result)
五、替代方案
生意参谋:付费订阅,提供更详细的销量分析(如日销、转化率)。
淘宝联盟:推广数据接口,含销量与佣金信息(需签约)。
第三方数据服务
数据威、奇点数据:提供批量采集与清洗服务,适合企业级需求。
六、合规性要求
禁止爬虫采集或数据转售,违反《淘宝开放平台服务协议》可能导致封禁。
敏感数据(如用户信息)需二次授权,确保符合《个人信息保护法》。