×

1688 item_get API 一键获取商品信息实战指南

admin admin 发表于2026-07-23 15:01:52 浏览17 评论0

抢沙发发表评论

核心结论‌

通过 1688 开放平台的 item_get 接口,可‌一键获取商品全量信息‌(标题、价格、SKU、库存、批发价梯度、详情图等),需完成‌企业认证 + 应用创建 + 权限申请‌,使用 ‌HMAC-MD5 签名机制‌ 构建安全请求,支持 Python/Java 等语言调用,‌个人账号权限受限,企业账号可调用 5000 次/日‌。


一、接入前置条件(必做)‌

表格

步骤 操作说明 注意事项

1. 账号类型‌ 必须使用‌企业开发者账号‌ 个人账号无法申请商品详情接口权限,审核直接驳回

2. 实名认证‌ 使用‌企业支付宝‌完成营业执照认证 个人支付宝绑定将导致认证失败

3. 创建应用‌ 登录 1688 开放平台 → 应用管理 → 创建应用 选择“自用型”应用,避免复杂 OAuth2 流程

4. 获取凭证‌ 获取 app_key(公开)和 app_secret(保密) app_secret 严禁硬编码、禁止上传至 GitHub,建议使用环境变量存储

5. 申请接口权限‌ 在应用详情页 → 接口权限 → 搜索并申请 item_get 申请理由必须写真实业务场景(如“ERP 同步库存”),禁止写“爬虫”“数据采集”


✅ ‌关键提示‌:权限审核周期为 1–3 个工作日,建议提前申请。


二、接口核心参数与请求结构‌

表格

参数名 类型 必填 说明

method String 固定值:1688.item_get

app_key String 应用创建后获取的 App Key

timestamp String 格式:YYYY-MM-DD HH:MM:SS,与服务器时间误差 ≤10 分钟

v String API 版本,固定为 2.0

sign_method String 固定为 md5

format String 返回格式,固定为 json

num_iid Long 1688 商品 ID(非链接,非 SKU)

sign String ‌签名结果‌(见下文生成规则)


请求地址‌:

https://gw.api.1688.com/openapi/param2/1/1688.item_get/2.0


请求方式‌:推荐 ‌POST‌(避免 GET 参数截断)


三、签名生成算法(核心难点)‌


签名是调用失败的最常见原因。‌必须严格按以下步骤生成‌:


筛选参数‌:剔除 sign 和空值参数

排序‌:将剩余参数按 ‌参数名 ASCII 码升序‌ 排列(区分大小写)

拼接‌:格式为 key1=value1key2=value2...(无 &、无空格)

加盐‌:在拼接字符串‌前后‌拼接 app_secret

计算‌:对结果执行 ‌MD5‌ 哈希,转为‌大写十六进制字符串‌


Python 签名生成示例‌:


python

import hashlib

import time


def generate_sign(params, app_secret):

    # 1. 筛选非空参数,排除 sign

    filtered = {k: v for k, v in params.items() if v is not None and k != 'sign'}

    # 2. 按 key 升序排序

    sorted_keys = sorted(filtered.keys())

    # 3. 拼接 key=value

    param_str = ''.join(f"{k}{filtered[k]}" for k in sorted_keys)

    # 4. 加盐:app_secret + param_str + app_secret

    sign_str = app_secret + param_str + app_secret

    # 5. MD5 + 大写十六进制

    sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()

    return sign


# 使用示例

params = {

    'method': '1688.item_get',

    'app_key': 'your_app_key',

    'timestamp': time.strftime('%Y-%m-%d %H:%M:%S'),

    'v': '2.0',

    'sign_method': 'md5',

    'format': 'json',

    'num_iid': 610947572360

}

sign = generate_sign(params, 'your_app_secret')

params['sign'] = sign



⚠️ ‌常见错误‌:


参数未排序(如 a=1&b=2 未转为 a1b2)

拼接时加了 & 或空格

app_secret 泄露或错误

时间戳超时(建议使用 NTP 同步时间)

四、返回数据结构(JSON 示例)‌

json

{

  "item": {

    "title": "【工厂直供】不锈钢保温杯 500ml 批发价低至8元",

    "price": "8.00",

    "price_range": "8.00-12.00",

    "min_order_quantity": 100,

    "stock": 5000,

    "sku_list": [

      {

        "sku_id": "123456",

        "spec": "颜色:蓝色,容量:500ml",

        "price": "8.50",

        "stock": 2000

      }

    ],

    "main_image": "https://img16.1688.com/xxx.jpg",

    "detail_images": ["https://img16.1688.com/xxx1.jpg", "..."],

    "seller": {

      "shop_name": "XX五金批发厂",

      "seller_id": "123456789"

    },

    "promotion": {

      "discount": "满1000件享7折",

      "freight": "包邮"

    }

  }

}



关键字段说明‌:


price_range:批发价区间(非单一价格)

min_order_quantity:最小起订量(MOQ)

sku_list:多规格库存与价格

detail_images:商品详情页图片列表

五、实战建议与避坑指南‌


调用频率限制‌:


个人账号:100 次/日

企业账号:5000 次/日(可申请升级至 50 次/秒)

超限将被临时封禁 24 小时


数据延迟‌:

cache=yes(默认)会返回缓存数据,如需实时库存,设为 cache=no


错误排查‌:


返回 {}:权限未开通或 num_iid 无效

返回 {"error_response":{"code":10001,"msg":"Invalid sign"}}:签名错误

返回 {"error_response":{"code":10002,"msg":"Insufficient permissions"}}:未申请接口权限


推荐工具‌:

使用 ‌Postman‌ 或 ‌Apifox‌ 测试接口,快速验证参数与签名逻辑


六、推荐学习资源(富媒体辅助)‌


群贤毕至

访客