电商 ERP 商品 JSON 解析:类目 ID、规格模板与 SKU 明细

电商 ERP 接口返回的商品 JSON 通常有几个容易混淆的字段。

类目字段

"categoryId": 1000016,
"leafCategoryId": 51000671,
"categoryIds": ["1000016", "51000671"]
  • categoryId:主类目(一级)
  • leafCategoryId:叶子类目,即商品实际发布的最末级类目
  • categoryIds:完整类目路径数组

实际使用的是 leafCategoryId,而不是 categoryId

如果接口返回的 leafCategoryNamenull,需要单独查询类目名称:

SELECT * FROM category WHERE id = 51000671

或调用类目接口:

GET /category/get?id=51000671

specifications 与 skuList 的区别

这是最常混淆的地方:

字段含义用途
specifications规格定义模板描述有哪些规格维度和可选值
skuList实际销售 SKU每个 SKU 的具体价格、库存、规格组合

specifications 示例

"specifications": [
    {
        "name": "颜色",
        "values": [{"value": "米白色"}]
    },
    {
        "name": "尺码",
        "values": [
            {"value": "M", "note": "建议80-100斤内"},
            {"value": "L", "note": "建议100-115斤内"},
            {"value": "XL"},
            {"value": "2XL"},
            {"value": "3XL"},
            {"value": "4XL"}
        ]
    }
]

这是模板,说明商品有”颜色”和”尺码”两个规格维度,以及每个维度的可选值。

skuList 示例

"skuList": [
    {
        "skuOuterId": "12644-米白色-M",
        "specValue": "米白色;M",
        "salesPrice": 59.8,
        "stock": 5000,
        "_skuid": "v_1776944461271_970-v_M_1776944482303_3644"
    }
]

每个 SKU 对应一个规格组合,有独立的价格和库存。

skuOuterId 与 specValue

  • skuOuterId:商家自定义编码,格式通常是 商品编号-颜色-尺码
  • specValue:用分号拼接的规格值,如 米白色;M
  • _skuid:系统内部键,由各规格的 valueKey 拼接,用于唯一标识规格组合

遍历所有 SKU 的写法

for (const item of products) {
    for (const sku of item.skuList || []) {
        console.log({
            title: item.title,
            sku: sku.skuOuterId,
            spec: sku.specValue,
            price: sku.salesPrice,
            stock: sku.stock
        });
    }
}
for item in products:
    for sku in item.get("skuList", []):
        print(
            item["title"],
            sku["skuOuterId"],
            sku["specValue"],
            sku["salesPrice"],
            sku["stock"]
        )

核心字段速查

字段含义
leafCategoryId真正的叶子类目 ID
specifications规格维度定义(模板)
skuList实际销售 SKU 列表
specValueSKU 规格值拼接字符串
skuOuterId商家 SKU 编码
stock该 SKU 库存
salesPrice销售价
marketPrice划线价(原价展示)