你关注的 1688 商品详情 API 接口(核心为
alibaba.item.get)是获取 1688 批发商品结构化数据的官方通道,以下从接口基础信息、核心字段、调用规则、实战代码、常见问题五个维度,给出完整且可落地的参考,覆盖你开发中需要的所有关键信息。一、接口基础信息(必知前提)
1. 核心接口清单
| 接口名称 | 接口标识 | 核心用途 | 适用场景 |
|---|---|---|---|
| 通用商品详情接口 | alibaba.item.get | 获取商品基础、价格、供应商、SKU 等核心数据 | 批量选品、价格监控、供应商筛选 |
| SKU 详情接口 | alibaba.item.sku.get | 单独获取 SKU 维度的库存、价格 | 精细化库存监控 |
| 商品详情页富文本接口 | alibaba.item.detail.get | 获取商品详情页图文 / 规格参数 | 详情页内容解析 |
2. 接口调用前提
账号认证:在1688 开放平台完成个人 / 企业实名认证(企业认证配额更高);
应用创建:创建应用并获取
App Key和App Secret(接口调用的身份凭证);权限申请:申请目标接口权限(如
alibaba.item.get),审核周期 1-3 个工作日;地址与规则:固定请求地址
https://gw.api.1688.com/openapi/param2/1/alibaba.item.get/2.0,仅支持 GET 请求,QPS 限制为 1(普通应用)/5(企业应用)。
二、核心接口(alibaba.item.get)返回字段解析
返回数据以 JSON 为主,核心字段按业务维度分类,重点关注 1688 批发场景的专属属性:
1. 核心字段分类(带示例)
| 字段分类 | 关键字段 | 含义 | 示例值 |
|---|---|---|---|
| 商品标识 | item_id | 商品唯一 ID(1688 专属,12 位数字) | "689712345678" |
category_id/category_name | 类目 ID / 名称 | "123456"/"男装 > T 恤 > 短袖 T 恤" | |
| 基础信息 | title | 商品标题(含起批量 / 定制信息) | "2025 夏季纯棉 T 恤 10 件起批 可定制" |
pic_url/detail_url | 主图链接 / 详情页链接 | "https://cbu01.alicdn.com/xxx.jpg" | |
| 批发价格规则 | price | 基础批发价(字符串转浮点) | "19.90" |
min_order_quantity | 最小起批量(批发核心字段) | "10" | |
max_order_quantity | 最大订购量 | "9999" | |
trade_type | 交易类型(wholesale = 批发 /retail = 零售) | "wholesale" | |
| SKU 信息 | sku_list | SKU 列表(含规格、价格、库存) | 见下方示例 |
| 供应商信息 | supplier_info | 供应商名称 / 类型 / 所在地 | {"supplier_name":"XX 服饰厂","supplier_type":"factory","province":"浙江"} |
| 物流信息 | logistics_info | 运费 / 发货时效 / 包邮规则 | {"freight":"0.00","delivery_time":"48 小时内发货","freight_note":"满 500 元包邮"} |
| 销售数据 | sales_info | 月销量 / 总销量 / 上架时间 | {"month_sales":1250,"total_sales":8900} |
| 商品状态 | status | 在售(on_sale)/ 下架(off_sale) | "on_sale" |
2. 典型 SKU 列表字段示例
json
"sku_list": [
{
"sku_id": "987654321012",
"sku_spec": "白色-L",
"sku_price": "19.90",
"sku_stock": 5000,
"available_stock": 4980 // 可售库存(真实库存)
}]三、Python 调用核心代码(最简可运行版)
python
运行
import requestsimport hashlibimport time# 配置项(替换为自己的)APP_KEY = "你的App Key"APP_SECRET = "你的App Secret"API_URL = "https://gw.api.1688.com/openapi/param2/1/alibaba.item.get/2.0"def generate_sign(params):
"""生成1688 API签名(核心)"""
# 1. 按ASCII升序排序,过滤空值
sorted_params = sorted([(k, v) for k, v in params.items() if v], key=lambda x: x[0])
# 2. 拼接+加密
sign_str = APP_SECRET + "".join([f"{k}{v}" for k, v in sorted_params]) + APP_SECRET return hashlib.md5(sign_str.encode()).hexdigest().upper()def get_1688_item_detail(item_id):
"""调用商品详情接口"""
# 构造参数
params = {
"app_key": APP_KEY,
"method": "alibaba.item.get",
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
"format": "json",
"v": "2.0",
"sign_method": "md5",
"item_id": item_id,
"fields": "item_id,title,price,min_order_quantity,supplier_info,sku_list"
}
# 生成签名
params["sign"] = generate_sign(params)
# 发起请求
try:
resp = requests.get(API_URL, params=params, timeout=10)
resp.encoding = "utf-8"
result = resp.json()
# 处理结果
if result["code"] != 0:
raise Exception(f"调用失败:{result['data']['error_response']['msg']}")
return result["data"]["item_get_response"]["item"]
except Exception as e:
print(f"异常:{e}")
return None# 调用示例if __name__ == "__main__":
item_data = get_1688_item_detail("689712345678") # 替换为目标商品ID
if item_data:
print(f"商品标题:{item_data['title']}")
print(f"批发价:{item_data['price']} 元,起批量:{item_data['min_order_quantity']} 件")四、调用时的核心注意事项
1. 签名必对(最易踩坑)
参数必须按ASCII 升序排序(不是拼音 / 数字排序);
空值参数(如未传
fields)不参与签名;签名拼接规则:
App Secret + 排序后keyvalue + App Secret,MD5 加密后转大写。
2. 限流控制
普通应用 QPS=1,批量调用需添加
time.sleep(1)延迟;个人账号每日配额约 100 次,企业账号提升至 1 万次 / 天。
3. 数据处理
价格 / 起批量等字段返回为字符串,需转成数值类型(
float/int);部分字段(如供应商联系方式)需额外申请权限,未授权时返回
null;商品图片链接有效期约 30 天,长期使用需下载到本地。
五、常见异常及解决方案
| 异常类型 | 错误码 / 提示 | 解决方案 |
|---|---|---|
| 签名错误 | isv.invalid-sign | 核对 App Secret、参数排序、过滤空值 |
| 权限不足 | isv.permission-denied | 确认接口权限已审核通过(企业认证优先) |
| 限流超限 | isv.api-rate-limit-exceeded | 增加调用延迟,引入缓存减少请求 |
| 商品不存在 | isv.item-not-exist | 核对商品 ID(1688 ID≠淘宝 ID),跳过下架商品 |
| 时间戳错误 | isv.invalid-timestamp | 校准本地时间,确保格式为YYYY-MM-DD HH:mm:ss |
总结
核心关键点
1688 商品详情 API 的核心是
alibaba.item.get,需重点关注起批量、供应商类型、批发价等批发专属字段;签名生成是调用成功的前提,必须严格遵循 ASCII 排序 + MD5 加密规则;
调用时需控制频率(1 QPS)、处理空值字段、适配平台限流 / 权限规则;
异常处理优先覆盖签名、权限、限流三类高频问题,保障采集稳定性。
如果需要针对「批量采集」「数据清洗」「异常重试」等特定场景的优化代码,可以告诉我,我会补充对应的实战方案。