国内火车票
国内火车票
火车票订单列表查询
企业可调用此接口获取火车票订单列表数据。
遵循GDPR要求,默认只返回因公出行的订单。
订单相关数据的任何变更,都会将订单输出至列表中,不仅仅是订单状态变化。
如果收到相同状态的更新,可以是状态的内部变化或者订单其他数据发生了变化,通过调用订单详情接口获取详细变更信息。
接口URL
/napi/enterprise/train/order/list
请求参数定义
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| corpCode | 企业账号 | Y | String | 1000 | 系统提供的企业账号 | |
| tenantUserId | 操作人帐号 | Y | String | HW_000001 | 1、如果是系统维护,写"sysadmin" 2、如果是普通员工维护,写员工id | |
| trainOrderId | 火车票订单号 | N | String | T0215042408435860475 | 根据订单号查询,有OrderID的前提下不考虑StartTime和EndTime | |
| startTime | 开始更新时间 | N | String | 20180811113019 | yyyyMMddHHmmss包含当前时间,开始时间不传时,默认为结束时间前的24小时 | |
| endTime | 截止更新时间 | N | String | 20180811113019 | yyyyMMddHHmmss不包含当前时间,结束时间不传时,默认为当前时间 | |
| pageIndex | 查询的页码 | Y | String | |||
| size | 每页条数 | Y | String | 建议20,上限50 |
响应参数定义
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| resultCode | 返回码 | Y | String | 0 | 0表示成功,其他值为失败。 | |
| description | 描述 | Y | String | Success | 描述信息,出错时为错误信息即错误原因。 | |
| pageIndex | 当前的页码 | N | String | |||
| size | 每页条数 | N | String | |||
| total | 总记录数 | N | String | |||
| trainIncOrderList | 火车票订单列表 | N | List<TrainIncOrder> |
火车票订单TrainIncOrder
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| orderId | 订单号 | Y | String | T0215042408435860475 | ||
| orderStatus | 订单状态 | Y | String | 0:预定中1:待支付2:待出票3:出票中4:已出票5:出票失败6:订单取消7:预定失败8:部分出票失败 | ||
| travelType | 出行方式 | N | String | 0:因公出行1:因私出行 | ||
| totalPrice | 总价 | Y | String | 115.00 | 单位元 | |
| trainNumber | 车次号 | Y | String | G3647 | ||
| fromStationName | 出发车站 | Y | String | 北京朝阳 | ||
| toStationName | 到达车站 | Y | String | 长春 | ||
| departureTime | 出发日期 | Y | String | 20221031124500 | yyyyMMddHHmmss | |
| arriveTime | 到达日期 | Y | String | 20221031171900 | yyyyMMddHHmmss | |
| createTime | 下订单时间 | Y | String | 20180811113019 | yyyyMMddHHmmss | |
| enterpriseTrId | 企业客户系统审批单编号 | N | String | TA0315012116281300028 | ||
| htTrId | 华为云数字化差旅审批单编号 | N | String | TA0315012116281300028 | ||
| payWay | 支付方式 | N | String | 1:在线支付 3:个人现金 4:POS 5: 关联月结 6: 因公欠款 7:VIP欠款 8: 担保欠款 10:外部月结 11:转账 14:员工现结 | ||
| changeTime | 变更时间 | Y | String | 20221031124500 | yyyyMMddHHmmss | |
| orderTotalReceivePrice | 订单应收总价 | Y | String | 200 | 单位元 |
样例
请求示例
{
"corpCode": "1234",
"tenantUserId": "sysadmin",
"startCreateDate": "20220922",
"endCreateDate": "20221022",
"enterpriseTrId":"TA0315012116281300028",
"size": "1",
"pageIndex": "1"
}
响应示例
{
"resultCode": "0",
"description": "Success",
"pageIndex": "3",
"size": "50",
"total": "104",
"trainIncrOrderList": [{
"orderId": "T0122102913523338369",
"orderStatus": "0",
"travelType": "0",
"totalPrice": "210",
"trainNumber": "G2609",
"fromStationName": "天津西",
"toStationName": "太原南",
"departureTime": "20221031103900",
"arriveTime": "20221031135700",
"createTime": "20221029135233",
"enterpriseTrId": "TA0315012116281300028",
"htTrId": "TA0412070257",
"changeTime": "20221029135233",
"orderTotalReceivePrice": "210",
"payWay":"10"
}]
}
火车票订单详情查询
企业可调用此接口获取国内火车票订单数据,订单数据包含该订单内所有出票、改期、退票的详细信息
接口URL
/napi/enterprise/train/order/detail
请求参数定义
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| corpCode | 企业账号 | Y | String | 1000 | 系统提供的企业账号 | |
| tenantUserId | 操作人帐号 | Y | String | HW_000001 | 1、如果是系统维护,写"sysadmin" 2、如果是普通员工维护,写员工id | |
| trainOrderId | 火车票订单号 | Y | String | 根据订单号查询 |
响应参数定义
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| resultCode | 返回码 | Y | String | 0 | 0表示成功 | |
| description | 描述 | Y | String | Success | 描述信息,出错时为错误信息即错误原因。 | |
| trainOrderId | 订单号 | N | String | T0215042408435860475 | ||
| orderTime | 下订单时间 | N | String | 20180811113019 | yyyyMMddHHmmss | |
| orderStatus | 订单状态 | N | String | 0:预定中1:待支付2:待出票3:出票中4:已出票5:出票失败6:订单取消7:预定失败8:部分出票失败 | ||
| travelType | 出行方式 | N | String | 0:因公出行1:因私出行 | ||
| totalPrice | 订单总价 | N | String | 115 | 原始订单的费用,单位元 | |
| orderSource | 订单产品来源 | N | String | 0 | 0:前台页面预订1:后台呼叫中心预订20:iOS客户端21:Android客户端7:H5预订 | |
| payWay | 支付方式 | N | String | 10 | 1:在线支付 3:个人现金 4:POS 5: 关联月结 6: 因公欠款 7:VIP欠款 8: 担保欠款 10:外部月结 11:转账 14:员工现结 | |
| payChannel | 支付渠道 | N | String | alipay:支付宝weixin:微信支付yeepay:易宝支付chinapay:银联支付 | 填写alipay等 | |
| payStatus | 支付状态 | N | String | 0:未支付1:已支付 | 原始订单支付方式 | |
| BookingChannel | 预定渠道 | N | String | App/h5外部渠道访客来源标识 | ||
| contactInfoList | 联系人信息列表 | Y | List<ContactInfo> | 第一个为主联系人 | ||
| trainInfoList | 车次信息 | Y | List<TrainInfo> | |||
| passengerInfoList | 乘客信息 | Y | List<PassengerInfo> | |||
| ticketInfoList | 客票信息 | N | List<TicketInfo> | |||
| feeItemList | 费用项 | N | List<FeeItem> | |||
| enterpriseTrId | 企业客户系统审批单编号 | N | String | TA0315012116281300028 | ||
| htTrId | 华为云数字化差旅审批单编号 | N | String | TA0315012116281300028 | ||
| currency | 币种 | N | String | CNY | ||
| carrierOrderId | 12306电子订单号 | N | String | EE13156909 | ||
| trainOrderer | 预订人信息 | N | TrainEmployee | EE13156909 |
联系人信息ContactInfo
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| contactName | 联系人姓名 | N | String | 张三 | ||
| contactMobile | 联系人手机号 | N | String | 13710001000 | ||
| contactMail | 联系人邮件 | N | String | zhangsan@huawei.com |
车次信息TrainInfo
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| trainInfoId | 火车信息ID | N | String | 274735 | ||
| arrivalTime | 到达时间 | N | String | 20221031135700 | yyyyMMddHHmmss | |
| arriveCity | 到达城市名称 | N | String | 太原 | ||
| arriveCityId | 到达城市ID | N | String | 156140100 | ||
| departCity | 出发城市名称 | N | String | 天津 | ||
| departCityId | 出发城市ID | N | String | 156120100 | ||
| departTime | 出发时间 | N | String | 20221031103900 | yyyyMMddHHmmss | |
| fromStationName | 出发车站名称 | N | String | 天津西 | ||
| fromStationCode | 出发车站编码 | N | String | TXP | ||
| trArrivalCityId | TR到达城市ID | N | String | |||
| trDepartureCityId | TR出发城市ID | N | String | |||
| seatName | 首选坐席 | N | String | 二等座 | ||
| toStationName | 到达车站名称 | N | String | 太原南 | ||
| toStationCode | 到达车站编码 | N | String | TNV | ||
| trainNumber | 车次号 | N | String | G2609 | ||
| ticketEntrance | 检票口 | N | String | 6-7 号口 |
乘客信息PassengerInfo
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| passengerId | 乘客ID | Y | String | 276581 | ||
| adultPassengerId | 成人乘客ID | N | String | 276581 | 乘客为儿童时才涉及 | |
| employee | 乘客信息 | N | Employee | |||
| operatorFlag | 12306代订人标识 | N | String | 是否为12306订单中的代订人 |
客票信息TicketInfo
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| ticketId | 客票ID | Y | String | TKT2022102913523201235 | ||
| ticketNo | 电子票Id | String | ||||
| carrierOrderId | 12306电子订单号 | String | EE13156909 | |||
| trainInfoId | 火车信息ID | Y | String | 274735 | ||
| passengerId | 乘客ID | Y | String | 276581 | ||
| ticketStatus | 客票状态 | Y | String | 10:待出票11:已出票12:出票失败13:出票取消20:待改期21:已改期22:改期失败30:待退票31:已退票 | ||
| seatNo | 座位号 | N | String | 07车01D号 | ||
| ticketPrice | 实际票面价格 | N | String | 202 | ||
| ticketSeat | 坐席类型 | N | String | 软卧 | ||
| trSeatLevel | tr坐席 | N | String | 80 | 0:G商务座,10:G特等座,20:D商务座,30:D特等座/D高级动卧/特等软座,35:G优选一等座,40:G一等座,50:一人软包/高级软卧,60:G/D一等双软/G/D一等卧/G/D二等双软/D动卧,70:D一等座,80:软卧/一等双软/一等卧/二等双软/二等卧,90:G软座/软座/软卧代软座/一等软座,95:G/D二等卧,98:G多功能座,100:G二等座,105:二等软座,110:硬卧,115:D多功能座,120:D二等座/D动卧代二等座/D软卧代二等座,130:硬卧代硬座/硬座,131:其它,200:无座 | |
| trSeatLevelDetail | tr坐席明细 | N | String | 80A | 0:G商务座,10:G特等座,20:D商务座,30A:D特等座,30B:D高级动卧,30C:特等软座,35:G优选一等座,40:G一等座,50A:一人软包,50B:高级软卧,60A:G/D一等双软,60B:G/D一等卧,60C:G/D二等双软,60D:D动卧,70:D一等座,80A:软卧,80B:一等双软/一等卧,80C:二等双软,80D:二等卧,90A:G软座,90B:软座,90C:软卧代软座,90D:一等软座,95:G/D二等卧,98:G多功能座,100:G二等座,105:二等软座,110:硬卧,115:D多功能座,120:D二等座/D动卧代二等座/D软卧代二等座,130:硬卧代硬座/硬座,131:其它,80A-200: 如果TrSeatLevel是200(无座),TrSeatLevelDetail需要给出具体差标,80A-200代表是软卧(80A)的无座,-200为无座标识 | |
| ticketingTime | 出票时间 | N | String | 20180811113019 | yyyyMMddHHmmss | |
| creator | 出票操作人 | N | Creator | |||
| printFlag | 是否可取票标识 | N | String | 1:可取票 0:不可取票 | ||
| orgTicketId | 原客票ID | N | String | TKT2022102913523201235 | 改期前原票ID,如果非改期票,则为null,对应TicketID字段 | |
| serviceFee | 服务费 | N | String | 7 | 单位元 | |
| packageFee | 套餐费 | N | String | 7 | 抢票时预订才涉及,单位元 | |
| changeFee | 改期手续费 | N | String | 改期客票才涉及,单位元 | ||
| ticketDiffPrice | 改期差价 | N | String | 改期客票才涉及,单位元 | ||
| changeTime | 改期时间 | N | String | 20180811113019 | 提交改签的时间 | |
| changeTicketFee | 改签费 | N | String | 123.50 | 改期客票才涉及,单位元 | |
| changeRefundFee | 改签退票费 | N | String | 123.50 | 改期客票才涉及,单位元 | |
| changeTicketFeeRate | 改签费费率 | N | String | 5(表示5%) | 改期客票才涉及 | |
| changeRefundFeeRate | 改签退票费费率 | N | String | 5(表示5%) | 改期客票才涉及 | |
| changeCreator | 改期操作人 | Creator | ||||
| refundFee | 实际退票费 | N | String | 退票才涉及,单位元 | ||
| estimatedRefundFee | 估算退票费 | N | String | 退票才涉及,单位元 | ||
| refundTime | 退票时间 | N | String | 20180811113019 | 提交退票的时间 | |
| refundStatus | 退款状态 | N | String | 0:未退款1:已退款 | 退票退款状态 | |
| refundCreator | 退票操作人 | N | Creator | 退票才涉及 | ||
| checkInOutInfo | 12306进出站信息 | N | OpenApiCheckInOutInfo | |||
| railwayTicketStatus | 12306客票状态 | N | String | ON_TRAIN_VER | NON_ISSUE:未出票,CANCELED:已取消,ISSUE_FAILED:出票失败,ISSUED:已出票,GOT:已取票,CHANGED:已改期,REFUNDED:已退票,CHECK_IN:已进站,CHECK_OUT:已出站,COLLECTED:已制票,CHANGE_AFTER:制票后改期,REFUND_AFTER:制票后退票,CHECK_IN_AFTER:制票后进站,CHECK_OUT_AFTER:制票后出站,CHNAGE_PAID:改签票,REAL_NAME_VER:已实名认证,ON_TRAIN_VER:车上已检 | |
| abnormalType | 车票异常类型 | N | String | 停运 | 停运;封站;指定区间停售;置换成功;置换失败;置换退差;折返;区段停运;临时提醒;恢复运营;迂回;其他; | |
| abnormalMsg | 车票异常原因 | N | String |
费用项FeeItem
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| serviceOptType | 业务操作类型 | Y | String | 0:出1:改2:退 | 改期产生的票费用记录为1:改 | |
| feeItemType | 费用项类型 | Y | String | 0:服务费1:票费用2:手续费3:估算票费用4:保险费用5:套餐费6:线下退款金额 | ||
| adminFeeType | 手续费类型 | Y | String | REFUND_FEE | CHANGE_FEE:改签费 CHANGE_REFUND_FEE:改签退票费 REFUND_FEE:退票费 | |
| amount | 费用金额 | Y | String | 退给用户费用使用负值,单位元 | ||
| currency | 费用币种 | Y | String | CNY | 默认CNY | |
| payWay | 支付方式 | Y | String | 10 | 1:在线支付 3:个人现金 4:POS 5: 关联月结 6: 因公欠款 7:VIP欠款 8: 担保欠款 10:外部月结 11:转账 14:员工现结 | |
| status | 状态 | Y | String | 0:未支付/未退款1:已处理 | ||
| ticketId | 客票ID | N | String | TKT2022102913523201235 |
预订人信息TrainEmployee
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| tenantUserId | 用户租户id | Y | String | |||
| name | 姓名 | Y | String | |||
| employeeNum | 企业内部工号 | N | String |
12306进出站信息OpenApiCheckInOutInfo
| 参数名 | 参数说明 | 必填 | 参数类型 | 长度 | 值举例 | 备注 |
|---|---|---|---|---|---|---|
| startTime | 上车时间 | N | String | 20250507072800 | 格式yyyyMMddHHmmss | |
| fromStationName | 上车站名称 | N | String | 南京南 | ||
| toStationName | 下车站名称 | N | String | 苏州 | ||
| arriveTime | 下车时间 | N | String | 20250507095800 | 格式yyyyMMddHHmmss |
样例
请求示例
{
"corpCode": "0008",
"tenantUserId": "sysadmin",
"trainOrderId": "T0215042408435860475"
}
响应示例
{
"resultCode": "0",
"description": "Success",
"trainOrderId": "T0215042408435860475",
"orderTime": "20221029135232",
"orderStatus": "4",
"travelType": "0",
"totalPrice": "210",
"currency": "CNY",
"orderSource": "7",
"payWay": "10",
"payStatus": "1",
"payChannel": "",
"contactInfoList": [{
"contactName": "张三",
"contactMobile": "137***00",
"contactMail": "zhan***.com"
}],
"trainInfoList": [{
"trainInfoId": "274735",
"arrivalTime": "20221031135700",
"arriveCity": "太原",
"arriveCityId": "156140100",
"departCity": "天津",
"departCityId": "156120100",
"departTime": "20221031103900",
"fromStationName": "天津西",
"seatName": "软卧",
"toStationName": "太原南",
"trainNumber": "G2609"
}],
"passengerInfoList": [{
"passengerId": "276581",
"adultPassengerId": null,
"employee": {
"name": "张三",
"gender": "M",
"type": "0",
"nationality": "CN",
"birthday": "19930101",
"telephone": "",
"certificateInfoList": [{
"certificateType": "1",
"expiredDate": "",
"issuePlace": "",
"passportIssueDate": "",
"passportIssueCountry": "",
"passportIssueProvince": ""
}],
"deptNum": "123456",
"deptName": "市场部",
"employeeNum": "123456789",
"employeeVIPLevel": "",
"remark": "",
"employeeUID": "ID123456789"
},
"operatorFlag": "1"
}],
"ticketInfoList": [{
"ticketId": "TKT2022102913523201235",
"ticketNo": "TKT2022102913523201235",
"trainInfoId": "274735",
"passengerId": "276581",
"ticketStatus": "11",
"seatNo": "07车01D号",
"ticketPrice": "202",
"ticketSeat": "软卧",
"trSeatLevel": "80",
"trSeatLevelDetail": "80A",
"ticketingTime": "20221029135234",
"orgTicketId": null,
"creator": {
"type": "0",
"employeeNum": "123456789",
"employeeUid": "ID123456789",
"name": "张三"
},
"serviceFee": "8",
"packageFee": "8",
"changeFee": null,
"ticketDiffPrice": null,
"changeTime": null,
"changeTicketFee": null,
"changeRefundFee": null,
"changeFeeRate": null,
"changeRefundFeeRate": null,
"changeCreator": null,
"refundFee": null,
"estimatedRefundFee": null,
"refundTime": null,
"refundStatus": null,
"refundCreator": null
}],
"feeItemList": [{
"ServiceOptType": "0",
"FeeItemType": "0",
"Amount": "8",
"Currency": "CNY",
"PayWay": "10",
"Status": "1",
"TicketID": "TKT2022102913523201235"
},
{
"serviceOptType": "0",
"feeItemType": "1",
"amount": "202",
"currency": "CNY",
"payWay": "10",
"status": "1",
"ticketId": "TKT2022102913523201235"
},
{
"serviceOptType": "0",
"feeItemType": "4",
"amount": "0",
"currency": "CNY",
"payWay": "10",
"status": "1",
"ticketId": "TKT2022102913523201235"
}],
"htTrId": "TA0412078932",
"enterpriseTrId": "TA0412078932",
"carrierOrderId": "SL9658921"
"currency":"CNY"
}
错误码
| 错误码 | 错误描述 | 解决方案 |
|---|---|---|
| 3002 | 未知错误,请稍后重试 | 联系技术支持人 |
| 3010 | 用户不存在 | 检查账号或者联系技术支持人员 |
| 3404 | 时间戳信息错误,请确认后重试 | 检查入参 |
| 3401 | 企业账号不存在,请确认后重试 | 检查账号或者联系技术支持人员 |
| 400 | 参数错误 | 根据描述信息检查入参 |
| 4000 | 系统繁忙,请稍后重试 | 未知错误,联系技术支持人员 |
| 4001 | 系统繁忙,请稍后重试 | 数据库错误,联系技术支持人员 |
| 4002 | 参数错误 | 根据描述信息检查入参 |
| 10002 | 无访问权限 | 根据描述信息检查入参或联系技术支持人员 |
| 10010 | 消息ID校验失败,请确认后重试 | 检查入参 |
| 10011 | 公司编号不能为空 | 检查入参 |
| 10012 | 操作人帐号不能为空 | 检查入参 |
| 10013 | 操作人帐号不合法 | 检查账号或者联系技术支持人员 |
| 10015 | 操作人帐号不合法 | 检查账号或者联系技术支持人员 |
| 10109 | 页码设置错误,请确认后重试 | 检查入参 |
| 10110 | 每页条数需要在1~50之间 | 检查入参 |
| 10511 | 开始时间不能为空 | 检查入参 |
| 10512 | 结束时间不能为空 | 检查入参 |
| 10513 | 开始时间格式错误 | 检查入参 |
| 10514 | 结束时间格式错误 | 检查入参 |
| 10515 | 结束时间不能大于开始时间 | 检查入参 |
| 10518 | 该集团下无对应公司 | 检查是否集团查询 |
| 10519 | 集团编号不存在,请确认后重试 | 检查账号或者联系技术支持人员 |
| 430011070 | 参数错误 | 根据描述信息检查入参 |
| 430011100 | 无对应订单信息 | 检查入参 |
| 430010100 | 未知错误,请稍后重试 | 联系技术支持人 |