当前位置: 首页 > news >正文

微店商品详情API使用指南

一、摘要

微店商品详情 API 是微店开放平台提供的核心接口之一,主要用于获取微店店铺中指定商品的完整详情信息,包括商品基础信息(名称、图片、分类)、交易信息(价格、库存、规格)、描述信息(图文详情、售后说明)等。该接口是对接微店商品数据、实现商品管理 / 展示等业务场景的基础,适用于开发者通过编程方式批量获取或实时查询商品详情。

二、接口概述

1. 核心基础信息
说明
接口地址正式环境:c0b.cc/R4rbK2 (前往体验接口测试,Taobaoapi2014添加V获取)
请求方式GET(推荐)/ POST
数据格式请求参数:JSON / 表单格式;返回数据:JSON 格式
权限要求需先在微店开放平台注册开发者账号,创建应用并获取appkeyappsecret,且接口调用需携带有效的access_token(用户授权令牌)
2. 核心请求参数(必选)
参数名类型说明
appkeystring应用唯一标识,从微店开放平台应用管理页获取
access_tokenstring用户授权令牌,通过授权流程获取(有效期通常为 2 小时,需刷新)
item_idstring商品 ID,微店商品的唯一标识(可从商品列表接口或商品页面 URL 中提取)
signstring接口签名,通过appsecret+ 请求参数按微店签名规则生成(防参数篡改)
3. 核心返回参数(示例)

json

{ "errcode": 0, // 错误码:0=成功,非0=失败 "errmsg": "success", "data": { "item_id": "123456789", "title": "2025新款纯棉T恤", // 商品名称 "price": 99.00, // 售价(元) "stock": 1000, // 库存数量 "main_img": "https://img.weidian.com/xxx.jpg", // 主图URL "detail": "<p>商品详情图文描述...</p>", // 商品详情(HTML格式) "category_id": "8888", // 商品分类ID "status": 1 // 商品状态:1=上架,0=下架 } }
4. 常见错误码
错误码说明解决方案
10001appkey 无效检查 appkey 是否与应用匹配,是否已启用
10002access_token 过期 / 无效重新获取用户授权令牌
10003item_id 不存在 / 无权限检查商品 ID 是否正确,确认应用有该店铺的访问权限
10004签名错误核对签名规则,确保参数排序、加密方式正确

三、Python 请求示例

1. 前置条件
  • 安装依赖库:执行pip install requests(用于发送 HTTP 请求)、pip install hashlib(Python 内置,用于签名);
  • 准备好appkeyappsecretaccess_token和待查询的item_id
2. 完整请求代码

python

import requests import hashlib import time from urllib.parse import urlencode def get_weidian_item_detail(): """ 调用微店商品详情API,获取指定商品的详情 """ # 1. 配置核心参数(替换为你自己的信息) config = { "appkey": "你的appkey", "appsecret": "你的appsecret", "access_token": "你的access_token", "item_id": "待查询的商品ID" } # 2. 构造请求参数(需参与签名的参数) params = { "appkey": config["appkey"], "access_token": config["access_token"], "item_id": config["item_id"], "timestamp": str(int(time.time())), // 时间戳(防重复请求) "format": "json" // 指定返回格式 } # 3. 生成接口签名(微店签名规则:参数按key升序排序 + appsecret + MD5加密 + 转大写) # 步骤1:参数按key升序排列 sorted_params = sorted(params.items(), key=lambda x: x[0]) # 步骤2:拼接成"key=value&key=value"格式,末尾拼接appsecret sign_str = urlencode(sorted_params) + config["appsecret"] # 步骤3:MD5加密并转大写 sign = hashlib.md5(sign_str.encode("utf-8")).hexdigest().upper() # 步骤4:将签名加入请求参数 params["sign"] = sign # 4. 发送请求 try: # 正式环境地址:https://api.weidian.com/v1/item/get url = "https://test.api.weidian.com/v1/item/get" response = requests.get(url, params=params, timeout=10) # 5. 解析响应 result = response.json() if result["errcode"] == 0: print("商品详情获取成功:") print(f"商品名称:{result['data']['title']}") print(f"商品价格:{result['data']['price']}元") print(f"商品库存:{result['data']['stock']}件") # 可根据需求提取更多字段 return result["data"] else: print(f"接口调用失败:{result['errmsg']}(错误码:{result['errcode']})") return None except requests.exceptions.Timeout: print("请求超时,请检查网络或接口地址") return None except Exception as e: print(f"请求异常:{str(e)}") return None # 调用函数 if __name__ == "__main__": item_detail = get_weidian_item_detail()
3. 代码关键说明
  • 签名生成:微店 API 强制要求签名,核心是 “参数升序排序 + 拼接 appsecret+MD5 加密”,这是接口调用成功的关键,需严格遵循;
  • 异常处理:代码包含了超时、通用异常捕获,避免因网络问题或接口返回异常导致程序崩溃;
  • 参数替换:使用前必须将config中的appkeyappsecret等替换为自己的实际信息,测试环境和正式环境地址需按需切换。

四、结语

微店商品详情 API 是对接微店商品数据的基础接口,使用时需重点注意:

  1. 令牌有效期:access_token有效期短(约 2 小时),生产环境需实现令牌自动刷新逻辑,避免频繁手动更换;
  2. 接口频率限制:微店开放平台对 API 调用有频率限制(通常单应用 / 单店铺 QPS≤5),需控制调用频率,避免被限流;
  3. 数据解析:商品详情的detail字段为 HTML 格式,若需展示需处理 HTML 标签,若仅需文本可通过正则提取纯文字;
  4. 签名排查:若接口返回 “签名错误”,可先核对参数排序、appsecret 是否正确,或打印sign_str验证拼接结果。

如果需要对接更多微店接口(如商品列表、订单管理),可参考微店开放平台官方文档,核心的签名规则、令牌获取逻辑与本示例一致。

总结

  1. 微店商品详情 API 核心用于获取商品完整信息,调用前需完成开发者账号注册和应用授权,获取appkeyaccess_token等核心凭证;
  2. Python 调用的关键是按微店规则生成签名,且需处理令牌过期、网络异常等边界情况;
  3. 生产环境使用时,需注意接口频率限制和令牌自动刷新,确保接口稳定调用。
http://www.zskr.cn/news/159712.html

相关文章:

  • 2025年儿童鞋服品牌前十名盘点:专业、舒适、潮流怎么选? - 品牌测评鉴赏家
  • 国货之光!这10+国产儿童鞋服品牌闭眼入,宝妈收藏这篇就够了 - 品牌测评鉴赏家
  • DBeaver设置不断开连接
  • 1.磁盘阵列
  • 【社交APP上线记】小夏、老周、小林的讨论组
  • 宝妈宝爸闭眼入!0 - 16岁儿童鞋服优质品牌大盘点 - 品牌测评鉴赏家
  • 城市仿真软件:CityEngine_(18).性能优化与渲染技术
  • CSS3 字体
  • 通信协议仿真:5G NR协议仿真_(13).5G NR仿真中的资源管理
  • 《告别跨端运算偏差:游戏确定浮点数学库的核心搭建指南》
  • Comsol软件下的弯曲波导模式分析及有效折射率与损耗精确计算
  • JavaScript 字符串模板
  • 学长血泪复盘:试错半个月,终于找到这十大靠谱降AI方法
  • 九尾狐AI:传统企业AI转型实战白皮书
  • 西电复试面试、笔试时间汇总!最强上岸攻略!
  • Python3 基本数据类型
  • fwrite与fflush作用
  • 【有搜必应】HarmonyOS 热搜技术问题解析第五期
  • django《Python程序设计》课程智能问答系统 智能AI客服问答系统_88mj5719
  • 分库分表数据源ShardingSphereDataSource的Connection元数据误用问题分析
  • 福特汽车主观评价规范:性能开发的宝藏指南
  • 年末财税稳控,让发票与收入成本“零隐患”
  • django基于Django的在线课程学习平台1_w494xm97
  • 2025专科生必看!10个AI论文工具测评:开题报告文献综述全攻略
  • CS50 week 4 Problems
  • 程序员越往上走,拼的从来不是技术,而是「会说话」的能力
  • 中国猎鹰特卫暖心护航,这场元旦盛会温情满溢~
  • 基于SpringBoot的高校教职工教师健康监护管理系统 企业员工健康管理系统_zohnb572
  • Science | DAP-seq助力揭示CsARF3调控黄瓜雌花形成分子机制
  • 信刻光盘摆渡系统介绍