文档中心 > API类目 > 酒店API(新)

taobao.xhotel.multiplerates.update (复杂价格推送接口(批量全量))

批量更新复杂价格 涵盖了taobao.xhotel.rates.update的功能

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
rate_quota_map String 必须 [ { "useRoomInventory": false, "outRoomId": "abc", "ratePlanCode": "WHL03", "vendor": "", "currencyCode": "CNY", "childAges": "2~5", "childRule": [ { "calculateType": "1", "ageRange": "4~6", "numRange": "1", "feeType": "10" }, { "calculateType": "2", "ageRange": "2~6", "numRange": "2", "feeType": "0.2" } ], "priceCalendar": [ { "date": "2017-04-16", "inventoryPrice": [ { "lengthOfStay": 1, "rateSwitch": 0, "quota": 100, "price": [ { "occupancy": 5, "basePrice": 310000, "taxAndFee": 100, "twoTax": 200, "threeTax": 300, "fourTax": 400, "fiveTax": 500 } ] } ] } ], "rateCalDataList":[ { "nod":1, "nop":1, "breakfastCal":"[{\"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}]", "cancelPolicyCal":"[{\"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}}}]" } ] } ] 批量全量修改价格和库存信息,会以请求参数中的数据覆盖掉原来报价库存数据。A:useRoomInventory:是否使用room级别共享库存,可选值 true false 2、false时:使用rate级别私有库存,此时如果填写了库存,那么会写入库存表。B:date 日期必须为 T---T+180 日内的日期(T为当天),且不能重复C:basePrice 基本价格 int类型 取值范围1-99999999 单位为分D:quota 库存 int 类型 取值范围 0-999(数量库存) 支持状态库存, 60000(状态库存关) 61000(状态库存开);E:occupancy为入住人数,范围为1~10;F:lengthofStay为连住天数,范围为1~10;G:taxAndFee为总税费;H:addBedPrice为加床价;I:addPersonPrice为加人价;J:rateSwitch为开关房状态,1为开房,0为关房。K:支持outRoomId和ratePlanCode来更新报价库存。L:childnum为儿童人数。M:infantnum为婴儿人数。N:ckinSwitch为入住开关(0,关闭;1,打开) O:ckoutSwitch为离店开关 (0,关闭;1,打开) P:lockStartTime锁库存开始时间 Q:lockEndTime锁库存截止时间。 childRule:儿童价规则。其中calculateType为计算类型1为固定金额,2为房费的百分比;ageRange为适用儿童的年龄范围,格式为:2~10,即适用2到10岁的儿童;childRange适用几位儿童,格式为1即适用1位儿童;feeType费用类型,如果calculateType=1那么feeType存一固定金额,单位为分,如果calculateType=2那么feeType存房费的百分比,格式为0.2。childAges:儿童年龄范围,格式为2~10,意味着所有儿童价格规则中的适用儿童年龄必须在这个范围之内。rateCalDataList:存储日历化早餐和退改。breakfastCal、cancelPolicyCal格式与原rp格式相同。

响应参数

名称 类型 示例值 描述
gid_and_rpid_occupancy_lengthofstay String [] 1000-12300-1-1 商品id,房价id,入住人数,连住天数
warnmessage String [{gid:123,rpId:234,occupancy:2,lengthofstay:2,code:-1,msg:参数格式错误}] 批量更新的时候,如果部分更新失败,会展示部分失败的原因

请求示例

  • JAVA
  • .NET
  • PHP
  • CURL
  • Python
  • C/C++
  • NodeJS
TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
XhotelMultipleratesUpdateRequest req = new XhotelMultipleratesUpdateRequest();
req.setRateQuotaMap("[     {         \"useRoomInventory\": false,         \"outRoomId\": \"abc\",         \"ratePlanCode\": \"WHL03\",         \"vendor\": \"\",         \"currencyCode\": \"CNY\",         \"childAges\": \"2~5\",         \"childRule\": [             {                 \"calculateType\": \"1\",                 \"ageRange\": \"4~6\",                 \"numRange\": \"1\",                 \"feeType\": \"10\"             },             {                 \"calculateType\": \"2\",                 \"ageRange\": \"2~6\",                 \"numRange\": \"2\",                 \"feeType\": \"0.2\"             }         ],         \"priceCalendar\": [             {                 \"date\": \"2017-04-16\",                 \"inventoryPrice\": [                     {                         \"lengthOfStay\": 1,                         \"rateSwitch\": 0,                         \"quota\": 100,                         \"price\": [                             {                                 \"occupancy\": 5,                                 \"basePrice\": 310000,                                 \"taxAndFee\": 100,                                 \"twoTax\": 200,                                 \"threeTax\": 300,                                 \"fourTax\": 400,                                 \"fiveTax\": 500                             }                         ]                     }                 ]             }         ],       \"rateCalDataList\":[         {         	\"nod\":1,           	\"nop\":1,           	\"breakfastCal\":\"[{\\"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}]\",         	\"cancelPolicyCal\":\"[{\\"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}}}]\"         }       ]     } ]");
XhotelMultipleratesUpdateResponse rsp = client.execute(req, sessionKey);
System.out.println(rsp.getBody());

响应示例

  • XML示例
  • JSON示例
<xhotel_multiplerates_update_response>
    <gid_and_rpid_occupancy_lengthofstay>
        <string>1000-12300-1-1</string>
    </gid_and_rpid_occupancy_lengthofstay>
    <warnmessage>[{gid:123,rpId:234,occupancy:2,lengthofstay:2,code:-1,msg:参数格式错误}]</warnmessage>
</xhotel_multiplerates_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.invalid-parameter:ROOM_TYPE_NOT_EXIST 房型不存在 房型不存在,请检查参数中的房型编码是否已经存在
isp.top-remote-connection-timeout top链接超时 top链接超时
isp.session-not-exist session信息不存在 session信息不存在,请检查,确保输入正确的session信息
isv.invalid-parameter: RATE_UPDATE_PARAM_DATA_SIZE_ERROR 批量更新房价时,数据长度超长。一次最多允许更新10个rate 批量更新房价时,数据长度超长。一次最多允许更新10个rate 请截取以后重试。

API工具

如何获得此API

FAQ

返回
顶部