速卖通商品API接口全解析与实战指南
一、速卖通开放平台接入准备
1. 注册开发者账号
访问速卖通开放平台
企业账号需提供营业执照、法人身份证
个人账号权限受限(仅能访问部分API)
2. 申请API权限
接口类型权限标识适用场景
商品详情查询aliexpress.item.get单品数据获取
商品搜索aliexpress.item.search关键词/类目搜索
店铺商品列表aliexpress.item.list店铺商品抓取
订单数据获取aliexpress.order.list交易数据分析
3. 获取密钥
App Key:应用唯一标识(如12345678)
App Secret:签名加密密钥(如a1b2c3d4e5f6)
Access Token:通过OAuth 2.0授权获取(有效期1年)
二、核心API接口详解与调用示例
1. 商品详情接口 aliexpress.item.get
import requests
import hashlib
import time
def get_item_detail(item_id, app_key, app_secret):
url = "https://api.aliababa.com/aliexpress.openapi/item.get"
timestamp = str(int(time.time()*1000))
# 公共参数
params = {
"method": "aliexpress.item.get",
"app_key": app_key,
"item_id": item_id,
"timestamp": timestamp,
"sign_method": "md5"
}
# 生成签名
sign_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted(params.items())])
sign = hashlib.md5(sign_str.encode()).hexdigest().upper()
params['sign'] = sign
response = requests.get(url, params=params)
return response.json()
# 调用示例
# 封装好的速卖通商品详情供应商demo url=o0b.cn/ibrad,复制链接获取测试
item_data = get_item_detail("100000123456", "your_app_key", "your_app_secret")
响应数据结构:
{
"item": {
"item_id": "100000123456",
"title": "Wireless Bluetooth Headphones",
"price": "29.99",
"currency": "USD",
"sku": [
{
"sku_id": "789012",
"price": "25.99",
"specs": "Color:Black;Size:L",
"stock": 100
}
],
"main_images": ["https://ae01.alicdn.com/img1.jpg"],
"detail_html": "<div>Product Description...</div>",
"store_info": {
"store_id": "shop123456",
"store_name": "TechGadgets Store"
}
}
}
三、高级搜索接口 aliexpress.item.search
1. 请求参数优化
def search_items(keyword, app_key, app_secret, page=1):
params = {
"method": "aliexpress.item.search",
"app_key": app_key,
"q": keyword,
"page_no": page,
"sort": "volume_desc", # 按销量排序
"min_price": "10",
"max_price": "50",
"ship_to": "US", # 目标国家
"timestamp": str(int(time.time()*1000))
}
# 签名生成同上...
# 封装好的速卖通商品详情供应商demo url=o0b.cn/ibrad,复制链接获取测试
response = requests.get(url, params=params)
return response.json()
2. 搜索结果字段
total_results:总商品数
items:商品列表(标题、价格、销量、店铺评分)
filters:类目/属性筛选条件
四、数据清洗与存储方案
1. 价格数据清洗
def clean_price(price_str):
return float(price_str.replace('US $', '').strip())
2. 图片URL处理
def process_images(image_urls):
return [url if url.startswith('http') else f'https:{url}' for url in image_urls]
3. 存储到MySQL
CREATE TABLE aliexpress_items (
item_id VARCHAR(20) PRIMARY KEY,
title VARCHAR(255),
price DECIMAL(10,2),
currency CHAR(3),
store_id VARCHAR(20),
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_store (store_id)
);
CREATE TABLE item_skus (
sku_id VARCHAR(20) PRIMARY KEY,
item_id VARCHAR(20),
specs JSON,
price DECIMAL(10,2),
stock INT,
FOREIGN KEY (item_id) REFERENCES aliexpress_items(item_id)
);
五、商业应用场景
1. 价格监控系统
实时追踪TOP竞品价格波动
自动触发调价策略(保持比竞品低5%)
2. 选品分析工具
基于热搜词生成选品报告(如“夏季女装流行元素”)
计算商品竞争力指数:python复制def competitiveness_score(item): return (item['sales'] * 0.6 + item['store_rating'] * 0.3 + (1/item['price']) * 0.1)
3. 供应链优化
分析爆款商品发货地分布(如深圳3C、义乌小商品)
预测热门类目库存需求
六、错误处理与性能优化
1. 常见错误码处理
错误码含义解决方案
20010000无效签名检查签名生成逻辑
20020000参数缺失验证必填参数
20030000频率超限降低请求频率(≤5次/秒)
20040000商品不存在校验item_id有效性
2. 高并发优化策略
使用连接池(如requests.Session)
分布式爬虫架构(Scrapy-Redis)
异步请求(aiohttp + asyncio)
七、合规与法律注意事项
数据使用限制不得存储用户隐私数据(如买家手机号)遵守GDPR(欧盟)和CCPA(加州)数据保护法规
API调用规范禁止恶意爬取(频率需≤官方限制)商品数据需标注来源:“Data from AliExpress OpenAPI”
总结
通过速卖通商品API接口,开发者可快速构建价格监控、智能选品、供应链管理等工具。关键步骤包括:
申请API权限并妥善管理密钥
遵循签名规则与频率限制
设计健壮的数据清洗与存储方案
建立异常监控与自动恢复机制
建议结合业务需求选择接口组合,例如:
铺货型卖家:item.list + item.get 实现全店商品同步
数据服务商:item.search + 用户行为分析生成市场报告