日历型商品的价格库存维护具体可分为下文所述三种:
第一种更新商品日历价格的方式是:商品级别套餐的全量覆盖,即使用用户所上传的新套餐日历信息覆盖该商品原有的套餐日历信息,即原有的套餐日历都将被删除。
提供该服务的TOP API接口:taobao.alitrip.travel.item.sku.override
该服务使用场景示例:假设商品I原来有套餐A和B,则使用该服务接口更新套餐日历价格库存时,上传了套餐A和C,那么商品I原来的套餐A和B将被删除,并用新的套餐A和C作为该商品套餐日历。
第二种更新商品日历价格的方式是:套餐级别的增、删、覆盖修改操作,即对某一个或某几个套餐进行增、删或覆盖修改,且该商品其他套餐保留不变。(需要特别注意的是,每个套餐都必须有一个id标示(套餐的商家编码,即outer_sku_id),程序将根据这个id标示找到该套餐,并对该套餐进行删、改操作)
提供该服务的TOP API接口:taobao.alitrip.travel.item.sku.package.modify
注意:该接口不可大量频繁调用,分钟限50次。
该服务使用场景示例:当用户希望只更新该商品下个别套餐信息,且商品其他套餐保持不变时,可使用该服务。具体的使用示例如下表所示。
1 | 增加一个套餐 |
2 | 删除一个套餐,以outer_sku_id作为标识 |
3 | 覆盖修改一个套餐,以outer_sku_id作为标识 |
单套餐操作的场景及举例如下:
场景描述 |
对应参数 |
增加一个套餐(套餐的外部商家编码为123456) |
"skus": [{ |
删除一个套餐(删除所有外部商家编码为123456的套餐) |
"skus": [{ |
覆盖修改外部商家编码为123456的所有套餐 |
"skus": [{ |
第三种更新商品日历价格的方式是:日期级别价格库存的增量更新,即原有的套餐日历价格库存将被保留,且只选择性的更新原有某些套餐内某些日期下的价格或库存。
提供该服务的TOP API接口:taobao.alitrip.travel.item.sku.price.modify
该服务使用场景示例:当用户希望只更新该商品下个别套餐内个别日期的价格或库存信息,且其他的日历价格库存保持不变时,可使用该服务。具体的使用示例如下表所示。示例说明如下,假设商品有套餐A(该套餐A必须已经有一个id标示(套餐的商家编码,即outer_sku_id),程序将根据这个id标示找到该套餐,然后更新套餐内日历价格库存),用户希望对该套餐内某个日期的价格、库存进行修改:
该服务接口中prices结构内的operation字段含义如下,不传则默认为1。
1 | 增加 某一天的价格库存 |
2 | 增量修改,不删除原有,只做增量改变(只支持库存的增量改变) |
3 | 覆盖修改,替换原有 |
4 | 删除 |
增量更新的场景及举例如下:
场景描述 |
对应参数 |
增加9月15日的出行(成人价100,库存20个) |
"prices": [{ date:2015-09-15, operation:1, stock:20, price:10000, priceType:1 }] |
增加9月15日的成人库存10个,减少儿童库存5个 |
"prices": [{ date:2015-09-15, operation:2, stock:10, priceType:1 }, { date:2015-09-15, operation:2, stock:-5, priceType:2 }] |
覆盖9月15日出行的成人价格为150,成人库存为3,儿童价格为100,儿童库存为2 |
"prices": [{ date:2015-09-15, operation:3, stock:3, price:15000, priceType:1 }, { date:2015-09-15, operation:3, stock:2, price:10000, priceType:2 }] |
删除9月15日的所有库存,包括成人和儿童,其中单房差的价格清零 |
"prices": [{ date:2015-09-15, operation:4, priceType:1 }] |
删除9月15日的儿童库存,保留成人库存 |
"prices": [{ date:2015-09-15, operation:4, priceType:2 }] |
1、更新日历价格库存时 为何提示商品的某个基本信息字段出错?
这是因为更新商品日历价格库存,其本质上也是修改并保存商品。底层系统在更新商品日历价格库存时,会取出商品原有的基本信息并做校验,只有当商品基本信息和日历价格库存都校验通过后,商品才会保存成功。
2、什么是套餐的商家编码(outer_sku_id)?
套餐的商家编码是由商家自己设定。通过这个编码可以实现飞猪订单和商家自己内部系统的关联;此外,根据该编码,商家可以对该商品下某个套餐的日历价格库存进行日期级别的价格库存增量更新。
3、假如我有一个商品,该商品的套餐没有设置过套餐商家编码,该怎么使用日期级别价格库存增量更新接口?
方案一、先调用“商品级别 套餐全量覆盖更新”服务设置该商品的所有套餐,并给每个套餐设置一个商家编码,即outer_sku_id;
方案二、手动去网页端后台编辑下该商品:为该商品的每个套餐添加设置一个商家编码,如下图:
4、为什么同步更新成功了,但有些日期的价格库存却没有上传成功?
可能原因:该商品销售属性中已经设置了 提前报名天数(即sales_info结构中的duration字段),那么对该商品而言,实际有效的日期必须是 当前日期+提前报名天数 之后的日期,对于实际有效日期之前的日历价格库存将被忽略不计。
5、为什么同步更新提示失败?
第一种可能原因:商品最早售卖日期和最晚售卖日期间的时间跨度不能超过半年(约180天),起止时间跨度超过这个限制将报错。
第二种可能原因:所有日期下至少要有成人的价格、库存,且都必须大于0,否则将报错。