在途商旅
  1. 差旅申请
在途商旅
  • 关于本文档
  • API调用指南
    • API列表
    • 接入流程
    • 接口通用说明
    • 通用错误码
  • 服务端接口
    • 一、鉴权管理
      • 1、接口鉴权
        • a、获取token
      • 2、单点登录
        • a、目标页概述
        • b、单点登录
    • 二、企业信息
      • 1、概述
      • 2、组织单位
        • a、概述
        • b、常见问题
        • c、场景说明
        • d、组织同步
        • f、负责人同步
      • 3、员工信息
        • 概述
        • 场景说明
        • 常见问题
        • 手机号国家编码表
        • 员工同步
        • 员工直属主管同步
        • 员工常住地同步
        • 获取职级列表
        • 获取证件类型
        • 员工信息查询
      • 4、成本中心
        • 概述
        • 常见问题
        • 场景说明
        • 成本中心(部门所属)
        • 成本中心(员工所属)
      • 5、项目
        • 概述
        • 常见问题
        • 场景说明
        • 项目同步
      • 6、法人
        • 概述
        • 常见问题
        • 法人同步
    • 三、业务数据
      • 1.出行前
        • 概述
        • 差旅申请
          • 申请单同步
            POST
          • 申请单变更前校验
            POST
          • 取消申请单提前验证
            GET
          • 申请单状态变更
            POST
          • 获取申请单
            GET
          • 获取申请单使用状态
            GET
          • 获取申请单出行概况
            POST
          • 获取差旅类型
            GET
          • 获取费用类型
            GET
      • 2.出行中
        • 订单
          • 客票状态
          • 订单查询(全量)
          • 订单查询(分页)
          • 订单确认-V1
          • 订单确认-V2
      • 3.出行后
        • 账单
          • 获取账单主信息
          • 分页获取账单主信息
          • 获取账单订单明细
          • 账单中疑异订单通知
          • 确认账单通知
        • 票据
          • 订单开票信息
          • 个付电子发票查询
          • OCR票据查询
          • 订单数电票
      • 4.工作流
        • 查询审批记录
        • 审批结束通知
        • 审批记录同步
    • 四、事件订阅
      • 1、概述
      • 2、事件列表
      • 3、数据推送
      • 4、示例代码
      • 5、需求单服务类型
      • 8、openapi-sdk
      • 6、事件订阅接口
        • a、订阅事件
        • b、删除订阅
        • c、查询订阅
    • 五、通用数据
      • 国家编码对照表
      • 获取城市列表(废弃)
      • 获取城市列表V2
    • 六、其他
      • 补贴查询
      • 自定义补贴场景明细同步
  1. 差旅申请

申请单同步

测试环境
https://openapi-uat.z-trip.cn
测试环境
https://openapi-uat.z-trip.cn
POST
/tmc/v1/travel-plan/save
功能描述:外部系统推送差旅申请单给在途系统,提交的差旅申请单如果不指定状态则默认设置为[有效]。对于编号相同的差旅申请单将作修改操作。
限流说明:最大并发20次/分,超过返回错误码:RATE_LIMITED

请求参数

Query 参数
access_token
string 
请求token
必需
示例值:
{{openApiToken}}
Body 参数application/json
planNo
string 
必需
差旅单号,主键,企业内应保证唯一
<= 30 字符
status
string 
状态值
可选
有效:VALID;
无效:INVALID;
审批中:LAUNCHING_AUDIT;
如果传值不在以上状态值范围内,则默认为有效
默认值:
VALID
travelType
string 
必需
在途系统的差旅类型编码,参见获取差旅类型列表
<= 30 字符
applicant
string 
申请人员工编号
必需
orgId
string 
部门编码
可选
costId
string 
可选
费用归属成本中心编码
costOrgId
string 
可选
费用归属成本中心所在的部门编码
costOrgName
string 
费用归属成本中心所在的组织单位名称全路径
可选
例如:上海振宇股份有限公司/江苏分公司/营销中心/销售一部 ps:costId、costOrgId、costOrgName必须有一个字段有值,如果costId无法唯一定位成本中心,则还需costOrgId字段有值。
travelReason
string 
出差事由
必需
<= 200 字符
applyDate
string 
申请时间,格式 yyyy-MM-dd HHmmss
必需
expend
string 
申请单预算/用车额度
可选
使用场景:当申请单为出差申请单时,差旅预算总金额;当申请单为用车申请时,为打车的用车额度
projectCode
string 
费用归属的项目编码
可选
<= 50 字符
projectName
string 
费用归属的项目名称
可选
<= 100 字符
paymentCorp
string 
费用支付公司
可选
<= 50 字符
corpCode
string 
法人信息:纳税人识别号或法人名称
可选
<= 50 字符
createHotelPlan
boolean 
是否创建酒店计划
必需
默认true: 创建, false:不创建 ps:自动创建酒店计划时,行程计划列表(travelItems)需要按照出行的先后顺序排序后传入
默认值:
true
carSceneCode
string 
用车场景的code
可选
由在途提供
carCount
integer 
用车申请单可用车次数
可选
必须大于等于0
ps:在出差类型为1的时候,carSceneCode、carCount必须有一个字段有值
<= 50
applyType
string 
出差申请类型0:出差申请(默认)。1:用车申请
可选
remark
string 
备注
可选
extend2
object 
扩展字段
可选
使用Json格式的字符串形式进行传递,若OA系统中有特殊字段,可以通过此字段传参数,Json中的字段可自定义。可支持多个 extendField1 ... extendField10
extendField1
string 
扩展字段1
可选
extendField2
string 
扩展字段2
可选
travellers
array [object {8}] 
差旅出行人列表
必需
userId
string 
员工编号,出行人非员工时可为空
可选
fullname
string 
出行人姓名
必需
<= 50 字符
cardNo
string 
证件号
可选
出行人证件号 (非员工)
mobile
string 
手机号
可选
出行人手机号 (非员工)
rank
string 
出行人职级
可选
<= 50 字符
costId
string 
成本中心编码
可选
如果是多成本中心,必填
<= 50 字符
corpCode
string 
法人社会信用代码
可选
多成本中心情况下,如果不填会默认获取成本中心对应的法人 (支持:法人名称或社会信用代码)
<= 50 字符
costOrgId
string 
所属部门的编码(如果是多成本中心,必填)
可选
<= 50 字符
baseGroundList
array [object {2}] 
可选
差旅出行人列表常住地列表:
如果一个人有多个常驻地,则传多个对象到这个列表中 例如[{"userId":"A","cityId":"10001"},{"userId":"A","cityId":"10001"},{"userId":"B","cityId":"20001"}],则代表出行人中员工号为A的员工有两个常驻地,员工号为B的员工有一个常驻地,出行人中非员工不支持该功能
userId
string 
员工编号,不支持非员工
可选
cityId
string 
城市id
可选
travelItems
array [object {13}] 
差旅行程计划列表
必需
1)当出行方式为简要行程时,行程类型不可以包含酒店行程
2)简要行程travelItems只允许存在一条行程,否则会被判定为多行程
departureTime
string 
必需
出发时间,格式 yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss
originCityId
string 
出发地城市id
必需
<= 10 字符
destinationCityId
string 
必需
目的地的城市,支持传多个目的地,可用英文逗号隔开(举例:10001,10002)
originObject
object (出行城市信息) 
可选
出差申请出发城市信息
adCode、Iso3166、originObject中其他参数 三类数据至少传一个参数。如果以上几个参数都传,按照以上顺序作为优先级,匹配到唯一一条数据为止,若最终匹配到多条则返回报错信息,同步申请单失败。多个目的地传多条数据
destinationObjectList
array [object {8}] 
可选
目的地城市对象列表
adCode、Iso3166、destinationObjectList中其他参数 三类数据至少传一个参数。如果以上几个参数都传,按照以上顺序作为优先级,匹配到唯一一条数据为止,若最终匹配到多条则返回报错信息,同步申请单失败。多个目的地传多条数据
endTime
string 
可选
结束时间,格式 yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss
roundTrip
string 
往返程标记
可选
1:标记此行程是往返程;为空或其他值则当前行程为单程;简要行程此字段不可标记为往返,为空即可
注意:
1)用车申请单,只能传单程;若传往返,时间区间可能会变为特定的两天
2)当行程类型 trafficType = HOTEL 时, 此字段只能传单程,如果传了往返会生成同样的两条酒店行程
strictTime
string 
时间严格控制标记
可选
此字段仅当roundTrip字段值为1时有效,用于自动生成往返程行程记录数据时控制行程时间,1: 生成往返程的时候时间严格按出发时间、结束时间来生成;为空或为其他值则生成往返程时每程都是departureTime到endTime时间段。
trafficType
string 
行程类型
可选
取值范围:FLIGHT(飞机)/ TRAIN(火车) /HOTEL(酒店)/ UNKNOW(未定)/ CAR(用车)
PS:整个差旅申请中如果没有酒店行程,则在途会根据交通行程自动生成相应的酒店行程,如果有酒店行程,则在途不再生成酒店行程,酒店行程会强制将出发地目的地改为一致 。用车行程不支持与其他行程同时存在一个差旅申请中。
<= 20 字符
carDestPlaceName
string 
用车申请目的地名
可选
为空时默认取目的地名称
carDestPlaceLon
string 
用车申请目的地经度
可选
<= 30 字符
carDestPlaceLat
string 
用车申请目的地维度
可选
<= 30 字符
remark
string 
说明
可选
<= 100 字符
expenseItems
array [object {3}] 
预算费用明细列表
可选
expenseCode
string 
费用类型编码
必需
expenseName
string 
费用类型名称
必需
<= 50 字符
amount
string 
金额
必需
<= 9 字符
travelMoldCode
string 
出行类型code
可选
如果是多成本中心或简要行程时必填
timesControlType
string 
行程次数管控类型
可选
DEST_NUM:目的地个数; DEST_NUM_X2:目的地个数*2; MANUAL:用户填写
manualControlTimes
integer 
行程管控次数
可选
当次数管控类型为用户填写时(MANUAL),此参数必填
travelScene
enum<integer> 
分摊模式
可选
分摊模式 0:单成本中心(默认) ,1: 多成本中心按人分摊, 2:多成本中心按订单分摊
<= 1
枚举值:
012
默认值:
0
costApportion
array [object {5}] 
成本中心分摊
可选
corpCode
string 
可选
法人名称/法人社会信用代码(如果不传默认获取成本中心对应的法人)
<= 50 字符
costId
string 
成本中心编码
必需
<= 50 字符
major
boolean 
是否主成本中心(必须存在一个主成本中心)
必需
costOrgId
string 
所属部门的编码
必需
<= 50 字符
shareRate
integer 
分摊比例(加起来必须等于100)
必需
<= 20
projectApportion
array [object {5}] 
项目分摊
可选
corpCode
string 
法人社会信用代码
可选
如果不传默认获取项目对应的法人
<= 50 字符
projectAttachCode
string 
项目编码
必需
<= 50 字符
major
boolean 
是否主项目
必需
必须存在一个主项目
projectOrgId
string 
所属部门的编码
必需
如果不传默认获取项目对应的组织
<= 50 字符
shareRate
integer 
分摊比例
必需
加起来必须等于100
<= 20
示例
{
  "applicant": "JL0010101",
  "applyDate": "2022-07-15 15:02:42",
  "costOrgId": "JLO909777",
  "createHotelPlan": false,
  "expend": "500.00",
  "planNo": "PFD2207151EYDU1HC",
  "travelItems": [
    {
      "originCityId": "11958",
      "destinationCityId": "11958",
      "departureTime": "2022-07-15",
      "arrivalTime": "2022-07-16",
      "endTime": "2022-07-16",
      "trafficType": "HOTEL"
    },
    {
      "originCityId": "11910",
      "destinationCityId": "11958",
      "departureTime": "2022-07-15",
      "arrivalTime": "2022-07-16",
      "endTime": "2022-07-16",
      "trafficType": "FLIGHT"
    }
  ],
  "travelReason": "在途测试2",
  "travelType": "90",
  "travellers": [
    {
      "employeeNo": "JL0010101",
      "fullname": "陈星星",
      "userId": "JL0010101"
    }
  ]
}

返回响应

🟢200成功
application/json
Body
object {0}
示例
{
  "error": "0",
  "data": "同步成功",
  "error_description": "成功"
}
上一页
概述
下一页
申请单变更前校验
Built with