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

相关文章
|
2月前
|
数据采集 JSON API
1688平台商品搜索API接口技术解析
1688开放平台alibaba.product.search API支持关键词搜索商品,返回JSON格式数据。需企业认证获取appKey/appSecret,支持分页、价格筛选与多维排序。调用需签名认证,注意QPS≤2及风控延时,适用于电商数据采集与商业分析。(239字)
323 1
|
3月前
|
算法 安全 数据挖掘
调用1688开放平台商品分类API获取分类数据
本文详解1688开放平台“alibaba.category.get”API调用方法,涵盖注册应用、获取凭证、生成签名、递归拉取分类树等关键步骤,助力电商系统快速集成准确商品类目数据。(239字)
476 2
|
2月前
|
缓存 JSON API
​​​​​​​如何通过淘宝开放平台API获取指定店铺的所有商品信息
本文详解如何通过淘宝开放平台API(如taobao.shop.items.get)获取指定店铺全部商品:涵盖开发者注册、App Key/Secret申请、OAuth 2.0授权、签名生成、分页调用及错误处理,并附Python示例代码与最佳实践。(239字)
459 1
|
移动开发 开发框架 JavaScript
uniapp如何与原生应用进行混合开发?
uniapp如何与原生应用进行混合开发?
1686 0
|
3月前
|
JSON API 开发者
Ozon关键词搜索数据API接口技术指南
本文详解如何用Python调用Ozon关键词搜索API,涵盖账号注册、API密钥申请、请求参数配置、完整代码示例及错误处理,助您高效获取搜索量、排名与趋势数据,优化选品与SEO策略。(239字)
406 0
|
数据采集 存储 数据挖掘
Python 爬虫实战之爬拼多多商品并做数据分析
Python爬虫可以用来抓取拼多多商品数据,并对这些数据进行数据分析。以下是一个简单的示例,演示如何使用Python爬取拼多多商品数据并进行数据分析。
|
2月前
|
数据采集 JSON 供应链
1688商品详情数据一键获取,item_get API接口讲解
本文分享1688商品详情API(offerDetail.get)实战经验:摒弃爬虫,依托官方接口实现合规、稳定、高效的数据采集。涵盖接入流程、关键参数、返回字段解析及避坑要点,助力企业快速落地电商供应链数据建设。(239字)
|
2月前
|
人工智能 运维 机器人
我用开源项目把 AI Agent 和钉钉打通了,现在能查人、发消息、管文档
dingtalk-skills 是面向 AI Agent 的钉钉技能库(v0.4.0),零代码、零依赖,一行命令安装。现支持知识库、AI表格、消息发送、待办、通讯录5大核心场景,对话即可操作钉钉,已开源。
537 1
|
2月前
|
JSON API 开发者
通过1688开放平台API根据商品ID获取商品详情
本文详解1688开放平台“获取商品详情”API调用方法:支持通过商品ID精准查询标题、价格、库存、图片、SKU等结构化信息,涵盖接口说明、POST请求方式、必选/可选参数(access_token、productId、fields)、JSON返回结构及Python调用示例,助开发者快速集成。(239字)
691 1
|
2月前
|
JSON 算法 5G
拼多多开放平台商品搜索API技术实践指南
拼多多商品搜索API(pdd.ddk.goods.search)支持关键词检索商品,返回ID、标题、价格、销量等核心信息,适用于比价与选品分析。个人开发者日调用2000次,企业认证可达10万次。需签名认证,支持多维度排序与优惠券筛选。(239字)
424 0