商品详情接口里 props 和 SKU 到底有什么区别?一文讲透(附避坑指南)
关键词:商品详情接口、props、SKU、电商数据API、商品属性、销售属性、淘宝商品详情、选品数据
做电商数据对接的开发者,几乎都绕不开一个问题:调商品详情接口时,返回结果里既有 props(商品属性),又有 SKU(最小销售单元),两者看起来都在描述"颜色、尺码、版本",到底该用哪个?价格和库存该信哪个?
这篇文章用真实的返回数据结构,把两者的区别一次讲清楚,并总结 4 个最常见的踩坑场景。
一、先说结论:一个是"商品说明书",一个是"可购买清单"
一句话概括:
props 是商品维度的属性——描述"这件商品是什么",相当于商品说明书。
SKU 是购买维度的规格组合——描述"这件商品能怎么买",每一项都是可以单独下单的货品。
如果你只想记住一句话:展示看 props,交易看 SKU。
二、props:描述商品的静态属性
props 通常以键值对(或属性列表)的形式返回,内容来自平台的类目属性模板,是这个商品全局唯一的描述信息:
"props_list"
:
{
"0:0"
:
"品牌: 小米"
,
"1:1"
:
"型号: Redmi Note 13"
,
"2:3"
:
"屏幕尺寸: 6.67英寸"
,
"3:2"
:
"CPU型号: 天玑6080"
}props 有三个典型特征:
属于整个商品,不随买家选择变化。不管你买哪个颜色,"品牌: 小米"都成立。
没有价格和库存。它只负责描述,不负责交易。
来源是类目属性模板。商家发布商品时按类目要求填写,所以数据结构相对规范,适合做结构化处理。
props 的典型用途:
商品详情页的"规格参数"表格
站内搜索和筛选(按品牌、材质、参数过滤)
选品分析(比如批量拉取某类目下所有商品的参数做对比)
三、SKU:买家真正下单的最小单元
SKU(Stock Keeping Unit,最小库存单位)是销售属性的笛卡尔积组合,每一项都对应一个独立的可购买货品,有自己的价格、库存和标识:
"sku_map"
:
{
"0;0"
:
{
"sku_id"
:
"521366..."
,
"price"
:
"1299.00"
,
"stock"
:
356
,
"properties"
:
"0:0;1:0"
}
,
"0;1"
:
{
"sku_id"
:
"521367..."
,
"price"
:
"1599.00"
,
"stock"
:
0
,
"properties"
:
"0:0;1:1"
}
}其中 properties 里的 0:0;1:1 就是一组销售属性值的组合,配合属性名映射可以还原成"颜色:子夜黑 + 版本:12+256G"。
SKU 的三个典型特征:
每个 SKU 独立计价、独立库存。同款手机不同内存版本差价几百块,靠的就是 SKU 级别的价格。
由销售属性组合生成,但组合不一定全部可售——有些 SKU 会下架、删减或长期 0 库存。
下单必须依赖 SKU。买家在页面上选完规格,系统锁定的是 sku_id,而不是"黑色"这两个字。
SKU 的典型用途:
购买页的规格选择器 + 实时价格库存
订单、购物车、库存管理
比价和价格监控(同一商品不同规格分别追踪)
四、一张表看懂核心区别
| 对比维度 | props | SKU |
|---|---|---|
| 粒度 | 整个商品 | 具体规格组合 |
| 内容性质 | 描述性属性(品牌、型号、参数) | 可售组合(颜色×版本×尺码) |
| 价格库存 | 无 | 有,且每个 SKU 独立 |
| 是否随选择变化 | 固定不变 | 买家每选一次就切换一条 |
| 主要用途 | 展示、搜索、筛选、选品分析 | 下单、变价、库存、比价 |
| 举例 | “品牌:小米” | “黑色+8+128G → ¥1299,库存356” |
五、4 个最常见的踩坑场景
理解了区别只是第一步,实际对接时这 4 个坑几乎人人踩过:
坑 1:用 props 里的价格当售价
有些接口的顶层字段会返回一个商品级价格,但它往往只是展示价或起售价。真实成交价必须从 SKU 里取,尤其在做比价、采购成本核算时,用错了价格会直接算错利润。
坑 2:props 写了"黑色",但黑色 SKU 已无货
商品属性里标注了某个颜色,不代表这个颜色的 SKU 还在售。做代购或反向海淘场景时,一定要先校验目标 SKU 的库存和上架状态,否则客户下了单才发现发不出货。
坑 3:把 SKU 的 properties 编码当明文用
"properties": "0:0;1:1" 这类编码必须配合属性名映射(如 props_list / property_map)才能还原成"颜色:黑"。跳过映射直接展示编码,用户看到的就是一串天书。
坑 4:缓存了 SKU 数据却不更新库存
props 基本静态,可以缓存很久;但 SKU 的价格和库存是高频变动的。如果做代购、聚合比价类系统,库存查询要走实时或短缓存策略,否则会出现"页面显示有货、实际已售罄"的尴尬。
六、什么时候用 props,什么时候用 SKU?
按业务场景直接对号入座:
做选品分析、类目调研 → 主要用 props,量大、结构规范,适合批量结构化处理
做商品展示、详情页渲染 → props 画参数表,SKU 做规格选择器,两者配合
做交易、代购、比价、库存监控 → 一切以 SKU 为准,价格库存实时取
做搜索筛选 → 用 props(规范属性),而不是从 SKU 组合里反推
写在最后
props 和 SKU 的区别,本质上就是**“商品是什么"和"商品怎么卖”**的区别。对接电商数据接口时,把这两个字段的角色分清,能避开绝大多数价格、库存和展示层面的 Bug。
如果你在做电商数据采集、选品系统或代购(反向海淘)独立站,需要稳定、结构化的商品详情数据接口(含完整的 props 和 SKU 字段),欢迎交流——我们提供覆盖主流电商平台的标准化数据 API,字段结构统一,对接成本低。
关键词:props和sku区别 / 商品详情接口 / 电商数据API / SKU库存 / 销售属性 / 商品属性 / 反向海淘数据 / 选品接口

