京东商品详情 Pro 接口(以下简称 “Pro 接口”)是京东开放平台 / 京东联盟提供的高级版商品数据接口,相比基础版接口,可返回更全维度的商品信息(如 SKU 级价格、精细化参数、多维度图片 / 视频、营销信息、库存详情等),适用于电商分析、竞品监控、供应链管理等场景。以下是完整的接入流程和规范:
一、接口概述
1. 核心优势
- 字段更全:覆盖基础信息、价格(原价 / 券后价 / 拼购价)、SKU 规格、商品参数(基础 + 详情)、图片 / 视频、库存、营销活动、店铺信息等;
- 精度更高:支持 SKU 维度的精准数据返回,而非仅商品维度;
- 稳定性强:调用限额更高,响应速度更快,适合批量 / 高频采集场景。
2. 适用场景
竞品监控、电商比价系统、供应链数据分析、商品数字化建档、营销决策支撑等。
3. 官方接口标识
京东开放平台 / 京东联盟中,Pro 接口的核心标识为:
- 接口名称:
jd.union.open.goods.detail.pro.get(京东联盟主推)/taobao.item.get.pro(京东开放平台对标版,需以平台实际展示为准); - 接口归属:京东联盟(主推商业化接入)/ 京东开放平台(企业自用型接入)。
二、前期准备
1. 账号注册与认证
Pro 接口仅对企业主体开放(个人开发者无权限),需完成以下步骤:
步骤 1:注册开发者账号
- 访问京东开放平台或京东联盟,商业化场景优先);
- 点击 “开发者注册”,填写企业信息(企业名称、统一社会信用代码、联系人信息等),完成账号注册。
步骤 2:企业资质认证
- 登录后进入 “账号中心 - 资质认证”,提交以下材料:
- 营业执照(加盖公章的扫描件);
- 法人身份证正反面;
- 企业银行账户信息(可选,用于结算);
- 接口使用场景说明(如 “企业自用商品数据分析,无商业化分发”)。
- 审核周期:1-3 个工作日,审核通过后获得企业开发者权限。
2. 创建应用
- 登录开发者后台,进入 “应用管理 - 创建应用”;
- 选择应用类型:
- 自用型:仅企业自身使用,无需上架,权限审核更快;
- 第三方应用:面向其他企业 / 用户提供服务,需额外审核;
- 填写应用信息:应用名称、应用描述(需明确 Pro 接口使用场景)、回调地址(可选),提交后生成应用的
App Key和App Secret(核心密钥,需妥善保管)。
三、接口权限申请
1. 找到 Pro 接口
- 方式 1(京东联盟):进入 “联盟 API - 接口中心 - 商品相关”,搜索 “商品详情 Pro”;
- 方式 2(京东开放平台):进入 “API 市场 - 商品服务”,筛选 “高级版 / Pro 版” 商品详情接口。
2. 提交权限申请
- 点击 “申请权限”,选择已创建的应用,填写:
- 接口使用场景(需详细,如 “用于企业竞品商品价格 / 参数监控,日调用量≤1000 次”);
- 预计调用频率(日 / 小时调用量);
- 数据用途(禁止填写 “爬虫 / 非法分发” 等违规场景)。
- 审核周期:2-5 个工作日,审核通过后,应用将获得该接口的调用权限。
四、核心接入配置
1. 基础信息
| 配置项 | 说明 |
|---|---|
| 接口请求地址 | 京东联盟:https://api.jd.com/routerjson(统一网关);开放平台:https://eco.jd.com/router/rest |
| 请求方式 | GET/POST(推荐 POST,参数较多时避免 URL 长度限制) |
| 数据格式 | 请求 / 响应均为 JSON 格式 |
| 字符编码 | UTF-8 |
| 签名方式 | MD5(必填,验证请求合法性) |
2. 签名规则(核心)
京东 Pro 接口要求所有请求必须携带签名(sign参数),生成规则如下:
步骤 1:整理请求参数
- 排除
sign参数本身,将所有请求参数(包括公共参数 + 接口业务参数)按参数名 ASCII 码升序排序; - 参数值需为原始值,不得转义(如空格保留,特殊字符无需 URLEncode)。
步骤 2:拼接签名字符串
plaintext
签名字符串 = App Secret + 排序后的参数键值对拼接(key1value1key2value2...) + App Secret
示例:参数app_key=123、timestamp=2025-12-16 10:00:00、skuId=100012345678,App Secret 为abc123,则拼接后:
plaintext
abc123app_key123skuId100012345678timestamp2025-12-16 10:00:00abc123
步骤 3:生成签名
将拼接后的字符串做 MD5 加密,转大写,即为sign参数值。
3. 公共参数(所有请求必传)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| method | String | 是 | 接口名称,如jd.union.open.goods.detail.pro.get |
| app_key | String | 是 | 应用的 App Key(创建应用后获取) |
| timestamp | String | 是 | 请求时间,格式:YYYY-MM-DD HH:mm:ss(东八区时间) |
| format | String | 是 | 响应格式,固定为json |
| v | String | 是 | 接口版本,固定为1.0(以官方最新版本为准) |
| sign_method | String | 是 | 签名方式,固定为md5 |
| sign | String | 是 | 按签名规则生成的签名字符串 |
| param_json | String | 是 | 业务参数 JSON 字符串(如 SKU ID、字段筛选等) |
4. 业务参数(param_json 内的内容)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| skuId | String | 是 | 京东商品 SKU ID(商品详情页 URL 中item.jd.com/后的数字) |
| fields | String | 否 | 需返回的字段列表(Pro 接口默认返回全字段,可指定筛选,如title,price,skus) |
| extParams | String | 否 | 扩展参数(如是否返回视频、历史价格,以官方文档为准) |
五、接口调用流程
步骤 1:构造请求参数
python
运行
# 示例:构造公共参数+业务参数
import json
from datetime import datetime
# 公共参数
public_params = {
"method": "jd.union.open.goods.detail.pro.get",
"app_key": "你的App Key",
"timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
"format": "json",
"v": "1.0",
"sign_method": "md5"
}
# 业务参数
business_params = {
"skuId": "100012345678", # 目标商品SKU ID
"fields": "title,price,skus,params,images,stock,promotion" # 需返回的字段
}
# 拼接param_json
public_params["param_json"] = json.dumps(business_params, ensure_ascii=False)
步骤 2:生成签名
python
运行
import hashlib
def generate_sign(params, app_secret):
# 按ASCII升序排序参数
sorted_params = sorted(params.items(), key=lambda x: x[0])
# 拼接签名字符串
sign_str = app_secret
for key, value in sorted_params:
sign_str += f"{key}{value}"
sign_str += app_secret
# MD5加密并转大写
sign = hashlib.md5(sign_str.encode("utf-8")).hexdigest().upper()
return sign
# 生成sign并添加到参数中
app_secret = "你的App Secret"
public_params["sign"] = generate_sign(public_params, app_secret)
步骤 3:发送请求
python
运行
import requests
# 接口网关地址
api_url = "https://api.jd.com/routerjson"
# 发送POST请求(推荐)
response = requests.post(
api_url,
data=public_params,
timeout=15,
headers={"Content-Type": "application/x-www-form-urlencoded; charset=utf-8"}
)
# 解析响应
result = response.json()
print(json.dumps(result, ensure_ascii=False, indent=2))
步骤 4:解析响应结果
Pro 接口成功响应示例(核心字段):
json
{
"code": 200,
"msg": "success",
"data": {
"skuId": "100012345678",
"title": "京东自营 某商品名称",
"price": {
"currentPrice": "299.00", // 当前售价
"originalPrice": "399.00", // 原价
"couponPrice": "279.00" // 券后价
},
"skus": [ // SKU维度数据
{
"skuId": "100012345679",
"spec": "颜色:黑色 | 容量:128G",
"price": "299.00",
"stock": "有货"
}
],
"params": { // 商品参数
"基础参数": [{"名称": "品牌", "值": "京东京造"}, {"名称": "尺寸", "值": "10cm"}],
"详情参数": [{"名称": "材质", "值": "塑料"}]
},
"images": [ // 商品图片
"https://img10.360buyimg.com/n1/jfs/t1/xxx.jpg",
"https://img10.360buyimg.com/n1/jfs/t1/yyy.jpg"
],
"promotion": { // 营销活动
"coupon": [{"面额": "20元", "使用条件": "满299可用"}],
"activity": "双12满减活动"
}
}
}
六、常见错误码及解决方案
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 100 | 签名错误 | 检查签名规则(排序、拼接、MD5 加密),确认 App Secret 无误 |
| 2001 | 权限不足 | 确认已申请 Pro 接口权限,且审核通过;检查应用类型是否匹配(企业 / 第三方) |
| 3001 | SKU ID 无效 | 核对 SKU ID 是否正确,确认商品未下架 |
| 4001 | 调用频率超限 | 降低调用频率,或申请提高限额(企业可联系京东商务拓展) |
| 500 | 接口服务异常 | 稍后重试,或联系京东开放平台技术支持 |
七、接入注意事项
1. 调用限制
- 频率限制:Pro 接口默认日调用量≤10000 次(以审核时的限额为准),单 IP / 应用 QPS≤5;
- 超限处理:超限后接口返回 4001 错误,且可能临时封禁权限,需按规则调用。
2. 数据合规
- 禁止将接口返回的数据用于非法分发、爬虫商业化、恶意比价等违规场景;
- 需遵守《京东开放平台开发者协议》《京东联盟推广协议》,不得泄露用户 / 平台敏感数据。
3. 密钥管理
- App Key 和 App Secret 为核心密钥,禁止泄露给第三方;
- 建议定期更换密钥(开发者后台可操作),避免密钥泄露导致的风险。
4. 版本兼容
- 京东接口可能迭代更新,需关注开放平台公告,及时调整参数 / 签名规则;
- 优先使用官方 SDK(Java/Python)接入,减少手动处理签名的错误。


895

被折叠的 条评论
为什么被折叠?



