文档中心 > API类目 > 酒店商品API

taobao.xhotel.multiplerate.update (复杂价格推送接口(全量更新))

酒店产品库复杂rate(多人价,连住价等)更新 同时完全涵盖taobao.xhotel.rate.update的功能

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
rpid Number 可选 123 废弃,使用rate_plan_code
status Number 可选 123 价格状态。0为不可售;1为可售,默认可售
out_rid String 可选 123 卖家房型ID
rate_switch_cal String 可选 [{"date":"yyyy-MM-dd","rate_status":1,"checkin_status":1,"checkout_status":1},{"date":"yyyy-MM-dd","rate_status":0,"checkin_status":1,"checkout_status":1}] 价格开关 date:开关状态控制的那一天;rate_status:开关状态(0,关闭;1,打开); checkin_status:入住开关(0,关闭;1,打开);checkout_status:离店开关 (0,关闭;1,打开)
lengthofstay Number 必须 1 连住天数(范围1~5)
occupancy Number 必须 1 入住人数(范围1~10)
currency_code String 可选 CNY 币种.CNY为人民币
rate_plan_code String 可选 123 卖家自己系统的房价code
inventory_price String 可选 {"use_room_inventory":false,"inventory_price":[{"date":2015-07-28,"quota":11,"price":150,"tax":100,"addBed":2200,"addPerson":2000},{"date":2015-07-29,"quota":10,"price":200,"tax":100,"addBed":1200,"addPerson":2000}]} 价格和库存信息。 A:use_room_inventory:是否使用房型共享库存,可选值 true false ,false时:使用房价专有库存,此时要求价格和库存必填。 B:date 日期必须为 T---T+180 日内的日期(T为当天),且不能重复 C:price 价格 int类型 取值范围1-99999999 单位为分 D:quota 库存 int 类型 取值范围 0-999(数量库存) 60000(状态库存关) 61000(状态库存开) tax为税费,addBed为加床价,addPerson为加人价1,若连住大于1,price请推送总价
name String 可选 aaa 废弃
gid Number 可选 123 废弃,使用out_rid
vendor String 可选 taobao 系统商,一般不填写,使用须申请
childnum Number 可选 1 儿童人数
infantnum Number 可选 1 婴儿人数
lock_end_time String 可选 2016-07-16 00:00:00 锁库存截止时间,如果当前时间是在锁库存开始时间和截止时间之间,那么不允许修改该活动库存(包含开始时间和截止时间)
lock_start_time String 可选 2016-07-15 00:00:00 锁库存开始时间,如果当前时间是在锁库存开始时间和截止时间之间,那么不允许修改该活动库存(包含开始时间和截止时间)
online_booking_binding_info String 可选 [{"itemId":1234235235,"skuId":1234235235,"priceRuleInfoList":[{"priceRuleNumber":"14235253"},{"priceRuleNumber":"14235253"},{"priceRuleNumber":"14235253"}]},{"itemId":1234235235,"skuId":1234235235,"priceRuleInfoList":[{"priceRuleNumber":"14235253"},{"priceRuleNumber":"14235253"},{"priceRuleNumber":"14235253"}]}] 在线预约关联关系推送,priceRuleNumber:加价规则序号
breakfast Number 可选 1 -1,状态早餐,和入住人数有关系,几人价就是几份早餐;0:不含早1:含单早2:含双早N:含N早(1-99可选);(添加RP时为必须)
cancel_policy String 可选 {"cancelPolicyType":1}|{"cancelPolicyType":2}|{"cancelPolicyType":4,"policyInfo":{"48":10,"24":20}}|{"cancelPolicyType":5,"policyInfo":{"timeBefore":6}}|{"cancelPolicyType":6,"policyInfo":{"14":1}} 退订政策字段,是个json串,参考示例值设置改字段的值。允许变更/取消:在XX年XX月XX日XX时前取消收取Y%的手续费,100>Y>=0允许变更/取消:在入住前X小时前取消收取Y%的手续费,100>Y>=0(不超过10条)。1.表示任意退{"cancelPolicyType":1};2.表示不能退{"cancelPolicyType":2};4.从入住当天24点往前推X小时前取消收取Y%手续费,否则不可取消{"cancelPolicyType":4,"policyInfo":{"48":10,"24":20}}表示,从入住日24点往前推提前至少48小时取消,收取10%的手续费,从入住日24点往前推提前至少24小时取消,收取20%的手续费;5.从24点往前推多少小时可退{"cancelPolicyType":5,"policyInfo":{"timeBefore":6}}表示从入住日24点往前推至少6个小时即入住日18点前可免费取消;6.从入住日24点往前推,至少提前小时数扣取首晚房费{"cancelPolicyType":6,"policyInfo":{"14":1}}表示入住日24点往前推14小时,即入住日10点前取消收取首晚房费。 注意:支付类型为预付,那么可以使用所有的退订类型,但是必须是非担保;支付类型为面付或者信任住并且是无担保,那么只能使用1类型的退订;支付类型为面付或者信任住并且为担保,那么只能使用2,5类型的退订;支付类型为在线预约,那么只能使用1,2,5类型的退改。如果支付类型是面付或者信任住并且为担保,那么如果传了4或者6的退订,那么会强制转成类型5。支持多段时间、多间夜扣款
breakfast_cal String 可选 [{"date":"yyyy-MM-dd","startDate":"yyyy-MM-dd","endDate":"yyyy-MM-dd","breakfast_count":0},{"date":"yyyy-MM-dd","startDate":"yyyy-MM-dd","endDate":"yyyy-MM-dd","breakfast_count":1}] 在更新rateplan时,同时新增或更新早餐日历。 date:早餐政策属于具体哪一天 breakfast_count:这一天早餐的数量。>=0,<=99 如果date为空,那么会去读取startDate和endDate(格式都为"yyyy-MM-dd"),即早餐正常属于一个时间段。-1为状态早餐,和最终绑定的几人价有关,如果是一人价那么就是我一份早餐,二人价就是两份早餐。请注意,该字段仅能维护从当前时间开始,10年以内的数据,如果超过10年,会报错。
cancel_policy_cal String 可选 [{"date":"yyyy-MM-dd","startDate":"yyyy-MM-dd","endDate":"yyyy-MM-dd","cancel_policy":{"cancelPolicyType":1} },{"date":"yyyy-MM-dd","startDate":"yyyy-MM-dd","endDate":"yyyy-MM-dd","cancel_policy":{"cancelPolicyType":4,"policyInfo":{"48":10,"24":20}}}] 在新增rateplan的同时新增取消政策日历。 json格式。 date:日历的某一天,格式为"yyyy-MM-dd" cancel_policy:日历某一天的价格政策。格式和限制同cancel_policy。 如果date为空,那么会读取startDate和endDate(格式都为"yyyy-MM-dd"),即取消政策属于某一个时间段。 注意:支付类型为预付,那么可以使用所有的退订类型,但是必须是非担保;支付类型为面付或者信任住并且是无担保,那么只能使用1类型的退订;支付类型为面付或者信任住并且为担保,那么只能使用2,5类型的退订;支付类型为在线预约,那么只能使用1,2,5类型的退改。如果支付类型是面付或者信任住并且为担保,那么如果传了4或者6的退订,那么会强制转成类型5。请注意,该字段仅能维护从当前时间开始,10年以内的数据,如果超过10年,会报错。
hotel_xitem_infos String 可选 [{"actionType":"BOUND","outXcode":"123456","subTypeCode":"40000_105","shortName":"延时14点退房","time":"00:00-23:59","value":1200,"itemDesc":"可延时到14点退房","dimensionType":1,"picList":[],"adultCount":1,"childCount":1,"itemLimit":"","checkInStart":"2023-07-13 00:00:01","checkInEnd":"2023-07-13 00:00:01","bookStartTime":"2023-07-13 00:00:01","bookStartEnd":"2023-07-13 00:00:01","featureDetail":""}] 是一个JSONArray 字符串 actionType 操作类型 BOUND: 绑定,UNBOUND:解绑; outXcode 元素编码 ; subTypeCode x 元素子类型, 参考:https://open.alitrip.com/docs/doc.htm?spm=0.0.0.0.9MjTPx&docType=1&articleId=121402&previewCode=787DFB0895F05C90D167579A04BD32E3; status: 状态是否生效0 失效, 1生效; shortName x元素标题; time 服务时间段(18:00-21:00); value 商品价值(100 - 999900 单位分); itemDesc 商品使用说明; dimensionType 附加产品使用维度 1:每间房维度 2:每间夜维度; picList 图片格式化信息 [{"url":"https://xxxxx/","isMain":true}]; adultCount 成人数量 (1-99); childCount 儿童数量 (0-99); itemLimit 使用限制, 文字描述,200 字内; checkInStart 入住生效开始时间; checkInEnd 入住生效结束时间; bookStartTime 预定生效开始时间; bookStartEnd 预定生效截止时间; featureDetail 详细信息json字符串 [{"detailName":"免费寄存","detailValue":[""],"type":"single","priority":1}]

响应参数

名称 类型 示例值 描述
gid_and_rpid_occupancy_lengthofstay String 1000-12300-1-1 gid-rpid-occupancy-lengthofstay 商品ID-房价ID-入住人数-连住天数

请求示例

  • JAVA
  • .NET
  • PHP
  • CURL
  • Python
  • C/C++
  • NodeJS
TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
XhotelMultiplerateUpdateRequest req = new XhotelMultiplerateUpdateRequest();
req.setRpid(123L);
req.setStatus(123L);
req.setOutRid("123");
req.setRateSwitchCal("[{\"date\":\"yyyy-MM-dd\",\"rate_status\":1,\"checkin_status\":1,\"checkout_status\":1},{\"date\":\"yyyy-MM-dd\",\"rate_status\":0,\"checkin_status\":1,\"checkout_status\":1}]");
req.setLengthofstay(1L);
req.setOccupancy(1L);
req.setCurrencyCode("CNY");
req.setRatePlanCode("123");
req.setInventoryPrice("{\"use_room_inventory\":false,\"inventory_price\":[{\"date\":2015-07-28,\"quota\":11,\"price\":150,\"tax\":100,\"addBed\":2200,\"addPerson\":2000},{\"date\":2015-07-29,\"quota\":10,\"price\":200,\"tax\":100,\"addBed\":1200,\"addPerson\":2000}]}");
req.setName("aaa");
req.setGid(123L);
req.setVendor("taobao");
req.setChildnum(1L);
req.setInfantnum(1L);
req.setLockEndTime("2016-07-16 00:00:00");
req.setLockStartTime("2016-07-15 00:00:00");
req.setOnlineBookingBindingInfo("[{\"itemId\":1234235235,\"skuId\":1234235235,\"priceRuleInfoList\":[{\"priceRuleNumber\":\"14235253\"},{\"priceRuleNumber\":\"14235253\"},{\"priceRuleNumber\":\"14235253\"}]},{\"itemId\":1234235235,\"skuId\":1234235235,\"priceRuleInfoList\":[{\"priceRuleNumber\":\"14235253\"},{\"priceRuleNumber\":\"14235253\"},{\"priceRuleNumber\":\"14235253\"}]}]");
req.setBreakfast(1L);
req.setCancelPolicy("{\"cancelPolicyType\":1}|{\"cancelPolicyType\":2}|{\"cancelPolicyType\":4,\"policyInfo\":{\"48\":10,\"24\":20}}|{\"cancelPolicyType\":5,\"policyInfo\":{\"timeBefore\":6}}|{\"cancelPolicyType\":6,\"policyInfo\":{\"14\":1}}");
req.setBreakfastCal("[{\"date\":\"yyyy-MM-dd\",\"startDate\":\"yyyy-MM-dd\",\"endDate\":\"yyyy-MM-dd\",\"breakfast_count\":0},{\"date\":\"yyyy-MM-dd\",\"startDate\":\"yyyy-MM-dd\",\"endDate\":\"yyyy-MM-dd\",\"breakfast_count\":1}]");
req.setCancelPolicyCal("[{\"date\":\"yyyy-MM-dd\",\"startDate\":\"yyyy-MM-dd\",\"endDate\":\"yyyy-MM-dd\",\"cancel_policy\":{\"cancelPolicyType\":1} },{\"date\":\"yyyy-MM-dd\",\"startDate\":\"yyyy-MM-dd\",\"endDate\":\"yyyy-MM-dd\",\"cancel_policy\":{\"cancelPolicyType\":4,\"policyInfo\":{\"48\":10,\"24\":20}}}]");
req.setHotelXitemInfos("[{\"actionType\":\"BOUND\",\"outXcode\":\"123456\",\"subTypeCode\":\"40000_105\",\"shortName\":\"延时14点退房\",\"time\":\"00:00-23:59\",\"value\":1200,\"itemDesc\":\"可延时到14点退房\",\"dimensionType\":1,\"picList\":[],\"adultCount\":1,\"childCount\":1,\"itemLimit\":\"\",\"checkInStart\":\"2023-07-13 00:00:01\",\"checkInEnd\":\"2023-07-13 00:00:01\",\"bookStartTime\":\"2023-07-13 00:00:01\",\"bookStartEnd\":\"2023-07-13 00:00:01\",\"featureDetail\":\"\"}]");
XhotelMultiplerateUpdateResponse rsp = client.execute(req, sessionKey);
System.out.println(rsp.getBody());

响应示例

  • XML示例
  • JSON示例
<xhotel_multiplerate_update_response>
    <gid_and_rpid_occupancy_lengthofstay>1000-12300-1-1</gid_and_rpid_occupancy_lengthofstay>
</xhotel_multiplerate_update_response>

异常示例

  • XML示例
  • JSON示例
<error_response>
    <code>50</code>
    <msg>Remote service error</msg>
    <sub_code>isv.invalid-parameter</sub_code>
    <sub_msg>非法参数</sub_msg>
</error_response>

错误码解释

错误码 错误描述 解决方案
isv.invalid-parameter:FORMAT_ERROR 参数格式不正确 请检查输入参数
isv.invalid-parameter:ERROR 参数不正确 请检查输入参数
isv.permission-error:NO_PERMISSIONS_ERROR 权限不够、非法访问 请申请权限或者使用正确的账号操作
isv.biz-error: RATEPLAN_NOT_EXIST_ERROR 定价信息关联的房价不存在 请检查输入参数
isv.biz-error:BIZ_ERROR 业务异常 请稍后重试
isv.invalid-parameter:NOTNULL 参数不能为空 参数不能为空,请检查参数必填项
isv.remote-service:CONVERT_ERROR 转换对象时出错 请检查输入参数
isv.session-not-exist session信息不存在 session信息不存在,请检查,确保传入正确有效的session信息

API工具

如何获得此API

FAQ

返回
顶部