首页 > 大数据 > 数据挖掘 > 阿里巴巴获得商品详情 API 返回值说明
阿里巴巴提供的商品详情API允许开发者通过编程方式获取商品的详细信息。以下是对该API返回值的详细说明,以及一个Python示例代码。
当调用阿里巴巴商品详情API时,通常会返回一个结构化的JSON对象,其中包含了商品的各种详细信息。以下是一个典型的返回值结构及其字段含义:
json复制代码
|
|
{ |
|
|
"status": "success", |
|
|
"result": { |
|
|
"product": { |
|
|
"product_id": "商品ID", // 商品的唯一标识符 |
|
|
"product_name": "商品名称", // 商品名称 |
|
|
"product_sn": "商品货号", // 商品货号 |
|
|
"num": "商品数量", // 商品数量(可能表示库存量或其他相关数量) |
|
|
"price": "商品价格", // 商品价格 |
|
|
"min_order": "最小起订量", // 最小起订量 |
|
|
"weight": "商品重量", // 商品重量 |
|
|
"volume": "商品体积", // 商品体积 |
|
|
"package_list": [ |
|
|
{ |
|
|
"package_id": "包装ID", |
|
|
"package_name": "包装名称", |
|
|
"package_price": "包装价格", |
|
|
"package_num": "包装数量" |
|
|
} |
|
|
], |
|
|
"img_list": ["商品图片URL1", "商品图片URL2", "..."], // 商品图片URL列表 |
|
|
"detail": "商品详情描述", // 商品详情描述 |
|
|
"attributes": [ |
|
|
{ |
|
|
"attr_name": "属性名称1", |
|
|
"attr_value": "属性值1" |
|
|
}, |
|
|
{ |
|
|
"attr_name": "属性名称2", |
|
|
"attr_value": "属性值2" |
|
|
}, |
|
|
"..." |
|
|
], |
|
|
"sku_list": [ |
|
|
{ |
|
|
"sku_id": "SKU ID", |
|
|
"price": "SKU价格", |
|
|
"stock": "SKU库存", |
|
|
"attribute_combination": "属性组合描述", |
|
|
"img_url": "SKU图片URL" |
|
|
}, |
|
|
"..." |
|
|
], |
|
|
"supplier": { |
|
|
"supplier_id": "供应商ID", |
|
|
"supplier_name": "供应商名称", |
|
|
"contact_person": "联系人", |
|
|
"contact_phone": "联系电话", |
|
|
"contact_email": "联系邮箱" |
|
|
}, |
|
|
"shipping_template_id": "物流模板ID", // 物流模板ID |
|
|
"service_list": ["提供的服务1", "提供的服务2", "..."], // 提供的服务列表 |
|
|
"payment_methods": ["支付方式1", "支付方式2", "..."], // 支付方式列表 |
|
|
"warranty_period": "质保期", // 质保期 |
|
|
"create_time": "商品创建时间", // 商品创建时间 |
|
|
"update_time": "商品更新时间", // 商品更新时间 |
|
|
"is_onsale": "是否在售(0:不在售,1:在售)", // 商品是否在售 |
|
|
"is_coupon_supported": "是否支持优惠券(0:不支持,1:支持)", // 商品是否支持优惠券 |
|
|
"is_distributor": "是否为分销商商品(0:不是,1:是)", // 商品是否为分销商商品 |
|
|
"is_3d": "是否为3D商品(0:不是,1:是)" // 商品是否为3D商品 |
|
|
} |
|
|
}, |
|
|
"error_code": "0", |
|
|
"error_msg": "成功" |
|
|
} |
以下是一个使用Python调用阿里巴巴商品详情API并解析返回值的示例代码:
python复制代码
|
|
import requests |
|
|
import json |
|
|
import hashlib |
|
|
import time |
|
|
|
|
|
# 设置API密钥和请求参数 |
|
|
APP_KEY = 'YOUR_APP_KEY' # 替换为您的API密钥 |
|
|
APP_SECRET = 'YOUR_APP_SECRET' # 替换为您的API密钥 |
|
|
NUM_IID = '610947572360' # 替换为您要查询的商品ID |
|
|
FIELDS = 'product_id,product_name,price,detail,img_list,attributes,sku_list' # 根据需要选择字段 |
|
|
|
|
|
# 生成签名(这里以MD5为例,具体签名算法可能因API而异) |
|
|
def generate_sign(params): |
|
|
params_str = '&'.join(['{}={}'.format(k, v) for k, v in params.items()]) |
|
|
sign_str = 'app_key={}×tamp={}&{}&app_secret={}'.format(APP_KEY, int(time.time()), params_str, APP_SECRET) |
|
|
m = hashlib.md5() |
|
|
m.update(sign_str.encode('utf-8')) |
|
|
return m.hexdigest().upper() |
|
|
|
|
|
# 构建请求参数 |
|
|
params = { |
|
|
'method': 'alibaba.product.get', # API接口名称(具体名称可能因API版本而异) |
|
|
'fields': FIELDS, |
|
|
'product_id': NUM_IID, # 商品ID(在某些API中可能使用num_iid等字段) |
|
|
'app_key': APP_KEY, |
|
|
'timestamp': int(time.time()), |
|
|
'format': 'json', |
|
|
'sign_method': 'md5', |
|
|
'v': '2.0' # API版本号 |
|
|
} |
|
|
params['sign'] = generate_sign(params) |
|
|
|
|
|
# 发送HTTP请求并获取响应 |
|
|
url = 'https://api.1688.com/router/json' # 替换为实际的API请求地址 |
|
|
response = requests.get(url, params=params) |
|
|
|
|
|
# 解析响应数据 |
|
|
if response.status_code == 200: |
|
|
data = response.json() |
|
|
if data.get('status') == 'success': |
|
|
product = data['result']['product'] |
|
|
print('商品ID:', product['product_id']) |
|
|
print('商品名称:', product['product_name']) |
|
|
print('价格:', product['price']) |
|
|
print('详情描述:', product['detail']) |
|
|
print('图片列表:', product['img_list']) |
|
|
print('属性列表:', product['attributes']) |
|
|
print('SKU列表:', product['sku_list']) |
|
|
else: |
|
|
print('获取商品详情失败:', data.get('error_msg', '未知错误')) |
|
|
else: |
|
|
print('API请求失败:', response.status_code, response.text) |
通过上述示例代码和返回值说明,您可以更好地理解和使用阿里巴巴的商品详情API。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70042344/viewspace-3070173/ ,如需转载,请注明出处,否则将追究法律责任。