京东商品详情API接口调用技术指南‌

本文基于京东宙斯开放平台(JD Open API)的 jingdong.ware.product.detail.search.get 接口,提供商品详情数据获取的完整技术方案,包含参数说明、代码实现及实战避坑指南。

一、接口功能与权限‌

核心能力‌

获取商品SKU的完整信息,包括标题、价格、库存、促销活动、主图、详情页描述等;
支持批量查询(最多50个SKU/次)及多维度字段筛选;
返回数据包含京东自营与第三方店铺商品(需权限覆盖)。

权限要求‌

注册京东宙斯开发者账号,创建应用并申请 商品详情读取 权限;
需完成企业资质认证(个人开发者权限受限)。
二、接口参数说明‌
参数‌    ‌类型‌    ‌必填‌    ‌描述‌
method    String    是    固定值:jingdong.ware.product.detail.search.get
sku_ids    String    是    商品SKU列表,多个ID用英文逗号分隔(如 12345,67890)
fields    String    否    指定返回字段(默认全量),如 wareId,title,price,imagePath
access_token    String    是    OAuth2.0令牌,通过授权流程获取(有效期24小时)
app_key    String    是    应用身份标识,从开放平台控制台获取
timestamp    String    是    请求时间戳(格式 yyyy-MM-dd HH:mm:ss),服务端校验时效性
三、Python代码示例(OAuth2.0 + 签名)‌
python
Copy Code
import requests  
import hashlib  
import time  
from urllib.parse import quote  

# 配置参数  
app_key = "YOUR_APP_KEY"  
app_secret = "YOUR_APP_SECRET"  
sku_ids = "12345,67890"  # 示例SKU  
access_token = "YOUR_ACCESS_TOKEN"  

# 生成签名  
def jd_sign(params):  
    sorted_params = sorted(params.items(), key=lambda x: x[0])  
    param_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + app_secret  
    return hashlib.md5(param_str.encode()).hexdigest().upper()  

# 请求商品详情  
def fetch_jd_product_detail():  
    base_url = "https://api.jd.com/routerjson"  
    timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())  
      
    params = {  
        "method": "jingdong.ware.product.detail.search.get",  
        "sku_ids": sku_ids,  
        "fields": "wareId,title,price,imagePath,stock",  
        "access_token": access_token,  
        "app_key": app_key,  
        "timestamp": timestamp,  
        "v": "2.0",  
        "format": "json"  
    }  
      
    # 生成签名并编码  
    params["sign"] = jd_sign(params)  
    encoded_params = {k: quote(str(v)) for k, v in params.items()}  
      
    response = requests.get(base_url, params=encoded_params)  
    return response.json()  

# 示例调用  
data = fetch_jd_product_detail()  
print(data)  


代码解析‌:

签名规则‌:拼接 app_secret + 有序参数键值对 + app_secret 生成MD5签名,确保请求合法性;
URL编码‌:所有参数值使用 urllib.parse.quote 处理,避免特殊字符导致请求失败;
数据解析‌:响应为JSON格式,商品信息存储在 result 字段中(需校验 code 状态码)。
四、响应数据结构示例‌
json
Copy Code
{  
  "code": "0",  
  "message": "Success",  
  "result": [  
    {  
      "wareId": "12345",  
      "title": "京东自营 商品标题示例",  
      "price": "299.00",  
      "stock": 100,  
      "imagePath": "https://img14.360buyimg.com/n1/jfs/t1/xxx.jpg"  
    },  
    {  
      "wareId": "67890",  
      "title": "第三方店铺商品示例",  
      "price": "159.00",  
      "stock": 0,  
      "imagePath": "https://img14.360buyimg.com/n1/jfs/t1/yyy.jpg"  
    }  
  ]  
}  

五、实战注意事项‌

权限与频率限制‌

未授权字段‌:若 fields 包含未申请权限的字段(如促销价 promotionPrice),接口返回空值或报错;
调用频率‌:默认单应用QPS≤50,超额触发限流(返回 code=14)。

错误码处理‌

code=11:签名错误 → 检查 app_secret 与参数编码;
code=15:Token失效 → 刷新 access_token;
code=201:SKU不存在 → 验证商品ID有效性。

数据更新延迟‌

价格与库存信息可能存在1~3分钟缓存,高频监控场景建议结合京东价保接口。
六、应用场景建议‌
实时比价系统‌:聚合京东、淘宝、拼多多商品数据,分析价格竞争力;
库存预警工具‌:监控SKU库存状态,触发自动补货通知(尤其大促期间);
详情页生成器‌:抓取主图与描述数据,快速生成第三方平台商品页。

参考资源‌:

京东宙斯开放平台文档
代码中的 YOUR_APP_KEY、YOUR_APP_SECRET 需替换为实际值,并通过OAuth流程获取 access_token。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值