速賣(mài)通商品API接口全解析與實(shí)戰(zhàn)指南
一、速賣(mài)通開(kāi)放平臺(tái)接入準(zhǔn)備
1. 注冊(cè)開(kāi)發(fā)者賬號(hào)
- 訪問(wèn)速賣(mài)通開(kāi)放平臺(tái)
- 企業(yè)賬號(hào)需提供營(yíng)業(yè)執(zhí)照、法人身份證
- 個(gè)人賬號(hào)權(quán)限受限(僅能訪問(wèn)部分API)
2. 申請(qǐng)API權(quán)限
接口類(lèi)型 | 權(quán)限標(biāo)識(shí) | 適用場(chǎng)景 |
---|---|---|
商品詳情查詢 | aliexpress.item.get | 單品數(shù)據(jù)獲取 |
商品搜索 | aliexpress.item.search | 關(guān)鍵詞/類(lèi)目搜索 |
店鋪商品列表 | aliexpress.item.list | 店鋪商品抓取 |
訂單數(shù)據(jù)獲取 | aliexpress.order.list | 交易數(shù)據(jù)分析 |
3. 獲取密鑰
- App Key:應(yīng)用唯一標(biāo)識(shí)(如12345678)
- App Secret:簽名加密密鑰(如a1b2c3d4e5f6)
- Access Token:通過(guò)OAuth 2.0授權(quán)獲?。ㄓ行?年)
二、核心API接口詳解與調(diào)用示例
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))
# 公共參數(shù)
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()
# 調(diào)用示例
# 封裝好的速賣(mài)通商品詳情供應(yīng)商demo url=o0b.cn/ibrad,復(fù)制鏈接獲取測(cè)試
item_data = get_item_detail("100000123456", "your_app_key", "your_app_secret")
響應(yīng)數(shù)據(jù)結(jié)構(gòu):
{
"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"
}
}
}
三、高級(jí)搜索接口 aliexpress.item.search
1. 請(qǐng)求參數(shù)優(yōu)化
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", # 按銷(xiāo)量排序
"min_price": "10",
"max_price": "50",
"ship_to": "US", # 目標(biāo)國(guó)家
"timestamp": str(int(time.time()*1000))
}
# 簽名生成同上...
# 封裝好的速賣(mài)通商品詳情供應(yīng)商demo url=o0b.cn/ibrad,復(fù)制鏈接獲取測(cè)試
response = requests.get(url, params=params)
return response.json()
2. 搜索結(jié)果字段
- total_results:總商品數(shù)
- items:商品列表(標(biāo)題、價(jià)格、銷(xiāo)量、店鋪評(píng)分)
- filters:類(lèi)目/屬性篩選條件
四、數(shù)據(jù)清洗與存儲(chǔ)方案
1. 價(jià)格數(shù)據(jù)清洗
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. 存儲(chǔ)到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)
);
五、商業(yè)應(yīng)用場(chǎng)景
1. 價(jià)格監(jiān)控系統(tǒng)
- 實(shí)時(shí)追蹤TOP競(jìng)品價(jià)格波動(dòng)
- 自動(dòng)觸發(fā)調(diào)價(jià)策略(保持比競(jìng)品低5%)
2. 選品分析工具
- 基于熱搜詞生成選品報(bào)告(如“夏季女裝流行元素”)
- 計(jì)算商品競(jìng)爭(zhēng)力指數(shù):python復(fù)制def competitiveness_score(item): return (item['sales'] * 0.6 + item['store_rating'] * 0.3 + (1/item['price']) * 0.1)
3. 供應(yīng)鏈優(yōu)化
- 分析爆款商品發(fā)貨地分布(如深圳3C、義烏小商品)
- 預(yù)測(cè)熱門(mén)類(lèi)目庫(kù)存需求
六、錯(cuò)誤處理與性能優(yōu)化
1. 常見(jiàn)錯(cuò)誤碼處理
錯(cuò)誤碼 | 含義 | 解決方案 |
---|---|---|
20010000 | 無(wú)效簽名 | 檢查簽名生成邏輯 |
20020000 | 參數(shù)缺失 | 驗(yàn)證必填參數(shù) |
20030000 | 頻率超限 | 降低請(qǐng)求頻率(≤5次/秒) |
20040000 | 商品不存在 | 校驗(yàn)item_id有效性 |
2. 高并發(fā)優(yōu)化策略
- 使用連接池(如requests.Session)
- 分布式爬蟲(chóng)架構(gòu)(Scrapy-Redis)
- 異步請(qǐng)求(aiohttp + asyncio)
七、合規(guī)與法律注意事項(xiàng)
- 數(shù)據(jù)使用限制不得存儲(chǔ)用戶隱私數(shù)據(jù)(如買(mǎi)家手機(jī)號(hào))遵守GDPR(歐盟)和CCPA(加州)數(shù)據(jù)保護(hù)法規(guī)
- API調(diào)用規(guī)范禁止惡意爬?。l率需≤官方限制)商品數(shù)據(jù)需標(biāo)注來(lái)源:“Data from AliExpress OpenAPI”
總結(jié)
通過(guò)速賣(mài)通商品API接口,開(kāi)發(fā)者可快速構(gòu)建價(jià)格監(jiān)控、智能選品、供應(yīng)鏈管理等工具。關(guān)鍵步驟包括:
- 申請(qǐng)API權(quán)限并妥善管理密鑰
- 遵循簽名規(guī)則與頻率限制
- 設(shè)計(jì)健壯的數(shù)據(jù)清洗與存儲(chǔ)方案
- 建立異常監(jiān)控與自動(dòng)恢復(fù)機(jī)制
建議結(jié)合業(yè)務(wù)需求選擇接口組合,例如:
- 鋪貨型賣(mài)家:item.list + item.get 實(shí)現(xiàn)全店商品同步
- 數(shù)據(jù)服務(wù)商:item.search + 用戶行為分析生成市場(chǎng)報(bào)告