商品信息修改

相关API

API名称

描述

taobao.items.onsale.get

获取当前会话用户出售中的商品列表

taobao.items.inventory.get

得到当前会话用户库存中的商品列表

taobao.items.custom.get

根据商家编码取商品

taobao.skus.custom.get

根据sku的商家编码取商品sku

taobao.increment.items.get

获取商品变更通知信息

taobao.item.update

更新商品信息

taobao.item.sku.update

更新SKU信息

taobao.item.update.delisting

商品下架

taobao.item.update.listing

一口价商品上架

逻辑与规则

全量下载:

通过taobao.items.onsale.get(获取店铺出售中商品信息)和 taobao.items.inventory.get(获取店铺仓库中商品信息)可获取店铺中所有商品,API 支持根据卖家昵称、类目、关键字等字段来搜索商品。

针对商品的下载:

对于已有统一管理商品数据(例如条形码)的卖家,可以通过商家编码(供卖家自定义输入的编码)与淘宝商品/sku做对应关系。

如下图:

T1e2mnXgd4XXaCwpjX.png

 

对于有sku的商品,通过taobao.skus.custom.get(根据sku的商家编码取商品sku)获取sku;无sku的商品,通过taobao.items.custom.get(根据商家编码取商品)获取商品。

 

更新数量:

当商品包含sku时,更新商品总量无效,始终等于各sku数量之和。

由于架上商品不能为0,要将无sku的商品数量或者有sku商品的最后一个sku数量更新为0时,需要对商品先进行下架操作,可以通过taobao.item.update.delisting(商品下架)

 

更新价格:

带sku的商品,有一口价和sku价格两个价格,如下图红框标识:

 T1MQqnXjhdXXaCwpjX.png

 

基本规则:商品一口价必须介于有效sku的价格区间内。

有效sku:数量大于0的称为有效sku.

以taobao.item.sku.update的调用为例:

有效sku = 0时,更新sku的价格不受限制,除必填参数外,还需传入的参数为:price(sku价格)

有效sku = 1时,商品价格必须等于sku价格,这种情况,淘宝系统会自动更新商品价格,除必填参数外,还需传入的参数为:price(sku价格)

有效sku>=2时,商品价格介于有效sku之间,除必填参数外,还需传入的参数为:price(sku价格), item_price(商品价格),否则将会返回“价格不在区间内的异常”

 

新增销售属性:

在淘宝页面发布或者编辑商品时,会根据商品的销售属性自动组合出完整的sku,如图:

T1EAmnXcFeXXaCwpjX.png

当首次入库时只有三个sku :a,b,c,如果通过淘宝页面发布商品, 则系统会自动保存四个sku填充矩阵,如:d  数量默认为0,价格等于商品价格。

但是在本地系统中,可能只保存了a、b、c三个sku,再次入库d时,会判断为新入库而执行sku新增的操作,这样API将返回错误,重复添加sku属性

针对这种情况,暂给出三种解决方案

 

方案一:

       采用与淘宝相同的逻辑,在入库时只要有存在的销售属性自动完成矩阵。

 

方案二:

       使用API发布或者修改商品不会出现上述问题,但是在淘宝页面编辑商品后,依然会填充矩阵。

 

方案三:

       新增sku前先对比淘宝上商品的sku数据,如果存在此sku则修改,不存在则添加。

 

 

增量更新:

方案一:

       使用 消息服务 的方式,由淘宝主动推送商品库存、价格等变更消息,应用程序接收到消息后,调用api做库存或价格等更新

 

方案二:

       每条商品信息有一个修改时间字段modified,通过接口taobao.items.onsale.get和taobao.items.inventory.get指定时间段(start_modified,end_modified),可以获取此时间段内有信息更改过的商品列表

 

使用场景:

       当在淘宝店铺编辑商品信息之后,以此方法获取被修改的商品信息,同步到本地,保持商品数据的一致,类似于增量API的功能。正常的商品交易过程导致的商品数量变化也会更新此修改时间。

FAQ

  • 关于此文档暂时还没有FAQ