一、接口概述
京东商品详情 API(item_get_pro)是京东开放平台提供的一个接口,用于获取商品的详细信息。通过此接口,开发者可以获取商品的基础信息、价格、库存、图片、视频、规格参数等数据。这些数据对于商品分析、市场研究、价格监控等场景非常有用。
二、实战代码解析
(一)注册与认证
-
注册开发者账号:访问京东开放平台,完成账号注册。
-
创建应用:在开发者后台创建应用,填写应用信息,提交审核。
-
获取API密钥:审核通过后,获得
AppKey和AppSecret,用于后续API调用的身份验证。
(二)接口调用准备
-
阅读API文档:在京东开放平台找到目标接口(如
jd.item.get),详细阅读接口文档,明确请求URL、方法、必填参数及返回格式。 -
生成签名:
-
将请求参数按字典序排序后拼接成字符串。
-
结合
AppSecret使用MD5或HMAC-SHA256算法生成签名,确保请求合法性。 -
示例代码(Python):
import hashlib def generate_sign(params, app_secret): sorted_params = sorted(params.items()) query_string = ''.join(f'{k}{v}' for k, v in sorted_params) sign = hashlib.md5((query_string + app_secret).encode()).hexdigest().upper() return sign
-
(三)发送请求与处理响应
-
发送HTTP请求:使用HTTP客户端(如Python的
requests库)发送请求,包含必要的请求头(如Authorization、Content-Type)和参数。 -
解析响应数据:处理返回的JSON数据,提取所需信息(如商品名称、价格、图片URL等)。
(四)PHP调用示例
以下是一个完整的PHP调用示例,展示如何获取京东商品详情:
<?php
// 以下是京东开放平台的 API 所需的必要信息,请根据实际情况替换
$appKey = "YOUR_APP_KEY";
$appSecret = "YOUR_APP_SECRET";
$skuId = "YOUR_SKU_ID"; // 你要查询的商品的 SKU 标识
// API 的基本信息
$method = "jingdong.item.get";
$timestamp = date('Y-m-d H:i:s');
$format = "json";
$v = "2.0";
// 构建请求参数
$paramJson = json_encode([
"sku_id" => $skuId,
// 你可以根据自己的需求添加更多的字段,以下是一些示例字段
"fields" => "item_id,title,price,image_url,category,stock_state,description"
]);
// 完整的请求参数数组
$requestParams = [
"app_key" => $appKey,
"method" => $method,
"timestamp" => $timestamp,
"format" => $format,
"v" => $v,
"param_json" => $paramJson
];
// 对请求参数进行签名
ksort($requestParams); // 按照键名对参数进行升序排序
$signStr = $appSecret;
foreach ($requestParams as $key => $value) {
$signStr .= $key . $value;
}
$signStr .= $appSecret;
$sign = strtoupper(md5($signStr)); // 生成签名,转换为大写
$requestParams['sign'] = $sign;
// 构建完整的请求 URL
$url = "https://api.jd.com/routerjson";
// 初始化 cURL 会话
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($requestParams));
// 执行请求
$response = curl_exec($ch);
// 检查是否有错误发生
if (curl_errno($ch)) {
die("cURL 错误: " . curl_error($ch));
}
// 关闭 cURL 会话
curl_close($ch);
// 处理响应
$result = json_decode($response, true);
if ($result) {
if (isset($result['error_response'])) {
// 处理 API 返回的错误信息
echo "API 错误: " . $result['error_response']['msg'] . PHP_EOL;
} else {
// 输出商品详情
echo "商品详情: " . json_encode($result, JSON_PRETTY_PRINT) . PHP_EOL;
}
} else {
echo "无法解析 API 响应。" . PHP_EOL;
}
?>
三、返回值说明
以下是item_get_pro接口返回值的核心字段解析:
(一)基础信息
-
skuId:商品唯一标识符,用于精准定位商品变体(如不同颜色、尺寸)。 -
title:商品名称,通常包含品牌、型号、核心卖点。 -
price:当前售价。 -
promotionPrice:促销价。 -
stock:库存数量(部分接口返回模糊值,如“100+”)。
(二)营销与销售数据
-
saleNum:商品销量(累计或近30天)。 -
commentCount:评价总数。 -
goodCommentCount:好评数。 -
couponInfo:优惠券信息。
(三)商品描述与媒体资源
-
desc:商品详情页HTML代码。 -
imageUrl:主图与轮播图URL。 -
videoUrl:商品视频链接。
(四)物流与售后
-
deliveryInfo:配送范围、时效、运费模板。 -
afterSaleService:退换货政策、保修期限。
四、总结
通过本文的实战代码解析,开发者可以快速理解和使用京东商品详情 API(item_get_pro)。此接口提供了丰富的商品详情数据,适用于多种电商场景。在使用过程中,确保按照京东开放平台的文档要求进行操作,并合理处理API返回的错误信息。
如遇任何疑问或有进一步的需求,请随时与我私信或者评论联系。

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



