沃尔玛商品详情 API 返回数据结构化:价格、库存与规格字段映射方案

一、数据结构核心框架

沃尔玛API返回的JSON数据采用三级嵌套结构,核心组成部分如下:

1. 状态标识层

json 复制代码
json
{
  "code": "0",          // 状态码(0=成功,其他=失败)
  "errorMessage": "success"  // 错误信息描述
}

2. 商品详情主体层

json 复制代码
json
"item_detail_response": {
  "items": [             // 商品列表数组
    {
      "sku_id": "1234567890",  // 商品唯一标识
      "title": "商品标题",     // 商品名称
      "price": "120.00",     // 当前售价
      "original_price": "150.00",  // 原价
      "stock_quantity": 100,  // 总库存量
      "props_list": {"color": "红色", "size": "L"},  // 基础规格属性
      "sku_list": [         // SKU级详细规格
        {
          "sku_id": "123",
          "name": "红色",
          "price": "120.00",
          "stock": 50        // SKU级库存
        }
      ]
    }
  ]
}

二、关键字段映射方案

1. 价格字段映射

字段路径 数据类型 说明 示例值
item_detail_response.items[0].price 字符串 当前销售价格 "120.00"
item_detail_response.items[0].original_price 字符串 商品原价(可选) "150.00"
item_detail_response.items[0].discount_price 字符串 折扣价格(可选) "100.00"
sku_list[0].price 字符串 SKU级销售价格 "120.00"

2. 库存字段映射

字段路径 数据类型 说明 示例值
item_detail_response.items[0].stock_quantity 整数 商品总库存量 100
sku_list[0].stock 整数 SKU级库存量 50

3. 规格字段映射

字段路径 数据类型 说明 示例值
item_detail_response.items[0].props_list 字典 基础规格属性(颜色/尺寸等) {"color": "红色"}
sku_list[0].name 字符串 SKU名称描述 "红色"
sku_list[0].sku_id 字符串 SKU唯一标识 "123"

三、结构化处理实现方案

Python代码示例

python 复制代码
python
import json

# 模拟API响应数据
response_data = {
  "code": "0",
  "item_detail_response": {
    "items": [{
      "sku_id": "1234567890",
      "title": "智能手表",
      "price": "199.99",
      "original_price": "299.99",
      "stock_quantity": 50,
      "props_list": {"color": "黑色", "size": "42mm"},
      "sku_list": [
        {"sku_id": "SKU001", "name": "黑色", "price": "199.99", "stock": 30},
        {"sku_id": "SKU002", "name": "银色", "price": "219.99", "stock": 20}
      ]
    }]
  }
}

def parse_walmart_response(data):
    # 状态检查
    if data["code"] != "0":
        raise ValueError(f"API请求失败: {data.get('errorMessage', '未知错误')}")
    
    # 提取商品信息
    item = data["item_detail_response"]["items"][0]
    sku_list = item.get("sku_list", [])
    
    # 结构化数据映射
    structured_data = {
        "商品ID": item["sku_id"],
        "商品名称": item["title"],
        "当前价格": float(item["price"]),
        "原价": float(item.get("original_price", 0)) if item.get("original_price") else None,
        "总库存": item["stock_quantity"],
        "基础规格": item.get("props_list", {}),
        "SKU详情": []
    }
    
    # 处理SKU级数据
    for sku in sku_list:
        structured_data["SKU详情"].append({
            "SKU ID": sku["sku_id"],
            "SKU名称": sku["name"],
            "SKU价格": float(sku["price"]),
            "SKU库存": sku["stock"]
        })
    
    return structured_data

# 执行解析
try:
    structured_result = parse_walmart_response(response_data)
    print(json.dumps(structured_result, indent=2, ensure_ascii=False))
except Exception as e:
    print(f"数据解析失败: {str(e)}")

输出示例

css 复制代码
json
{
  "商品ID": "1234567890",
  "商品名称": "智能手表",
  "当前价格": 199.99,
  "原价": 299.99,
  "总库存": 50,
  "基础规格": {
    "color": "黑色",
    "size": "42mm"
  },
  "SKU详情": [
    {
      "SKU ID": "SKU001",
      "SKU名称": "黑色",
      "SKU价格": 199.99,
      "SKU库存": 30
    },
    {
      "SKU ID": "SKU002",
      "SKU名称": "银色",
      "SKU价格": 219.99,
      "SKU库存": 20
    }
  ]
}

四、关键注意事项

  1. 字段稳定性:沃尔玛API字段可能随版本更新变化,建议定期验证字段路径

  2. 错误处理

    • 检查code状态码
    • 处理字段缺失情况(使用.get()方法)
    • 数值类型转换异常处理
  3. 扩展性设计

    • 支持多商品解析(遍历items数组)
    • 处理多级规格嵌套(如尺寸-颜色组合)
  4. 性能优化

    • 大数据量时分页处理
    • 缓存常用商品数据
    • 异步请求处理

通过本方案可实现沃尔玛商品详情数据的结构化提取,满足价格监控、库存管理、规格分析等业务需求。实际使用时需结合具体API文档验证字段路径,并添加必要的异常处理和日志监控。

相关推荐
华万通信king16 小时前
DocuSign Webhook事件通知开发实战:合同状态变更实时推送
api·系统对接·docusign
叫我少年1 天前
ASP.NET Core 最小 API 快速参考
.net·api
Li emily3 天前
解决了加密货币api多币种订阅时的数据乱序问题
人工智能·python·api·fastapi
万邦科技Lafite4 天前
电商发展新趋势:阿里巴巴商品详情API返回值的深度利用
windows·api·api接口·开放api·电商开放平台·淘宝开放平台
向量引擎4 天前
给 Agent 加一个可靠的知识检索层:从向量引擎到 RAG 工作流的实践笔记
人工智能·gpt·aigc·api·ai编程·key·agi
快递鸟社区4 天前
快递鸟智能地址解析API:让地址信息自动化处理成为可能
自动化·api·物流·智能识别·快递鸟·地址解析
DevnullCoffe4 天前
用 MCP 让 AI Agent 直接批量下载亚马逊商品图片——原理、踩坑与实现
爬虫·python·api
深念Y5 天前
正在阅读正在阅读MiMo 突然不能用 Claude Code 了?
ai·api·agent·key·mimo·claudecode·xiaomi
牧子川5 天前
013-多模型API调用
大模型·api·封装api
深蓝电商API6 天前
API数据与自建数据库同步:CDC+ETL的实时数据管道
接口·api