如何通过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文档,根据业务需求扩展字段处理逻辑。

相关文章
|
28天前
|
数据采集 JSON API
1688平台商品搜索API接口技术解析
1688开放平台alibaba.product.search API支持关键词搜索商品,返回JSON格式数据。需企业认证获取appKey/appSecret,支持分页、价格筛选与多维排序。调用需签名认证,注意QPS≤2及风控延时,适用于电商数据采集与商业分析。(239字)
215 0
|
30天前
|
缓存 JSON API
​​​​​​​如何通过淘宝开放平台API获取指定店铺的所有商品信息
本文详解如何通过淘宝开放平台API(如taobao.shop.items.get)获取指定店铺全部商品:涵盖开发者注册、App Key/Secret申请、OAuth 2.0授权、签名生成、分页调用及错误处理,并附Python示例代码与最佳实践。(239字)
330 1
|
1月前
|
人工智能 运维 机器人
我用开源项目把 AI Agent 和钉钉打通了,现在能查人、发消息、管文档
dingtalk-skills 是面向 AI Agent 的钉钉技能库(v0.4.0),零代码、零依赖,一行命令安装。现支持知识库、AI表格、消息发送、待办、通讯录5大核心场景,对话即可操作钉钉,已开源。
374 1
|
1月前
|
人工智能 API 数据库
OpenClaw 告别失忆与费 Token 吞金教程:阿里云/本地部署+配置免费API+lossless-claw插件优化管理上下文指南
2026年,OpenClaw(曾用名Clawdbot)凭借“本地优先+长时记忆”的特性成为开源圈热门工具,但用户普遍面临两大痛点:一是“失忆”——长对话中关键信息被随机丢弃,任务执行到一半偏离目标;二是“吞金”——默认滑动窗口压缩机制导致上下文冗余,Token消耗剧增,长期使用成本高昂。这两个问题形成恶性循环:脏上下文让模型表现拉胯,用户被迫降低模型规格,而低规格模型在冗余信息中更难发挥作用,最终让OpenClaw陷入“不好用”的口碑困境。
1575 2
|
1月前
|
JSON API 开发者
通过1688开放平台API根据商品ID获取商品详情
本文详解1688开放平台“获取商品详情”API调用方法:支持通过商品ID精准查询标题、价格、库存、图片、SKU等结构化信息,涵盖接口说明、POST请求方式、必选/可选参数(access_token、productId、fields)、JSON返回结构及Python调用示例,助开发者快速集成。(239字)
520 1
|
30天前
|
存储 人工智能 安全
OpenClaw + 飞书 打造个人知识管理助手
环保工作者亲测:OpenClaw + 飞书打造安全、高效、AI驱动的个人知识管理系统——支持语音/文字秒建笔记、自动整理会议纪要、提取文章要点、项目文档归档,数据自主可控,部署于阿里云轻量服务器,开源免费,开箱即用。(239字)
1193 8
|
27天前
|
JSON 算法 5G
拼多多开放平台商品搜索API技术实践指南
拼多多商品搜索API(pdd.ddk.goods.search)支持关键词检索商品,返回ID、标题、价格、销量等核心信息,适用于比价与选品分析。个人开发者日调用2000次,企业认证可达10万次。需签名认证,支持多维度排序与优惠券筛选。(239字)
258 0
|
30天前
|
关系型数据库 MySQL Devops
NineData 社区版 V4.10.0 发布:适配 MySQL 8.4,新增 9 条异构复制与对比链路
NineData社区版V4.10.0正式发布:强化MySQL 8.4兼容与慢查询分析,新增9条异构数据库复制链路(如MySQL→openGauss、PostgreSQL→ClickHouse等),优化XA事务同步与MongoDB跨网复制,全面提升DevOps治理与实时数据流转能力。免费开源,Docker一键部署。
181 6
|
30天前
|
Oracle Java 关系型数据库
JDK 25安装与环境变量配置教程 Windows版:含自定义路径+JAVA_HOME设置+验证指南
JDK是Oracle官方Java开发工具包,含JVM、类库、编译器等,支持Java全平台。本文详解JDK 25在Windows下的下载、安装(建议D盘)、环境变量配置(JAVA_HOME与Path)及版本验证方法,步骤清晰,一键搞定开发环境搭建。(239字)
|
5月前
|
缓存 API 开发工具
淘宝客商品列表 API 接口对接全攻略:从入门到精通
淘宝客API是阿里官方商品推广接口,支持按关键词、佣金等筛选商品数据,广泛用于返利网站、直播选品等场景。本文详解其对接流程、权限申请、签名机制与最佳实践,助开发者高效合规获取数据。