推送火车票申请单
- 接口(建议后缀):/approval/train/save
- Method:POST
- 数据格式:Json
- 调用方:每刻
- 接口说明:员工提交火车申请单,经过每刻转换成申请单推送给第三方
请求参数
字段 |
类型 |
必填 |
描述 |
approvalNo |
String |
Y |
申请单号 |
originalApprovalNo |
String |
N |
原始申请单号(只有变更后的申请单有) |
formCode |
String |
Y |
单据编码(由多个申请单组成的大单据的编码) |
formBizCode |
String |
Y |
单据业务编码(通常为大单据在客户系统的编码) |
externalCorpCode |
String |
Y |
企业在第三方中唯一编码 |
externalEmployeeCode |
String |
Y |
下单人在第三方中唯一编码 |
purpose |
String |
N |
出差事由 |
departureCityList |
List<City> |
N |
出发城市列表 |
arrivalCityList |
List<City> |
N |
目的城市列表 |
cityCtrlLv |
int |
N |
城市管控级别 |
clientList |
List<Client> |
Y |
乘车人列表 [1] |
subsidiary |
Subsidiary |
N |
申请单所属子公司 |
dept |
Department |
N |
申请单所属部门 |
invTitle |
InvoiceTitle |
N |
申请单开票抬头 |
minDepartureDate |
String |
N |
最小去程日期 (yyyy-MM-dd) |
maxDepartureDate |
String |
N |
最大去程日期 (yyyy-MM-dd) |
minReturnDate |
String |
N |
最小返程日期 (yyyy-MM-dd) |
maxReturnDate |
String |
N |
最大返程日期 (yyyy-MM-dd) |
dateCtrlLv |
int |
N |
日期管控级别 |
tripType |
String |
N |
行程类型 |
approvalAmount |
BigDecimal |
N |
申请单总额度 |
pricePerTicket |
BigDecimal |
N |
申请单火车票单价 |
approvalCurrency |
String |
N |
币种,默认 CNY |
amountCtrlLv |
int |
N |
金额管控级别 |
amountCtrlType |
int |
[2] |
金额管控类型 |
seatType |
String |
N |
座位类型 |
compatibleSeatTypes |
List<String> |
N |
座位类型 可预定的兼容座席列表 |
seatCtrlLv |
int |
N |
座位管控级别 |
orderIADays |
int |
N |
提前预定天数 [3] |
orderIADaysCtrlLv |
int |
N |
提前预订天数管控级别 |
approvers |
List<Approver> |
N |
超标审批人列表 |
costCenterList |
List<CostCenter> |
N |
成本中心列表 |
custField1 |
String |
[4] |
自定义字段1 |
custField2 |
String |
[4] |
自定义字段2 |
custField3 |
String |
[4] |
自定义字段3 |
custField4 |
String |
[4] |
自定义字段4 |
custField5 |
String |
[4] |
自定义字段5 |
custField6 |
String |
[4] |
自定义字段6 |
custField7 |
String |
[4] |
自定义字段7 |
custField8 |
String |
[4] |
自定义字段8 |
[info] 说明:
[1] 如果该列表为空时,只允许为自己预订。
[2] 当金额管控明确表示管控(强管控或弱管控),该字段为必填。
[3] 该字段表示,员工预订机票需要在这个表示的天数前预订。
[4] 企业可能会有多个自定义字段,最多有8个。该字段需要提前固定含义,若要使用该字段,请先和每刻沟通。
行程类型
金额管控类型
code |
定义 |
描述 |
1 |
单价管控 |
火车票折后价格不大于 pricePerTicket |
2 |
总价管控 |
该申请单的所有订单金额之和不能超过 approvalAmount |
座位类型
code |
定义 |
SECOND_CLASS |
二等座 |
FIRST_CLASS |
一等座 |
BUSINESS_CLASS |
商务座 |
PREMIER_CLASS |
特等座 |
SLEEPER |
动卧 |
DELUXE_SLEEPER |
高级软卧 |
SOFT_SLEEPER |
软卧 |
HARD_SLEEPER |
硬卧 |
FIRST_SLEEPER |
一等卧 |
SECOND_SLEEPER |
二等卧 |
SOFT_BOX |
一人软包 |
SOFT_SEAT |
软座 |
HARD_SEAT |
硬座 |
NO_SEAT |
无座 |
响应结构
字段 |
类型 |
必填 |
描述 |
success |
bool |
Y |
请求是否成功 |
errorMessage |
String |
N |
失败信息(当 success 为 false 时,失败信息为必填) |
data |
ExternalApproval |
N |
关联申请单 |
ExternalApproval
目的是关联第三方系统中的申请单号,接下来所有使用到申请单号的地方,都将使用第三方提供的申请单号。
字段 |
类型 |
必填 |
描述 |
approvalNo |
String |
Y |
每刻的申请单号 |
externalApprovalNo |
String |
Y |
第三方系统中申请单的唯一标识 [6] |
[info] 说明:
[6] 如果第三方不生成新的申请单号,使用每刻提供的 approvalNo,则按照 externalApprovalNo == approvalNo 返回。
示例
[warning] 重要:
示例维护并非和文档字段维护一样频繁,如果遇到示例和文档不一致,请以文档为准
请求头:
{
"tokenId": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJtYXljdXJfand0X2Rldl9pZCIsInN1YiI6IlBGMjAwNjIwMTI1NU5GTk8iLCJpYXQiOjE2MDQ2MzA5NjYsImF1ZCI6IlBMQVRGT1JNIiwiZXhwIjoxNjA0NjM0NTY2LCJwcm9kdWN0TGluZSI6IkRBVEFfSFVCIn0.AyNIwPtGUXxFMuHO8Bx-4XeXNyWYRcot40MfsL1swr4"
}
请求示例:
{
"approvalNo": "AE2007091BAZ2FWG",
"formCode": "PC96136422941",
"formBizCode": "ABC2406B01",
"originalApprovalNo": null,
"externalCorpCode": "0123456",
"externalEmployeeCode": "f715c1xxx",
"purpose": "青岛歌剧院探访 & 沟通",
"cityCtrlLv": 2,
"clientList": [
{
"name": "xxx",
"externalEmployeeCode": "f715c1xxx",
"phone": "139xxxxxxxx"
}
],
"dateCtrlLv": 2,
"approvalAmount": 0.0000,
"approvalCurrency": "CNY",
"amountCtrlLv": 0,
"amountCtrlType": 2,
"orderIADays": 0,
"orderIADaysCtrlLv": 0,
"costCenterList": [
{
"costCenterName": "天津总部-芭蕾舞部",
"sequence": 1
}
],
"plusDaysAhead": 2,
"plusDaysLater": 2,
"subsidiary": {
"subsidiaryCode": "SIxxxxxxxxxxxxxxx",
"subsidiaryName": "天津歌剧营销有限公司",
"isDefault": false
},
"dept": {
"departmentCode": "DHDI42803480284",
"departmentName": "芭蕾编舞推广事业组",
"departmentHeirCode": "DHDI12341433214.DHDI123132154234152.DHDI12342143245432.DHDI7890452797592.DHDI42803480284",
"departmentHeirName": "天津歌剧有限公司/天津歌剧营销有限公司/芭蕾舞部/芭蕾编舞事业部/芭蕾编舞推广事业组"
},
"invTitle": {
"invoiceTitleCode": "SIyyyyyyyyyyyyyyyy",
"invoiceTitleName": "天津歌剧营销有限公司",
"taxNo": "913112334234236867687686674423N",
"isDefault": true
},
"minDepartureDate": "2024-06-26",
"maxDepartureDate": "2024-07-02",
"minReturnDate": "2024-06-26",
"maxReturnDate": "2024-07-02",
"tripType": "R",
"departureCityList": [
{
"code": "CT320200",
"name": "无锡",
"adminDivCode": "320200",
"heirCode": "CHN001/P320000/CT320200",
"heirName": "中国/江苏/无锡"
}
],
"arrivalCityList": [
{
"code": "CT510100",
"name": "成都",
"adminDivCode": "510100",
"heirCode": "CHN001/P510000/CT510100",
"heirName": "中国/四川/成都"
}
],
"seatType": "SECOND_CLASS",
"compatibleSeatTypes": [
"HARD_SEAT",
"NO_SEAT",
"SECOND_CLASS"
],
"seatCtrlLv": 0
}
响应示例:
{
"success":true,
"errorMessage": null,
"data": {
"approvalNo" : "AE2007091BAZ2FWG",
"externalApprovalNo" : "xxxx"
}
}