Schema体系是开放平台与天猫/淘宝商品团队共同定义的一套新的开放API规范,用以解决天猫/淘宝商品管理平台的频繁变动给开发者带来的开发维护成本。天猫/淘宝商品平台通过开放平台API将商品管理涉及的元素及规则使用更接近开发者的语言通过xml的方式返回,开发者解析xml后,根据xml中的规则及元素生成一个商品信息xml,调用开放平台API上传完成商品管理。
重要提示: 商品类功能需要订购商品应用,具体联系客服咨询!
一、商品新发步骤
步骤一: 确定已授权的类目和品牌
涉及接口:
步骤二: 发布产品
说明:天猫商品需要挂靠产品,所以产品发布仅支持天猫店铺;淘宝 和 特价版商品无需挂靠产品,不需要产品发布,直接按照“步骤三”发布商品即可。
涉及接口:
tmall.product.match.schema.get( 获取匹配产品规则 )
tmall.product.schema.match( product匹配接口 )
tmall.product.schema.get( 产品信息获取schema获取 )
tmall.product.add.schema.get( 产品发布规则获取接口 )
tmall.product.schema.add( 使用Schema文件发布一个产品 )
类目:女装/女士精品 >> POLO衫(类目id:201241307) 为例说明产品发布步骤;
1、产品匹配规则获取
涉及API:tmall.product.match.schema.get
入参:category_id = 201241307;
出参:规则xml
2、产品匹配
涉及API:tmall.product.schema.match
入参:category_id = 201241307;propvalues = xml_data(示例XML如下)
<itemRule>
<field id="prop_20000" name="品牌" type="singleCheck">
<value>10000497</value>
</field>
<field id="prop_13021751" name="货号" type="input">
<value>2157813</value>
</field>
</itemRule>
出参:产品id;product_id = 1459669507 ;
调用tmall.product.schema.get查询产品状态【
产品状态(true)如果返回true则可以直接发布商品(直接到”步骤三: 发布商品”。)
产品状态(false)如果返回false则需要等待。
3、产品发布规则获取,如果上一步(产品匹配)没有匹配到产品,需要自己添加;
涉及API: tmall.product.add.schema.get
入参:category_id = 201241307 ; brand_id = 10000497
出参:规则xml
4、产品发布,根据上一步取到的规则组装xml
涉及API: tmall.product.schema.add
入参:category_id = 201241307 ; brand_id = 10000497 ; xml_data ;
出参:产品id product_id;
调用tmall.product.schema.get查询产品状态【
产品状态(true)如果返回true则可以直接发布商品(直接到”步骤三: 发布商品”。)
产品状态(false)如果返回false则需要等待。
注意:部分产品发布后需要审核通过后才可使用,所以需要等待产品状态可用后再发布商品。
备注:1、如果获取产品规则tmall.product.add.schema.get获取为空时,说明该类目为无关键属性类目,直接去发布商品即可。
2、产品schema 接口继续使用老的schema SDK 协议;
新老schema协议差异
1)
字段
老协议
新协议
是否变动
ComplexField
complex-values
complex-value
是
MultiComplexField
complex-values
complex-values
否
2)所有field的default-complex-values/default-values/default-complex-value/default-value都已取消,统一用field的值取代。
步骤三: 发布商品(编辑商品)
当第二步的产品可用后,即可发布商品
商品规则获取 调用alibaba.item.publish.schema.get获取类目和属性规则
商品级联属性信息获取 调用alibaba.item.publish.props.get,当alibaba.item.publish.schema.get接口返回的某些属性的值特别多时,会提示使用此接口。根据入参获取商品级联属性信息(基本很少用到),比如alibaba.item.publish.schema.get返回如下结果是:
<field id="p-20000" name="品牌" type="singleCheck">
<rules>
<rule name="requiredRule" value="true"/>
<rule name="tipRule" value="请使用SelectProp接口查询并填充完整子属性后提交" devInfo="即将废弃,请参考devTipRule"/>
<rule name="devTipRule" value="请使用[alibaba.item.publish.props.get]接口查询并填充完整[子属性]后提交"/>
<rule name="tipRule" value="请使用SelectProp接口查询并填充完整子属性后提交" devInfo="即将废弃,请参考devTipRule"/>
<rule name="devTipRule" value="请使用[alibaba.item.publish.props.get]接口查询并填充完整[子属性]后提交"/>
<rule name="devTipRule" value="如需获取全部属性值,请使用[alibaba.item.publish.props.get]接口查询"/>
</rules>
</field>
商品发布alibaba.item.publish.submit进行商品上新 (注意 涉及图片上传时请使用taobao.picture.upload接口)
备注:当发布天猫商品时,偶尔会遇到报[isv.item-service-error:ITEM_PROPERTIES_ERROR–“xxx”属性出错:类目属性在标准属性中不存在]这一类错误时,一般是由于行业小二对类目属性进行了调整,(需要去第二步编辑产品)需要调用tmall.product.update.schema.get接口获取产品更新规则,检查是否有必填元素的value为空,重新生成产品更新信息xml调用tmall.product.schema.update接口完成补充即可
涉及接口:
alibaba.item.publish.schema.get
alibaba.item.publish.props.get
TIPS:开发者如果涉及需要获取某一类目下的商品上新的所有规则,可以同时调用tmall.product.add.schema.get接口获取产品发布涉及的规则,然后入参需要注意spu_id传入0 调用alibaba.item.publish.schema.get获取商品发布的通用规则(非全部规则)
二、商品编辑更新
涉及接口:
a)商品编辑获取schema信息:alibaba.item.edit.schema.get
b)商品编辑提交schema信息:alibaba.item.edit.submit
c)商品增量编辑:alibaba.item.edit.fastupdate
更新分类
全量更新(除局部更新外的均需要走全量更新)
局部更新(局部更新API)
1、编辑规则获取
涉及API:alibaba.item.edit.schema.get
说明:全量和增量编辑的规则都使用接口alibaba.item.edit.schema.get 获取。
增量编辑规则获取还需入参 fields,比如传入fields=title ,接口alibaba.item.edit.schema.get只获取 title 的编辑规则。
2、全量编辑
涉及API:alibaba.item.edit.submit
3、增量编辑
涉及API:alibaba.item.edit.fastupdate
说明:
A)目前淘宝支持的增量更新字段有:catId,bizIdentity,id,price,quantity,title,wirelessDesc,desc,barcode,outerId,video,images,recommendReason,imageVideo,sellPromise
B)天猫市场支持增量更新的字段如下:
title(标 题)
subtitle(子标题,即卖点)
show_title (展示标题)
short_title(无线短标题)
desc(pc描述)
wap_desc(无线描述)
wireless_desc (新版无线描述字段)
vertical_image(竖图)
white_bg_image (白底图)
large_screen_image (电子大屏图)
shop_category (店铺类目)
item_image(主图)
item_wireless_images(无线主图)
postage_id_increment(运费模板id)
image_video_type (主图视频比例类型)
main_video (主图视频)
three_to_four_images (3:4商品图片)
说明:关于主图视频,目前商品已经支持3:4主图视频,并且支持3:4商品主图图片更新,建议三个字段为一个组件来使用;
如果 image_video_type 选择1:1或者16:9类型,那么main_video 需要传值1:1或者16:9类型的视频,此时three_to_four_item_images 这个字段,不管你传值与否,都不会生效。
如果 image_video_type 选择3:4类型,那么 main_video 需要传值3:4类型视频,且需要同时传three_to_four_item_images 这个字段。
C)特价版支持增量更新的字段如下:
title(宝贝标题)
catProp(类目属性) 支持修改枚举类型字段,不支持修改input类型的字段;
sku(宝贝销售规格)支持修改已有sku的价格、库存、商家编码等信息,但不能新增sku;新增sku要用全量接口alibaba.item.edit.submit,并且先设置销售属性;
price(特价) 需与marketPrice同时修改;
marketPrice(划线价) 需与price同时修改;
quantity(总数量)
outerId(商家编码)
images(宝贝图片)
clearImage(非牛皮癣图)
imageVideo(主图视频)
verticalImage(宝贝长图)
desc(商品描述)
subStock(库存计数)
tbDeliveryTime(发货时效)
deliveryTimeSetBySku(按宝贝规格设置发货时间) 需与“sku-相对发货时间” 字段同时修改;
tbExtractWay(运费)
invoice(提供发票)
warranty(保修服务)
sellPromise(退换货承诺)
sevenDaySupport、sevenDayOptional(七天退货)
更多详细可以查阅淘宝商品发布文档