用车订单查询
- 接口(建议后缀):/order/car/queryOrder
- Method:POST
- 数据格式:Json
- 调用方:每刻
- 接口说明:每刻将通过该接口,获取特定范围的用车订单数据
[warning] 对接前先看:
目前常见的参数组合(以下例子不包括必填参数)示例:
- 每日凌晨定时任务:startDate + endDate 拉取该时间范围内对应 externalCorpCode 企业的订单;
- 申请单申请人触发:externalApprovalNo 拉取指定申请单下预定的订单;
- 管理员或者预定人触发丢失订单的补充拉取:externalEmployeeCode + startDate + endDate 拉取指定员工;
- 第三方对接了第三方订单通知实时推送接口:orderId + operationId 直接拉取对应订单;
当订单进入每刻后,很快就会生成费用,甚至费用可能已经报销,原则上是不允许第三方订单进行修改(尤其是金额),如果这笔订单传的金额不正确,或者人为因素导致订单金额多了或者少了,可以采取 orderId 保持原单不变,生成一笔新的 operationId 订单,金额为该笔订单多了或少了的金额。
请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
externalCorpCode | String | Y | 企业唯一标识 |
externalEmployeeCode | String | [1] | 下单人唯一编码 |
externalApprovalNo | String | [1] | 申请单号 |
orderId | String | [1] | 订单号 |
operationId | String | [1] | 操作号 |
startDate | String | [2] | 开始日期(yyyy-MM-dd) [3] |
endDate | String | [2] | 结束日期(yyyy-MM-dd) [3] |
dateType | String | N | 参考时间(不传时等同 OPERATION) |
onlyApprovingOrder | bool | N | 限定只拉取审批中的订单(默认不传,不传按 false 处理) |
pageNo | int | Y | 第几页(从第1页开始) |
pageSize | int | Y | 每页容量(最大为 100) |
[info] 说明:
[2] 没有开始与结束日期,默认结束日期为请求日期;只有开始时间,表示从开始日期到调用日期的订单;只有结束日期,开始日期为结束日期的前一个月。
[3] 默认开始时间为00:00,默认结束时间为23:59。
参考时间
code | 定义 |
---|---|
ORDER | 订单时间(暂不支持) |
OPERATION | 操作时间 |
响应结构
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
success | bool | Y | 请求是否成功 |
errorMessage | String | N | 失败信息(当 success 为 false 时,调用详情为必填, 表示失败信息) |
data | List<CarOrder> | N | 失败信息(当 success 为 false 时,调用详情为必填, 表示失败信息) |
hasNextPage | bool | N | 是否有下一页 |
[warning] 关于请求分页如何结束:
hasNextPage = false 标志着分页结束,success 仅表示请求是否成功。
CarOrder
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
orderId | String | Y | 订单在第三方的唯一编码 |
operationId | String | Y | 操作在第三方的唯一编码 |
originalOperationId | String | N | 关联原操作号 [5] |
String | N | ||
String | N | ||
sourceAppCode | String | N | 实际供应商(TMC)原 originalAppCode 废弃,保留接收,但新对接 TMC 使用该字段 |
sourceOrderId | String | N | 实际供应商订单号 |
externalCorpCode | String | Y | 企业在第三方的唯一编码 |
externalEmployeeCode | String | Y | 预订人在第三方的唯一编码 |
externalEmployeeName | String | N | 预订人在第三方姓名 |
externalDepName | String | N | 预订人在第三方部门名称 |
externalApprovalNo | String | N | 申请单在第三方的唯一编码 |
status | String | Y | 订单状态 |
type | String | Y | 订单类型 |
onBusiness | bool | N | 是否因公 |
isOnline | bool | N | 是否在线预订 |
callPhone | String | Y | 预定人手机号 |
clientList | List<Client> | Y | 乘车人列表 |
orderAt | String | Y | 预订时间(yyyy-MM-dd HH:mm:ss) |
operationAt | String | N | 订单状态改变时间(yyyy-MM-dd HH:mm:ss) |
paidAt | String | Y | 支付时间(yyyy-MM-dd HH:mm:ss) |
payType | String | Y | 付款方式 |
departureTime | String | Y | 出发时间(yyyy-MM-dd HH:mm:ss) |
arrivalTime | String | Y | 到达时间(yyyy-MM-dd HH:mm:ss) |
departureCity | City | Y | 出发城市 |
arrivalCity | City | Y | 到达城市 |
departureAddress | String | Y | 出发地点名称 |
arrivalAddress | String | Y | 到达地点名称 |
totalDistance | BigDecimal | N | 总里程(km) |
totalDuration | Integer | N | 总时长(min分钟) |
originalTotalFee | BigDecimal | N | 原订单总金额 |
couponFee | BigDecimal | N | 优惠金额 |
totalFee | BigDecimal | Y | 订单实付总金额 [6] |
corpPayFee | BigDecimal | Y | 订单企业支付部分金额 |
personalPayFee | BigDecimal | Y | 订单个人支付部分金额 |
serviceFee | BigDecimal | N | 服务费 |
extraServiceFee | BigDecimal | N | 额外服务费 |
deliveryFee | BigDecimal | N | 快递费 |
insuranceFee | BigDecimal | N | 保险费 |
platformAgencyFee | BigDecimal | N | 平台服务费(平台收取的服务费,区别于实际供应商服务费) |
currency | String | Y | 货币类型(人民币为 CNY) |
carType | String | Y | 车型 |
incompatibleReason | String | N | 不符合申请单的原因 |
remark | String | N | 订单备注 |
settlementBatchNo | String | N | 结算批次号 |
regulationId | String | N | 用车制度ID |
is_invoice | bool | N | 是否已开票 |
invoiceId | String | N | 发票唯一I,可用于发票查询下载 |
useStatus | OrderUseStatus | N | (要传该字段请和每刻确认)订单使用状态 |
[info] 说明:
[5] 订单发生状态变更若会变更订单号,则需要关联原操作号,详细信息请阅读订单同步首页的描述。
[6] 对于totalFee/corpPayFee/personalPayFee三个金额详细阐述,对于不同状态(已支付、已退款、已取消)的订单给不同的值。
已支付:totalFee = 总实际支付,corpPayFee=公司实际支付,personalPayFee=个人实际支付
已退款:totalFee = 总实际退款,corpPayFee=公司实际退款,personalPayFee=个人实际退款,如退款20,此处应该是 -20
已取消:totalFee = 总实际取消费,corpPayFee=公司实际取消费,personalPayFee=个人实际取消费
Client
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
externalEmployeeCode | String | [7] | 乘客唯一标识 |
name | String | N | 姓名 |
phone | String | Y | 手机号 |
[info] 说明:
[7] 乘客可能不是企业员工,如果填写了该字段,表示为企业员工,如果只有手机号/姓名,表示外部同行人。
订单状态
code | 定义 |
---|---|
PAID | 已支付 |
REFUNDED | 已退款 |
CANCELLED | 已取消(未发生支付,但有取消费) |
COMPLETED | 已完成 |
订单类型
code | 定义 |
---|---|
RT | 实时单 |
OD | 预约单 |
付款方式
code | 定义 |
---|---|
PERSONAL_PAY | 个人支付 |
CORP_ACCOUNT_PAY | 公司支付 |
MIX_PAY | 混合支付 |
车型枚举
code | 定义 |
---|---|
TAXI | 出租车 |
ECONOMY | 经济 |
PRIVILEGED | 优享 |
PREMIER | 舒适 |
BUSINESS | 商务 |
LUXURY | 豪华 |
DESIGNATED | 代驾 |
RENTAL | 租车 |
ELECTRICAL | 电动车 |
ENTRY_LIMOUSINE | 入门高端轿车 |
LIMOUSINE | 高端轿车 |
ELITE | 精英型 |
SMALL_MPV | 小型MPV |
MIDSIZE_MPV | 中型MPV |
SMALL_SUV | 小型SUV |
MIDSIZE_SUV | 中型SUV |
LARGE_SUV | 大型SUV |
LUXURY_SUV | 高端SUV |
ELITE_SUV | 精英型SUV |
ELECTRICAL_SUV | 电动SUV |
BLINDBOX_ECONOMY | 盲盒·经济型 |
BLINDBOX_PREMIER | 盲盒·舒适型 |
BLINDBOX_SUV | 盲盒·SUV型 |
示例
[warning] 重要:
示例维护并非和文档字段维护一样频繁,如果遇到示例和文档不一致,请以文档为准
请求头:
{
"tokenId": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJtYXljdXJfand0X2Rldl9pZCIsInN1YiI6IlBGMjAwNjIwMTI1NU5GTk8iLCJpYXQiOjE2MDQ2MzA5NjYsImF1ZCI6IlBMQVRGT1JNIiwiZXhwIjoxNjA0NjM0NTY2LCJwcm9kdWN0TGluZSI6IkRBVEFfSFVCIn0.AyNIwPtGUXxFMuHO8Bx-4XeXNyWYRcot40MfsL1swr4"
}
请求示例:
1.每日凌晨定时任务
{
"externalCorpCode": "0123456",
"startDate": "2024-06-12",
"endDate": "2024-06-19",
"pageNo": 1,
"pageSize": 50
}
2.申请单申请人触发
{
"externalCorpCode": "0123456",
"externalApprovalNo": "AE94527002203135xxx",
"pageNo": 1,
"pageSize": 50
}
3.管理员或者预定人触发丢失订单的补充拉取
{
"externalCorpCode": "0123456",
"externalEmployeeCode": "48edc82xxx",
"startDate": "2024-06-12",
"endDate": "2024-06-19",
"pageNo": 1,
"pageSize": 50
}
4.第三方对接了第三方订单通知实时推送接口
{
"externalCorpCode": "021343",
"orderId": "13406390267",
"operationId": "13406390267",
"pageNo": 1,
"pageSize": 50
}
响应示例:
{
"success": true,
"errorMessage": null,
"data": [
{
"orderId": "13406390267",
"operationId": "13406390267",
"originalOperationId": null,
"externalCorpCode": "0123456",
"externalEmployeeCode": "48edc82xxx",
"externalEmployeeName": "xxx",
"externalApprovalNo": "a00a7e3xxxx",
"status": "COMPLETED",
"type": "RT",
"onBusiness": true,
"isOnline": true,
"callPhone": "139xxxxxxxx",
"clientList": [
{
"externalEmployeeCode": "48edc82xxx",
"name": "戈佳琦"
}
],
"orderAt": "2024-06-19 14:30:11",
"operationAt": "2024-06-19 14:53:55",
"paidAt": "2024-06-19 00:00:00",
"payType": "CORP_ACCOUNT_PAY",
"departureTime": "2024-06-19 14:30:11",
"arrivalTime": "2024-06-19 14:53:55",
"departureCity": null,
"arrivalCity": null,
"departureAddress": "时代金融广场",
"arrivalAddress": "中国工商银行(吾角广场支行)",
"totalDistance": 6.0,
"totalDuration": 24,
"originalTotalFee": 0.0,
"couponFee": 0.0,
"totalFee": 19.77,
"corpPayFee": 19.77,
"personalPayFee": 0.0,
"serviceFee": 0.0,
"extraServiceFee": 0.0,
"deliveryFee": 0.0,
"insuranceFee": 0.0,
"currency": "CNY",
"carType": "ECONOMY",
"incompatibleReason": "",
"remark": null,
"settlementBatchNo": null,
"regulationId": null,
"is_invoice": false,
"invoiceId": ""
}
],
"hasNextPage": false
}