一、核心功能
淘宝开放平台提供的店铺商品API接口,允许开发者通过编程方式获取指定店铺内所有商品的详细信息,包括但不限于:
- 基础信息:商品ID、标题、价格、原价、库存、销量、商品描述、图片URL等。
- 动态数据:实时库存、销量、促销状态(如限时折扣、满减活动)。
- SKU信息:颜色、尺寸、价格等规格组合及对应库存。
- 分类与筛选:支持按商品分类、价格区间、销量排序等条件筛选商品。
- 分页查询:通过
page_no和page_size参数实现分页,单页最多返回100条数据。
二、主要API接口
-
taobao.shop.items.get-
功能:获取店铺内所有商品的基础信息列表。
-
请求参数:
json { "app_key": "你的AppKey", "method": "taobao.shop.items.get", "timestamp": "2025-08-14 17:00:00", "format": "json", "v": "2.0", "shop_id": "123456789", // 店铺ID "page_no": 1, // 页码 "page_size": 50, // 每页商品数 "fields": "num_iid,title,price,stock,image_url" // 返回字段 } -
响应示例:
json { "items": { "item": [ { "num_iid": 112233445566, "title": "夏季新款纯棉T恤", "price": "59.90", "stock": 100, "image_url": "https://img01.taobao.com/xxx.jpg" }, { "num_iid": 223344556677, "title": "休闲牛仔裤", "price": "89.00", "stock": 50, "image_url": "https://img02.taobao.com/yyy.jpg" } ] }, "total_results": 200, // 总商品数 "page_no": 1, "page_size": 50 }
-
-
taobao.item.get-
功能:根据商品ID获取单个商品的完整信息(如描述、规格、属性等)。
-
请求参数:
json { "app_key": "你的AppKey", "method": "taobao.item.get", "timestamp": "2025-08-14 17:00:00", "format": "json", "v": "2.0", "num_iid": "112233445566", // 商品ID "fields": "num_iid,title,price,desc,props,sku_info" } -
响应示例:
json { "item": { "num_iid": 112233445566, "title": "夏季新款纯棉T恤", "price": "59.90", "desc": "<html>商品详情HTML描述...</html>", "props": [ { "name": "品牌", "value": "豆包服饰" }, { "name": "材质", "value": "100%棉" } ], "sku_info": { "skus": [ { "sku_id": "111222", "properties": "颜色:白色;尺码:S", "price": "59.90", "stock": 30 } ] } } }
-
-
item_search_shop(第三方服务接口)-
功能:部分第三方数据平台提供扩展接口,支持更灵活的查询条件(如按分类筛选、排序方式)。
-
请求参数:
json { "shop_id": "123456789", "page": 1, "sort": "price_asc", // 按价格升序 "category_id": "123" // 商品分类ID } -
响应示例:
json { "status": "success", "data": { "shop_name": "时尚潮流店铺", "products": [ { "product_id": "11111", "title": "时尚连衣裙", "price": "199.00", "images": ["https://example.com/dress1.jpg"] } ] } }
-
三、调用流程
-
注册与认证
- 在[淘宝开放平台]注册开发者账号,完成实名认证。
- 创建应用,获取
App Key和App Secret。
-
- 在应用管理界面申请
shop_items_get、item_get等接口权限,审核通过后生效。
- 在应用管理界面申请
-
生成签名
-
使用
App Secret对请求参数进行MD5签名,防止数据篡改。 -
签名示例(Python):
python import hashlib def generate_sign(params, app_secret): sorted_params = sorted(params.items(), key=lambda x: x[0]) sign_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + app_secret return hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()
-
-
发送请求
-
通过HTTP GET/POST请求调用接口,附上签名和必要参数。
-
Python示例:
python import requests def get_shop_items(shop_id, page_no=1, page_size=50): url = "https://eco.taobao.com/router/rest" params = { "method": "taobao.shop.items.get", "app_key": "你的AppKey", "timestamp": "2025-08-14 17:00:00", "format": "json", "v": "2.0", "shop_id": shop_id, "page_no": page_no, "page_size": page_size, "fields": "num_iid,title,price,stock,image_url" } params["sign"] = generate_sign(params, "你的AppSecret") response = requests.get(url, params=params) return response.json()
-