# 火车票代打印报销凭证
# 对接流程
- 员工火车票行程结束后,美团企业版调用第三方提供的
申请代打印
接口申请打印火车票报销凭证 - 第三方将代打印结果通过美团企业版提供的
代打印结果推送
接口通知给美团企业版 - 美团企业版可能会调用第三方提供的
查询代打印结果
接口进行主动查询
# 【申请代打印】
# 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 > | 是 | 乘车人信息 | |
costCenterId | String | 否 | 1789848784499413082 | 成本中心ID |
projectId | String | 否 | 1789848784499413082 | 项目ID |
注意:costCenterId和projectId不同时有值,但可以同时为null
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":"章北海"
}
],
"costCenterId": "1789848784499413082",
"projectId": null
}
# 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 | 是 | 取票成功 | 处理结果描述 |
printTicketNo | String | 是 | 1234567890 | 打印后的票号 非空 |
# 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:其他