全部
常见问题
产品动态
精选推荐

京东商品详情API文档详解

管理 管理 编辑 删除

一、引言

京东商品详情API是京东开放平台提供的一组应用程序编程接口(API),允许开发者通过编程方式获取京东商城上特定商品的详细信息。这些信息对于电商运营、价格监控、竞品分析、个性化推荐等场景具有重要价值。本文将详细介绍京东商品详情API的使用方法、参数配置、请求和响应格式,以及如何进行有效的接口调用。

二、接口概述

京东商品详情API能够提供以下主要功能:

  • 商品基本信息:包括商品的标题、商品编号(SKU)、商品描述、品牌、商品参数等。
  • 价格信息:展示商品的当前售价、原价、促销价格、价格优惠规则等。
  • 库存信息:提供商品的库存数量、库存状态以及预计的补货时间等。
  • 图片信息:获取商品的主图、详情图、多角度展示图等图片链接或数据。
  • 描述信息:包含详细的商品文字描述。
  • 用户评价:提供商品的累计评价数量、好评率、中评率、差评率以及具体的用户评价内容。

三、使用步骤

(一)注册账号与获取权限

  1. 访问京东开放平台(https://open.jd.com),点击“立即入驻”按钮,填写企业或个人信息进行注册[^7^]。
  2. 登录开发者后台,进入“控制台”创建新应用,填写应用名称、描述、图标等信息。
  3. 选择“商品详情API”权限组,提交审核。审核通过后,系统将分配AppKey和AppSecret,这两个密钥是后续调用API的关键凭证。

(二)阅读API文档

京东开放平台提供详细的API文档,包含接口说明、请求方式(GET/POST)、请求参数、返回格式、调用频率限制等内容。开发者需重点阅读以下部分:

  • 接口方法名:如jd.item.get(获取商品详情)。
  • 必填参数:如app_key、method、timestamp、sign等。
  • 返回字段:如wareInfo(商品信息)、price(价格)、stock(库存)等。

(三)构建API请求

1. 请求方式

京东商品详情API接口通常支持HTTP POST和GET请求方式。你需要根据API接口文档的要求选择合适的请求方式。

2. 请求参数

以下是京东商品详情API接口的一些基本请求参数:

  • wareId:商品ID,是必须参数。
  • field:返回字段列表(如title、price、imageInfo等)。

3. 签名生成

签名生成通常涉及以下步骤:

  1. 将所有请求参数(不包括sign本身)按照一定规则生成签名字符串。
  2. 使用MD5等加密算法对签名字符串进行加密,生成签名值sign。
  3. 将生成的sign值附加到请求参数中,完成签名过程。

(四)发送API请求

使用HTTP客户端(如CURL、Postman等)发送构建好的API请求。确保在请求中包含正确的API密钥和商品ID。

(五)处理API响应

一旦发送请求,您将收到一个包含商品详情的JSON响应。解析这个响应,您可以提取出商品的基本信息,如名称、品牌、产地、规格参数等。

四、核心接口详解

(一)商品详情API(jingdong.ware.get

  • 功能:获取单个商品的详细信息。
  • 权限:需申请。
  • 参数:wareId:商品ID(必选)。field:返回字段列表(如title、price、imageInfo等)。
  • 返回示例:


{
  "jingdong_ware_get_response": {
    "wareInfo": {
      "wareId": 100060000001,
      "title": "Apple iPhone 15 256GB 黑色 移动联通电信5G手机",
      "price": {
        "salePrice": 7999.00,
        "marketPrice": 8999.00
      },
      "imageInfo": {
        "imageList": [
          "https://img10.360buyimg.com/n1/s540x540_jfs/t1/200000/30/3000/100000/60000000E00000000/10000000000000000.jpg"
        ]
      },
      "brandInfo": {
        "brandId": 1000000000,
        "brandName": "Apple"
      },
      "categoryInfo": {
        "categoryId": 1000000000,
        "categoryName": "手机"
      },
      "shopInfo": {
        "shopId": 1000000000,
        "shopName": "Apple产品京东自营旗舰店",
        "shopType": 1
      }
    }
  }
}

(二)商品搜索API(jingdong.ware.search

  • 功能:根据关键词搜索商品。
  • 权限:需申请。
  • 参数:keyword:搜索关键词(必选)。page:页码。pageSize:每页数量。sortType:排序方式(1 - 价格升序,2 - 价格降序等)。
  • 返回示例:


{
  "jingdong_ware_search_response": {
    "total": 1258,
    "wareInfoList": [
      {
        "wareId": 100060000001,
        "title": "Apple iPhone 15 256GB 黑色 移动联通电信5G手机",
        "price": 7999.00,
        "saleInfo": {
          "sales": 12345,
          "isJdSale": true,
          "isSelf": true
        },
        "imageInfo": {
          "imageList": [
            "https://img10.360buyimg.com/n1/s540x540_jfs/t1/200000/30/3000/100000/60000000E00000000/10000000000000000.jpg"
          ]
        }
      }
    ]
  }
}

(三)商品分类API(jingdong.category.read.find

  • 功能:获取商品分类信息。
  • 权限:需申请。
  • 参数:parentId:父分类ID(0为根分类)。

五、代码示例

以下是一个使用Python调用京东商品详情API的示例代码:

import hashlib
import time
import requests
import json

class JDAPI:
    def __init__(self, app_key, app_secret):
        """初始化京东API客户端"""
        self.app_key = app_key
        self.app_secret = app_secret
        self.api_url = "https://api.jd.com/routerjson"

    def generate_sign(self, params):
        """生成API签名"""
        sorted_params = sorted(params.items(), key=lambda x: x[0])
        sign_str = self.app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + self.app_secret
        return hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()

    def call(self, method, params=None):
        """通用API调用方法"""
        if params is None:
            params = {}

        # 公共参数
        common_params = {
            "app_key": self.app_key,
            "method": method,
            "timestamp": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
            "format": "json",
            "v": "2.0",
            "sign_method": "md5"
        }

        # 合并参数
        all_params = {**common_params, **params}

        # 生成签名
        all_params["sign"] = self.generate_sign(all_params)

        # 发送请求
        response = requests.post(self.api_url, data=all_params)
        return response.json()

# 示例:获取商品详情
if __name__ == "__main__":
    app_key = "your_app_key"
    app_secret = "your_app_secret"
    jd_api = JDAPI(app_key, app_secret)

    # 商品详情API调用
    ware_id = "100060000001"  # 示例商品ID
    response = jd_api.call("jingdong.ware.get", {"wareId": ware_id})
    print(json.dumps(response, indent=4, ensure_ascii=False))
    

六、常见问题与解决方法

(一)签名错误

  • 原因:签名生成过程中参数排序、拼接或加密算法不正确。
  • 解决方法:严格按照API文档中的签名生成规则进行操作,确保参数排序一致,拼接格式正确,并使用正确的加密算法。

(二)接口调用频率限制

  • 原因:京东API接口对调用频率有限制,超过限制会导致接口调用失败。
  • 解决方法:合理规划接口调用频率,避免短时间内频繁调用同一接口。可以使用缓存机制存储已获取的数据,减少不必要的接口请求。

(三)返回数据不完整

  • 原因:请求参数配置不正确,导致返回的字段不完整。
  • 解决方法:检查请求参数中的field字段,确保包含了需要获取的所有字段信息。

七、总结

京东商品详情API为开发者提供了一个强大的工具,用于获取京东商城上商品的详细信息。通过本文的详细介绍,开发者可以快速了解如何注册账号、获取权限、构建请求、处理响应以及解决常见问题。希望本文能够帮助开发者更好地利用京东商品详情API,实现各种电商相关的应用场景。

如遇任何疑问或有进一步的需求,请随时与我私信或者评论联系

请登录后查看

Jelena技术达人 最后编辑于2025-08-18 17:54:37

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
打赏
已打赏¥{{reward_price}}
100
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服