Alibaba国际站商品详情API JSON数据返回解析指南
一、核心JSON数据结构
基础结构示例:
json{ "request_id": "123e4567-e89b-12d3-a456-426614174000", "code": 200, "message": "success", "model": { "product_detail": { "product_id": "1005001234567890", "title": "Wireless Bluetooth Headphones", "price": "29.99", "original_price": "39.99", "discount": "25%", "sku_list": [ {"sku_id": "SKU001", "sku_name": "Black", "sku_price": "29.99", "stock_quantity": 120} ], "seller_info": {"seller_id": "SELLER123", "seller_rating": 4.8}, "shipping_info": {"shipping_type": "Express", "shipping_fee": "5.99", "estimated_delivery": "7-10 days"} } } }
二、关键字段深度解析
商品基础信息:
product_id:商品唯一标识符(如1005001234567890)。title/title_en:多语言标题,通过lang参数控制(如lang=en返回英文标题)。price与original_price:当前售价与原价,支持货币单位标识(如USD)。SKU与规格:
sku_list:包含SKU ID、名称、价格、库存量及属性(如颜色、尺寸)。示例:
json"attributes": [{"attribute_name": "Color", "attribute_value": "Black"}]跨境物流与支付:
shipping_info:运费类型(如Express)、费用、预估时效及可发货地区。currency_code与language_code:货币与语言本地化(如USD、en)。销售与促销:
sales_info:销量、评价数量、评分。promotion_info:优惠券信息、折扣规则、最低消费门槛。
三、多语言与区域化适配
语言参数:通过
lang=en/zh/es指定返回语言,自动适配标题、描述、关键词等字段。区域化数据:结合
country=US/DE参数,返回目标市场的本地化价格、物流时效及合规要求(如欧盟GDPR)。
四、错误处理与状态码
成功状态:
code=200,message="success"。常见错误:
400:无效参数(如无效product_id)。403:权限不足或签名错误。429:调用频率超限。错误详情:通过
sub_code和sub_message定位问题(如sub_code=1002表示签名验证失败)。
五、调用注意事项
参数配置:
必填参数:
num_iid(商品ID)、api_name=item_get、app_key。可选参数:
fields(指定返回字段)、pageSize(分页大小)、pageNo(页码)。频率限制:
免费版:每秒≤10次,每日≤100次。
企业版:可扩展至每日5000次,支持批量查询。
数据缓存:
静态数据(如标题、规格)缓存24小时,动态数据(如价格、库存)缓存5-30分钟,减少API调用次数。
六、代码示例(Python)
pythonimport requests import hashlib import time APP_KEY = 'your_app_key' APP_SECRET = 'your_app_secret' API_URL = 'https://gw.open.1688.com/openapi/param2/1/com.alibaba.product/alibaba.product.get/1.0/' def get_product_detail(product_id, lang='en'): params = { 'num_iid': product_id, 'api_name': 'item_get', 'app_key': APP_KEY, 'lang': lang, 'timestamp': str(int(time.time())) } # 生成签名(按ASCII排序+HMAC-SHA1) sorted_params = sorted(params.items(), key=lambda x: x[0]) query_string = '&'.join([f'{k}={v}' for k, v in sorted_params]) + APP_SECRET params['sign'] = hashlib.md5(query_string.encode()).hexdigest().upper() response = requests.get(API_URL, params=params) if response.status_code == 200: return response.json() else: raise Exception(f"API请求失败: {response.status_code}") # 示例调用 product_data = get_product_detail('123456789', 'en') print(f"标题: {product_data['model']['product_detail']['title']}") print(f"价格: {product_data['model']['product_detail']['price']} USD")七、合规与安全要求
数据使用:仅限企业内部业务使用(如ERP同步、竞品分析),禁止公开传播或转售。
敏感信息:对供应商联系方式、精准地址等脱敏处理,存储时加密(如AES-256)。
日志审计:记录每次调用的
appkey、productId、IP、响应状态,保存至少6个月。
通过以上解析,您可全面掌握Alibaba国际站商品详情API的JSON数据结构、关键字段、调用逻辑及合规要求,实现高效、安全的商品数据获取与处理。