?
摘要:本文將詳細介紹如何調用1688開放平臺提供的API接口,通過商品ID精確獲取商品的詳細信息。內容包括接口概述、請求方式、參數說明、返回數據結構解析以及調用示例。
1. 接口概述
1688開放平臺提供了 獲取商品詳情 接口,允許開發者通過傳入商品ID來查詢該商品的詳細信息。該接口返回的數據結構包含了商品的基礎屬性、價格、庫存、圖片、規格等關鍵信息。
2. 請求方式
接口名稱:獲取商品詳情
請求方法:HTTP POST
請求地址:https://gw.open.1688.com/openapi/param2/1/com.alibaba.product/alibaba.product.get
數據格式:application/x-www-form-urlencoded
3. 請求參數
調用該接口需要傳遞以下關鍵參數:
access_token:String 類型。調用API的身份授權令牌,需通過1688開放平臺的OAuth2.0授權流程獲取。必須。
productId:Long 類型。目標商品的唯一ID。必須。
fields (可選):String 類型。用于指定需要返回的字段列表,多個字段用英文逗號分隔。若不指定,默認返回所有字段。
示例:fields=subject,priceRanges,imageUrl,skuInfo
4. 返回數據結構解析
接口成功調用后,會返回一個結構化的JSON數據。核心字段包括:
{
"result": {
"productId": 123456789012345, // 商品ID
"subject": "商品標題", // 商品標題
"priceRanges": [ // 價格區間
{
"startQuantity": 1, // 起批量
"price": 99.99 // 價格
},
// ... 其他價格區間
],
"imageUrl": "https://example.com/image.jpg", // 主圖URL
"detailPage": "https://detail.1688.com/offer/123456789012345.html", // 詳情頁URL
"skuInfo": { // SKU信息
"skuMap": { // SKU屬性映射
"顏色;尺寸": {
"skuId": "sku123", // SKU ID
"specId": "spec123", // 規格ID
"price": 99.99, // SKU價格
"stock": 100 // SKU庫存
}
// ... 其他SKU組合
},
"specs": [ // 規格定義
{
"specId": "spec123", // 規格ID
"name": "顏色", // 規格名稱
"values": [ // 規格值
{
"valueId": "value1",
"name": "紅色"
},
{
"valueId": "value2",
"name": "藍色"
}
]
},
// ... 其他規格
]
},
"status": "published", // 商品狀態 (published, deleted等)
// ... 其他字段 (如物流信息、服務承諾、描述信息等)
},
"success": true, // 請求是否成功
"errorCode": "0", // 錯誤碼 (0表示成功)
"errorMsg": null // 錯誤信息
}

5. 調用示例 (Python)
import requests
# 你的AppKey、AppSecret、AccessToken (實際應用中需安全存儲)
app_key = 'YOUR_APP_KEY'
app_secret = 'YOUR_APP_SECRET'
access_token = 'YOUR_ACCESS_TOKEN'
# 目標商品ID
product_id = 123456789012345 # 替換為實際商品ID
# API請求地址
url = 'https://gw.open.1688.com/openapi/param2/1/com.alibaba.product/alibaba.product.get'
# 構建請求參數
params = {
'access_token': access_token,
'productId': product_id,
# 'fields': 'subject,priceRanges,imageUrl,skuInfo' # 可選,按需指定字段
}
# 發送POST請求
response = requests.post(url, data=params)
# 處理響應
if response.status_code == 200:
data = response.json()
if data.get('success'):
product_info = data['result']
print("商品標題:", product_info['subject'])
print("主圖URL:", product_info['imageUrl'])
# 解析價格區間、SKU等信息...
else:
print("API調用失敗:", data.get('errorMsg', '未知錯誤'))
else:
print("HTTP請求失敗,狀態碼:", response.status_code)

注意事項:
確保 access_token 有效且具有足夠的權限。
productId 必須是有效的1688商品ID (長整型)。
根據業務需求合理使用 fields 參數,避免請求過多不必要的數據。
注意接口調用頻率限制,避免觸發流控。
處理可能的錯誤碼 (如 isv.invalid-parameter, isp.permission-denied 等)。
6. 常見問題
Q:如何獲取 access_token? A:需要通過1688開放平臺的OAuth2.0授權流程獲取。開發者需在開放平臺創建應用,引導用戶授權后獲取授權碼(code),再換取訪問令牌(access_token)。
Q:返回的圖片URL是完整的嗎? A:通常返回的是圖片的相對路徑或包含域名的主路徑。建議拼接1688的圖片域名前綴 (如 https://cbu01.alicdn.com/) 或直接使用返回的完整URL。
Q:如何獲取實時庫存? A:此接口返回的庫存信息 (stock) 可能不是實時更新的。對于需要實時庫存的場景,建議使用 獲取單個商品庫存 等更專業的庫存API。
Q:接口返回為空或錯誤怎么辦? A:首先檢查 errorCode 和 errorMsg。常見原因包括:商品ID無效、商品已刪除、access_token 失效或權限不足、調用頻率超限等。對照錯誤碼排查問題。
7. 總結
通過 獲取商品詳情 API,開發者可以高效地根據商品ID獲取1688平臺上商品的豐富信息。合理利用此接口,可以構建商品展示、比價、庫存監控等多種應用場景。調用時需嚴格遵守接口規范,關注授權、參數有效性及錯誤處理。
建議:在正式集成前,務必仔細閱讀1688開放平臺官方文檔中關于該接口的最新說明,并利用API測試工具進行調試。
?
審核編輯 黃宇
-
API
+關注
關注
2文章
2390瀏覽量
66824
發布評論請先 登錄
通過1688開放平臺API根據商品ID獲取商品詳情
評論