55---
66
77- 滴滴企业级开发接口SDK,便捷调用开放平台API,目前包括以下服务:
8- - 接口认证[ auth]
9- - 审批 [ 行前(approval)、行后(afterapproval)、外部(outapproval)]
10- - 账单 [ bill]
11- - 成本中心 [ budgetcenter]
12- - 城市信息 [ city]
13- - 扩展信息 [ extend]
14- - 公司主体 [ legalentity]
15- - 单点登录 [ login]
16- - 用户信息 [ member]
17- - 订单 [ order]
18- - 职级 [ rank]
19- - 制度 [ regulation]
20- - 角色 [ role]
21- - 外部人员 [ traveler]
22- - 工作地点 [ workplace]
23- 具体可以访问 [ 管理API对接文档(2024版)] ( https://opendocs.xiaojukeji.com/version2024 ) 查看。
8+ - 接口认证[ auth]
9+ - 审批 [ 行前(approval)、行后(afterapproval)、外部(outapproval)]
10+ - 账单 [ bill]
11+ - 成本中心 [ budgetcenter]
12+ - 城市信息 [ city]
13+ - 扩展信息 [ extend]
14+ - 公司主体 [ legalentity]
15+ - 单点登录 [ login]
16+ - 用户信息 [ member]
17+ - 订单 [ order]
18+ - 职级 [ rank]
19+ - 制度 [ regulation]
20+ - 角色 [ role]
21+ - 外部人员 [ traveler]
22+ - 工作地点 [ workplace]
23+ 具体可以访问 [ 管理API对接文档(2024版)] ( https://opendocs.xiaojukeji.com/version2024 ) 查看。
2424
2525## 运行环境
2626
3535### Maven 仓库
3636
3737``` xml
38+
3839<dependency >
3940 <groupId >com.xiaoju.sdk</groupId >
4041 <artifactId >ddes-open-sdk</artifactId >
4849### 流程概述
4950
5051调用API的流程如下:
52+
51531 . 创建应用
52542 . 获取访问凭证
53553 . 设置IP白名单 [ 前3步参考:[ 接入前必读] ( https://opendocs.xiaojukeji.com/version2024/10957 )]
54- 4 . 调用API
56+ 4 . 调用API
57+
58+ ### 使用示例 [ 以查询公司主体为例,更多示例请参考:` sample ` module]
5559
56- ### 使用示例 [ 以查询公司主体为例]
5760``` java
5861
5962public class test {
@@ -90,34 +93,35 @@ public class test {
9093```
9194
9295> 注意:
96+
93971 . 请替换代码中的` clientId ` 、` clientSecret ` 和` signKey ` 为实际的值,以及替换实际入参中的` companyId `
94982 . 所有用例代码均在` sample ` module下
9599
96-
97100## SDK配置参数说明[ ` com.xiaoju.open.sdk.didies.core.Config ` ]
98101
99- | 配置项 | 配置方式 | 描述 |
100- | ---------------------------| -- ------------------------------------------------------------------------ | ---- ----------------------------------------------------------|
101- | ` clientId ` | 必填 | 客户端 ID,用于身份认证。 |
102- | ` clientSecret ` | 必填 | 客户端密钥,用于身份认证。 |
103- | ` signKey ` | 必填 | 签名密钥,用于请求签名。 |
104- | ` baseUrl ` | 可选,默认值:` https://api.es.xiaojukeji.com ` | 接口请求的基础 URL。 |
105- | ` grantType ` | 可选,默认值:` client_credentials ` | OAuth 认证的授权类型,默认使用客户端凭证模式。 |
106- | ` unauthorizedRetryTimes ` | 可选,默认值:` 2 ` | 因 Token 失效导致接口请求失败时的重试次数。 |
107- | ` unauthorizedRetryInterval ` | 可选,默认值:` 1000 ` (毫秒) | Token 失效重试的时间间隔,默认1秒。 |
108- | ` httpTransport ` | 可选,默认自动创建 ` RestHttpTransport ` 实例 | 自定义 HTTP 请求实现类,需实现 ` IHttpTransport ` 接口。未设置时使用默认实现。 |
109- | ` signMethod ` | 可选,默认值:` MD5 ` | 签名方法,可选枚举值(如 ` MD5 ` 、` SHA256 ` ,默认MD5)。 |
110- | ` enableHoldToken ` | 可选,默认值:` true ` | 是否开启自动获取并持有 Token(如未开启,需用自己管理token在每个接口中设置,推荐开启)。 |
111- | ` enableRequestLog ` | 可选 | 是否开启请求日志打印。需配合 ` logLevel ` 使用。 |
112- | ` logLevel ` | 可选 | 请求日志的打印级别(需开启 ` enableRequestLog ` ),可选枚举如 ` DEBUG ` 、` INFO ` 。 |
113- | ` enableAES ` | 可选,默认值:` false ` | 是否启用 AES 加密(此加密为整体加密,开启整体加密时人员信息不需要额外加密)。 |
114- | ` aesKey ` | 条件必填(当 ` enableAES ` 为 ` true ` 时需设置) | AES 加密使用的密钥。 |
115- | ` encryptType ` | 可选,默认值:` NORMAL ` | 加密类型。默认不加密(` NORMAL ` ),启用 AES 时可选择 ` AES128 ` 或 ` AES256 ` 。 |
116- | ` connectTimeout ` | 可选,默认值:` 3000 ` (毫秒) | 网络连接超时时间(单位由 ` timeoutUnit ` 决定)。 |
117- | ` callTimeOut ` | 可选,默认值:` 3000 ` (毫秒) | 接口调用超时时间(单位由 ` timeoutUnit ` 决定)。 |
118- | ` timeoutUnit ` | 可选,默认值:` MILLISECONDS ` | 超时时间单位(如 ` MILLISECONDS ` 、` SECONDS ` 等)。 |
102+ | 配置项 | 配置方式 | 描述 |
103+ | ----------------------------- | ----------------------------------------| ----------------------------------------------------------|
104+ | ` clientId ` | 必填 | 客户端 ID,用于身份认证。 |
105+ | ` clientSecret ` | 必填 | 客户端密钥,用于身份认证。 |
106+ | ` signKey ` | 必填 | 签名密钥,用于请求签名。 |
107+ | ` baseUrl ` | 可选,默认值:` https://api.es.xiaojukeji.com ` | 接口请求的基础 URL。 |
108+ | ` grantType ` | 可选,默认值:` client_credentials ` | OAuth 认证的授权类型,默认使用客户端凭证模式。 |
109+ | ` unauthorizedRetryTimes ` | 可选,默认值:` 2 ` | 因 Token 失效导致接口请求失败时的重试次数。 |
110+ | ` unauthorizedRetryInterval ` | 可选,默认值:` 1000 ` (毫秒) | Token 失效重试的时间间隔,默认1秒。 |
111+ | ` httpTransport ` | 可选,默认自动创建 ` RestHttpTransport ` 实例 | 自定义 HTTP 请求实现类,需实现 ` IHttpTransport ` 接口。未设置时使用默认实现。 |
112+ | ` signMethod ` | 可选,默认值:` MD5 ` | 签名方法,可选枚举值(如 ` MD5 ` 、` SHA256 ` ,默认MD5)。 |
113+ | ` enableHoldToken ` | 可选,默认值:` true ` | 是否开启自动获取并持有 Token(如未开启,需用自己管理token在每个接口中设置,推荐开启)。 |
114+ | ` enableRequestLog ` | 可选 | 是否开启请求日志打印。需配合 ` logLevel ` 使用。 |
115+ | ` logLevel ` | 可选 | 请求日志的打印级别(需开启 ` enableRequestLog ` ),可选枚举如 ` DEBUG ` 、` INFO ` 。 |
116+ | ` enableAES ` | 可选,默认值:` false ` | 是否启用 AES 加密(此加密为整体加密,开启整体加密时人员信息不需要额外加密)。 |
117+ | ` aesKey ` | 条件必填(当 ` enableAES ` 为 ` true ` 时需设置) | AES 加密使用的密钥。 |
118+ | ` encryptType ` | 可选,默认值:` NORMAL ` | 加密类型。默认不加密(` NORMAL ` ),启用 AES 时可选择 ` AES128 ` 或 ` AES256 ` 。 |
119+ | ` connectTimeout ` | 可选,默认值:` 3000 ` (毫秒) | 网络连接超时时间(单位由 ` timeoutUnit ` 决定)。 |
120+ | ` callTimeOut ` | 可选,默认值:` 3000 ` (毫秒) | 接口调用超时时间(单位由 ` timeoutUnit ` 决定)。 |
121+ | ` timeoutUnit ` | 可选,默认值:` MILLISECONDS ` | 超时时间单位(如 ` MILLISECONDS ` 、` SECONDS ` 等)。 |
119122
120123说明:
124+
1211251 . 必填项:` clientId ` 、` clientSecret ` 、` signKey ` 必须通过代码手动设置(如 ` setClientId("your-id") ` )。
1221262 . 条件必填:` aesKey ` 仅在启用 AES 加密(` enableAES=true ` )时需设置。
1231273 . 默认行为:
@@ -136,6 +140,7 @@ public class test {
1361401、接口中以obj结尾的字段均为SDK特有字段,在文档中无Obj结尾,文档中为字段类型为json-string,SDK中可直接使用对象,SDK自动完成对象转为json-string的过程。
137141
138142如(仅保留了特殊处理的Obj字段及源字段信息):
143+
139144``` java
140145public class CreateApprovalRequest extends BaseReq {
141146 /**
@@ -213,4 +218,5 @@ public class CreateApprovalRequest extends BaseReq {
213218
214219```
215220
221+ > 上述实体在使用时,可直接通过已Obj结尾的属性赋值,实际传调用接口时,SDK会自动将Obj结尾的属性转为json字符串,赋值给原属性传递给滴滴企业级。
216222
0 commit comments