淘宝的新商品发布说明文档(1)- v兔电商工具

淘宝从数据库中上架一个商品到店铺,调用接口顺序是哪些v兔电商工具出品 更多干货: http://ask.vv-tool.com/

一、背景

Schema体系是开放平台与天猫/淘宝商品团队共同定义的一套新的开放API规范,用以解决天猫/淘宝商品管理平台的频繁变动给开发者带来的开发维护成本。天猫/淘宝商品平台通过开放平台API将商品管理涉及的元素及规则使用更接近开发者的语言通过xml的方式返回,开发者解析xml后,根据xml中的规则及元素生成一个商品信息xml,调用开放平台API上传完成商品管理。

二、相关API

1,商品发布

a)获取商品发布规则信息:alibaba.item.publish.schema.get  对应的v兔接口文档地址是http://doc.vv-tool.com/platformErp/schemaget(接口名获取商品发布规则信息)

b)商品级联属性信息获取:alibaba.item.publish.props.get

c)商品发布:alibaba.item.publish.submit

2,商品编辑

a)商品编辑获取schema信息:alibaba.item.edit.schema.get

b)商品编辑提交schema信息:alibaba.item.edit.submit

c)商品增量编辑:alibaba.item.edit.fastupdate

3,商品管理

a)商品上架:alibaba.item.operate.upshelf

b)商品下架:alibaba.item.operate.downshelf

c)商品删除:alibaba.item.operate.delete

三、Schema体系说明规则

使用Schema接口必须先理解schema体系的结构。一个完整的schema xml会由若干个field组成,每一个field都是用来描述规则和元素。schema结构针对field定义了以下组成部分:

字段名称

说明

id

用于描述唯一主键,以商品的标题为例,id=“title”。

name

用于描述field的显示名,以商品的标题为例,name=“商品标题”。

type

用于描述field的值的数据输入类型,schema结构对于field定义了七种类型,分别为input、multiInput、 singleCheck、multiCheck、complex、multiComplex和label。详见3.1说明

values

用于描述multiInput和multiCheck类型的field的value的集合

complex-value

用于描述complex类型的field的多数据值的集合

complex-values

用于描述multiComplex类型的field的多数据值的集合

value

用于描述field的值,上一层级一般为values或者complex-values。

option

用于描述field的值的可选值,与html中select元素中的option标签类似。 (1)displayName,用于描述可选值的展示名。(2)value,用于描述可选值主键。

label-group

用于描述label的聚合,label主要用于描述说明信息

rule

用于描述field的各类系统或者业务规则。详见3.2说明

depend-group

用于描述依赖关系的集合

operator

用于描述集合中多个依赖关系的关系,包括 ‘and’(与关系)和’or’(或关系)

depend-express

用于描述依赖关系,上层为depend-group,与Rule中的disableRule是成组出现的。一般可以理解为当满足依赖关系时,disableRule为true才成立 depend-express中会包含fieldId、value和symbol。目前支持的symbol见3.3说明。

1,type类型说明

type 用于描述field的值的数据输入类型,schema结构对于field定义了七种类型,分别为input、multiInput、singleCheck、multiCheck、complex、multiComplex和label。

类型

类型说明

input

当前field的值为文本输入

multiInput

当前field的值为多行文本输入型

singleCheck

当前field的值为单选输入型,类似于radio

multiCheck

当前field的值为多选输入型,类似于checkbox

complex

当前field的值为复合结构,表示数据的聚合

multiComplex

当前field的值为复合结构,与complex有差别的在于multiComplex的field是可以有多份数据实例样本

2,rule类型说明

rule 用于描述field的各类系统或者业务规则。

rule类型

类型说明

valueTypeRule

用于描述field值需要满足数据类型,包括了text(文本型)/decimal(小数型)/integer(整数型)/date(日期型)/long(长整数型)/url(超链接)/textarea(多行文本)/html(支持html标记语法的文本)

requiredRule

是否必填,默认为false,true/false

disableRule

是否忽略此field,为true时,将不对rule进行check,同时他的value也将无效。默认为false,值范围包含true/false

maxLengthRule

最大长度

minLengthRule

最小长度

maxValueRule

最大值(数值类型时有效)

minValueRule

最小值(数值类型时有效)

maxInputNumRule

最多可选数(多选时有效)

minInputNumRule

至少要选数(多选时有效)

maxTargetSizeRule

最大目标文件大小

minTargetSizeRule

最小目标文件大小

readOnlyRule

只读,用户无法修改返回值,值范围为true/false

regxRule

正则表达式匹配

tipRule

Field中展示的tip信息,用于一些无法直接用语法描述或者过于复杂的规则,或者提示信息,需要给用户透出。

maxImageSizeRule

最大图片大小,指的是分辨率,如800*800

minImageSizeRule

最小图片大小

devTipRule

一般用于给开发者提示,不需要展示给用户,开发者可以通过此Rule获取特定的信息,如 例子中的如何获取售后模板信息

3,depend-express支持的symbol

symbol

说明

is null

fieldId指向的字段的值为空

==

fieldId指向的字段的值等于value

!=

fieldId指向的字段的值不等于value

>

fieldId指向的字段的值大于value

<

fieldId指向的字段的值小于value

>=

fieldId指向的字段的值大于等于value

<=

fieldId指向的字段的值小于等于value

contains

fieldId指向的字段的值中包含有value

not contains

fieldId指向的字段的值中不包含有value

this field’s value in fieldOptions

fieldId指向的字段的值中在fieldId对应的value列表中

this field’s value not in fieldOptions

fieldId指向的字段的值中不在fieldId对应的value列表中

4,输入类型(type)与规则(rule)关系


input

multiInput

singleCheck

multiCheck

complex

multiComplex

valueTypeRule





requiredRule

disableRule

maxLengthRule





minLengthRule





maxValueRule





minValueRule





maxInputNumRule




minInputNumRule




maxTargetSizeRule



minTargetSizeRule



readOnlyRule

regxRule





tipRule

maxImageSizeRule



minImageSizeRule



5,数据示例

数据过大,请点击查看全量schema查看


四、需要特别注意的几个类型

1、TipRule

TipRule一般用于无法直接描述的复杂规则,isv需要将该规则在页面上透出给用户。以价格为例

<field id="price" name="商品价格" type="input">
     <rules>
        <rule name="valueTypeRule" value="decimal"/>
        <rule name="requiredRule" value="true"/>
        <rule name="tipRule" value="一口价 应在 销售属性表中所填 最高与最低价格 范围区间内。"/>
        <rule name="minValueRule" value="0.00" exProperty="not include"/>
        <rule name="maxValueRule" value="100000000.00" exProperty="not include"/>
        <rule name="383278799_1" value="商品价格必须在销售属性表中所填最高与最低价格范围区间内"/>
        <rule name="tipRule" value="为避免一口价变动引发的违规,请谨慎输入价格。" url="http://rule.tmall.com/tdetail-1168.htm?tag=self"/>
         </rules>
 </field>

2、DevTipRule

2、请继续阅读淘宝的新商品发布说明文档(2)

先Rule一般用于给开发者提示,不需要展示给用户,开发者可以通过此Rule获取特定的信息,如例子中的如何获取售后模板信息。以售后模板为例:

  • 发表于 03/02/2022 12:15:26
  • 阅读 ( 307 )
  • 分类:API接口

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
运营小兵
运营小兵

运营

75 篇文章

我来创作