如何通过1688开放平台API获取指定店铺所有商品

简介: 本文详解如何调用1688开放平台官方API(alibaba.product.getSellerProductList),通过授权、签名、分页请求,批量获取店铺全量商品信息(标题、价格、SKU等),含Python实现、错误处理与优化建议,适用于电商ERP及竞品分析系统开发。(239字)


场景需求: 在开发电商ERP、数据采集工具或竞品分析系统时,经常需要获取1688平台上某个店铺的全部商品信息(如标题、价格、SKU、库存等)。本文将介绍如何通过1688开放平台提供的官方API实现这一功能。

一、核心接口:alibaba.product.getSellerProductList
这是1688开放平台提供的用于获取卖家商品列表的API。通过合理配置请求参数和分页处理,即可获取全量商品数据。

接口地址: https://api.1688.com/router/rest

请求方式: POST
数据格式: application/x-www-form-urlencoded

二、关键实现步骤

  1. 准备环境
    注册1688开放平台账号,创建应用并获取 appKey 和 appSecret。
    引导卖家完成授权,获取店铺的 access_token(需 seller_view 权限)。
  2. 基础请求参数
    base_params = {
    'method': 'alibaba.product.getSellerProductList',
    'app_key': 'YOUR_APP_KEY',
    'access_token': 'SELLER_ACCESS_TOKEN',
    'timestamp': str(int(time.time() * 1000)), # 毫秒时间戳
    'format': 'json',
    'v': '2.0',
    'sign_method': 'md5'
    }

  3. 分页控制参数
    page_no: 当前页码(从1开始)
    page_size: 每页条数(建议不超过50)

    示例:请求第2页,每页30条

    page_params = {
    'page_no': 2,
    'page_size': 30
    }

  4. 签名生成
    所有参数需按字母序排序后拼接,加上 appSecret 进行MD5签名:

def generate_sign(params, app_secret):
param_str = '&'.join([f'{k}{v}' for k, v in sorted(params.items())])
full_str = f'{app_secret}{param_str}{app_secret}'
return hashlib.md5(full_str.encode()).hexdigest().upper()
三、完整请求示例(Python)
import requests
import time
import hashlib

def fetch_all_products(app_key, app_secret, access_token, max_page=50):
all_products = []
page_no = 1

while page_no <= max_page:
    # 1. 构造基础参数
    params = {
        'method': 'alibaba.product.getSellerProductList',
        'app_key': app_key,
        'access_token': access_token,
        'timestamp': str(int(time.time() * 1000)),
        'format': 'json',
        'v': '2.0',
        'sign_method': 'md5',
        'page_no': page_no,
        'page_size': 50
    }

    # 2. 生成签名
    params['sign'] = generate_sign(params, app_secret)

    # 3. 发送请求
    resp = requests.post('https://api.1688.com/router/rest', data=params)
    data = resp.json()

    # 4. 处理异常
    if 'error' in data:
        print(f"Error: {data['error']['msg']} (Code: {data['error']['code']})")
        break

    # 5. 存储当前页商品
    products = data['result']['productInfos']['productInfo']
    all_products.extend(products)

    # 6. 分页终止判断
    if len(products) < params['page_size']:
        break

    page_no += 1
    time.sleep(0.5)  # 避免请求过频

return all_products

四、响应数据结构解析
成功响应示例:

{
"result": {
"productInfos": {
"productInfo": [
{
"productId": 1234567890,
"subject": "商品标题",
"price": "99.00",
"unit": "件",
"status": "published"
},
// ... 其他商品
]
},
"totalCount": 120 // 店铺商品总数
}
}
五、注意事项
频率限制:单个应用默认每秒10次请求,需根据 totalCount 控制分页节奏。
字段覆盖:若需获取详情(如描述、SKU),需二次调用 alibaba.product.get 接口。
授权有效期:access_token 有效期通常为30天,需实现刷新机制。
错误码处理:
isv.missing-parameter: 参数缺失
isv.invalid-access-token: 令牌失效
isp.api-qps-limit: 请求超频
六、优化建议
异步抓取:使用生产者-消费者模型提升采集效率。
本地缓存:存储 productId 避免重复获取详情。
增量同步:通过 modify_stamp 参数仅拉取变更商品。
通过上述实现,可稳定获取店铺商品数据。建议详细阅读1688API文档,根据业务需求扩展字段处理逻辑。

相关文章
|
7天前
|
人工智能 安全 Linux
【OpenClaw保姆级图文教程】阿里云/本地部署集成模型Ollama/Qwen3.5/百炼 API 步骤流程及避坑指南
2026年,AI代理工具的部署逻辑已从“单一云端依赖”转向“云端+本地双轨模式”。OpenClaw(曾用名Clawdbot)作为开源AI代理框架,既支持对接阿里云百炼等云端免费API,也能通过Ollama部署本地大模型,完美解决两类核心需求:一是担心云端API泄露核心数据的隐私安全诉求;二是频繁调用导致token消耗过高的成本控制需求。
4936 7
|
15天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
20716 113
|
10天前
|
人工智能 API 网络安全
Mac mini × OpenClaw 保姆级配置教程(附阿里云/本地部署OpenClaw配置百炼API图文指南)
Mac mini凭借小巧机身、低功耗和稳定性能,成为OpenClaw(原Clawdbot)本地部署的首选设备——既能作为家用AI节点实现7×24小时运行,又能通过本地存储保障数据隐私,搭配阿里云部署方案,可灵活满足“长期值守”与“隐私优先”的双重需求。对新手而言,无需复杂命令行操作,无需专业技术储备,按本文步骤复制粘贴代码,即可完成OpenClaw的全流程配置,同时接入阿里云百炼API,解锁更强的AI任务执行能力。
6588 2
|
11天前
|
人工智能 安全 前端开发
Team 版 OpenClaw:HiClaw 开源,5 分钟完成本地安装
HiClaw 基于 OpenClaw、Higress AI Gateway、Element IM 客户端+Tuwunel IM 服务器(均基于 Matrix 实时通信协议)、MinIO 共享文件系统打造。
7946 6
|
13天前
|
人工智能 JavaScript API
保姆级教程:OpenClaw阿里云/本地部署配置Tavily Search skill 实时联网,让OpenClaw“睁眼看世界”
默认状态下的OpenClaw如同“闭门造车”的隐士,仅能依赖模型训练数据回答问题,无法获取实时新闻、最新数据或训练截止日期后的新信息。2026年,激活其联网能力的最优方案是配置Tavily Search技能——无需科学上网、无需信用卡验证,每月1000次免费搜索额度完全满足个人需求,搭配ClawHub技能市场,还能一键拓展天气查询、邮件管理等实用功能。
7745 5
|
6天前
|
JavaScript Linux API
保姆级教程,通过GACCode在国内使用Claudecode、Codex!
保姆级教程,通过GACCode在国内使用Claudecode、Codex!
3728 1
保姆级教程,通过GACCode在国内使用Claudecode、Codex!

热门文章

最新文章