淘宝的新商品发布说明文档(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
  • 阅读 ( 1004 )
  • 分类:API接口

你可能感兴趣的文章

相关问题

0 条评论

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

运营

79 篇文章

我来创作