?
得物平臺(原毒APP)作為國內領先的潮流電商平臺,其商品數據具有很高的價值。對于開發者而言,了解如何通過其提供的 API 接口獲取商品詳情信息,是進行數據分析、比價工具開發、庫存監控等應用的基礎。本文將聚焦于得物平臺的商品詳情 API 接口,探討其調用方式、核心參數及返回的數據結構。
1. 接口概覽與請求方式
接口功能:獲取指定商品的詳細信息,包括基礎信息(名稱、品牌、分類)、價格、庫存狀態、規格參數、圖片、描述等。
請求方式:通常為 HTTP GET 請求。
接口地址:一般為平臺API服務域名下的特定路徑,例如 https://api.dewu.com/product/detail (實際地址需以官方文檔為準)。
認證:部分接口可能需要 API Key、Access Token 或其他形式的認證信息,通常在請求頭(如 Authorization)中傳遞。
2. 核心請求參數
調用商品詳情接口,最關鍵的參數是能夠唯一標識目標商品的參數:
商品ID (productId):這是最常用且最穩定的標識符。每個在得物平臺上架的商品都會有一個唯一的數字ID。
示例請求:
GET /product/detail?productId=123456789

商品SKU ID (skuId):部分接口可能支持通過具體的商品SKU ID來查詢,適用于需要精確到特定顏色、尺碼等規格的場景。
示例請求:
GET /product/detail?skuId=987654321

3. 響應數據結構解析 (JSON 格式示例)
成功的 API 調用會返回一個結構化的 JSON 對象。以下是一個簡化的核心字段示例及其含義:
{
"code": 200, // 狀態碼,200 通常表示成功
"msg": "success", // 狀態信息
"data": {
"productId": 123456789, // 商品唯一ID
"productName": "Air Jordan 1 Retro High OG 'University Blue'", // 商品名稱
"brandId": 1001, // 品牌ID
"brandName": "Jordan", // 品牌名稱
"categoryId": 2001, // 分類ID
"categoryName": "運動鞋", // 分類名稱
"mainImage": "https://img.dewu.com/path/to/image.jpg", // 商品主圖URL
"price": 1599.00, // 當前銷售價格 (單位:元)
"originalPrice": 1799.00, // 原始標價 (單位:元)
"stockStatus": 1, // 庫存狀態 (1-有貨, 0-缺貨等,具體值需參考文檔)
"description": "經典大學藍配色...", // 商品描述文本 (可能含HTML)
"specs": [ // 商品規格列表
{
"specId": "color", // 規格類型ID
"specName": "顏色", // 規格類型名稱
"specValue": "University Blue/White" // 規格值
},
{
"specId": "size",
"specName": "尺碼",
"specValue": "42.5"
}
],
"imageList": [ // 商品圖片列表
"https://img.dewu.com/path/to/image1.jpg",
"https://img.dewu.com/path/to/image2.jpg"
],
"skus": [ // 商品SKU列表 (不同規格組合)
{
"skuId": 987654321, // SKU唯一ID
"specCombination": "University Blue/White-42.5", // 規格組合描述
"price": 1599.00,
"stockStatus": 1
},
// ... 其他SKU
]
}
}

關鍵字段說明
productId, skuId: 是后續進行其他操作(如加購、下單)的關鍵標識。
price, originalPrice: 用于價格展示和折扣計算。
stockStatus: 實時庫存狀態至關重要,尤其在搶購或監控場景。
specs: 提供了商品的具體屬性信息。
skus: 對于多規格商品,此數組列出了所有可選的規格組合及其對應的價格和庫存。
4. 調用實踐與注意事項
獲取 productId 或 skuId:通常可以通過得物App的商品詳情頁URL、或通過搜索API的結果列表中獲取。
請求頻率限制:平臺API通常會有調用頻率限制(Rate Limit),需合理控制請求節奏,避免觸發限制被封禁。
錯誤處理:務必檢查返回的 code 字段。非 200 狀態碼表示請求失敗,需根據 msg 或具體錯誤碼進行問題排查(如參數錯誤、認證失敗、商品不存在等)。
數據解析:返回的 description 字段可能包含HTML標簽,需要做相應的清理或轉換才能用于純文本展示。imageList 中的URL可能需要拼接完整的圖片訪問地址。
API穩定性:第三方開發者需注意,平臺API可能會進行更新或調整,接口地址、參數、返回字段都可能發生變化。建議定期關注官方文檔(如有公開)或做好兼容性處理。
合規性:調用API需遵守得物平臺的相關規定,不得用于爬取大量數據、干擾平臺正常運營等違規用途。尊重平臺的數據權益。
5. 示例代碼 (Python)
import requests # 假設的API地址和商品ID (實際使用時需替換為有效值) api_url = "https://api.dewu.com/product/detail" product_id = "123456789" # 或使用 skuId # 構造請求參數 params = { "productId": product_id } # 如果需要認證,添加請求頭 headers # headers = {"Authorization": "Bearer your_access_token"} try: # 發送GET請求 response = requests.get(api_url, params=params) # , headers=headers response.raise_for_status() # 檢查HTTP錯誤 # 解析JSON響應 data = response.json() # 檢查API狀態碼 if data.get("code") == 200: product_data = data["data"] print(f"商品名稱: {product_data['productName']}") print(f"當前價格: ¥{product_data['price']:.2f}") print(f"庫存狀態: {'有貨' if product_data['stockStatus'] == 1 else '缺貨'}") # ... 進一步處理其他數據 else: print(f"API請求失敗: {data.get('msg')}") except requests.exceptions.RequestException as e: print(f"網絡請求錯誤: {e}") except ValueError as e: print(f"JSON解析錯誤: {e}")

總結
得物平臺的商品詳情 API 為開發者提供了獲取商品核心信息的有效途徑。理解其請求參數、響應數據結構以及調用時的注意事項,是成功集成該功能的關鍵。開發者應始終關注接口的合規使用,并做好應對接口變更的準備。通過有效利用這些數據,可以構建出豐富的電商相關應用和服務。
?
審核編輯 黃宇
-
API
+關注
關注
2文章
2373瀏覽量
66802
發布評論請先 登錄
解析得物商品詳情:API 接口調用實踐與數據結構分析
評論