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

news2025/4/26 3:19:05

本文基于京东宙斯开放平台(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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2342917.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java(JSP)+MySQL实现深度学习的音乐推荐系统

基于深度学习的音乐推荐系统简述 本文简要介绍我做的基于深度学习的音乐推荐系统。主要从需求分析与设计实现的角度来进行介绍。 需求分析 基于深度学习的音乐推荐系统旨在以个性化音乐推荐模型为基础,使用B/S架构的形式实现。个性化推荐模型使用了 随机梯度下降…

Linux:进程间通信---匿名管道

文章目录 1. 进程间通信1.1 什么是进程间通信?1.2 为什么进程要进行进程间通信?1.3 怎么实现进程间通信? 2. 匿名管道2.1 匿名管道的原理2.2 匿名管道的系统接口2.3 匿名管道的使用2.4 匿名管道的运用场景 序:在上一篇文章中我们知…

深度学习小记(包括pytorch 还有一些神经网络架构)

这个是用来增加深度学习的知识面或者就是记录一些常用的命令,会不断的更新 import torchvision.transforms as transforms toPIL transforms.ToPILImage()#可以把tensor转换为Image类型的 imgtoPIL(img) #利用save就可以保存下来 img.save("/opt/data/private/stable_si…

【数据可视化-32】全球住房市场分析(2015-2024 年)数据集可视化分析

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

DAX Studio将PowerBI与EXCEL连接

DAX Studio将PowerBI与EXCEL连接 具体步骤如下: 第一步:先打开一个PowerBI的文件,在外部工具栏里打开DAXStudio,如图: 第二步:DAXStudio界面,点击Advanced选项卡-->Analyze in Excel&#…

使用spring boot vue 上传mp4转码为dash并播放

1.前端实现 <template><div class"video-upload"><el-uploadclass"upload-demo"action"/api/upload":before-upload"beforeUpload":on-success"handleSuccess":on-error"handleError":show-file-…

深入理解指针 (1)

1.内存和地址 1.1内存 1.1.1内存的使用和管理 &#xff08;1&#xff09;内存划分为一个个的内存单元&#xff0c;每个内存单元的大小是1个字节&#xff0c;一个内存单元可以存放8个bit。 &#xff08;2&#xff09;每个内存单元有一个编号&#xff0c;内存单元的编号在计…

Leetcode98、230:二叉搜索树——递归学习

什么是二叉搜索树&#xff1a;右子树节点 > 根节点 > 左子树节点&#xff0c; 二叉搜索树中的搜索&#xff0c;返回给定值val所在的树节点 终止条件为传进来的节点为空、或者节点的值 val值&#xff0c;返回这个节点&#xff1b; 单程递归逻辑&#xff1a;定义一个resu…

15. LangChain多模态应用开发:融合文本、图像与语音

引言&#xff1a;当AI学会"看听说想" 2025年某智慧医院的多模态问诊系统&#xff0c;通过同时分析患者CT影像、语音描述和电子病历&#xff0c;将误诊率降低42%。本文将基于LangChain多模态框架与Deepseek-R1&#xff0c;手把手构建能理解复合信息的智能系统。 一、…

2022李宏毅老师机器学习课程笔记

机器学习笔记目录 1.绪论&#xff08;内容概述&#xff09;2.机器学习和深度学习的基本概念transformer 1.绪论&#xff08;内容概述&#xff09; 机器学习&#xff1a;让机器找一个函数&#xff0c;通过函数输出想要的结果。应用举例&#xff1a;语音识别&#xff0c;图像识别…

笔试强训:Day2

一、字符串中找出连续最长的数字串(双指针) 字符串中找出连续最长的数字串_牛客题霸_牛客网 #include <iostream> #include <string> #include <cctype> using namespace std;int main() {//双指针string str;cin>>str;int nstr.size();int begin-1,l…

linux合并命令(一行执行多个命令)的几种方式总结

背景&#xff1a; 最近安装配置机器&#xff0c;需要手打很多命令。又不能使用docker&#xff0c;所以就使用iTerm2连接多台服务器&#xff0c;然后move session到一个窗口中&#xff0c;shift command i使用XSHELL类似的撰写功能&#xff0c;就可以一次在多台服务器命令窗口…

基于归纳共形预测的大型视觉-语言模型中预测集的**数据驱动校准**

摘要 本研究通过分离共形预测&#xff08;SCP&#xff09;框架&#xff0c;解决了大型视觉语言模型&#xff08;LVLMs&#xff09;在视觉问答&#xff08;VQA&#xff09;任务中幻觉缓解的关键挑战。虽然LVLMs在多模态推理方面表现出色&#xff0c;但它们的输出常常表现出具有…

docker学习笔记5-docker中启动Mysql的最佳实践

一、查找目录文件位置 1、mysql的配置文件路径 /etc/mysql/conf.d 2、mysql的数据目录 /var/lib/mysql 3、环境变量 4、端口 mysql的默认端口3306。 二、启动命令 1、启动命令说明 docker run -d -p 3306:3306 -v /app/myconf:/etc/mysql/conf.d # 挂载配置目录 -v…

从零开始搭建Django博客③--前端界面实现

本文主要在Ubuntu环境上搭建&#xff0c;为便于研究理解&#xff0c;采用SSH连接在虚拟机里的ubuntu-24.04.2-desktop系统搭建&#xff0c;当涉及一些文件操作部分便于通过桌面化进行理解&#xff0c;通过Nginx代理绑定域名&#xff0c;对外发布。 此为从零开始搭建Django博客…

系统与网络安全------弹性交换网络(3)

资料整理于网络资料、书本资料、AI&#xff0c;仅供个人学习参考。 STP协议 环路的危害 单点故障 PC之间的互通链路仅仅存在1个 任何一条链路出现问题&#xff0c;PC之间都会无法通信 解决办法 提高网络可靠性 增加冗余/备份链路 增加备份链路后交换网络上产生二层环路 …

Cursor 配置 MCP Tool

文章目录 1、MCP Tool 的集合2、一个 demo :Sequential Thinking2.1、搜索一个 MCP Tool 获取 command 命令2.2、在 Cursor 配置2.3、配置状态检查与修正(解决网络问题)检查解决办法 2.4、使用 1、MCP Tool 的集合 https://smithery.ai/ 2、一个 demo :Sequential Thinking …

【金仓数据库征文】-《深入探索金仓数据库:从基础到实战》

目录 前言 什么是金仓数据库&#xff1f; 金仓数据库的特点 金仓数据库的核心特点 金仓数据库与其他数据库的对比 金仓数据库的安装 常见的语句 总结 前言 为助力开发者、运维人员及技术爱好者快速掌握这一工具&#xff0c;本文将系统性地介绍金仓数据库的核心知识。内…

RocketMQ 主题与队列的协同作用解析(既然队列存储在不同的集群中,那要主题有什么用呢?)---管理命令、配置安装

学习之前呢需要会使用linux的基础命令 一.RocketMQ 主题与队列的协同作用解析 在 RocketMQ 中&#xff0c;‌主题&#xff08;Topic&#xff09;‌与‌队列&#xff08;Queue&#xff09;‌的协同设计实现了消息系统的逻辑抽象与物理存储分离。虽然队列实际存储在不同集群的 B…

从岗位依附到能力生态:AI革命下“什么叫就业”的重构与价值

在人工智能(AI)技术深刻重塑社会生产关系的当下,“就业”这一概念正经历着从“职业绑定”到“能力变现”的范式转移。本文将从传统就业观的解构、AI赋能艺术教育的价值逻辑、以及未来就业形态的进化方向三个维度,探讨技术驱动下就业的本质变革,并揭示AI技术如何通过教育创…