京东商品详情API接口开发指南(含Java/Python实现)

简介: 京东开放平台商品详情查询接口,支持单/批量SKU查询(最多20个),返回含标题、价格、图片、促销等结构化JSON数据;具备签名验签、HTTPS加密、高并发安全机制。需先申请API权限并配置密钥。(239字)

接口概述

京东开放平台为开发者提供了强大的商品详情查询接口,借助该接口,开发者仅需通过SKUID,即可轻松获取商品的全面详细信息,涵盖商品标题、精准价格、高清图片以及丰富的促销信息等。在当前电商市场竞争激烈,数据精准获取与快速响应至关重要的背景下,此接口为开发者提供了高效便捷的数据获取途径。不过,使用该接口前,开发者需要申请API权限并获取认证密钥。

接口特点

批量查询支持:支持批量查询商品信息,一次最多可查询20个SKU,大大提高了数据获取效率,尤其适用于需要大量商品数据对比分析的场景。据市场调研,使用批量查询功能可使数据获取时间缩短70%。

数据格式规范:返回标准的JSON格式数据,便于开发者进行解析和处理,与主流编程语言的数据处理方式高度兼容,降低了开发成本。

安全验证机制:采用签名验证方式,确保数据传输的安全性和完整性,有效防止数据篡改和恶意攻击,保障了开发者和平台的利益。

协议安全可靠:全面支持HTTPS协议,为数据传输提供了加密通道,在当今网络环境日益复杂的形势下,为数据安全保驾护航。

Java实现示例

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject;

import org.apache.commons.codec.digest.DigestUtils;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

import java.util.HashMap;

import java.util.Map;

import java.util.TreeMap;

public class JdProductApi {

private static final String API_URL = "https://api.jd.com/routerjson";

private static final String VERSION = "1.0";

public static String queryProductDetail(long skuId, String appKey, String appSecret) {

try {

// 精心构造请求参数

Map params = new TreeMap<>();

params.put("method", "jd.union.open.goods.detail.query");

params.put("app_key", appKey);

params.put("timestamp", System.currentTimeMillis());

params.put("v", VERSION);

params.put("format", "json");

// 构建商品请求参数

JSONObject goodsReq = new JSONObject();

goodsReq.put("skuIds", new long[]{skuId});

params.put("goodsReq", goodsReq);

// 严格生成签名

String sign = generateSign(params, appSecret);

params.put("sign", sign);

// 准确发送请求

URL url = new URL(API_URL);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod("POST");

conn.setDoOutput(true);

conn.getOutputStream().write(JSON.toJSONString(params).getBytes());

// 高效处理响应

BufferedReader reader = new BufferedReader(

new InputStreamReader(conn.getInputStream()));

StringBuilder response = new StringBuilder();

String line;

while ((line = reader.readLine()) != null) {

response.append(line);

}

return response.toString();

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

private static String generateSign(Map params, String appSecret) {

StringBuilder sb = new StringBuilder(appSecret);

for (Map.Entry entry : params.entrySet()) {

sb.append(entry.getKey()).append(entry.getValue());

}

sb.append(appSecret);

return DigestUtils.md5Hex(sb.toString()).toUpperCase();

}

}

Python实现示例

import hashlib

import time

import json

import requests

class JdProductApi:

API_URL = "https://api.jd.com/routerjson"

VERSION = "1.0"

@staticmethod

def query_product_detail(sku_id, app_key, app_secret):

params = {

"method": "jd.union.open.goods.detail.query",

"app_key": app_key,

"timestamp": int(time.time() * 1000),

"v": JdProductApi.VERSION,

"format": "json",

"goodsReq": {"skuIds": [sku_id]}

}

严谨生成签名

sign = JdProductApi.generate_sign(params, app_secret)

params["sign"] = sign

可靠发送请求

response = requests.post(

JdProductApi.API_URL,

json=params,

headers={"Content-Type": "application/json"}

)

return response.json()

@staticmethod

def generate_sign(params, app_secret):

param_str = app_secret

for key in sorted(params.keys()):

param_str += f"{key}{params[key]}"

param_str += app_secret

return hashlib.md5(param_str.encode()).hexdigest().upper()

接口返回示例

{

"code": 0,

"message": "success",

"data": {

"skuId": 1234567,

"skuName": "示例商品名称",

"price": 299.00,

"imageList": ["http://img1.jpg", "http://img2.jpg"],

"brandName": "示例品牌",

"category": "电子产品",

"shopId": 10001,

"shopName": "官方旗舰店",

"promotionList": [

{

"promotionId": 1,

"promotionName": "满299减30",

"startTime": "2025-05-01 00:00:00",

"endTime": "2025-05-31 23:59:59"

}

]

}

}

开发注意事项

权限申请先行:在使用接口前,务必先在京东开放平台申请API权限,这是使用接口的前提条件,否则无法正常调用接口获取数据。

频率限制牢记:每个应用都有调用频率限制,通常为100次/秒。开发者需要合理规划调用策略,避免因频繁调用触发限制,导致数据获取中断。

签名算法精准:签名算法必须严格按照文档要求实现,任何细微的偏差都可能导致签名验证失败,从而无法获取数据。

协议选择恰当:建议使用HTTPS协议进行数据传输,以保证传输过程的安全性,防止数据泄露和篡改。

异常处理全面:要充分考虑并处理可能出现的异常情况,如网络超时、参数错误等,确保程序的稳定性和可靠性。

以上代码提供了Java和Python两种语言的实现示例,开发者可以根据自己的技术栈选择合适的版本。实际使用时,需要将appKey和appSecret替换为实际获取的值,并添加适当的错误处理逻辑,以应对各种可能出现的异常情况。

欢迎各位大佬评论互动,小编必回

相关文章
|
3月前
|
JSON Rust API
Pydantic v2 入门教程:模型、字段、验证器
本文详解 Pydantic v2(Python 3.10+)核心用法:模型定义、字段约束、自定义验证器(field/model)、嵌套/递归结构、序列化控制及 JSON Schema 生成,所有示例完整可运行,助你构建健壮数据验证与序列化逻辑。
209 1
Pydantic v2 入门教程:模型、字段、验证器
|
3月前
|
存储 人工智能 JSON
GEO线索评分:从AI访问到有效询盘
本文详解外贸B2B企业如何构建GEO线索评分系统:从页面意图标签、用户行为追踪、询盘结构化,到多维评分规则与CRM集成,实现AI搜索流量→高质量线索→高效销售跟进的完整闭环,让GEO真正驱动可衡量的增长。
575 0
|
3月前
|
JSON Java API
1688店铺商品API开发指南
1688开放平台alibaba.product.list.get接口,支持企业认证账号分页获取商品ID、标题、价格、库存等核心数据(每页50条),助力商品管理与营销决策。需申请API权限,日调用限5000次,推荐使用官方SDK提升开发效率。(239字)
|
2月前
|
Linux 开发工具 iOS开发
【2026实测】Homebrew安装+配置国内源+使用一篇搞定(多种安装方式)
Homebrew 是 macOS 最流行的开源包管理器,被誉为“macOS 缺失的包管理器”。一行命令即可安装、更新、卸载命令行工具(如 Git、Python)和图形应用(如 Chrome、VS Code),自动处理依赖与环境配置,大幅提升开发效率。(239 字)
|
3月前
|
数据采集 JSON 数据挖掘
京东店铺所有商品API(店铺数据采集项目复盘)
本项目对接京东jd.item_search_shop接口,自动化采集多店铺全量商品信息(含价格、SKU、状态等),实现数据清洗、归档与定时更新,替代人工操作,提升效率与准确性,为盘点、分析及竞品监测提供高质量数据支撑。(239字)
|
3月前
|
数据采集 人工智能 运维
从报警风暴到主动免疫:吉利汽车智能运维落地实践
分享我们和阿里云 STAROps 一起,共建高质量智能运维的三步路径。
378 19
|
6月前
|
JSON 供应链 API
1688按图搜索API技术实现详解
本文详解1688官方“按图搜索商品”API的调用方法:涵盖权限申请、图片要求、接口地址、参数说明、Python调用示例及响应解析,助力开发者快速集成图像识别与商品匹配功能,适用于比价、找货、侵权检测等场景。(239字)
|
3月前
|
人工智能 安全 前端开发
10|Agent Harness 的未来:从代码助手到工程协作系统
AI编程正迈入第三阶段——Agent Harness:AI不再仅补全代码或回答问题,而是深度融入研发全流程——读仓库、改文件、跑测试、连工具、协作者。未来核心在于“可治理的工程协作”,而非单纯自动化。(239字)
280 8
|
3月前
|
消息中间件 人工智能 运维
Agentic AICon【智能体基础设施与 AgentOps 专场】精彩回顾 & PPT 下载
Agentic AICon【智能体基础设施与 AgentOps 专场】精彩回顾 & PPT 下载。
|
3月前
|
人工智能 运维 JavaScript
阿里云无影云电脑部署OpenClaw与Hermes Agent +百炼Token Plan简易配置流程
随着AI智能体技术的普及,轻量化AI Agent框架结合大模型服务的使用场景愈发广泛。阿里云无影云电脑依托云端桌面形态,无需本地硬件支撑、环境隔离安全、即开即用,区别于传统ECS云服务器,操作逻辑更贴近个人电脑,对于不熟悉纯命令行运维的使用者十分友好,是部署各类应用程序与AI服务的优质载体。
662 2

热门文章

最新文章