# 企业出差申请单接口

美团企业版为企业客户提供了两种出差申请对接方案,具体如下图所示。 对接方案示意图1 (1)若企业客户希望在内部系统完成出差申请,并将出差申请单同步到美团企业版,请参照如图1所示的接口1.企业出差申请单同步进行对接。 对接方案示意图2 (2)若企业客户希望在美团企业版完成出差申请,同时对出差申请单查询有需求,请参照如图2所示的接口2.企业出差申请单查询进行对接。 对接方案示意图3 (3)若企业客户希望美团企业版能够在出差申请单状态变更时,主动向企业推送出差申请单信息请参照如图3所示3.企业出差申请单推送进行对接。

# 1 企业出差申请单同步

# 1.1 接入说明

美团企业版为客户提供了出差申请、审批功能,如果企业客户希望在内部系统完成出差申请,在出差申请通过后在美团企业版进行机票、酒店、火车票预订,则可以通过本文档进行接口对接。流程如下

  1. 企业内部完成出差申请,在审批通过后,通过调用接口将差旅申请信息同步给美团企业版
  2. 企业员工通过免登跳转到美团企业版差旅h5页面,选中对应的出差申请单进行机票、酒店、火车票预订
  3. 预订机酒火时,会根据出行人的差标信息进行差标控制

注意:按行程维度严控且需动态差标管控的企业,暂不支持申请单内容的修改,只可新增/撤回单据

# 1.2 接口说明

名称 描述
功能 创建差旅申请单
HTTP方法 POST
请求方 第三方渠道
响应方 美团企业版平台
uri /trip/applySync
method trip.apply.sync

# 1.3 公共参数

详见:公共参数说明-公共请求参数

# 1.4 业务请求参数

名称 类型 是否必填 说明
tripList List<Trip> 是 同步的出差申请列表

Trip 字段说明

名称 类型 是否必填 说明
outTripId String 是 外部企业的申请单号
reason String 否 行程原因,超出500个字符的部分会被截断
approveStatus Integer 是 出差申请状态 (1 通过 -1 撤回 2 驳回 3 审批中)
costCenterInfos List<CostCenterInfo> 否 成本中心列表
projectInfos List<ProjectInfo> 否 项目列表,现状仅支持传一个项目或不传项目。当projectInfos传值时,其中的ProjectInfo中字段都不允许为空
invoiceTitle String 是 企业发票抬头
tripStaffInfos List<StaffInfo> 否 出行人的用户列表
tripGuestInfos List<TripGuestInfo> 否 外部出行人列表
applyStaffInfo StaffInfo 是 出差申请的提交用户
tripItineraries List<TripPushItinerary> 否 行程列表
tripSubsidy Integer 否 出差补助金额(单位:分)
extra String 否 额外信息,3000字以内

ProjectInfo 字段说明

名称 类型 是否必填 说明
projectNo String 是 项目编码
projectName String 是 项目名称

CostCenterInfo 字段说明

名称 类型 是否必填 说明
costNo String 是 成本中心编码,长度不超过128
costName String 是 成本中心名称
ratio String 否 分摊比例,精度支持最多小数点后四位。多个成本中心分摊比例要么都为空,要么都不为空;若都不为空,数值范围必须在 [0,1] 闭区间内,且分摊比例之和必须为1。
customField1 String 否 自定义字段1
customField2 String 否 自定义字段2
customField3 String 否 自定义字段3
customField4 String 否 自定义字段4
customField5 String 否 自定义字段5

StaffInfo 字段说明

名称 类型 是否必填 说明
entStaffNum String 是 员工唯一标识
name String 是 员工姓名

TripGuestInfo 字段说明

名称 类型 是否必填 说明
outParticipantId String 否 外部出行人ID
name String 是 外部出行人姓名
phone String 否 外部出行人手机号, 手机号和证件信息必须有一个存在
company String 否 外部出行人所在公司全名
position String 否 外部出行人职位
birthday String 否 出生年月日(pattern:yyyy-MM-dd)
sex Integer 否 性别,1:男,2:女
tripGuestCardInfos List<TripGuestCardInfo> 否 外部出行人证件列表

TripGuestCardInfo 字段说明

名称 类型 是否必填 说明
type Integer 是 证件类型
code String 是 证件号码

TripPushItinerary 字段说明

名称 类型 是否必填 说明
outItineraryId String 是 外部行程ID
departureTime Long 是 【已废弃】出发时间
departureTimeStr String 是 行程开始日期,如国际出差:日期是出差城市当地时区对应的日期,如2024-10-01
arrivalTime Long 是 【已废弃】到达时间
arrivalTimeStr String 是 行程结束日期,如国际出差:日期是出差城市当地时区对应的日期,如2024-10-02
bizTypes Set<Integer> 否 品类列表:0不限制,10餐饮,20外卖,30酒店,包括国内酒店和国际/中国港澳台酒店;60打车,100机票,包括国内机票和国际/中国港澳台机票;110火车票,-1其他,【其他】即美团企业版暂不支持的品类,如果仅传-1枚举值,申请单无法下单。不传或传空按照0(不限制)处理。
itineraryType Byte 否 行程类型:0不限,1单程,2往返。只有按行程维度控时该字段才有效,且只对机票和火车票两个品类有效。
departureCitys List<TripPushItineraryCity> 否 出发城市列表,出发城市个数不能超过50
arrivalCitys List<TripPushItineraryCity> 否 到达城市列表,到达城市个数不能超过50
hotelTripRule HotelTripRule 否 酒店动态差标。只有按行程维度控时该字段才有效。
hotelControlInfo HotelControlInfo 否 酒店管控信息。只有按行程维度控时该字段才有效。
flightTripRule FlightTripRule 否 机票动态差标。只有按行程维度控时该字段才有效。

TripPushItineraryCity 字段说明

名称 类型 是否必填 说明
cityId String 是 城市编码(国标),枚举数据详见:行政区划查询接口,且仅支持市级和区县级城市,如110100;境外城市数据枚举详见:境外行政区查询接口,且仅支持城市层级的数据,即regionType=3的境外行政区
cityName String 是 城市名
cityType Integer 是 城市类型,1: 境内,2: 境外(含港澳台)

HotelTripRule 字段说明

名称 类型 是否必填 说明
isDynamic Boolean 否 是否动态差标,不传时默认使用静态差标
exceedControlType Integer 否 超标处理方案。200-按照超标处理,填写超标原因,300-拦截预订。默认200
exceedAllowPayTypes List<Integer> 否 超标后允许使用的支付方式,1个人支付,2企业支付,3组合支付
budget Integer 否 每间夜差标上限(单位分):单间酒店的平均价格不得高于该值

HotelControlInfo 字段说明

名称 类型 是否必填 说明
maxRoomnight Integer 否 最大间夜数量

FlightTripRule 字段说明

名称 类型 是否必填 说明
isDynamic Boolean 否 是否动态差标,不传时默认使用静态差标
cabinDiscounts List<FlightTripRule.Item> 否 舱位折扣列表,不传时不限舱位
exceedControlType Integer 否 舱位超标处理方案。200-按照超标处理,填写超标原因,300-拦截预订。默认200
exceedAllowPayTypes List<Integer> 否 舱位超标后允许使用的支付方式,1个人支付,2企业支付。默认1

FlightTripRule.Item 字段说明

名称 类型 是否必填 说明
airCabin Integer 是 舱位:100头等舱,101公务舱,102经济舱
discount Integer 否 本字段只适用于国内机票(暂不含中国港澳台,因国外/中国港澳台暂无折扣信息,校验不使用此字段);允许预定的国内机票(不含中国港澳台)折扣,只在airCabin为102-经济舱时生效,数值为1-10,比如九折则传入9,默认值为10

# 1.5 业务响应

名称 类型 说明
status Integer 0: 调用成功,其他值均为: 调用失败
msg String 失败时的错误描述
data List<Body> 请求成功时的响应数据,具体为出差申请单ID映射列表

Body 字段说明

名称 类型 是否必填 说明
tripId String 否 美团企业版出差申请单id
outTripId String 是 外部唯一出差申请单id
result Integer 是 200: 同步成功,其他值均为: 同步失败
msg String 是 同步成功或失败描述

# 1.6 示例

业务请求参数

{
  "method":"trip.apply.sync",
  "ts":1690977168,
  "entId":617,
  "tripList":[
    {
      "outTripId":"5",
      "reason":"出差",
      "approveStatus":1,
      "budgetCode":"123",
      "budgetName":"项目名称",
      "costCenterCode":null,
      "costCenterName":null,
      "costCenterInfos":[
        {
          "costNo":"123",
          "costName":"成本中心名称",
          "customField1":"自定义字段1",
          "customField2":null,
          "customField3":null,
          "customField4":null,
          "customField5":null
        }
      ],
      "invoiceTitle":"北京XXX有限公司",
      "tripStaffInfos":[
        {
          "staffId":123,
          "entStaffNum":"w123",
          "name":"张三"
        }
      ],
      "tripGuestInfos":[
        {
          "outParticipantId":"123",
          "name":"李四",
          "phone":"13000000000",
          "company":"北京三快在线科技有限公司",
          "position":"技术专家",
          "birthday":"1989-09-03",
          "sex":1,
          "tripGuestCardInfos":[
            {
              "type":1,
              "code":"512322199802028967"
            }
          ]
        }
      ],
      "applyStaffInfo":{
        "staffId":123,
        "entStaffNum":"w123",
        "name":"张三"
      },
      "tripItineraries":[
        {
          "outItineraryId":"130500",
          "departureTime": 1608134400000,
          "arrivalTime": 1608307199000,
          "bizTypes":[0],
          "itineraryType":0,
          "departureCitys":[
            {
              "cityId":"320500",
              "cityName":"石家庄市",
              "cityType":1
            }
          ],
          "arrivalCitys":[
            {
              "cityId":"130100",
              "cityName":"苏州市",
              "cityType":1
            }
          ],
          "hotelTripRule": {
            "isDynamic": true,
            "exceedSolutionType": 200,
            "exceedAllowPayTypes": [1,2],
            "budget":10000
          },
          "hotelControlInfo":{
            "maxRoomnight":3
          },
          "flightTripRule": {
            "isDynamic": true,
            "exceedSolutionType": 200,
            "exceedAllowPayTypes": [1,2],
            "cabinDiscounts":[
              {
                 "airCabin": 102,
                 "discount": 9
               }
            ]
          }
        }
      ],
      "tripSubsidy":0,
      "extra":"额外信息"
    }
  ]
}

业务响应

{
    "status":0,
    "msg":"API处理成功,成功同步差旅申请单数量为1",
    "data":[
        {
            "tripId":"24638",
            "outTripId":"4",
            "result":200,
            "msg":"同步成功"
        }
    ]
}

# 2 企业出差申请单查询

# 2.1 接入说明

美团企业版为客户提供了出差申请、审批功能,如果企业客户希望在美团企业版完成出差申请,但是需要通过接口查询出差申请单信息的功能,则可以通过本文档进行对接。流程如下:

  1. 企业内部系统发起对美团企业版的接口调用。
  2. 美团企业版组装出差申请业务数据,返回给企业。

# 2.2 接口说明

名称 描述
功能 查询差旅申请单
HTTP方法 POST
请求方 第三方渠道
响应方 美团企业版平台
uri /trip/applyQuery
method trip.apply.query

# 2.3 公共参数

详见:公共参数说明-公共请求参数

# 2.4 业务请求参数

名称 类型 是否必填 说明
entId Long 是 外部企业ID
tripIds List<Long> 否 出差申请单ID列表
outTripIds List<String> 否 外部企业出差申请单ID列表
submitStaffId Long 否 出差单提交人StaffId
tripStaffId Long 否 出差单出行人StaffId
createStartTime Long 否 创建申请单开始时间, 13位时间戳
createEndTime Long 否 创建申请单结束时间, 13位时间戳
modifyStartTime Long 否 修改申请单开始时间, 13位时间戳
modifyEndTime Long 否 修改申请单结束时间, 13位时间戳
page Integer 否 默认为1,页大小为固定值50

# 2.5 业务响应

名称 类型 是否必填 说明
status Integer 是 请求响应码
msg String 是 请求响应信息
data String 是 请求响应数据,内部是Json格式数据

Json格式数据说明

名称 类型 是否必填 说明
page int 是 当前页码
pageSize int 是 当前页大小
pageTotal int 是 结果集总页数
total int 是 结果集数据总量
tripList List<Trip> 否 行程数据列表

Trip 字段说明

名称 类型 是否必填 说明
tripId Long 是 出差申请单ID
applyStaffInfo StaffInfo 是 出差申请单提交人员工信息
tripStaffInfos StaffInfo 是 出行人员工信息,已过期
tripPersonList List<TripPersonDTO> 是 出行人列表
outTripId String 否 外部唯一出差申请单id(出差单有外部企业内部完成的才有值)
reason String 否 出差事由(手动输入)
selectedReason String 否 出差事由(下拉选择)
invoiceTitle String 是 发票抬头
approveType Integer 是 0: 企业内部完成审批流程,1: 使用美团审批流程
approveStatus Integer 是 1: 通过,0: 删除,-1: 撤回,2: 驳回,3: 审批中
tripCities List<TripCity> 是 出差行程列表
flowRecords List<FlowRecord> 是 审批日志
modifiedTime Long 是 最新更新时间
costCenterInfos List<CostCenterInfo> 否 成本中心列表
projectInfos List<ProjectInfo> 否 项目列表,现状仅支持传一个项目或不传项目
belongType String 否 费用归属于类型,枚举值如下:
COST:费用归属于成本中心
PROJECT:费用归属于项目
createdTime Long 是 创建时间

ProjectInfo 字段说明

名称 类型 是否必填 说明
projectNo String 是 项目编码
projectName String 是 项目名称

CostCenterInfo 字段说明

名称 类型 是否必填 说明
costNo String 是 成本中心编码
costName String 是 成本中心名称
ratio String 否 成本中心分摊比例,示例0.5表示百分之五十
customField1 String 否 自定义字段1
customField2 String 否 自定义字段2
customField3 String 否 自定义字段3
customField4 String 否 自定义字段4
customField5 String 否 自定义字段5

StaffInfo 字段说明

名称 类型 是否必填 示例 说明
staffId Long 是 10001 美团企业版员工id
name String 是 张三 员工姓名
entStaffNum String 是 C20210322 企业对该员工的唯一标识

TripPersonDTO 字段说明

名称 类型 是否必填 示例 说明
personType Integer 是 1 人员类型:1-员工;2-外部人员
personId Long 是 382712 人员ID
personName String 是 张三 人员姓名
sqtOrgId Long 否 1 所在部门ID
sqtOrgName String 否 部门 所在部门名称
sqtOrgPath String 否 0-1 架构链ID
sqtOrgPathName String 否 集团-部门 架构链名称
orgInfo String 否 组织信息

TripCity 字段说明

名称 类型 是否必填 示例 说明
departureCityId Long 是 110000 出发城市编码,境内城市遵循国标,枚举数据详见:行政区划查询接口,且仅支持市级和区县级城市,如110100;境外城市数据枚举详见:境外行政区查询接口,且仅支持城市层级的数据,即regionType=3的境外行政区
departureCityName String 是 北京市 出发城市
departureCityType Integer 是 1 城市类型,1: 境内,2: 境外(含港澳台)
departureTime Long 是 1597823448000 【已废弃】出发日期, 13位时间戳
departureTimeStr String 是 2024-10-01 行程开始时间
cityIdForDepartureTime String 是 110100 行程开始时间对应的城市Id
cityNameForDepartureTime String 是 北京市 行程开始时间对应的城市名称
arrivalCityId Long 是 310000 到达城市编号,境内城市遵循国标,枚举数据详见:行政区划查询接口,且仅支持市级和区县级城市,如110100;境外城市数据枚举详见:境外行政区查询接口,且仅支持城市层级的数据,即regionType=3的境外行政区
arrivalCityName String 是 上海市 到达城市
arrivalCityType Integer 是 1 城市类型,1: 境内,2: 境外(含港澳台)
arrivalTime Long 是 1597823448000 【已废弃】到达日期, 13位时间戳
arrivalTimeStr String 是 2024-10-02 行程结束时间
cityIdForArrivalTime String 是 110100 行程结束时间对应的城市Id
cityNameForArrivalTime String 是 北京市 行程结束时间对应的城市名称

FlowRecord 字段说明

名称 类型 是否必填 示例 说明
operateTime Long 是 110000 操作时间(毫秒数)
staff StaffInfo 是 操作人信息
operateType Integer 是 1 操作类型(1:提交,2:重新提交,3:通过,4:驳回,5:撤回)
operateScene Integer 是 0 审批操作场景(0:美团企业版平台人工触发,1:美团企业版平台系统超时触发,2:外部接口调用触发)
operateComment String 否 请假期间不可出差 操作备注

# 2.6 示例

业务请求参数

{
    "method":"trip.apply.query",
    "ts":202122222,
    "entId":617,
    "tripIds":[
      24737
    ],
    "outTripIds":null,
    "submitStaffId":null,
    "tripStaffId":null,
    "createStartTime":null,
    "createEndTime":null,
    "modifyStartTime":null,
    "modifyEndTime":null,
    "page":1
}

业务响应

{
  "msg":"查询成功!",
  "data":{
    "page":1,
    "pageSize":1,
    "pageTotal":1,
    "total":1,
    "tripList":[
      {
        "tripId":24737,
        "applyStaffInfo":{
          "staffId":366198,
          "name":"dhx",
          "entStaffNum":"03137393"
        },
        "tripPersonList":[
          {
            "personType":1,
            "personId":366198,
            "personName":"dhx",
            "sqtOrgId":null,
            "sqtOrgName":null,
            "sqtOrgPath":null,
            "sqtOrgPathName":null,
            "orgInfo":null
          },
          {
            "personType":1,
            "personId":377201,
            "personName":"dff",
            "sqtOrgId":null,
            "sqtOrgName":null,
            "sqtOrgPath":null,
            "sqtOrgPathName":null,
            "orgInfo":null
          },
          {
            "personType":1,
            "personId":157880,
            "personName":"lhs",
            "sqtOrgId":null,
            "sqtOrgName":null,
            "sqtOrgPath":null,
            "sqtOrgPathName":null,
            "orgInfo":null
          }
        ],
        "tripStaffInfo":{
          "staffId":366198,
          "name":"dhx",
          "entStaffNum":"03137393"
        },
        "outTripId":null,
        "reason":"多人预订",
        "invoiceTitle":"北京三快在线科技有限公司",
        "budgetCode":"109701",
        "budgetName":"差旅费",
        "costCenterCode":"180121",
        "costCenterName":"基础研发平台_企业平台研发部_平台服务组",
        "approveType":1,
        "approveStatus":1,
        "tripCities":[
          {
            "departureCityId":"110000",
            "departureCityName":"北京市",
            "departureCityType":1,
            "departureTime":1617206400000,
            "arrivalCityId":"310000",
            "arrivalCityName":"上海市",
            "arrivalCityType":1,
            "arrivalTime":1619712000000
          }
        ],
        "flowRecords":[
          {
            "operateTime":1670243899015,
            "staff":{
              "staffId":111,
              "name":"张三",
              "entStaffNum":"C20210322"
            },
            "operateType":1,
            "operateScene":0,
            "operateComment":"出差需要"
          }
        ],
        "modifiedTime":1617171731000,
        "createdTime":1617171729000
      }
    ]
  }
}

# 3 企业出差申请单推送

# 3.1 接入说明

美团企业版为客户提供了出差申请、审批功能,如果企业客户希望在美团企业版完成出差申请,但是需要美团企业版主动推送出差申请单发生变更的数据推送功能,则可以通过本文档进行对接。流程如下

# 3.2 申请单状态流转说明

出差申请单状态流转预览

# 3.3 接口说明

名称 描述
功能 美团企业版主动向企业推送出差申请单变更数据
HTTP方法 POST
请求方 美团企业版平台
响应方 第三方平台
url 第三方提供
method trip.apply.push

# 3.4 公共参数

详见:公共参数说明-公共请求参数

# 3.5 业务请求参数

名称 类型 是否必填 说明
data Object 是 推送数据实体

推送数据实体字段说明

名称 类型 是否必填 说明
tripId Long 是 出差申请单ID
applyStaffInfo StaffInfo 是 出差申请单提交人员工信息
tripStaffInfos StaffInfo 是 出行人员工信息,已过期
tripPersonList List<TripPersonDTO> 是 出行人列表
outTripId String 否 外部唯一出差申请单id(出差单有外部企业内部完成的才有值)
reason String 否 出差事由(手动输入)
selectedReason String 否 出差事由(下拉选择)
invoiceTitle String 是 发票抬头
approveType Integer 是 0: 企业内部完成审批流程,1: 使用美团审批流程
approveStatus Integer 是 1: 通过,0: 删除,-1: 撤回,2: 驳回,3: 审批中
tripCityList List<TripCity> 是 出差行程列表
modifiedTime Long 是 最新更新时间
costCenterInfos List<CostCenterInfo> 否 成本中心列表
projectInfos List<ProjectInfo> 否 项目列表,现状仅支持传一个项目或不传项目
belongType String 否 费用归属于类型,枚举值如下:
COST:费用归属于成本中心
PROJECT:费用归属于项目
createdTime Long 是 创建时间

ProjectInfo 字段说明

名称 类型 是否必填 说明
projectNo String 是 项目编码
projectName String 是 项目名称

CostCenterInfo 字段说明

名称 类型 是否必填 说明
costNo String 是 成本中心编码
costName String 是 成本中心名称
ratio String 否 成本中心分摊比例,示例0.5表示百分之五十
customField1 String 否 自定义字段1
customField2 String 否 自定义字段2
customField3 String 否 自定义字段3
customField4 String 否 自定义字段4
customField5 String 否 自定义字段5

StaffInfo 字段说明

名称 类型 是否必填 示例 说明
staffId Long 是 10001 美团企业版员工id
name String 是 张三 员工姓名
entStaffNum String 是 C20210322 企业对该员工的唯一标识

TripPersonDTO 字段说明

名称 类型 是否必填 示例 说明
personType Integer 是 1 人员类型:1-员工;2-外部人员
personId Long 是 382712 人员ID
personName String 是 张三 人员姓名
sqtOrgId Long 否 1 所在部门ID
sqtOrgName String 否 部门 所在部门名称
sqtOrgPath String 否 0-1 架构链ID
sqtOrgPathName String 否 集团-部门 架构链名称
orgInfo String 否 组织信息

TripCity 字段说明

名称 类型 是否必填 示例 说明
departureCityId String 是 110000 出发城市编号,境内城市遵循国标,枚举数据详见:行政区划查询接口,且仅支持市级和区县级城市,如110100;境外城市数据枚举详见:境外行政区查询接口,且仅支持城市层级的数据,即regionType=3的境外行政区
departureCityName Long 是 北京市 出发城市
departureCityType Integer 是 1 城市类型,1:境内,2:境外(含港澳台)
departureTime Long 是 1597823448000 出发日期, 13位时间戳
arrivalCityId String 是 310000 到达城市编号,境内城市遵循国标,枚举数据详见:行政区划查询接口,且仅支持市级和区县级城市,如110100;境外城市数据枚举详见:境外行政区查询接口,且仅支持城市层级的数据,即regionType=3的境外行政区
arrivalCityName Long 是 上海市 到达城市
arrivalCityType Integer 是 1 城市类型,1:境内,2:境外(含港澳台)
arrivalTime Long 是 1597823448000 到达日期, 13位时间戳

# 3.6 业务响应

名称 类型 说明
status Integer 0: 调用成功 其他值均为: 调用失败
msg String 失败时的错误描述
data String 额外数据,无具体含义

# 3.7 示例结果

{
    "status": 0,
    "msg": "success",
    "data": {}
}
{
    "status": 1,
    "msg": "参数校验失败",
    "data": {}
}
上次更新: 9/22/2026, 4:55:12 PM