# 火车票代打印报销凭证

# 对接流程

对接流程图示

  1. 员工火车票行程结束后,美团企业版调用第三方提供的申请代打印接口申请打印火车票报销凭证
  2. 第三方将代打印结果通过美团企业版提供的代打印结果推送接口通知给美团企业版
  3. 美团企业版可能会调用第三方提供的查询代打印结果接口进行主动查询

# 【申请代打印】

# 1.接口说明

名称 描述
功能 美团企业版向服务商申请代打印火车票报销凭证
HTTP方法 POST
请求方 美团企业版平台
响应方 第三方平台
url 第三方提供
method train.print.order.create

# 2.美团企业版请求第三方平台参数

名称 类型 是否必填 示例 说明
entId Long 27994 企业ID
invoiceId String 123456 发票ID
bizOrderId String 1592988152350002 火车票订单号
orderId12306 String E29807819 电子订票号
passengers List<Passenger> 乘车人信息

Passenger乘车人结构

名称 类型 是否必填 示例 说明
trainCode String G12 车次号
fromStationName String 北京站 出发站
toStationName String 上海南站 到达站
startTime String 2020-07-02 17:36 发车时间:yyyy-MM-dd HH:mm
passengerIdType String 身份证 证件类型:身份证
passengerIdNo String 13220119920315287X 证件号码
passengerName String 章北海 姓名

请求参数例子:

{
    "method":"train.print.order.create",
    "ts":1649833502,
    "entId":27840,
    "bizOrderId":"1649766295960001",
    "orderId12306":"EH24823188",
    "invoiceId":"28",
    "passengers":[
        {
            "trainCode":"D6763",
            "fromStationName":"包头东站",
            "toStationName":"包头站",
            "startTime":"2022-04-12 21:50",
            "passengerIdType":"身份证",
            "passengerIdNo":"xxxx",
            "passengerName":"章北海"
        }
    ]
}

# 3.第三方平台响应

无具体业务响应参数,status为0表示申请成功

# 4.示例结果

{
    "status": 0,
    "msg": "成功",
    "data": {}
}

{
    "status": 1,
    "msg": "参数校验失败",
    "data": {}
}

# 【查询待打印结果】

# 1.接口说明

名称 描述
功能 美团企业版主动查询代打印结果信息
HTTP方法 POST
请求方 美团企业版平台
响应方 第三方平台
url 第三方提供
method train.print.order.query

# 2.美团企业版请求第三方平台参数

名称 类型 是否必填 示例 说明
bizOrderId String 1592988152350002 火车票订单号,与电子订票号不能同时为空
orderId12306 String E29807819 电子订票号,与火车票订单号不能同时为空

# 3.第三方平台响应

名称 类型 是否必填 示例 说明
bizOrderId String 1592988152350002 火车票订单号
orderId12306 String E29807819 电子订票号
results List<Result> 代打印结果

Result代打印结果结构

名称 类型 是否必填 示例 说明
trainCode String G12 车次号
passengerIdNo String 13220119920315287X 证件号码
code int 2000 处理结果码
result String 取票成功 处理结果描述

# 4.示例结果

{
    "status": 0,
    "msg": "成功",
    "data": {
      "bizOrderId": "1592988152350002",
      "orderId12306": "E29807819",
      "results":[{
          "trainCode":"G12",
          "passengerIdNo":"13220119920315287X",
          "code":2000,
          "result":"取票成功"
        } 
      ]
    }
}

{
    "status": 0,
    "msg": "成功",
    "data": {
      "bizOrderId": "1592988152350002",
      "orderId12306": "E29807819",
      "results":[{
          "trainCode":"G12",
          "passengerIdNo":"13220119920315287X",
          "code":2020,
          "result":"已被取出"
        } 
      ]
    }
}

{
    "status": 1,
    "msg": "参数校验失败",
    "data": {}
}

# 【待打印结果推送接口】

# 1.接口说明

名称 描述
功能 第三方主动通过此接口将代打印结果推送给美团企业版
HTTP方法 POST
请求方 第三方平台
响应方 美团企业版平台
url $API_HOST/trainPrintOrderCallback
method train.print.order.callback

# 2.第三方平台请求美团企业版参数

传递过来前需要进行加密,下面的是解密后的参数

@Data
public class ApiTicketInfoPrintResult {
    private String bizOrderId;
    private String orderId12306;
    private List<Result> results;

    @Data
    public static class Result {
        private String trainCode;
        private String passengerIdNo;
        private int code;
        private String result;
    }
}
名称 类型 是否必填 示例 说明
bizOrderId String 1592988152350002 火车票订单号
orderId12306 String E29807819 电子订票号
results List<Result> 代打印结果

Result代打印结果结构

名称 类型 是否必填 示例 说明
trainCode String G12 车次号
passengerIdNo String 13220119920315287X 证件号码
code int 2000 处理结果码
result String 取票成功 处理结果描述

# 3.美团企业版响应

无具体业务响应参数,通过status告知处理结果,0表示接收到回调并正确处理,其他值表示处理失败

# 4.示例结果

{
    "status": 0,
    "msg": "成功",
    "data": {}
}

{
    "status": 1,
    "msg": "参数校验失败",
    "data": {}
}

# 代打印结果码

1030:待处理

2000:取票成功

2010:未查到车票信息

2020:已被取出

2030:已被退票

2040:已被改签

2050:客服要求取消

2060:信息不符-姓名

2070:信息不符-证件

2080:信息不符-日期

2090:信息不符-车次

2100:信息不符-发/到站

2110:已过取票时间

2120:车次停运

2999:其他
上次更新: 4/22/2024, 4:15:08 PM