请求地址

https://api.es.xiaojukeji.com/river/Approval/create

返回数据格式

JSON

请求方式

POST

请求头格式

application/json

请求参数

参数 参数类型 字段类型 必填 描述
公共参数
client_id 公共参数 string yes 申请应用时分配的AppKey
access_token 公共参数 string yes 授权后的access token 获取方式
timestamp 公共参数 bigint yes 当前时间戳(秒级) eg: 1689909015
company_id 公共参数 string yes 滴滴公司 ID。 eg :1125915646167936
sign 公共参数 string yes 签名
申请单-基础信息
approval_type 申请单基础信息 int yes 申批单类型 1:差旅单 2: 行前审批-按次数 3: 行前审批-按日期
regulation_id 申请单基础信息 string yes (差旅/行前)申请单对应的需审批制度ID,获取方式
out_approval_id 申请单基础信息 string no 客户侧申请单ID,不大于 120 字符。 eg: TA_100002
budget_center_id 申请单基础信息 string no 滴滴侧成本中心ID; 获取方式接口返回的 ID(可为项目/部门ID) eg : 1125920020961744
reason 申请单基础信息 string no 申请原因,限制 200 字符;默认为空字符 eg: 北京出差
extra_info 申请单基础信息 string no 扩展信息,自定义字段;最长不大于 500 字符;(必须为json字符串);默认为空字符
extend_field_list 申请单基础信息 string no 扩展信息list,自定义字段,最长不大于 500 字符 将extend_field_list转为 json 字符串 三个字段仅作为备注性字段。详见extend_field_list
申请人信息
member_type 申请人信息 int no 申请人信息类型 0:手机号,phone 必填 1:工号,employee_number 必填 2:邮箱,email 必填 默认为0
phone 申请人信息 string yes/no 申请人手机号;默认为空字符;member_type不传 或者member_type 为0时phone必传
employee_number 申请人信息 string no 申请人工号,默认为空字符
email 申请人信息 string no 申请人邮箱;默认为空字符
申请单-行程数据 Y(二选一)
travel_detail 差旅行程数据 string no 差旅单行程信息 将travel_detail的值转为 json 字符串 approval_type = 1 时必传。详见travel_detail 示例
business_trip_detail 因公用车审批行程数据 string no 行前行程信息, 将 business_trip_detail转为 json 字符串 approval_type = 2 或 approval_type = 3 必填。详见 business_trip_detail 示例
代订信息
passenger_list 代订数据 string no 出行人信息,不传时默认出行人为申请人, 将passenger_list 转为 json 字符串。详见passenger_list
executive_regulation_type 代订数据 int no 代订执行制度类型 0: 执行申请人制度 1: 执行外部出行人不限差标:(需要passenger_list都是外部出行人) 2: 执行出行人制度
executive_regulation_id 代订数据 string no 代订执行人的制度,executive_regulation_type=2 时选填,传了就生效 不传:选择 executive_regulation_member 最近使用的一条制度 获取方式
executive_regulation_member_type 代订数据 int no 代订执行人标识类型 0:手机号,executive_regulation_member 为执行人手机号 1:工号,executive_regulation_member 为执行人工号 2:邮箱:executive_regulation_member 为执行人邮箱 默认为0
executive_regulation_member 代订数据 string yes/no 代订执行人(手机号/工号/邮箱);默认手机号 注意:执行出行人制度的时候,需要是出行人passenger_list里的员工, executive_regulation_type=2时必传, 只能是内部员工

passenger_list(代订出行人数据)

参数 类型 必填 示例 描述
公共参数
passenger_type int yes 0 出行人类型 0:员工;1:外部出行人
passenger_name string yes 张三 出行人姓名/员工姓名
员工
member_type int no 0 出行人类型 0:手机号,passenger_phone 1:工号;employee_number 必填 2:邮箱:email 必填 默认为0 以 member_type 对应的值为准,其他字段传了不生效
passenger_phone string no 15100000000 员工手机号
employee_number string no D10010 员工工号
email string no test@didi.com 员工邮箱
外部出行人
member_type int no 0 出行人 key 标识 0:手机号,passenger_phone 必填 3::外部出行人ID,traveler_id 必填 默认为0 以 member_type 对应的值为准,其他字段传了不生效
passenger_phone string no 15100000000 出行人手机号
traveler_id string no 外部出行人 ID 获取方式

travel_detail

参数 类型 必传 示例 描述
start_date date yes 2023-01-02 行程开始时间 YYYY-MM-DD
end_date date yes 2023-01-10 行程结束时间 YYYY-MM-DD
trips list<trip> no 详见 trip 行程信息;行程使用的制度(regulation_id)中,出差城市配置为无需填写时,trips可为空。否则必传,需按照行程顺序填写
start_city_rule int no 1 行程起点城市是否包含市内用车权限和酒店(0-不包含,1-包含),trips第一行视为起点城市;默认为无市内用车和酒店,不管控和轻度管控模式下该字段不生效(不生效的意思是:在不管控和轻度管控模式下,我们并不知道用户的起点和终点城市是什么,所以传了也没用,无法对城市产生限制,因此所有城市都可以使用市内用车和酒店)不影响接送机服务
end_city_rule int yes 1 行程终点城市是否包含市内用车权限和酒店(0-不包含,1-包含),trips最后一行视为终点城市,不管控和轻度管控不生效(不生效的意思是:在不管控和轻度管控模式下,我们并不知道用户的起点和终点城市是什么,所以传了也没用,无法对城市产生限制,因此所有城市都可以使用市内用车和酒店) 不影响接送机服务
train_total_count int no 1 火车票次数;火车票次数 (不传走默认计算逻辑,传0代表火车票不可用)
flight_total_count int no 1 机票次数(不传走默认计算逻辑,传0代表机票不可用)
hotel_total_count int no 1 酒店总间夜(不传走默认计算逻辑,传0代表酒店不可用)
category_control []int no [4,10] 品类控制开关;制度有权限时,控制申请单是否创建品类对应服务 3-市内用车;4-火车票服务;6-机票服务;9-接送服务;10-酒店服务 如果传了机火两个品类。制度上只开了机票品牌。则创建申请单成功,只能使用机票服务 category_control 传空数组会报错
trip
参数 类型 必填 示例 描述
departure_city string yes 北京 出发城市名称 获取方式
departure_city_id int yes 1 出发城市 ID 获取方式
destination_city string no 杭州 到达城市名称 ;非轻度管控必传 获取方式
destination_city_id int no 3 到达城市 ID;非轻度管控必传 获取方式
start_date date yes 2023-01-02 行程段开始时间 轻度管控模式下,必须与 travel_detail 中的 start_date 相同
end_date date yes 2023-01-14 行程段结束时间 轻度管控模式下,必须与 travel_detail 中的 end_date 相同
trip_type string no 1,2 出行方式:1-火车 ;2-飞机;支持多个,多个用英文逗号分开(用车酒店默认根据制度配置生效)
to_citys []object no [{"id":1,"name":"北京"}] 目的城市集合 轻度管控必传,其他模式传了不生效
is_return int no 1 控制严格管控模式下,滴滴侧是否识别这个trip为往返行程生成返程行程权限。非必传字段,0-单程, 1-往返;默认为单程;传1后的拆分逻辑为:去程使用trip的传参生成,返程生成规则为:目的地-出发地,end_date-end_date,使用去程的trip_type;若对去程和返程的交通方式有分别管控诉求,不推荐使用此字段,建议拆成两个trip传输。

business_trip_detail (按次数)

参数 类型 必填 示例 描述
start_time datetime yes 2023-01-10 10:00:00 开始时间,需要大于等于接口调用当前时间。时间格式为:2015-06-16 12:00:09
end_time datetime yes 2023-01-11 10:00:00 结束时间,需大于等于开始时间。时间格式为:2015-06-16 12:00:09
departure_city_id int no 1 出发城市 ID;制度配置需要填写时必填 获取方式
departure_city string no 北京 出发地城市名称(指定出发地时必填)获取方式
destination_city_id int no 1 目的地城市id(指定目的地时必填)获取方式
destination_city string no 北京 目的地城市名称(指定目的地时必填)获取方式
start_name string no 滴滴大厦 出发地名称(最多50个字)(指定出发地时必填)
start_address string no 滴滴大厦 出发地详细地址(最多100个字)(指定出发地时必填)
flat float no 出发地纬度 (指定出发地时必填
flng float no 出发地经度 (指定出发地时必填)
end_name string no 百度大厦 目的地名称(最多50个字)(指定目的地时必填)
end_address string no 上地十街10号 目的地详细地址(最多100个字)(指定目的地时必填)
tlat float no 目的地纬度(指定目的地时必填)
tlng float no 目的地经度(指定目的地时必填)
is_return int no 1 是否往返,0-不往返,1-往返,默认为0
trip_times int yes 用车次数,当is_return为1时,用车次数必须为偶数(去程一次+回程一次 制度配置为无需填写,传了不生效
perorder_money_quota int no 100 每单限额,单位:分,需大于100生效, 需是 100 的整数倍 1。制度配置了由员工填写,小于 100 为不限 2. 制度配置为无需填写,传了不生效 3. 制度配置金额,用户也传了。以配置的为主
total_money_quota int no 100 总限额,单位:分,需大于100生效,需是 100 的整数倍 1. 制度配置了由员工填写,小于 100 为不限 2. 制度配置为无需填写,传了不生效

例如:

{
    "start_time": "2023-10-26 21:13:53",
    "end_time": "2023-10-27 09:13:47",
    "departure_city_id": 17,
    "departure_city": "成都",
    "destination_city_id": 17,
    "destination_city": "成都",
    "start_name": "银河商业广场",
    "start_address": "四川省成都市成华区二环路东三段40-7号",
    "flat": 30.651025,
    "flng": 104.115213,
    "end_name": "旺府豪庭",
    "end_address": "万和北路99号",
    "tlat": 30.81427,
    "tlng": 104.190051,
    "is_return": 0,
    "trip_times": 1,
    "perorder_money_quota": 999900
}

business_trip_detail(按日期)

参数 类型 必填 示例 备注
start_time datetime yes 2018-06-16 12:00:09 开始时间,需要大于等于接口调用当前时间
end_time datetime yes 2018-06-19 12:00:09 用车结束时间,需大于等于start_time,
trips []object no [{ "city_id": "1", "city": "北京" },{ "city_id": "2", "city": "上海" }] 用车城市列表:(创建规则时如果选择了“由员工填写”则必填) 制度配置为无需填写城市时,传了城市列表也不生效
trip_amount int no 100 用车金额 (不传默认不限制金额) 单位 分,大于100生效; 小于 100 为不限 1. 制度配置了由员工填写,小于 100 为不限 2. 制度配置为无需填写,传了不生效
perorder_money_quota int no 100 每单限额 (不传默认不限制金额) 单位 分,大于100生效; 小于 100 为不限。制度上配置由员工填写时生效

extend_field_list

字段 类型 是否必传 说明
extend_field_01 string no 扩展信息一
extend_field_02 string no 扩展信息二
extend_field_03 string no 扩展信息三

返回参数

参数 类型 说明
errno int 错误。非0表示失败
errmsg string 错误原因
data object 响应结果

data

参数 类型 说明
approval_id string 滴滴侧申请单ID

  1. 为出发地城市创建【送机】和【市内用车】的用车规则。第一个行程的出发地城市无【市内用车】
  2. 为目的地城市创建【接机】和【市内用车】的用车规则。最后一个行程的目的地城市的【市内用车】依赖于end_city_rule
  3. 目前每个行程的开始日期、结束日期,依赖于travel_detail中的start_date、end_date
  4. 当所有的城市id都为空时,系统会根据城市名称匹配对应id,存在id匹配失败的情况;当城市id至少有一个非空,以传入的城市id为准,系统不会进行匹配。建议根据城市查询API传入对应的城市id
  5. 所有用车出发地城市和目的地城市参数都应传入城市级别id(当用车出发地城市和目的地城市级别为区县时,应该传入对应所属地级市城市id、区县名称)
  6. 当差旅制度中,出差城市配置为无需员工填写时,出发地、目的地城市传空
  7. 当行程使用的制度(regulation_id)中,出差城市配置为不管控时(city_type = 0),trips可为空,否则必传,需按照行程顺序填写;
  8. 当制度配置“中度管控”(city_type = 1)时,实际行程校验时间使用travel_detail的start_date、end_date字段;trips内的start_date、end_date不生效;轻度管控、中度管控、不管控时,hotel_total_count,train_total_count、flight_total_count会生效
  9. 当制度配置“严格管控”(city_type = 2)时,trips内的start_date、end_date会用于校验行程;此种模式下还需要传trip_type字段。此情况下,酒店权限受start_city_rule、end_city_rule影响
  10. 出行方式,trip_type,在制度“严格管控”city_type=2时必传),支持多个(用车默认有),city_type=1和3时非必传。trip_type 传0 接送机和市内用车 、酒店可以用;trip_type 传1 接送机和市内用车、酒店、火车票 可以用,不管传不传trip_type 都不会控制酒店,只能控制火车和机票。

请求示例

差旅单

  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",
    "timestamp":1690362081,
    "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\"}]"
}'
  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\",\"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\"}",
    "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":1690362702,
    "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 '{
    "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":1690255082
}'

行前按日期

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"
    }

}

接口错误解决方案

通用错误解决文档

  1. 4xx 错误
  2. 1xxx 错误

10003(参数错误(xxxxxx))

xxxxxx有以下几种可能:

  1. travel_detail格式错误
    1. travel_detail必须为数组
    2. 每一个开始日期必须小于等于结束日期
  2. business_trip_detail格式错误
    1. 开始时间、结束时间不能为空
    2. 开始时间必须小于等于结束时间
  3. 往返用车时, trip_times必须是偶数
    1. 当approval_type=2且business_trip_detail的is_return=1时,trip_times必须为偶数(因为这是往返行程)

50503(请求失败(xxxxxx))

xxxxxx有以下几种可能:

  1. 员工不在该企业中,请添加后重试

    1. 传参中的phone和company_id没有一一对应
  2. 用户

    未配置任何审批用车制度

    1. 传参中的regulation_id必须是差旅或者审批用车(按日期、次数的商务审批)的id
    2. 通过用车制度列表接口查询企业所有用车制度(返回值scene_type=2或96的才能用于创建审批单)
    3. 从第2步返回的结果中找到创建审批单传的regulation_id那条记录,然后去查看该员工是否绑定了该审批id:登录es后台 ——> 员工 ——> (根据姓名、工号、手机号)找到这个员工 ——> 编辑 ——> 管理用车制度
  3. 用户

    身上未配置用车制度

    1. 用户配置了差旅或者审批制度,但是创建审批单传入的regulation_id不在该员工身上

50506(外部审批单号已被使用(对应的滴滴审批单ID为xxxxxx),请更换外部审批单号或调用审批单修改API)

  1. 滴滴要求每次创建审批单的out_approval_id唯一,报该错时表明你此次传参中的out_approval_id与之前创建审批单(返回的approval_id为xxxxxx)的out_approval_id是一样的

results matching ""

    No results matching ""