基础介绍
1)淘宝商品id,它均由数字构成,且如同身份证号码一样具有唯一性,属于商品链接中的一部分。在淘宝页面可以以下方式查看。
直接打开商品的详情页面,看到浏览器地址栏中的宝贝链接,链接中找到“id=”,后面紧跟的一串阿拉伯数字就是商品id,如图:
【卖家中心】-【宝贝管理】-【出售中的宝贝】或【仓库中的宝贝】,ID显示在商品标题下方。
2)SKU是商品的最小库存量单位,简单的可理解为商品的具体规格:颜色、尺码等信息,比如: 鞋子的 黑色-39码
就是一个SKU,下图中每一个颜色和尺码的组合都是一个SKU;
3)商品上下架状态。 卖家发布的商品可以选择上架或者下架,
上架才能让展示在店铺中,让消费者访问正式售卖; 下架的商品会放在商品列表中无法对外展示,此时的商品状态为库中。
功能介绍
全量商品获取: 1)通用方案,先获取接口获取卖家商品列表,再通过商品列表中的商品id查询单个商品的详细信息。
具体先通过taobao.items.onsale.get(获取店铺出售中商品信息)和
taobao.items.inventory.get(获取店铺仓库中商品信息)可获取店铺中所有商品,API
支持根据卖家昵称、类目、关键字等字段来搜索商品。再通过taobao.item.seller.get获取单个商品详细信息。
2)对于已有统一管理商品数据(例如条形码)的卖家,可以通过商家编码(供卖家自定义输入的编码)与淘宝商品/sku做对应关系。可以通过taobao.items.custom.get(根据商家编码取商品)获取商品,或者通过taobao.skus.custom.get(根据sku的商家编码取商品sku)获取sku。
更新数量: 当商品包含sku时,更新商品总量无效,始终等于各sku数量之和。
由于架上商品不能为0,要将无sku的商品数量或者有sku商品的最后一个sku数量更新为0时,需要对商品先进行下架操作,可以通过taobao.item.update.delisting(商品下架)
更新价格: 带sku的商品,有一口价和sku价格两个价格,如下图红框标识:
基本规则:商品一口价必须介于有效sku的价格区间内,sku库存数量大于0的称为有效sku。 有效sku =
0时,也就是无SKU的商品,更新商品价格不受SKU限制,这种情况用taobao.item.price.update为例,直接更新商品price;
有效sku =
1时,商品价格必须等于sku价格,这种情况用taobao.item.sku.update为例,淘宝系统会自动更新商品价格,传入的参数为:price(sku价格);
有效sku>=2时,商品价格介于有效sku之间,这种情况用taobao.item.sku.update为例,除必填参数外,还需传入的参数为:price(sku价格),
item_price(商品价格),否则将会返回“价格不在区间内的异常” 新增销售属性:
通过taobao.item.sku.add接口可以新增SKU,taobao.item.sku.update接口可以修改,要注意新增sku属性的基本逻辑。
在淘宝页面发布或者编辑商品时,会根据商品的销售属性自动组合出完整的sku,如图:
如果先通过淘宝页面发布了商品,则系统会自动根据颜色和尺码的组合保存四个sku矩阵:蓝1、蓝2、桔1、桔2。当时只有蓝1、蓝2、桔1有库存,则设置了桔2数量为0。
但是在商家自有系统中,可能只保存了蓝1、蓝2、桔1三个sku;再新增SKU-桔2时,
API将返回错误,重复添加sku属性,因为桔2已经存在。
针对这种情况,暂给出三种解决方案
方案一:自有系统采用与淘宝相同的逻辑,在入库时只要有存在的销售属性就进行组合报错保存完整SKU矩阵。
方案二:使用API发布或者修改商品不会出现上述问题,但是如果在淘宝页面编辑商品后,依然会填充矩阵。
方案三:新增sku前先获取淘宝商品的sku数据,如果存在此sku则直接修改,不存在则添加。
商品上下架 taobao.item.update.delisting商品下架 ,下架的商品无法被消费者访问也无法购买。
taobao.item.update.listing一口价商品上架,上架才能可以被消费者购买。
商品变更信息获取 方案一:使用
消息服务(https://open.taobao.com/docV3.htm?docId=101663&docType=1 )
的方式,由淘宝主动推送商品库存、价格等变更消息,应用程序接收到消息后,调用api做库存或价格等更新
方案二:每条商品信息有一个修改时间字段modified,通过接口taobao.items.onsale.get和taobao.items.inventory.get指定时间段(start_modified,end_modified),可以获取此时间段内有信息更改过的商品列表
其他相关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.item.seller.get
获取单个商品详细信息