该接口用于创建出行审批单,创建成功后会立即在企业APP上显示审批单信息
接口说明
城市
- 创建审批单时:若传递的城市ID为县级市,自动替换为对应的地级市,当传递的城市ID与城市名称不一致时,以城市ID为准,替换为城市ID对应的正确城市名称
- 城市 ID 错误;创建申请单成功,但是申请单上城市不可用
- 不传城市 ID;会根据城市名称模糊匹配,如果匹配到多条,默认使用第一条
- 所有用车出发地城市和目的地城市参数都应传入城市级别id(当用车出发地城市和目的地城市级别为区县时,应该传入对应所属地级市城市id、区县名称)
- 当差旅制度中,出差城市配置为无需员工填写时,出发地、目的地城市传空
travel_detail
- 目前每个行程的开始日期、结束日期,依赖于travel_detail中的start_date、end_date
- 为出发地城市创建【送机】和【市内用车】的用车规则。第一个行程的出发地城市无【市内用车】
- 为目的地城市创建【接机】和【市内用车】的用车规则。最后一个行程的目的地城市的【市内用车】依赖于end_city_rule
- trip中城市行数量限制40个
passenger_list
出行人限制:20 个人
会议管控:40个人
out_approval_id
唯一性校验:company_id+approval_type+申请人维度
代订制度使用
代订使用的制度无限制,所有差旅制度都可以,只用来使用差标。
1,申请单新增的budget_center_list字段,用于多成本中心字段。支持9个字段。
2,budget_center_id,name,out_budget_id,extend_field_list四个字段与budget_center_list不可以同时使用。
3,历史客户可以使用历史4个字段可以兼容映射到新字段处理使用多成本中心。需要甲子开关切换多成本中心功能。
4,新建取值优先级最外层budget_center_list 大于 人维度budget_center_list 大于budget_center_id,name,out_budget_id,extend_field_list
序号1字段
sequence=1时,
字段 |
历史字段 |
---|---|
id |
budget_center_id |
value |
name |
code |
out_budget_id |
序号2字段
sequence=2时,
字段 |
历史字段 |
---|---|
id |
|
value |
extend_field_01 |
code |
|
序号3字段
sequence=3时,
字段 |
历史字段 |
---|---|
id |
|
value |
extend_field_02 |
code |
|
序号4字段
sequence=4时,
字段 |
历史字段 |
---|---|
id |
|
value |
extend_field_03 |
code |
|
结构说明

基本信息
HTTP URL |
/river/Approval/create |
---|---|
HTTP Method |
POST |
权限要求 |
|
请求头
参数名称 |
参数值 |
---|---|
Content-Type |
application/json |
请求参数
字段名 |
字段说明 |
字段类型 |
必填 |
备注 |
---|---|---|---|---|
client_id |
申请应用时分配的AppKey |
string |
Y |
申请应用时分配的AppKey |
access_token |
授权后的access token |
string |
Y |
授权后的access token |
timestamp |
当前时间戳(精确到秒级) |
int |
Y |
|
company_id |
滴滴公司 ID |
string |
Y |
|
sign |
签名 |
string |
Y |
|
|
|
|
|
|
out_trip_id |
外部tripid |
string |
N |
用于滴滴首页合并卡片展示 |
out_trip_info |
外部trip信息 |
string |
N |
用于滴滴首页合并卡片展示 |
|
|
|
|
|
approval_type |
申批单类型 |
int |
Y |
枚举值数字: |
regulation_id |
审批制度ID |
string |
N |
(差旅/行前)申请单对应的需审批制度ID regulation_id与policy_type、policy_type_value至少有一组有值 |
policy_type |
执行政策指定项类型 |
int |
N |
1:out_rank_id 外部职级编号 |
policy_type_value |
执行政策指定项 |
string |
N |
|
out_approval_id |
外部申请单ID |
string |
N |
客户侧申请单ID,不大于 120 字符。 |
budget_center_id |
滴滴侧成本中心ID |
string |
N |
滴滴侧成本中心ID; |
name |
部门/项目名称 |
string |
N |
不大于 200 字符 |
out_budget_id |
编号 |
string |
N |
长度限制:≤ 64 字符 |
reason |
申请原因 |
string |
N |
申请原因,限制 200 字符;默认为空字符 |
extra_info |
扩展信息 |
string |
N |
扩展信息,自定义字段;最长不大于 500 字符;(必须为json字符串);默认为空字符 |
extend_field_list |
扩展信息list |
string |
N |
自定义字段,最长不大于 500 字符 |
travel_detail |
差旅单行程信息 |
string |
N |
差旅单行程信息 |
business_trip_detail |
因公用车审批行程数据 |
string |
N |
行前行程信息, 将 business_trip_detail转为 json 字符串 |
travel_budget |
差旅预算总额 |
string |
N |
差旅预算控制,一个申请单对应一个总预算纬度,一次只能全部或者选择部分品类。 |
travel_management |
差旅管控 |
string |
N |
差旅管控,目前仅支持市内用车每日限额设置(为json字符串类型,具体看请求示例) |
member_type |
申请人唯一键类型 |
int |
N |
枚举值数字: |
phone |
申请人手机号 |
string |
N |
申请人手机号;默认为空字符;member_type不传 或者member_type 为0时phone必传 |
employee_number |
申请人工号 |
string |
N |
申请人工号,默认为空字符 |
|
申请人邮箱 |
string |
N |
申请人邮箱;默认为空字符 |
|
|
|
|
|
passenger_list |
出行人信息 |
string |
N |
出行人信息,不传时默认出行人为申请人, |
executive_regulation_type |
代订执行制度类型 |
int |
N |
枚举值数字: |
executive_regulation_id |
代订执行人的制度 |
string |
N |
代订执行人的制度,executive_regulation_type=2 时选填,传了就生效 |
executive_regulation_member_type |
代订执行人标识类型 |
int |
N |
枚举值数字: |
executive_regulation_member |
代订执行人(手机号/工号/邮箱) |
string |
N |
代订执行人(手机号/工号/邮箱);默认手机号 |
budget_center_list |
多成本中心 |
string |
N |
序号1对应远成本中心字段,依然支持滴滴内部主键ID。使用部门CODE主键,和项目时名称和code作为主键。 |
travel_budget
字段 |
类型 |
是否必传 |
说明 |
---|---|---|---|
budget_amount |
int |
Y |
申请单总预算金额 单位 分 需要100整数倍 |
budget_type |
int |
Y |
预算类型 |
budget_share |
array |
Y |
需要申请单使用的制度内开启对应的品类。且最终取两者交集。 |
travel_management
字段 |
类型 |
是否必传 |
说明 |
---|---|---|---|
daily_amount_control |
array |
Y |
每日金额管控内容 |
daily_amount_control
字段 |
类型 |
是否必传 |
说明 |
---|---|---|---|
daily_amount |
int |
Y |
每人日金额管控 |
control_type |
int |
N |
管控方式1 日清 |
control_product |
array |
Y |
1 市内用车 |
budget_center_list
字段 |
类型 |
是否必传 |
说明 |
---|---|---|---|
sequence |
int |
Y |
字段序号 支持从1到9 |
id |
string |
N |
sequence为1时,生效 |
value |
string |
N |
对应成本中心的值。sequence为1时与name字段一致,sequence为2时,对应extend_field_01,sequence为3时,对应extend_field_02,sequence为4时,对应extend_field_03 |
code |
string |
N |
对应成本中心的编码。sequence为1时与out_budget_id字段一致 sequence为2到9时,CODE无效。 |
extend_field_list
字段 |
类型 |
是否必传 |
说明 |
---|---|---|---|
extend_field_01 |
string |
N |
扩展信息一 |
extend_field_02 |
string |
N |
扩展信息二 |
extend_field_03 |
string |
N |
扩展信息三 |
passenger_list
字段名 |
字段说明 |
字段类型 |
必填 |
备注 |
---|---|---|---|---|
以下是内部人员字段传输 |
|
|
|
|
passenger_type |
出行人类型 |
int |
Y |
枚举值数字: |
budget_center_list |
多成本中心 |
object |
N |
|
passenger_name |
出行人姓名 |
string |
Y |
出行人姓名/员工姓名 |
member_type |
|
int |
N |
出行人类型 |
passenger_phone |
员工手机号 |
string |
N |
举例:15100000000 |
employee_number |
员工工号 |
string |
N |
|
|
员工邮箱 |
string |
N |
|
以下是外部人员字段传输 |
|
|
|
|
member_type |
出行人 key 标识 |
int |
N |
枚举值数字: |
passenger_phone |
出行人手机号 |
string |
N |
注意:涉及用车品类外部出行人需要给手机号,不传手机号无法下单关联成本中心。 |
traveler_id |
外部出行人 ID |
string |
N |
|
|
执行政策指定项类型 |
int |
N |
1:out_rank_id 外部职级编号 |
|
执行政策指定项 |
string |
N |
|
out_trip_info
字段名 |
字段说明 |
字段类型 |
必填 |
备注 |
---|---|---|---|---|
begin_time |
外部申请单开始时间 |
int |
N |
时间戳 |
end_time |
外部申请单结束时间 |
int |
N |
时间戳 |
travel_purpose |
出差事由 |
string |
N |
滴滴首页卡片合并展示的事由 |
travel_detail
字段名 |
字段说明 |
字段类型 |
必填 |
备注 |
---|---|---|---|---|
start_date |
行程开始时间 |
date |
Y |
格式: YYYY-MM-DD |
end_date |
行程结束时间 |
date |
Y |
格式: YYYY-MM-DD |
trips |
行程信息 |
|
N |
行程信息;行程使用的制度(regulation_id)中,出差城市配置为无需填写时,trips可为空。否则必传,需按照行程顺序填写 详见 trip |
meeting_trip |
会议行程信息 |
详见下方 meeting_trip |
N |
会议行程信息;当制度(regulation_id)使用的是会议管控的制度时,此字段必传,填写会议城市信息。 |
start_city_rule |
行程起点城市是否包含市内用车权限和酒店 |
int |
N |
(0-不包含,1-包含),trips第一行视为起点城市;默认为无市内用车和酒店,不管控和轻度管控不生效 |
end_city_rule |
行程终点城市是否包含市内用车权限和酒店 |
int |
Y |
(0-不包含,1-包含),trips最后一行视为终点城市,不管控和轻度管控不生效 |
train_total_count |
火车票次数 |
int |
N |
火车票次数;火车票次数 (不传走默认计算逻辑,传0代表火车票不可用) |
flight_total_count |
机票次数 |
int |
N |
机票次数(不传走默认计算逻辑,传0代表机票不可用,对国内机票、国际机票都生效) |
hotel_total_count |
酒店总间夜 |
int |
N |
酒店总间夜(不传走默认计算逻辑,传0代表酒店不可用,对国内酒店、国际酒店都生效) |
pickup_total_count |
接送机总次数 |
int |
N |
接送机总次数(不传走默认计算逻辑,其他参数代表接送机总次数) |
category_control |
品类控制开关 |
[]int |
N |
品类控制开关;制度有权限时,控制申请单是否创建品类对应服务 |
trip
字段名 |
字段说明 |
字段类型 |
必填 |
备注 |
---|---|---|---|---|
departure_city |
出发城市名称 |
string |
Y |
出发城市名称 |
departure_city_id |
滴滴出发城市ID |
int |
Y |
出发城市 ID,国际需要使用ID |
destination_city |
到达城市名称 |
string |
N |
到达城市名称 ;非轻度管控必传 |
destination_city_id |
滴滴到达城市ID |
int |
N |
到达城市 ID;非轻度管控必传 国际需要使用ID |
start_date |
行程段开始时间 |
date |
Y |
行程段开始时间 |
end_date |
行程段结束时间 |
date |
Y |
行程段结束时间 |
trip_type |
出行方式 |
string |
N |
出行方式:0-其他;1-火车 ;2-飞机;支持多个,多个用英文逗号分开(用车酒店默认根据制度配置生效)举例:0,1,2,中度管控按照第一段生效 |
to_citys |
目的城市集合 |
[]object |
N |
目的城市集合 |
is_return |
单程/往返 |
int |
N |
控制严格管控模式下,滴滴侧是否识别这个trip为往返行程生成返程行程权限 |
meeting_trip
字段名 |
字段说明 |
字段类型 |
必填 |
备注 |
---|---|---|---|---|
meeting_city |
会议城市 |
array |
N |
会议管控必传 |
{
"meeting_trip": {
"meeting_city": [
{
"city_id": 1,
"city": "北京"
},
{
"city_id": 2,
"city": "上海"
}
]
}
}
business_trip_detail (按次数)
字段名 |
字段说明 |
字段类型 |
必填 |
备注 |
---|---|---|---|---|
start_time |
开始时间 |
datetime |
Y |
开始时间,需要大于等于接口调用当前时间。时间格式为:2015-06-16 12:00:09 |
end_time |
结束时间 |
datetime |
Y |
结束时间,需大于等于开始时间。时间格式为:2015-06-16 12:00:09 |
departure_city_id |
滴滴出发城市 ID |
int |
N |
出发城市 ID;制度配置需要填写时必填 |
departure_city |
出发地城市名称 |
string |
N |
出发地城市名称(指定出发地时必填) |
destination_city_id |
滴滴目的地城市ID |
int |
N |
目的地城市id(指定目的地时必填) |
destination_city |
目的地城市名称 |
string |
N |
目的地城市名称(指定目的地时必填) |
start_name |
出发地名称 |
string |
N |
出发地名称(最多50个字)(指定出发地时必填) |
start_address |
出发地详细地址 |
string |
N |
出发地详细地址(最多100个字)(指定出发地时必填) |
flat |
出发地纬度 |
float |
N |
出发地纬度 (指定出发地时必填 |
flng |
出发地经度 |
float |
N |
出发地经度 (指定出发地时必填) |
end_name |
目的地名称 |
string |
N |
目的地名称(最多50个字)(指定目的地时必填) |
end_address |
目的地详细地址 |
string |
N |
目的地详细地址(最多100个字)(指定目的地时必填) |
tlat |
目的地纬度 |
float |
N |
目的地纬度(指定目的地时必填) |
tlng |
目的地经度 |
float |
N |
目的地经度(指定目的地时必填) |
is_return |
是否往返 |
int |
N |
是否往返,0-不往返,1-往返,默认为0 |
trip_times |
用车次数 |
int |
Y |
用车次数,当is_return为1时,用车次数必须为偶数(去程一次+回程一次 |
perorder_money_quota |
每单限额 |
int |
N |
每单限额,单位:分,需大于100生效, 需是 100 的整数倍 |
total_money_quota |
总限额 |
int |
N |
总限额,单位:分,需大于100生效,需是 100 的整数倍 |
business_trip_detail (按日期)
字段名 |
字段说明 |
字段类型 |
必填 |
备注 |
---|---|---|---|---|
start_time |
开始时间 |
datetime |
Y |
开始时间,需要大于等于接口调用当前时间。时间格式为:2015-06-16 12:00:09 |
end_time |
结束时间 |
datetime |
Y |
结束时间,需大于等于开始时间。时间格式为:2015-06-16 12:00:09 |
trips |
用车城市列表 |
[]object |
N |
创建规则时如果选择了“由员工填写”则必填 |
trip_amount |
用车金额 |
int |
N |
单位:【分】(100表示100分,也就是1块钱。大于100生效,小于100为不限 |
trip_times |
用车次数 |
int |
N |
用车次数,非必传只在制度配置为【由员工填写时】生效不传、传空报错,建议传大于0的整数 |
perorder_money_quota |
每单限额 |
int |
N |
字段含义:每单限额。单位:【分】(100表示100分,也就是1块钱) |
请求示例
差旅单
- 轻度管控
curl --location 'https://api.es.xiaojukeji.com/river/Approval/create' \
--header 'Content-Type: application/json' \
--data '{
"reason":"灰度代订-出行人制度-轻度",
"executive_regulation_type":0,
"travel_detail":"{\"end_date\":\"2023-12-19\",\"start_city_rule\":1,\"end_city_rule\":1,\"trips\":[{\"end_date\":\"2023-12-19\",\"departure_city_id\":\"1\",\"to_citys\":[{\"name\":\"hangzhou\",\"id\":3}],\"departure_city\":\"Beijing\",\"start_date\":\"2023-05-10\"}],\"flight_total_count\":1,\"hotel_total_count\":1,\"train_total_count\":1,\"start_date\":\"2023-05-10\"}",
"company_id":"1125915646167936",
"approval_type":1,
"sign":"5f8ab402ccea6d15bfeecc3241cbecda",
"executive_regulation_id":"1125921250369120",
"client_id":"87fca1dc60c9de0a96c20fccf2ccaa40_test",
"sign_key":"f86b6735313052FD7d0f",
"access_token":"669fd272aa07179f49613e5e8eeffe81c4ae4427",
"regulation_id":"1125921427436424",
"phone":"11100009915",
"executive_regulation_member":"00016180318",
"budget_center_list": "[{\"sequence\":4,\"id\":\"1125936653991724\",\"code\":\"3\",\"value\":\"3级部门\"},{\"sequence\":5,\"id\":\"1125936600271495\",\"code\":\"002\",\"value\":\"自动化修改02\"},{\"sequence\":9,\"id\":\"1125936361127392\",\"code\":\"2\",\"value\":\"二级部门\"}]",
"timestamp":"1690362081530",
"passenger_list":"[{\"passenger_type\":\"0\",\"passenger_phone\":\"11100011964\",\"passenger_name\":\"曹正博\"},{\"passenger_type\":\"0\",\"passenger_phone\":\"00016180318\",\"passenger_name\":\"刘培行\"},{\"passenger_type\":\"0\",\"passenger_phone\":\"00016180328\",\"passenger_name\":\"DMETERTEST1\"},{\"passenger_type\":\"1\",\"passenger_phone\":\"00016180328\",\"passenger_name\":\"dmeter\"}]"
}'
- 中度、严格管控
curl --location 'https://api.es.xiaojukeji.com/river/Approval/create' \
--header 'Content-Type: application/json' \
--data '{
"reason":"灰度代订-出行人制度-轻度",
"executive_regulation_type":0,
"travel_detail":"{\"end_date\":\"2023-12-19\",\"start_city_rule\":1,\"end_city_rule\":1,\"trips\":[{\"end_date\":\"2023-12-19\",\"departure_city_id\":\"1\",\"departure_city\":\"Beijing\",\"destination_city\":\"hangzhou\",\"destination_city_id\":3,\"start_date\":\"2023-05-10\"}],\"flight_total_count\":1,\"hotel_total_count\":1,\"train_total_count\":1,\"start_date\":\"2023-05-10\"}",
"travel_budget": "{\"budget_amount\":2600,\"budget_type\":1,\"budget_share\":[2]}",
"company_id":"1125915646167936",
"approval_type":1,
"sign":"1df8889e0e2d945758458803cc9768e7",
"executive_regulation_id":"1125921250369120",
"client_id":"87fca1dc60c9de0a96c20fccf2ccaa40_test",
"sign_key":"f86b6735313052FD7d0f",
"access_token":"58716c11feb49816e599a72796e3b6919524879d",
"regulation_id":"1125921427436424",
"phone":"11100009915",
"executive_regulation_member":"00016180318",
"timestamp":"1690362702226",
"passenger_list": "[{\"passenger_type\":1,\"passenger_phone\":\"15201255543\",\"passenger_name\":\"赵利荣\",\"budget_center_list\":[{\"sequence\":4,\"id\":\"1125936653991724\",\"code\":\"3\",\"value\":\"3级部门\"},{\"sequence\":5,\"id\":\"1125936600271495\",\"code\":\"002\",\"value\":\"自动化修改02\"}]},{\"passenger_type\":0,\"passenger_phone\":\"00016237918\",\"passenger_name\":\"初管7918\",\"budget_center_list\":[{\"sequence\":9,\"id\":\"1125936361127392\",\"code\":\"2\",\"value\":\"二级部门\"}]}]"
}'
行前按次数
curl --location 'https://api.es.xiaojukeji.com/river/Approval/create' \
--header 'Content-Type: application/json' \
--data '{
"access_token":"e353748d8c0966a3ac4bad8395d188ac54e44e56",
"reason":"123",
"regulation_id":"1125921539238327",
"company_id":"1125915646167936",
"phone":"11100009915",
"approval_type":2,
"business_trip_detail":"{\"start_time\":\"2023-07-25 10:00:00\",\"end_time\":\"2023-07-25 18:00:00\",\"trip_times\":2,\"perorder_money_quota\":1000,\"total_money_quota\":1000}",
"sign":"9435128168701c52eaba99b80f5c267f",
"client_id":"87fca1dc60c9de0a96c20fccf2ccaa40_test",
"sign_key":"f86b6735313052FD7d0f",
"timestamp":"1690255082134"
}'
行前按日期
curl --location 'https://api.es.xiaojukeji.com/river/Approval/create' \
--header 'Content-Type: application/json' \
--data '{
"access_token":"5eec6522d911ee00625a91010319279021f07fd2",
"reason":"123",
"regulation_id":"1125921539238327",
"company_id":"1125915646167936",
"phone":"11100009915",
"approval_type":3,
"business_trip_detail":"{\"start_time\":\"2023-07-25 10:00:00\",\"trip_amount\":1000,\"trips\":[{\"city\":\"beijing\",\"city_id\":1}],\"end_time\":\"2023-07-25 18:00:00\"}",
"sign":"88fda0fa7fd4aae80de7e412c04ddc58",
"client_id":"87fca1dc60c9de0a96c20fccf2ccaa40_test",
"sign_key":"f86b6735313052FD7d0f",
"timestamp":1690363131
}'
响应参数
响应示例
正常示例
{
"errno": 0,
"errmsg": "SUCCESS",
"data": {
"approval_id": "9668294457792204005"
}
}
异常示例
错误码
错误码 |
描述 |
---|---|
50503 |
申请单创建失败 |
50506 |
外部申请单号重复 |
版本记录
日期 |
更新人 |
更新内容 |
上线时间 |
---|---|---|---|
2023.10.30 |
陈继诗 |
增加字段:out_trip_id,out_trip_info |
2024.01.10 |
2023.11.10 |
陈继诗 |
请求增加name与out_budget_id使用方法 |
2024.01.04 |
2024.01.12 |
陈继诗 |
增加meeting_trip |
2024.01.12 |
2024.01.29 |
陈继诗 |
增加category_control枚举值,机票,酒店管控次数描述,城市ID描述 |
2024.01.29 |
2024.04.23 |
陈继诗 |
外部人员支持无手机号传输 |
2024.05.14 |
2024.05.31 |
陈继诗 |
修改regulation_id为非必填。增加policy_type,policy_type_value字段 |
2024.06.18 |
2024.08.28 |
陈继诗 |
新增加budget_center_list字段使用逻辑。影响历史budget_center_id和extend_field_list |
2024.09.20 |
2024.09.20 |
陈继诗 |
新增travel_budget,差旅市内用车和接送场景 |
2024.09.24 |
2024.09.27 |
陈继诗 |
travel_budget,支持机酒火 |
|
2024.12.10 |
陈继诗 |
按日期tripamount 描述修改 |
2024.12.10 |
2024.12.27 |
高洋洋 |
增加差旅管控字段:travel_management |
2024.01.02 |