# 第三方事中管控接口
# 接入说明
美团企业版支持员工因公消费时,对接企业的事中实时校验接口。通过该接口企业内部可完成预算、差标等合规性校验,并返回美团企业版该订单是否可预订/支付、及可企业垫付的金额上限。对接流程如下:
- 员工下单/支付时,美团企业版调企业提供的管控接口,判断是否阻断当前订单。
- 因影响预订主流程,为保证员工体验美团企业版对接口性能有明确要求:需在300ms内返回校验结果。如未返回则拦截预订。
注:目前该接口只适用于差旅(机、酒、火、车)、企业用车两大场景。
# 接口说明
名称 | 描述 |
---|---|
功能 | 根据员工申请单信息判读是否阻断下单/支付 |
HTTP方法 | POST |
请求方 | 美团企业版平台 |
响应方 | 第三方平台 |
url | 第三方提供 |
method | rule.out.standard.ordercheck |
# 公共参数
# 业务请求参数
名称 | 类型 | 是否必填 | 示例 | 说明 |
---|---|---|---|---|
entId | Integer | 是 | 100190 | 美团企业版企业Id |
sceneType | Integer | 是 | 3 | 场景类型:2 企业用车、3 差旅场景 |
bizType | Integer | 是 | 100 | 品类 酒店-30 打车-60 飞机-100 火车-110 |
staffKey | String | 是 | 123456 | 预定人唯一标识 |
needTripId | Integer | 是 | 1 | 是否需要申请单 |
tripId | Long | 否 | 123456 | 美团企业版出差申请Id,当基于申请单预订时不为空 |
outTripId | String | 否 | 123456 | 第三方出差申请Id,当申请单是客户同步到美团时不为空 |
payAmount | Integer | 是 | 10000 | 订单支付金额 (单位:分) |
entPayAmount | Integer | 是 | 10000 | 企业支付金额 (单位:分) |
# 业务响应
名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
block | Integer | 是 | 是否阻断交易 0不阻断 1 阻断 |
blockMsg | String | 否 | 阻断原因(该文案会直接呈现给员工,如未传值呈现默认文案「企业内部校验不通过暂不可预订,请联系管理员了解详情」) |
budgetDetail | Object | 否 | 预算结果 |
budgetDetail
名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
entPayAmount | Integer | 是 | 该订单企业可支付金额(当该值大于美团企业版计算的需企业支付金额时会取后者)单位分 |
budgetKey | String | 是 | 预算标志,由客户提供,后续的预算扣减会使用该值标识预算项 |
# 示例
业务请求参数
{
"method":"rule.out.standard.ordercheck",
"ts":1512963578,
"entId":617,
"sceneType": 3,
"bizType": 100,
"staffKey": "15900000000",
"needTripId":0,
"tripId": 1239315,
"outTripId": "1239315",
"payAmount":10000,
"entPayAmount":1000
}
业务响应
{
"block": 1,
"blockMsg": "",
"budgetDetail": {
"overBudget": 0,
"entPayAmount": 8000,
"budgetKey": "1239315"
}
}
# 注意事项
第三方返回结果格式如下,需要对业务响应结果进行加密
名称 | 类型 | 说明 |
---|---|---|
status | Integer | 响应状态,0 成功 |
msg | String | 失败时的错误描述 |
data | String | 请求成功时的响应体。 注意事项 这是个String对象,不是 JSON对象 |
返回的结果如下
{
"status": 0,
"msg": "success",
"data": "EyHwHGnFOKm_8unDz5d5tHufhp0V2wKgHo7lz0HXZwsDN-QW1mcE8Fx2CNs-Nr1ikTJZcfOqJn1s5e3zN5DqHqJdAjW-H1Tp9L_Tc33LBof9JwoPoMV5Vampi29EQpI77d8waXdQIyaif70dUNRaYg"
}
对data解密后得到
{
"status": 0,
"msg": "成功",
"data": "{\"block\":1,\"blockMsg\":\"\",\"budgetDetail\":{\"overBudget\":0,\"entPayAmount\":8000,\"budgetKey\":\"1239315\"}}"
}
实际的业务响应
{
"status": 0,
"msg": "",
"data": {
"block": 1,
"blockMsg": "",
"budgetDetail": {
"overBudget": 0,
"entPayAmount": 8000,
"budgetKey": "1239315"
}
}
}