以下是針對微店商品詳情 API 接口micro.item_get
的實(shí)例演示,包含完整的接口調(diào)用、數(shù)據(jù)解析及實(shí)戰(zhàn)應(yīng)用代碼,助你快速掌握接口使用方法:
一. 接口核心功能
- 接口名稱:
micro.item_get
- 功能描述:通過商品 ID 獲取微店商品的詳細(xì)信息,包括價格、庫存、圖片、描述、商家信息等
- 接口地址:
https://api.weidian.com/micro.item_get
- 請求方式:
GET
/POST
(推薦 POST)
二. 必選參數(shù)示例
def get_weidian_item(item_id, app_key, app_secret):
"""獲取微店商品詳情"""
params = {
"method": "micro.item_get",
"app_key": app_key,
"timestamp": get_current_time(),
"format": "json",
"v": "2.0",
"item_id": item_id, # 商品ID(必填)
"sign": generate_sign(params, app_secret) # 簽名參數(shù)
}
return request_api(params)
三、接口響應(yīng)數(shù)據(jù)解析
1. 完整響應(yīng)示例(JSON)
{
"code": 200,
"msg": "success",
"data": {
"item_id": "123456789",
"title": "2024新款純棉T恤 男女同款",
"short_title": "純棉T恤 男女同款",
"price": 59.90,
"original_price": 79.90,
"stock": 128,
"sales": 2456,
"shop": {
"shop_id": "987654321",
"name": "XX服飾工廠店",
"level": "鉆石賣家",
"location": "廣東 廣州"
},
"sku_info": [
{
"sku_id": "123456790",
"properties": "顏色:白色;尺碼:S",
"price": 59.90,
"stock": 36
},
{
"sku_id": "123456791",
"properties": "顏色:黑色;尺碼:M",
"price": 59.90,
"stock": 48
}
],
"images": [
"https://img.weidian.com/item/123456.jpg",
"https://img.weidian.com/item/123457.jpg"
],
"description": "100%純棉面料,透氣舒適,支持定制logo...",
"category": {
"id": 1001,
"name": "男裝/T恤"
}
}
}
四、實(shí)戰(zhàn)代碼示例(完整流程)
1. 單商品詳情獲取
import requests
import json
class WeidianAPI:
def __init__(self, app_key, app_secret):
self.app_key = app_key
self.app_secret = app_secret
self.base_url = "https://api.weidian.com"
def generate_sign(self, params):
"""生成簽名(同上,省略重復(fù)代碼)"""
...
def get_current_time(self):
"""獲取時間戳(同上,省略重復(fù)代碼)"""
...
def request_api(self, params):
"""發(fā)送API請求"""
url = f"{self.base_url}/micro.item_get"
try:
response = requests.post(url, data=params, timeout=10)
response.raise_for_status()
return response.json()
except Exception as e:
print(f"請求異常: {str(e)}")
return {"code": -1, "msg": str(e)}
def get_item_detail(self, item_id):
"""獲取商品詳情"""
params = {
"method": "micro.item_get",
"app_key": self.app_key,
"timestamp": self.get_current_time(),
"format": "json",
"v": "2.0",
"item_id": item_id
}
params["sign"] = self.generate_sign(params)
return self.request_api(params)
# 使用示例
if __name__ == "__main__":
app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
item_id = "123456789" # 替換為實(shí)際商品ID
api = WeidianAPI(app_key, app_secret)
response = api.get_item_detail(item_id)
item = parse_weidian_item(response)
if item:
print(f"商品名稱: {item['title']}")
print(f"當(dāng)前價格: {item['price']}元")
print(f"原價: {item['original_price']}元")
print(f"店鋪名稱: {item['shop_name']}")
五、注意事項(xiàng)與合規(guī)建議
- 接口權(quán)限申請: 需在微店開放平臺注冊開發(fā)者賬號,創(chuàng)建應(yīng)用后獲取app_key和app_secret
- 反爬與限流應(yīng)對: 控制請求頻率(建議間隔≥1 秒),避免觸發(fā)限流(錯誤碼 429) 隨機(jī)更換 User-Agent,模擬真實(shí)瀏覽器請求
通過以上實(shí)例,可快速實(shí)現(xiàn)微店商品詳情的獲取與分析,適用于選品、比價、庫存監(jiān)控等業(yè)務(wù)場景。建議結(jié)合緩存機(jī)制和異常處理,提升系統(tǒng)穩(wěn)定性和響應(yīng)速度。