news 2026/3/27 13:31:28

微店店铺所有商品API接口指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微店店铺所有商品API接口指南

一、摘要

微店店铺所有商品 API 是微店开放平台提供的核心数据接口,你可以通过该接口以编程方式获取指定微店店铺下的全部商品信息(如商品 ID、名称、售价、库存、主图、上下架状态等)。该接口主要用于店铺商品数据同步、批量商品管理、第三方数据分析等场景,是对接微店商品数据的基础入口。

二、接口概述

1. 前置条件

使用该接口前,你需要完成以下准备工作:

  • 创建应用并通过审核,获取appkey(应用密钥)、appsecret(应用秘钥);
  • 获取店铺的access_token(访问令牌,用于接口鉴权,有有效期,通常 2 小时)。
2. 核心接口信息
项目说明
接口名称店铺商品列表查询
请求方式GET(部分场景支持 POST)
接口基准地址正式环境:c0b.cc/R4rbK2 (前往体验接口测试,Taobaoapi2014添加V获取)
鉴权方式URL 参数携带access_token或请求头携带
接口频率限制通常单应用 / 单 IP 60 次 / 分钟(以官方最新限制为准)
3. 核心请求参数
参数名类型是否必选说明
access_tokenstring店铺访问令牌(鉴权核心)
page_numint页码,从 1 开始
page_sizeint每页条数,最大值通常为 50(以官方为准)
statusint商品状态:0 - 全部,1 - 上架,2 - 下架,3 - 违规
4. 核心返回参数
参数名类型说明
errcodeint错误码:0 - 成功,非 0 - 失败
errmsgstring错误信息(失败时提示原因)
total_numint商品总数量
goods_listarray商品列表数组,包含单个商品的详细信息
├─ goods_idstring商品唯一 ID
├─ goods_namestring商品名称
├─ pricefloat商品售价(单位:元)
├─ stock_numint商品库存数量
├─ main_picstring商品主图 URL
├─ statusint商品状态(1 - 上架,2 - 下架)

三、Python 请求示例

1. 环境准备

首先确保安装requests库(Python HTTP 请求核心库),若未安装,执行以下命令:

bash

pip install requests
2. 完整请求代码

以下示例包含 token 获取(简化版)、商品列表分页查询、异常处理,你可直接复制使用(需替换为自身配置):

python

import requests import json # ===================== 配置项(替换为你自己的!)===================== APP_KEY = "你的微店应用appkey" APP_SECRET = "你的微店应用appsecret" SHOP_ACCESS_TOKEN = "你的店铺access_token" # 优先用已获取的token SHOP_ID = "你的微店店铺ID" # =================================================================== def get_weidian_token(): """ (可选)获取店铺access_token(简化版,生产需按官方OAuth2流程) """ token_url = "https://api.weidian.com/oauth2/token" params = { "appkey": APP_KEY, "appsecret": APP_SECRET, "grant_type": "client_credentials", "shop_id": SHOP_ID } try: response = requests.get(token_url, params=params, timeout=10) response.raise_for_status() # 抛出HTTP错误 result = response.json() if result.get("errcode") == 0: return result.get("access_token") else: print(f"获取token失败:{result.get('errmsg')}") return None except Exception as e: print(f"获取token异常:{str(e)}") return None def get_shop_goods(page_num=1, page_size=50, status=0): """ 获取单页商品信息 :param page_num: 页码 :param page_size: 每页条数 :param status: 商品状态(0-全部,1-上架,2-下架) :return: 商品数据/None """ api_url = "https://api.weidian.com/api/v2/shop/goods/list" params = { "access_token": SHOP_ACCESS_TOKEN, "page_num": page_num, "page_size": page_size, "status": status } try: # 发送GET请求 response = requests.get( api_url, params=params, timeout=15, headers={"Content-Type": "application/json"} ) response.raise_for_status() result = response.json() # 接口调用成功 if result.get("errcode") == 0: return { "total_num": result.get("total_num", 0), "goods_list": result.get("goods_list", []) } else: print(f"接口调用失败:错误码{result.get('errcode')},{result.get('errmsg')}") return None except requests.exceptions.HTTPError as e: print(f"HTTP错误:{e},响应内容:{response.text}") return None except requests.exceptions.Timeout: print("请求超时,请检查网络") return None except json.JSONDecodeError: print("响应不是合法JSON格式") return None except Exception as e: print(f"未知异常:{str(e)}") return None def get_all_goods(status=0): """ 自动分页获取所有商品 """ all_goods = [] page_num = 1 while True: goods_data = get_shop_goods(page_num=page_num, status=status) if not goods_data: break goods_list = goods_data.get("goods_list", []) if not goods_list: break all_goods.extend(goods_list) # 检查是否获取完所有商品 if len(all_goods) >= goods_data.get("total_num", 0): break page_num += 1 print(f"已获取{len(all_goods)}/{goods_data.get('total_num')}个商品") print(f"\n获取完成!共获取{len(all_goods)}个商品") return all_goods # 主程序执行 if __name__ == "__main__": # 可选:若token过期,重新获取 # new_token = get_weidian_token() # if new_token: # SHOP_ACCESS_TOKEN = new_token # 获取所有上架商品(status=1) all_goods = get_all_goods(status=1) # 示例:打印前3个商品的核心信息 if all_goods: for idx, goods in enumerate(all_goods[:3]): print(f"\n=== 第{idx+1}个商品 ===") print(f"商品ID:{goods.get('goods_id')}") print(f"商品名称:{goods.get('goods_name')}") print(f"售价:{goods.get('price')}元") print(f"库存:{goods.get('stock_num')}件") print(f"状态:{'上架' if goods.get('status') == 1 else '下架'}")
3. 代码关键说明
  • 配置替换:必须将APP_KEYAPP_SECRET等配置项替换为你从微店开放平台获取的真实信息;
  • Token 处理:示例中get_weidian_token是简化版,生产环境需按官方 OAuth2.0 授权流程实现 token 自动刷新;
  • 自动分页get_all_goods函数会自动遍历所有页码,无需手动处理;
  • 异常处理:覆盖了 HTTP 错误、超时、JSON 解析失败等常见场景,保证程序稳定性。

四、结语

微店店铺所有商品 API 是对接微店商品数据的核心入口,使用时需注意以下几点:

  1. 接口文档会迭代更新,务必以微店开放平台官方文档为准;
  2. access_token有有效期,生产环境需实现自动刷新逻辑,避免接口调用失败;
  3. 严格遵守接口频率限制,高频请求会导致接口被封禁;
  4. 解析返回数据时,需处理字段缺失的情况(如部分商品无主图);
  5. 接口调用失败时,优先查看errcodeerrmsg,常见问题包括 token 过期、参数错误、权限不足等。

总结

  1. 使用微店商品 API 前,需完成开发者账号注册、应用创建、token 获取等前置步骤;
  2. 提供的 Python 示例包含分页查询、异常处理、结果解析等核心逻辑,需替换为自身的开发者配置才能运行;
  3. 生产环境使用时,重点关注 token 自动刷新、接口频率限制、字段兼容性,确保接口调用稳定。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/23 0:26:06

LZ4极速压缩终极指南:如何实现毫秒级数据处理

LZ4极速压缩终极指南:如何实现毫秒级数据处理 【免费下载链接】lz4 Extremely Fast Compression algorithm 项目地址: https://gitcode.com/GitHub_Trending/lz/lz4 在现代数据处理场景中,LZ4压缩算法以其惊人的速度和效率成为业界标杆。这款高性…

作者头像 李华
网站建设 2026/3/15 11:04:41

2026毕设ssm+vue基于疫情防控的物资管理与发放系统论文+程序

本系统(程序源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景 关于突发公共卫生事件中物资保障问题的研究,现有研究主要以宏观层面的应急物流、供应链协同及政策建议为主&#…

作者头像 李华
网站建设 2026/3/15 15:54:55

SMP语言基础知识-应用系统,个人开发者的痛点(2)

接上篇 SMP语言基础知识-应用系统,个人开发者的痛点(1) 三、技术的痛点 1、 吃技术老本 个人开发者出来创业一般都是高手,而高手的特点就是有技术专长。这个长处当然是长处,但是,也可能变为短处&#xff0c…

作者头像 李华
网站建设 2026/3/26 22:06:05

Screen to Gif时间轴编辑功能深度剖析

让 GIF 会说话:Screen to Gif 时间轴编辑的实战智慧你有没有过这样的经历?录完一段操作演示,回放时却发现动画太快、细节看不清,或者中间夹杂着一堆静止画面,节奏像卡顿的幻灯片。这时候,一个能“精雕细琢”…

作者头像 李华
网站建设 2026/3/27 8:55:07

中文NLP语料库实战宝典:从数据挖掘到智能应用的完整指南

还在为中文NLP项目找不到合适数据而苦恼吗?🤔 面对海量文本却不知如何下手?别担心,这份终极指南将带你从零开始,掌握大规模中文语料库的核心应用技巧! 【免费下载链接】nlp_chinese_corpus 大规模中文自然语…

作者头像 李华