一、引言
在電商數據驅動的時代,精準且高效地獲取商品信息是眾多業務場景的關鍵需求。1688,作為國內知名的 B2B 電商平臺,擁有海量豐富的商品資源。其開放的商品詳情 API 接口,為開發者、數據分析師以及電商從業者搭建了一座通向這些寶貴數據的橋梁。通過該接口,能夠自動化、批量地獲取商品的詳細信息,涵蓋從基礎屬性到銷售數據、商家詳情等多維度內容。無論是構建電商選品工具、進行市場價格分析。
二、接口概述
1.接口功能
- 基礎信息獲取:可獲取商品的標題、品牌、型號等基礎屬性,例如一款 “小米 13 手機”,接口能精準返回其品牌為 “小米”,型號是 “13”,以及詳細的商品標題如 “小米 13 驍龍 8 Gen2 處理器 徠卡影像 120Hz 高刷屏幕 手機”。
- 價格體系展示:提供商品的價格詳情,包括單買價格、不同起訂量下的批發價格,以及可能存在的價格區間波動情況。以某款文具批發為例,接口會返回購買 1 - 10 件時單價為 5 元,11 - 50 件時單價 4.5 元等價格信息。
- 庫存狀況查詢:實時呈現商品的庫存數量,便于商家和采購者及時了解商品的可售情況,避免超賣或缺貨情況的發生。如顯示某款運動器材 “庫存:300 件”。
- 圖片與描述:返回商品多角度高清圖片鏈接,幫助用戶全面了解商品外觀;同時,獲取詳細的商品描述信息,涵蓋產品特點、使用方法、材質等內容,輔助用戶做出購買決策。像一款家具商品,接口會提供多張不同角度展示其外觀的圖片鏈接,以及詳細描述其材質為實木、風格為北歐風、尺寸規格等文字信息。
- 商家信息呈現:展示商品所屬商家在 1688 平臺的注冊名稱、聯系方式(如旺旺 ID、聯系電話)、店鋪等級等信息,增加商家透明度,方便供需雙方進一步溝通合作。
2.請求參數
- 商品 ID(必填) :這是 1688 平臺為每個商品賦予的唯一標識符,類似于商品的 “身份證號”。通過準確傳入商品 ID,接口能夠精準定位目標商品,返回與之對應的詳細信息。例如,商品 ID 為 “123456”,接口會針對該 ID 對應的商品進行數據查詢與返回。
- 語言參數(可選) :用于指定返回數據的語言類型,在全球化業務拓展背景下極為重要。設置 “language = zh_CN”,將獲取中文簡體版本的商品詳情信息;設置 “language = en_US”,則返回英文版本詳情,滿足不同語言背景用戶的需求。
響應數據
接口返回的數據通常為 JSON 格式,方便解析與處理,主要包含以下內容:
- 商品基本信息:包括商品名稱、所屬類目(如 “數碼產品 - 手機”)、品牌、型號等。
- 價格與庫存:價格區間、不同規格對應的價格、當前庫存數量等。
- 圖片列表:以數組形式呈現商品的多角度圖片鏈接,用戶可通過點擊鏈接查看高清圖片,了解商品細節。
- 商品描述:詳細的商品介紹,包含產品特點、使用方法、材質等文字內容。
- 商家詳情:商家名稱、旺旺 ID、聯系電話、店鋪等級、商家地址等信息。
三、Python 請求示例
使用Python請求1688商品詳情API接口請求示例代碼:
import requests
import hashlib
import urllib.parse
import time
# 假設 API 封裝接口地址
API url=c0b.cc/R4rbK2 wechat id:Taobaoapi2014
# 商品ID
item_id = "1234567890" # 替換為實際商品ID
timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
# 構建請求參數
params = {
"app_key": app_key,
"method": "com.alibaba.product.getProductDetailInfo", # 接口方法名,根據實際接口文檔調整
"timestamp": timestamp,
"format": "json",
"v": "2.0",
"item_id": item_id
}
# 生成簽名
sign = create_sign_string(params, app_secret)
params["sign"] = sign
# 發送請求
response = requests.get('https://gw.open.1688.com/openapi/param2/2/xxxxx/xxxxx', params=params)
# 檢查響應狀態碼
if response.status_code == 200:
result = response.json()
# 提取并處理所需數據
if result.get("product"):
product = result["product"]
title = product.get("title")
price = product.get("price")
stock = product.get("stock")
print(f"商品標題: {title}")
print(f"商品價格: {price}")
print(f"商品庫存: {stock}")
else:
print(f"請求失敗,狀態碼: {response.status_code}")
在實際應用中,務必將代碼中的item_id替換為真實有效的信息,同時根據 1688 開放平臺最新的接口文檔,對接口地址、接口方法名、參數名稱及簽名算法等進行準確調整與適配。