1688 商品详情接口是 1688 开放平台为开发者提供的,用于获取 1688 平台上商品详细信息的接口,APP 和 H5 商品详情采集接口均基于此,其核心接口为 “item_get” 或 “alibaba.product.get”。以下是关于该接口的详细介绍:
-
接口功能:可以获取商品的基本信息,如商品 ID、标题、价格、库存等;图片信息,包含主图、详情图等图片链接;规格参数,如颜色、尺寸、材质等;销售数据,如销量、评价等;以及关联信息,如相似商品推荐、关联搭配等。
-
接入前准备
- 注册开发者账号:访问 1688 开放平台官网,选择 “企业开发者” 或 “个人开发者” 身份进行注册,按提示完成实名认证,审核通过后获得开发者权限。
- 创建应用并获取凭证:登录开放平台后,进入 “控制台 - 应用管理” 创建应用,填写相关信息并提交审核。审核通过后,在应用详情页获取 App Key 和 App Secret,这是接口调用时的身份识别和签名验证的关键凭证。
- 权限申请:在应用详情页申请 “alibaba.product.get” 接口权限,个人开发者可能需要额外提交用途说明,企业开发者权限相对更全。
-
核心请求参数
- app_key:应用唯一标识,必填免费申请。
- method:接口名称,固定为 “com.alibaba.product.alibaba.product.get”,必填。
- timestamp:时间戳,格式为 “yyyy-MM-dd HH:mm:ss”,与服务器时间误差不超过 10 分钟,必填。
- format:响应格式,通常为 “json”,必填。
- v:接口版本,当前最新版本为 “2.0”,必填。
- sign:签名值,用于验证请求合法性,必填。
- productId:1688 商品 ID,可从商品详情页 URL 中提取,必填。
- fields:需返回的字段列表,多个字段用逗号分隔,不填则返回全部字段,可选。
-
接口签名生成
- 签名机制:1688 API 采用 HMAC - MD5 签名机制。
- 生成步骤:收集所有请求参数(不含 sign 本身),按参数名 ASCII 码升序排序,按 “参数名 = 参数值” 的格式拼接所有排序后的参数,在拼接字符串末尾添加 “&secret=App Secret”,用 App Secret 对最终字符串进行 HMAC - MD5 加密,生成签名值。
-
接口调用示例(Python)
python
运行
import hashlib
import time
import requests
def generate_sign(params, app_secret):
params_str = '&'.join(('{}={}'.format(k, v) for k, v in sorted(params.items())))
sign_str = f"app_key={params['app_key']}×tamp={params['timestamp']}&{params_str}&app_secret={app_secret}"
m = hashlib.md5()
m.update(sign_str.encode('utf - 8'))
return m.hexdigest().upper()
def get_product_details(app_key, app_secret, product_id):
url = "https://api.1688.com/router/json"
params = {
"method": "alibaba.product.get",
"fields": "product_id,product_title,price,main_image_url,product_desc",
"product_id": product_id,
"app_key": app_key,
"timestamp": int(time.time()),
"format": "json",
"sign_method": "md5",
"v": "2.0"
}
params['sign'] = generate_sign(params, app_secret)
response = requests.get(url, params=params)
return response.json()
# 示例调用
app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
product_id = "123456789"
details = get_product_details(app_key, app_secret, product_id)
print(details)