# 电子合同 Java SDK

# 安装

# 下载 SDK

下载地址

点击立即下载电子合同 Java SDK

# 添加到本地仓库

如果是非maven形式项目,直接将jar包放入Dependencies依赖目录

如果是maven项目,可在终端窗口执行以下命令安装到本地仓库:

Linux & Mac:

mvn install:install-file -Dfile=jar文件绝对路径 \
 -DgroupId=cn.unitid.econtract \
 -DartifactId=cslc-econtract-internal-sdk \
 -Dversion=版本号 \
 -Dpackaging=jar

Windows:

mvn install:install-file -Dfile=jar文件绝对路径  -DgroupId=cn.unitid.econtract  -DartifactId=cslc-econtract-internal-sdk  -Dversion=版本号 -Dpackaging=jar

然后在Maven项目pom文件中添加依赖:

  <dependency>
    <groupId>cn.unitid.econtract</groupId>
    <artifactId>cslc-econtract-internal-sdk</artifactId>
    <version>版本号</version>
  </dependency>

    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.14</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
    </dependency>

# SDK教程

# 获取电子合同系统登录页面URL

# 1、请求参数

  • 请求参数以表单形式提交,Content-Type值为: application/x-www-form-urlencoded;charset=utf-8
名称 类型 是否必须 描述
provinceCenterName String 省名称
cityCenterName String 地市名称
countyCenterName String 县市名称
userName String 登陆帐户
fullName String 人员名称
roleCd String 账号角色 R801、R802、R803、R804、R805、R806、R807、R808、R813中的一个或多个,多个用英文逗号隔开
provinceCenterId String 省id
cityCenterId String 地市id
countyCenterId String 县市id
isOfficer String 是否是专管员 0:否 1:是

# 2、响应参数

名称 类型 存在 描述
token String 登录token
loginPageUrl String 登录页url

# 3、成功示例

JSON示例

{
   "token":"6iRLzLONjbI3ue4nZL0fRvueyYqPwni0",
   "loginPageUrl":"http://172.16.3.228:8650/auth/cslc-login?token=6iRLzLONjbI3ue4nZL0fRvueyYqPwni0"
}

# 4、SDK请求示例


           //认证token
           String authToken = "xxx";
           //提供的url
           String serverUrl = "xxx";
           apiClient = new DefaultEcontractClient(serverUrl, authToken);
           LoginUserTokenGetRequest apiRequest = new LoginUserTokenGetRequest();
           //必填
           apiRequest.setUserName("test-cslc-dev");
           //必填
           apiRequest.setProvinceCenterId("32");

           apiRequest.setFullName("测试体彩登陆");
           apiRequest.setRoleCd("R801,R802,R803,R804,R805");
           apiRequest.setIsOfficer("0");
           try {
               LoginUserTokenGetResponse apiResponse = apiClient.execute(apiRequest);
               // API调用成功
               System.out.println("API调用结果:"+apiResponse.getBody());
           } catch (ECApiException e) {
                // API调用失败
                e.printStackTrace();
           }

# 获取电子合同系统合同下载地址等信息

# 1、请求参数

  • 请求参数以表单形式提交,Content-Type值为: application/x-www-form-urlencoded;charset=utf-8
名称 类型 是否必须 描述
shopNo String 门店编号
ownerNo String 代销者编号
contractNature String 合同性质 0:生效合同 1:历史合同 (详情见字段解释)
  • 字段解释

  • contractNature业务场景介绍

业务字段 业务场景介绍
0 生效合同:未解约且当前时间大于合同开始时间小于合同结束时间的主合同和补充合同
1 历史合同:已解约或当前时间不在合同起始时间之前的主合同、补充合同、解约合同

# 2、响应参数

名称 类型 存在 描述
contractNo String 合同编号
contractType String 合同类型
internalUrl String 内部文件下载地址
url String 外部文件下载路径
timeout Integer 下载路径超时时间 单位:分钟
  • 字段解释

  • contractType业务场景介绍

业务字段 业务场景介绍
101 代销者主体合同
102 实体店主体合同
103 终端机主体合同
201 主体合同关联补充协议
301 部分解约合同
302 解约通知书合同

# 3、成功示例

JSON示例

{
    "data": [
        {
            "contractNo": "3200202010120009",
            "contractType": "101",
            "internalUrl": "http://172.16.3.228:20128/web/cslc-contract/contract-contract/5f840823de262d0001a1f41f/32/HtFXpp3ZCnu9tZ4o.pdf?token=6113ace36739b00001343630",
            "url": "http://222.190.151.227:20128/web/cslc-contract/contract-contract/5f840823de262d0001a1f41f/32/HtFXpp3ZCnu9tZ4o.pdf?token=6113ace36739b00001343630",
            "timeout": 30
        },
        {
            "contractNo": "32002020101201",
            "contractType": "201",
            "internalUrl": "http://172.16.3.228:20128/web/cslc-contract/contract-contract/5f840823de262d0001a1f41f/32/HtFXpp3ZCnu9tZ4o.pdf?token=6113ace36739b00001343631",
            "url": "http://222.190.151.227:20128/web/cslc-contract/contract-contract/5f840823de262d0001a1f41f/32/HtFXpp3ZCnu9tZ4o.pdf?token=6113ace36739b00001343631",
            "timeout": 30
        }
    ]
}

# 4、SDK请求示例


           EcontractClient apiClient = new DefaultEcontractClient("http://localhost:8600", "xxxxxx");
           ContractDownloadRequest apiRequest = new ContractDownloadRequest();
           //必填 代销者编号
           apiRequest.setOwnerNo("77777777");
           
           //必填 合同性质 0生效合同 1历史合同
           apiRequest.setContractNature("1");
           
           //必填 门店编号
           apiRequest.setShopNo("88888888");
           
           try {
           ContractDownloadResponse apiResponse = apiClient.execute(apiRequest);
           // API调用成功
           List<ContractDownloadResponse.Result> data = apiResponse.getData();
           
           System.out.println("API调用结果:"+ JSONObject.toJSONString(data));
           
           } catch (ECApiException e) {
               // API调用失败
               e.printStackTrace();
           }

# 开启关闭sdk错误日志

//开启日志
ApiLogger.setNeedEnableLogger(true);
//关闭日志
ApiLogger.setNeedEnableLogger(false);

# SDK 版本变动记录

最后更新于: 10/14/2021, 1:58:50 PM