# fasc-openapi-java-sdk
**Repository Path**: fadada-cloud/fasc-openapi-java-sdk
## Basic Information
- **Project Name**: fasc-openapi-java-sdk
- **Description**: 法大大FASC OpenAPI Java语言版SDK
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: v5.1
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 9
- **Forks**: 8
- **Created**: 2021-11-03
- **Last Updated**: 2024-12-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# FASC OpenApi Java SDK v5 说明
# 简介
欢迎使用法大大开发者工具套件(SDK),Java SDK 是法大大电子合同和电子签云服务开放平台(FASC OPEN API)的配套工具。
SDK已上传至中央仓库,直接通过Maven安装FASC OpenApi Java SDK:
```xml
com.fadada.api
fasc-openapi-java-sdk
5.2.3
```
# 模块说明
- SDK 目前支持以下模块,对应 client 可支持具体的业务方法:
| 模块 | 模块中文名 | 模块说明 |
| -------------- | ---------------- | ------------------------------------------------------------ |
| ServiceClient | 服务访问凭证 | 获取服务访问凭证 |
| UserClient | 个人用户管理 | 包含应用的个人用户信息查询、禁用、恢复、解绑等 |
| CorpClient | 企业用户账号管理 | 包含应用的企业用户信息查询、禁用、恢复、解绑等 |
| OrgClient | 组织管理 | 包含企业成员查询 |
| SealClient | 印章管理 | 包含印章查询、用印员查询 |
| DocClient | 文件管理 | 包含网络文件上传、获取文件上传地址、文件处理 |
| TemplateClient | 文档模板管理 | 包含文档模板查询、签署模板查询 |
| SignTaskClient | 签署任务管理 | 包含签署任务的创建、维护、各个流程节点的流转操作,以及签署任务查询、文件下载链接等 |
| EUIClient | EUI页面链接管理 | 对EUI页面链接进行管理操作,如获取个人授权链接、获取企业授权链接、获取计费链接、获取签署任务编辑链接、印章管理、组织管理链接等 |
| ApproveClient | 审批管理 | 包含审批相关接口 |
# 依赖环境
JAVA JDK 版本: JDK 1.7-1.8
# 安装说明
## 引用jar包
引入sdk 所依赖的jar包,提供全流程的方法,提供的方法调用云端法大大api服务。
```text
org.apache.httpcomponents
httpclient
4.5.12
org.apache.httpcomponents
httpmime
4.5.8
com.fasterxml.jackson.core
jackson-databind
2.10.1
org.slf4j
slf4j-log4j12
1.7.25
commons-logging
commons-logging
1.2
```
## 始化客户端
项目启动后必须先进行初始化,才能调用jar包方法。初始化仅需一次,之后可重复使用。
法大大分配的appId,appSecret,API请求地址在初始化时作为入参传入,请求超时配置、序列化策率可以初始化后设置。
```java
//法大大分配的appId
String appId="xxxxx";
//法大大分配的appId对应的秘钥
String appSecret="xxxxx";
//API请求地址
String serverUrl="";
// 初始化客户端
OpenApiClient openApiClient=new OpenApiClient(appId,appSecret,serverUrl);
// http超时配置设置, 默认不设置超时时间
// 如果不设置超时时间 该设置可忽略
HttpConfig httpConfig=new HttpConfig();
httpConfig.setConnectTimeout(1000000);
httpConfig.setReadTimeout(1000000);
openApiClient.setHttpConfig(httpConfig);
// Json序列化策率,默认使用Jackson,如果要使用其他如FastJson,Gson等实现JsonStrategy接口即可
// 如果使用默认该设置可以忽略
openApiClient.setJsonStrategy(new DefaultJsonStrategy());
```
## 业务方法调用
下面添加个人用户的方法调用为例展示调用过程:
```java
// 初始化业务客户端
ServiceClient serviceClient=new ServiceClient(openApiClient);
// 获取accessToken
BaseRes res=serviceClient.getAccessToken();
String accessToken=res.getData().getAccessToken();
// 获取企业用户授权链接
GetCorpAuthResourceUrlReq req = new GetCorpAuthResourceUrlReq();
req.setAccessToken(accessToken);
//企业在应用中的唯一标识
req.setClientCorpId(clientCorpId);
//(可选)法大大平台上企业主体的名称
req.setCorpName("法大大平台上企业主体的名称");
//(可选)企业组织类型CorpIdentTypeEnum
req.setCorpIdentType(CorpIdentTypeEnum.CORP.getCode());
//(可选)企业统一社会信用代码或各种类型组织的唯一代码
req.setCorpIdentNo("企业统一社会信用代码或各种类型组织的唯一代码");
//(可选)是否需要匹配企业身份信息一致,缺省为false。
req.setCorpIdentInfoMatch(false);
//(可选)企业授权范围列表CorpAuthScopeEnum
req.setAuthScopes(Arrays.asList(new String[]{CorpAuthScopeEnum.IDENT_INFO.getCode(),
CorpAuthScopeEnum.SIGN_TASK_INIT.getCode(),
CorpAuthScopeEnum.SIGN_TASK_INFO.getCode(),
CorpAuthScopeEnum.SIGN_TASK_FILE.getCode(),
CorpAuthScopeEnum.SEAL_INFO.getCode(),
CorpAuthScopeEnum.ORGANIZATION.getCode(),
CorpAuthScopeEnum.TEMPLATE.getCode()
}));
//(可选)重定向地址。
req.setRedirectUrl("重定向地址");
BaseRes res = euiClient.getCorpAuthUrl(req);
```
更多示例详见demo代码(https://gitee.com/fadada-cloud/fasc-openapi-java-sdk-demo)
# 参考
FASC OpenAPI (服务端) 接口文档
https://dev.fadada.com/api-doc/MTE9YIK1SP/QMMRYYN5RMPREAZH/5-1