Skip to content

Instantly share code, notes, and snippets.

@anson0370
Created January 23, 2013 07:26
Show Gist options
  • Save anson0370/4602841 to your computer and use it in GitHub Desktop.
Save anson0370/4602841 to your computer and use it in GitHub Desktop.

组合接口说明

组合接口将独立的接口组合成一个流程调用,达到一次调用组合多个功能的目的。通过参数biz_id来进行幂等和去重的处理。

taobao.scitem.sample.code.pcs.add

组合三步动作:1. 创建仓储sku;2. 初始化库存;3. 批量建立映射关系。

参数说明

  • biz_id:业务惟一id,由字母数字和下划线组成的字符串。对于同一个biz_id请永远传入同样的参数,会得到幂等的结果。如果重复使用一个biz_id传入不同的参数可能得到不正确的非预期的结果。

    简而言之就是对每一个业务动作请使用惟一的biz_id

  • session_nick:用户nick。

  • sc_item_name:仓储sku名字(title)。

  • outer_code:仓储sku外部编码。

  • inventorys:初始化库存的JSON串,注意此参数只接受JSON格式,不接受XML格式。详细说明请参阅初始化库存接口taobao.inventory.initial.item中参数store_inventorys的说明文档。

    一个可能的范例是:[{"storeCode":"tmallb302","quantity":111,"inventoryType":1}]

  • seller_item_codes:前端商品外部编码列表,用,(即半角逗号)分隔的字符串。可空,当留空此参数时会使用outer_code来查询。首先会作为sku的外部编码来查询,如果查不到则会作为item的外部编码来查询。

    一个可能的范例是:code1,code2

  • seller_nicks:商家nick列表,用,(即半角逗号)分隔的字符串,用以支持主子店铺。可空,当留空此参数时会使用session_nick来查询。

    一个可能的范例是:tmall82,tmall473

流程说明

  1. 使用参数sc_item_name和参数outer_code创建仓储sku。
  2. 使用步骤1创建的仓储sku和参数inventorys初始化库存。
  3. 建立映射关系
    1. 判断参数seller_item_codes是否为空,为空则使用参数outer_code,生成code_list
    2. 判断参数seller_nicks是否为空,为空则使用参数session_nick,生成nick_list
    3. 遍历code_listnick_list中的每一种组合,查询对应的sku或者item,并和outer_code建立映射关系。查询规则为先查询sku,如果查不到则查询不包含sku的item。

实例

  1. 单店铺,前后端商品编码一致

     biz_id:33455432 //自定义
     session_nick:tmall82 //商家nick
     sc_item_name:1 //仓储sku名字
     outer_code:2 //仓储sku外部编码
     inventorys:[{"storeCode":"tmall82","quantity":111,"inventoryType":1}] //初始化库存参数
     seller_item_codes: //不传,使用outer_code
     seller_nicks: //不传,使用session_nick
    

    创建title为1,外部编码为2的仓储sku;初始化库存;将用户tmall82的外部编码为2的前端商品和外部编码同样为2的后端仓储sku映射。

  2. 单店铺,前后端商品编码不一致

     biz_id:33455433 //自定义
     session_nick:tmall82 //商家nick
     sc_item_name:1 //仓储sku名字
     outer_code:2 //仓储sku外部编码
     inventorys:[{"storeCode":"tmall82","quantity":111,"inventoryType":1}] //初始化库存参数
     seller_item_codes:2,3 //传入两个前端商品编码
     seller_nicks: //不传,使用session_nick
    

    创建title为1,外部编码为2的仓储sku;初始化库存;将用户tmall82的外部编码为2或3的前端商品和外部编码为2的后端仓储sku映射。

  3. 主子店铺,前后端商品编码一致

     biz_id:33455434 //自定义
     session_nick:tmall82 //商家nick
     sc_item_name:1 //仓储sku名字
     outer_code:2 //仓储sku外部编码
     inventorys:[{"storeCode":"tmall82","quantity":111,"inventoryType":1}] //初始化库存参数
     seller_item_codes: //不传,使用outer_code
     seller_nicks:tmall82,tmall473 //传入主子店铺的nick
    

    创建title为1,外部编码为2的仓储sku;初始化库存;将用户tmall82和用户tmall473所属的外部编码为2的前端商品和外部编码同样为2的后端仓储sku映射。

  4. 主子店铺,前后端商品编码不一致

     biz_id:33455434 //自定义
     session_nick:tmall82 //商家nick
     sc_item_name:1 //仓储sku名字
     outer_code:2 //仓储sku外部编码
     inventorys:[{"storeCode":"tmall82","quantity":111,"inventoryType":1}] //初始化库存参数
     seller_item_codes:2,3 //传入两个前端商品编码
     seller_nicks:tmall82,tmall473 //传入主子店铺的nick
    

    创建title为1,外部编码为2的仓储sku;初始化库存;将用户tmall82和用户tmall473所属的外部编码为2或3的前端商品和外部编码同样为2的后端仓储sku映射。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment