行程信息接口
根据行程信息可进行差标控制(若接口中不传差标金额,则需在华住后台配置差标金额)
新增行程信息
- 请求路径:userInfo/sendUserTravelInfo
 - 请求方式:POST
 - 请求参数说明:
 
| 参数名 | 参数类型 | 备注 | 是否必填 | 示例值 | 
|---|---|---|---|---|
| cardId | String | 公司卡号 | 是 | VCENTCRM1016431348 | 
| cardPassWord | String | 客户编号 | 是 | 123321a | 
| bookerPersonId | String | 员工编号 | 是 | 需调用员工信息收集接口 | 
| outerRefId | String | 企业差旅申请单号 | 是 | |
| travelReason | String | 出差原因 | 是 | |
| travelMoney | integer | 差标金额 | 否 | 若华住商旅平台已配置差标,同时接口中出差申请单又传值差标金额,则优先取接口中的差标金额!travelMoney是管控出差申请单的每日差标金额;若出差申请单有多天行程,请传每日差标,不要传订单总金额。 | 
| travelBrands | String | 不限差标的品牌 | 否 | TravelType=YG时有效,格式:酒店品牌code:酒店品牌code:酒店品牌code,例如:(1:2:9), 此差标优先级高于员工职级对应的差标(如果配置了员工差标) | 
| bookBrands | String | 可订品牌 | 否 | 支持最多10个传品牌,不填写时默认可预订全部品牌 格式与travelBrands一致,品牌code用冒号分隔 可参考华住商旅对接Q&A页面的酒店基础数据查找酒店品牌ID  | 
| tripsInfoList | List<TripsInfoParameter> | 行程列表 | 是 | 行程列表字段,可以传多个行程,每个行程中开始城市和结束城市是唯一的 | 
| travelerInfoList | List<TravelerInfoParameter> | 出差人列表 | 是 | |
| costCenter | String | 成本中心 | 否 | |
| remarks | String | 备注 | 否 | |
| customerDictionary | String | 企业对账单的扩展字段,需提前找运营在后台配置对应扩展字段; 外部客户调用接口时可传递对应的扩展字段,扩展字段将呈现在华住商旅后台下载的企业对账单中,方便用于对账使用等。 扩展字段如下: Department:员工部门 ; ApplicationRemark:申请单备注 ; EmpUniqueId:员工唯一标识 ; OrderType:订单类型 ; ApplicationCostCenter:申请单成本中心 ; ReqUniqueId:下单标识 ; Subsidiary:子公司 ; PayCompanyName:发薪公司 ;  | 否 | 传值规则:{ "ReqUniqueId":"DS10001", "OrderType":"CREDIT", "Department":"CK" } OrderType枚举: (CREDIT:信用 ADVANCE:预付 OTHER:其他)  | 
TripsInfoParameter:
| 参数名 | 参数类型 | 描述 | 是否必填 | 备注 | 
|---|---|---|---|---|
| beginDate | Date | 行程开始日期 | 是 | |
| endDate | Date | 行程结束日期 | 是 | |
| startCityId | String | 行程起始城市code | 是 | |
| arriveCityId | String | 行程结束城市code | 是 | |
| tripsType | String | 行程类型 | 是 | ONOEWAY:单程,  ROUNDTRIP:往返  | 
TravelerInfoParameter:
| 参数名 | 参数类型 | 描述 | 是否必填 | 备注 | 
|---|---|---|---|---|
| travelerName | String | 出行人 | 是 | |
| travelerNumber | String | 出行人员工编号 | 否 | 如果传了,客户需调用员工信息收集接口 | 
| cardType | String | 证件类型 | 否 | |
| cardNumber | String | 证件号 | 否 | |
| moblie | String | 行程类型 | 否 | |
| String | 否 | 
- 入参示例:
 
{
  "bookerPersonId": "HZ12345",
  "cardId": "VCENTCRM1016431348",
  "cardPassWord": "123321a",
  "outerRefId": "oa12344556",
  "travelReason": "因公出差",
  "travelMoney": 100,
  "travelBrands": "1:2:9",
  "bookBrands":"2:3:4",
  "tripsInfoList": [
    {
      "beginDate": "2021-08-02",
      "endDate": "2021-08-05",
      "startCityId": "310100",
      "arriveCityId": "110100",
      "tripsType": "ONOEWAY"
    }
  ],
  "travelerInfoList": [
    {
      "travelerName": "李红",
      "travelerNumber": "BU123456",
      "cardType": "C01",
      "cardNumber": "610502198201127578",
      "moblie": "13472444100",
      "email": "lihh@163.com"
    }
  ]
}
- 出参说明:
 
| 参数名 | 参数类型 | 备注 | 
|---|---|---|
| code | String | 状态码  200 成功! 500 应用程序繁忙,请稍后再试! 521 企业V卡号或者验证码错误! 2932 该OA申请数据已经存在! 2934 该OA申请数据保存失败! 2035 该OA行程数据保存失败! 2036 该OA出行人数据保存失败!  | 
| message | String | 响应消息 | 
| content | boolean | true:成功,false:失败 | 
- 出参示例:
 
{
  "code": "200",
  "message": "成功!",
  "content": true,
  "echoToken": "3237a660-769a-464b-92df-3b49dbb3df0c"
}
撤销行程信息
- 请求路径:userInfo/revokeUserTravelInfo
 - 请求方式:POST
 - 请求参数说明:
 
| 参数名 | 参数类型 | 备注 | 是否必填 | 示例值 | 
|---|---|---|---|---|
| cardId | String | 公司卡号 | 是 | VCENTCRM1016431348 | 
| cardPassWord | String | 客户编号 | 是 | 123321a | 
| bookerPersonId | String | 员工编号 | 是 | 需调用员工信息收集接口 | 
| outerRefId | String | 企业差旅申请单号 | 是 | 企业的oa申请单号 | 
- 入参示例:
 
{
  "bookerPersonId": "HZ12345",
  "cardId": "VCENTCRM1016431348",
  "cardPassWord": "123321a",
  "outerRefId": "oa12344556"
}
- 出参说明:
 
| 参数名 | 参数类型 | 备注 | 
|---|---|---|
| code | String | 状态码  200 成功! 500 应用程序繁忙,请稍后再试! 521 企业V卡号或者验证码错误! 2932 该OA申请数据不存在无法取消!  | 
| message | String | 响应消息 | 
| content | boolean | true:成功,false:失败 | 
- 出参示例:
 
{
  "code": "200",
  "message": "成功!",
  "content": true,
  "echoToken": "581171fc-5054-4a28-a7a1-6a5668055c77"
}
获取城市数据接口
- 说明:查询行政区编码,保证行程信息中的城市编码符合华住的需求。客户根据自身系统需要,自行评估是否需要对接。
 - 测试接口地址:https://test-hb2b.huazhu.com/region/getRegionInfo
 - 生产接口地址:https://hb2b.huazhu.com/region/getRegionInfo
 - 请求方式:POST
 - 请求参数说明:
 
| 参数名 | 参数类型 | 备注 | 是否必填 | 示例值 | 
|---|---|---|---|---|
| cardId | String | 公司卡号 | 是 | VCENTCRM1016431348 | 
| cardPassWord | String | 公司卡密码 | 是 | 123321a | 
| regionCode | String | 行政区代码 | 是 | 01  注:01是顶级行政区代码,代表中国  | 
- 请求示例:
 
{
 "cardId": "VCENTCRM1016431348",
 "cardPassWord": "123321a",
 "regionCode": "01"
}
- 返回参数说明:
 
| 参数名 | 参数类型 | 备注 | 
|---|---|---|
| code | code | 状态码  200 成功! 500 应用程序繁忙,请稍后再试! 521 企业V卡号或者验证码错误!  | 
| message | String | 响应消息 | 
| content | RegionDTO | 行政区信息 | 
- RegionDTO:
 
| 参数名 | 参数类型 | 备注 | 
|---|---|---|
| regionCode | String | 行政区Code | 
| regionName | String | 行政区名 | 
| regionNameEn | String | 行政区英文名 | 
| regionZhSpell | String | 行政区全拼 | 
| regionZhShortSpell | String | 行政区简拼 | 
| regionLevel | String | 行政区级别  ROOT:根 COUNTRY:国家 CITY:城市 DISTRICT:区县  | 
| isDomestic | Bool | 是否国内城市 | 
| regionSortIndex | Int | 行政区下标 | 
| isHot | Bool | 是否热点行政区 | 
| groupCode | String | 所属组(首字母大写) | 
| lat | String | 行政区经度 | 
| lng | String | 行政区纬度 | 
| childNodes | List<RegionDTO> | 子行政区 | 
- 返回示例:
 
{
    "code": "200",
    "message": "成功!",
    "content": {
      "regionCode": "TW1000",
      "regionName": "台北",
      "regionNameEn": "TAIBEISHI",
      "regionZhSpell": "TAIBEISHI",
      "regionZhShortSpell": "TBS",
      "regionLevel": "CITY",
      "isDomestic": true,
      "regionSortIndex": 890,
      "isHot": false,
      "groupCode": "T",
      "lat": "0.0",
      "lng": "0.0",
      "childNodes": [
        {
          "regionCode": "TW1008",
          "regionName": "大安区",
          "regionNameEn": "DAANQU",
          "regionZhSpell": "DAANQU",
          "regionZhShortSpell": "DAQ",
          "regionLevel": "DISTRICT",
          "isDomestic": true,
          "regionSortIndex": 1152,
          "isHot": false,
          "groupCode": "D",
          "lat": "0.0",
          "lng": "0.0",
          "childNodes": []
        },
        {
          "regionCode": "TW1007",
          "regionName": "松山区",
          "regionNameEn": "SONGSHANQU",
          "regionZhSpell": "SONGSHANQU",
          "regionZhShortSpell": "SSQ",
          "regionLevel": "DISTRICT",
          "isDomestic": true,
          "regionSortIndex": 1213,
          "isHot": false,
          "groupCode": "S",
          "lat": "0.0",
          "lng": "0.0",
          "childNodes": []
        },
        {
          "regionCode": "TW1006",
          "regionName": "中山区",
          "regionNameEn": "ZHONGSHANQU",
          "regionZhSpell": "ZHONGSHANQU",
          "regionZhShortSpell": "ZSQ",
          "regionLevel": "DISTRICT",
          "isDomestic": true,
          "regionSortIndex": 1420,
          "isHot": false,
          "groupCode": "Z",
          "lat": "0.0",
          "lng": "0.0",
          "childNodes": []
        }
      ]
    },
    "echoToken": "c9063c70-baa4-494e-b7ee-1795fb465988"
  }