一、API核心功能
京東商品詳情API(如jd.item.get
或jd.union.open.goods.query
)是京東開放平臺提供的核心接口,用于通過商品ID(skuId)或店鋪ID檢索指定商品的詳細信息。該接口支持獲取商品基礎信息、價格、庫存、規格參數、用戶評價等多維度數據,是電商數據分析、競品監控、個性化推薦等場景的重要工具。
二、返回值結構詳解
API返回的JSON數據包含以下核心字段,結構示例如下:
json
{ |
"code": "0000", |
"message": "成功", |
"data": { |
"item": { |
"skuId": "123456789", |
"title": "Redmi K60 Pro 5G手機 12GB+256GB 墨羽", |
"price": 2999.00, |
"original_price": 3299.00, |
"promotion": { |
"type": "滿減", |
"desc": "滿3000減300", |
"valid_time": "2025-07-25至2025-07-31" |
}, |
"images": [ |
"https://img.jd.com/detail1.jpg", |
"https://img.jd.com/detail2.jpg" |
], |
"desc": "搭載驍龍8 Gen2處理器,支持120W快充...", |
"stock": 50, |
"skuList": [ |
{ |
"skuId": "123456", |
"name": "墨羽 12GB+256GB", |
"price": 2999.00, |
"stock": 50 |
} |
], |
"attributes": [ |
{"name": "顏色", "value": "墨羽"}, |
{"name": "內存", "value": "12GB+256GB"} |
], |
"category": { |
"id": "123", |
"name": "5G手機" |
}, |
"brand": { |
"id": "1001", |
"name": "Redmi", |
"logo": "https://img.jd.com/brand/logo.jpg" |
}, |
"afterSaleService": { |
"return_policy": "7天無理由退貨", |
"warranty": "1年質保" |
}, |
"reviews": { |
"count": 1000, |
"rating": 4.8, |
"positive_rate": "95%" |
} |
} |
} |
} |
1.?基礎信息字段
skuId
:商品唯一標識符,用于定位具體商品或SKU(如不同顏色、尺寸的變體)。title
:商品標題,包含品牌、型號、核心功能的描述性文本。images
:商品圖片URL列表,包括主圖和詳情圖,支持高清展示。desc
:商品詳細描述,可能包含HTML標簽或純文本,介紹材質、功能、使用方法等。
2.?價格與促銷字段
price
:當前售價(元)。original_price
:原價,用于劃線價展示。promotion
:促銷活動詳情,包括類型(如滿減)、描述(如“滿3000減300”)及有效期。
3.?庫存與規格字段
stock
:實時庫存數量,支持判斷商品可售性(如“inStock”表示有貨)。skuList
:不同規格(如顏色、內存)的價格及庫存信息,每個SKU包含skuId
、name
、price
、stock
等字段。
4.?屬性與分類字段
attributes
:商品屬性列表,包含顏色、尺寸、重量、產地等結構化數據。category
:商品所屬類目路徑,如“手機>5G手機>Redmi”。brand
:品牌信息,包括品牌ID、名稱及Logo鏈接。
5.?評價與售后字段
reviews
:評價數據,包含評價數量(count
)、評分(rating
,如4.8分)及好評率(positive_rate
)。afterSaleService
:售后服務條款,包括退換貨政策(如“7天無理由退貨”)及保修期限(如“1年質保”)。
三、接口調用規范
1.?請求方式
- URL:通常為
https://api.jd.com/routerjson
。 - 方法:支持POST請求。
2.?必填參數
method
:接口方法名,如jd.union.open.goods.query
。app_key
:應用密鑰,需在京東開放平臺創建應用后獲取。timestamp
:請求時間戳,格式為YYYY-MM-DD HH:mm:ss
。v
:接口版本號,如1.0
。param_json
:JSON格式的查詢條件,如{"skuIds": ["123456789"]}
。
3.?簽名生成
- 步驟:
- 將所有參數按字典序排序后拼接成字符串。
- 拼接AppSecret前綴和后綴。
- 使用MD5加密并轉大寫。
- 示例代碼(Python):
python
import hashlib
def generate_sign(params, app_secret):
sorted_params = sorted(params.items())
sign_str = app_secret + ''.join(f"{k}{v}" for k, v in sorted_params) + app_secret
return hashlib.md5(sign_str.encode()).hexdigest().upper()
四、典型應用場景
1.?實時競品監控
- 目標:監控競品價格波動及促銷活動。
- 實現:
- 定期調用API獲取競品
price
和promotion
數據。 - 結合歷史數據生成價格趨勢圖表,觸發優惠提醒。
- 定期調用API獲取競品
2.?庫存同步與補貨
- 目標:同步庫存數據至ERP系統,優化補貨策略。
- 實現:
- 通過
stock
字段實時監控庫存。 - 設置閾值(如庫存<100),觸發自動補貨流程。
- 通過
3.?個性化推薦
- 目標:結合用戶行為及商品詳情生成推薦文案。
- 實現:
- 提取
attributes
中的規格信息(如顏色、內存)。 - 結合
promotion
中的滿減規則,生成“滿3000減300”等文案。
- 提取
4.?數據可視化與分析
- 目標:分析商品銷售表現及用戶口碑。
- 實現:
- 使用
reviews
中的評分及好評率生成評價分析報告。 - 結合
monthly_sales
(需申請權限)分析銷量趨勢。
- 使用
五、注意事項
- 調用頻率限制:
- 京東API默認QPS(每秒請求次數)限制為1000次/分鐘,超限可能導致IP封禁。
- 解決方案:本地緩存高頻數據,或申請提升配額。
- 數據延遲:
- 庫存、價格數據可能存在5-10分鐘延遲,重要場景建議搭配京東官方數據推送服務。
- 合規性:
- 不得將數據用于非法用途,需嚴格遵守京東開放平臺協議及數據保護法規。
- 評價數據涉及用戶隱私,調用前需申請權限并合理使用。
- 錯誤處理:
- 簽名錯誤(4001):檢查參數排序及加密邏輯。
- 參數缺失(1001):核對接口文檔要求的必填字段。
- 商品不存在(3005):確認商品ID是否正確。
六、示例代碼(Python)
python
import requests |
import hashlib |
import time |
APP_KEY = 'your_app_key' |
APP_SECRET = 'your_app_secret' |
API_URL = 'https://api.jd.com/routerjson' |
def generate_sign(params): |
sorted_params = sorted(params.items()) |
sign_str = APP_SECRET + ''.join(f"{k}{v}" for k, v in sorted_params) + APP_SECRET |
return hashlib.md5(sign_str.encode()).hexdigest().upper() |
params = { |
'method': 'jd.union.open.goods.query', |
'app_key': APP_KEY, |
'timestamp': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()), |
'v': '1.0', |
'param_json': '{"skuIds": ["123456789"]}' |
} |
params['sign'] = generate_sign(params) |
response = requests.post(API_URL, data=params) |
data = response.json() |
if data['code'] == '0000': |
print("商品標題:", data['data']['item']['title']) |
print("當前價格:", data['data']['item']['price'], "元") |
print("庫存數量:", data['data']['item']['stock'], "件") |
else: |
print("請求失敗:", data['message']) |
通過以上實踐,開發者可高效利用京東商品詳情API實現數據驅動的電商運營策略。