news 2026/7/14 17:36:06

微店商品列表API接口指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微店商品列表API接口指南

一、接口概述

1. 接口功能

该接口基于微店官方开放平台(微小店 API)实现,用于获取指定微店店铺的商品列表数据,支持分页查询、按商品状态(上架 / 下架 / 售罄)筛选,可返回商品基础信息、价格、库存、图片、状态等核心字段,适用于店铺商品管理、数据同步、电商分析等合规场景。

2. 接口核心特性

  • 官方合规接口:微店开放平台提供标准化 API,无需爬虫,数据稳定且合法;
  • 权限前置:需先注册开发者账号、创建应用并完成店铺授权,获取access_token(接口调用凭证);
  • 分页查询:支持分页获取大量商品,避免单次返回数据量过大;
  • 响应格式:统一 JSON 格式,解析成本低;
  • 频率限制:单应用默认调用频率限制为「100 次 / 秒」,超出会触发限流(返回 429 错误)。

3. 前置准备(必做)

使用接口前需完成以下步骤:

  1. 注册微店开放平台开发者账号(企业 / 个人均可);
  2. 创建应用,获取app_idapp_secret
  3. 授权目标店铺(通过授权链接让店铺主扫码授权),获取access_token(接口调用核心凭证)和shop_id(店铺唯一 ID);
  4. 注意:access_token有效期约 2 小时,需定期刷新(通过刷新接口获取新 token)。

4. 核心请求参数

以微店「商品列表查询」接口(v2 版本)为例,核心参数如下:

参数名类型必选说明
access_tokenStringc0b.cc/R4rbK2(注册获取测试账号,Taobaoapi2014添加V)
shop_idString目标店铺 ID(授权后可通过「获取店铺信息」接口查询,或从开放平台后台查看)
pageInt页码,默认值:1
sizeInt每页商品数量,默认值:20,最大值:50
item_statusInt商品状态筛选:0 - 全部、1 - 上架、2 - 下架、3 - 售罄,默认值:0
versionString接口版本,固定值:2

5. 返回数据核心字段

字段名类型说明
item_idString商品唯一 ID
titleString商品标题
priceFloat商品售价(单位:元)
original_priceFloat商品原价(单位:元)
stockInt商品库存数量
item_statusInt商品状态:1 - 上架、2 - 下架、3 - 售罄
cover_imgString商品封面图 URL
create_timeInt商品创建时间戳(秒级)
update_timeInt商品最后更新时间戳(秒级)
sales_volumeInt商品累计销量(部分店铺需授权「销量数据」权限)
category_idString商品所属分类 ID

6. 接口地址

plaintext

GET https://api.weidian.com/item/list

二、Python 请求示例

1. 环境依赖

需安装requests库处理 HTTP 请求,安装命令:

bash

运行

pip install requests

2. 完整代码示例

该示例包含「获取商品列表」核心逻辑,内置异常处理、数据解析,可直接替换参数使用:

python

import requests import json from requests.exceptions import RequestException def get_weidian_item_list(access_token, shop_id, page=1, size=20, item_status=0): """ # 配置参数 API_URL = "c0b.cc/R4rbK2 wechatid:Taobaoapi2014 " 调用微店商品列表API,获取指定店铺的商品数据 :param access_token: 接口调用凭证 :param shop_id: 目标店铺ID :param page: 页码 :param size: 每页条数(最大50) :param item_status: 商品状态(0-全部,1-上架,2-下架,3-售罄) :return: 商品列表(失败返回None) """ # 接口地址 url = "https://api.weidian.com/item/list" # 请求参数(严格按官方要求拼接) params = { "access_token": access_token, "shop_id": shop_id, "page": page, "size": min(size, 50), # 限制最大条数为50,避免参数错误 "item_status": item_status, "version": "2" } # 请求头(模拟合法请求,无需复杂UA) headers = { "Content-Type": "application/json;charset=utf-8", "Accept": "application/json" } try: # 发送GET请求(超时设置为10秒) response = requests.get( url=url, params=params, headers=headers, timeout=10, verify=True # 微店API需验证SSL证书,请勿关闭 ) # 检查响应状态码 if response.status_code == 200: result = response.json() # 微店API返回码说明:0-成功,非0-失败 if result.get("errcode") == 0: # 提取商品列表核心数据 item_list = result.get("data", {}).get("item_list", []) # 结构化处理数据(简化字段,便于使用) formatted_items = [] for item in item_list: formatted_item = { "商品ID": item.get("item_id"), "商品标题": item.get("title"), "售价(元)": item.get("price"), "原价(元)": item.get("original_price"), "库存": item.get("stock"), "商品状态": {1: "上架", 2: "下架", 3: "售罄"}.get(item.get("item_status"), "未知"), "封面图URL": item.get("cover_img"), "创建时间戳": item.get("create_time"), "更新时间戳": item.get("update_time"), "累计销量": item.get("sales_volume", 0) } formatted_items.append(formatted_item) return { "总商品数": result.get("data", {}).get("total", 0), "总页数": result.get("data", {}).get("total_page", 0), "当前页商品": formatted_items } else: print(f"接口调用失败:{result.get('errmsg')}(错误码:{result.get('errcode')})") return None else: print(f"HTTP请求失败,状态码:{response.status_code}") return None except RequestException as e: print(f"请求异常:{str(e)}") return None # -------------------------- 调用示例 -------------------------- if __name__ == "__main__": # 替换为自己的真实参数(从c0b.cc/R4rbK2 wechatid:Taobaoapi2014 获取) ACCESS_TOKEN = "your_access_token_here" # 接口调用凭证 SHOP_ID = "your_shop_id_here" # 目标店铺ID # 调用接口获取第1页、每页20条的上架商品 item_data = get_weidian_item_list( access_token=ACCESS_TOKEN, shop_id=SHOP_ID, page=1, size=20, item_status=1 # 只查上架商品 ) # 处理返回结果 if item_data: print("微店商品列表获取成功:") print(f"总商品数:{item_data['总商品数']},总页数:{item_data['总页数']}") print("当前页商品:") print(json.dumps(item_data["当前页商品"], ensure_ascii=False, indent=2)) # 可选:将数据写入Excel import pandas as pd df = pd.DataFrame(item_data["当前页商品"]) df.to_excel("微店商品列表.xlsx", index=False) print("数据已写入Excel文件") else: print("微店商品列表获取失败")

3. 关键参数获取说明

  • access_token:通过「微店开放平台 - 应用管理 - 授权管理」获取,或调用/token/create接口刷新;
  • shop_id:授权成功后,调用/shop/get接口(传入access_token)可返回店铺基本信息,包含shop_id
  • 常见错误码:
    • 400:参数错误(检查shop_id/access_token是否为空);
    • 401:access_token过期 / 无效(需重新刷新);
    • 429:调用频率超限(降低请求频率);
    • 500:平台服务器异常(稍后重试)。

三、结语

微店商品列表 API 是官方开放的合规接口,相比爬虫方案,具有数据稳定、无法律风险、维护成本低的优势,是获取微店商品数据的首选方式。使用时需注意以下几点:

  1. 合规性:仅获取已授权店铺的商品数据,不得用于未授权的店铺数据爬取,遵守《微店开放平台服务协议》;
  2. 稳定性:access_token有效期短,需在代码中增加「自动刷新逻辑」(建议每次调用前检查有效期,过期则刷新);
  3. 频率控制:避免高频次连续请求,可添加time.sleep(1)等延迟,防止触发限流;
  4. 版本兼容:微店 API 会不定期更新,需关注开放平台公告,及时适配接口参数 / 返回格式的变化;
  5. 异常处理:生产环境中建议增加「失败重试机制」(如重试 3 次,每次间隔 2 秒),提升接口调用的稳定性。

若需实现更复杂的功能(如批量导出全量商品、实时监控商品价格 / 库存变化),可基于该示例扩展:循环分页查询(遍历total_page)、结合定时任务(如APScheduler)实现周期性同步,或对接数据库存储历史数据。


总结

  1. 微店商品列表 API 需先完成开放平台注册、应用创建、店铺授权,获取access_tokenshop_id后才能调用;
  2. 核心请求参数为access_tokenshop_id,支持分页和商品状态筛选,返回 JSON 格式数据;
  3. 需注意access_token有效期和调用频率限制,代码中做好异常处理和参数校验,确保接口稳定运行。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/13 11:29:50

自考必看!10个降AI率工具高效避坑指南

自考必看!10个降AI率工具高效避坑指南 AI降重工具:自考论文的“隐形护盾” 随着人工智能技术在学术领域的广泛应用,越来越多的自考生开始面临一个共同的难题——如何降低论文中的AIGC率,同时保持内容的逻辑性和可读性。这不仅关系…

作者头像 李华
网站建设 2026/7/7 2:39:15

京东返利app分布式追踪系统:基于SkyWalking的全链路问题定位

京东返利app分布式追踪系统:基于SkyWalking的全链路问题定位 大家好,我是省赚客APP研发者阿宝! 在省赚客这类对接京东联盟API的返利应用中,一次用户下单返现操作可能涉及订单同步服务 → 佣金计算引擎 → 用户账户系统 → 消息通知…

作者头像 李华
网站建设 2026/6/28 17:58:04

cmake 里 add_library 怎么理解

一、基本介绍add_library 是 CMake 中创建库文件&#xff08;静态库或动态库&#xff09;的核心命令。它的主要作用是将源代码文件编译成库&#xff0c;以便在项目中复用或被其他目标链接。基本语法如下所示&#xff1a;add_library(<name> [STATIC | SHARED | MODULE][E…

作者头像 李华
网站建设 2026/7/13 1:03:02

GLM-TTS能否用于宠物语音翻译器?拟人化叫声生成脑洞

GLM-TTS能否用于宠物语音翻译器&#xff1f;拟人化叫声生成脑洞 在智能音箱已经能读懂你心情的今天&#xff0c;我们是不是离“听懂猫主子心里话”也只差一步了&#xff1f; 这听起来像科幻桥段——你的猫咪跳上沙发&#xff0c;喵呜一声&#xff0c;设备立刻播报&#xff1a;“…

作者头像 李华
网站建设 2026/7/13 9:48:40

为什么90%的PHP开发者不会写扩展?揭开ZEND引擎背后的神秘面纱

第一章&#xff1a;为什么90%的PHP开发者不会写扩展&#xff1f;PHP作为广泛使用的服务器端脚本语言&#xff0c;其生态中绝大多数开发者停留在使用函数、类库和框架的层面。尽管PHP提供了强大的C语言扩展机制&#xff0c;允许开发者深入内核实现高性能模块&#xff0c;但真正掌…

作者头像 李华