news 2026/2/17 9:50:30

微店商品列表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/2/15 5:15:29

GLM-TTS能否替代商业TTS?成本效益与效果综合评估

GLM-TTS能否替代商业TTS?成本效益与效果综合评估 在智能语音内容爆发式增长的今天,企业对高质量、低成本、可定制的文本到语音(TTS)系统需求日益迫切。无论是知识付费平台批量生成课程音频,还是MCN机构打造AI主播&…

作者头像 李华
网站建设 2026/2/13 8:03:00

揭秘PHP实现区块链数据加密全过程:3步构建不可篡改的数据链

第一章:PHP 区块链数据加密概述区块链技术的核心在于其去中心化与数据不可篡改的特性,而实现这一特性的关键技术之一便是数据加密。在基于 PHP 构建的区块链应用中,尽管 PHP 并非传统意义上的高性能加密计算语言,但通过集成开放的…

作者头像 李华
网站建设 2026/2/16 9:23:35

还在手动控制设备?PHP自动场景模式让你家真正“智能”的5个秘诀

第一章:还在手动控制设备?PHP自动场景模式让你家真正“智能”的5个秘诀 现代智能家居的核心在于“自动化”,而不仅仅是远程控制。利用PHP构建自动场景模式,可以让家庭设备根据环境变化、时间或用户行为自主响应,真正实…

作者头像 李华
网站建设 2026/2/15 8:25:27

GLM-TTS采样方法对比:ras、greedy、topk三种模式实测

GLM-TTS采样方法对比:ras、greedy、topk三种模式实测 在语音合成系统日益“拟人化”的今天,我们早已不满足于“能说话”的机器音。从智能助手到虚拟偶像,用户期待的是富有情感、自然流畅、甚至带点个性的语音表达。而在这背后,真正…

作者头像 李华
网站建设 2026/2/13 4:40:49

GLM-TTS流式推理性能优化指南:25 tokens/sec稳定输出技巧

GLM-TTS流式推理性能优化指南:25 tokens/sec稳定输出技巧 在构建下一代语音交互系统时,一个关键挑战是如何让机器“说话”既快又自然。传统文本到语音(TTS)模型往往需要等待用户输入完整句子后才开始处理,这种“全有或…

作者头像 李华