SDK说明#
为简化ISV接入操作步骤,我们提供了服务端SDK,SDK是企享云提供给ISV的软件开发工具包,降低ISV接入难度,聚焦业务数据,快速开发上线。使用SDK可以提升开发效率,主要原因包括:SDK提供了结构化的API请求入参,对API调用提供了公共调用结构化封装。
SDK提供了完整的访问凭证(access_token)生命周期管理能力,无需开发者自己获取并刷新访问凭证。
目前我们仅提供了Java语言的SDK,核心文件edf-agg-sdk.jar,其他语言后续提供支持。在使用SDK的过程中,如果遇到问题,请联系我们的客服。SDK调用#
下载SDK#
引入SDK#
<dependency>
<groupId>io.github.qixiangyun</groupId>
<artifactId>edf-agg-sdk</artifactId>
<version>1.0.24</version>
</dependency>
2)添加依赖组件 HttpClient、fastjson <dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.4.1</version>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.62</version>
<scope>compile</scope>
</dependency>
SDK调用#
参考以下代码,使用获取的appKey、appSecret初始化sdk AggOpenAPI aggOpenAPI = new AggOpenAPI(apiHost, appKey, appSecret);
参数说明#
| 参数 | 类型 | 必填 | 说明 |
|---|
| apiHost | String | 是 | API网关地址,如 https://api.qixiangyun.com |
| appKey | String | 是 | 应用Key,由服务提供商分配 |
| appSecret | String | 是 | 应用密钥,由服务提供商分配 |
| socketTimeout | int | 是 | 请求读取超时时间(毫秒) |
| connectTimeout | int | 是 | 请求连接超时时间(毫秒) |
调用示例(用于快速调试,线上使用参考项目使用示例)#
AggOpenAPI aggOpenAPI = new AggOpenAPI(apiHost, appKey, appSecret);
aggOpenAPI.setSocketTimeout(45000);
aggOpenAPI.setConnectTimeout(3000);
JSONObject param = new JSONObject();
JSONObject result = new JSONObject();
JSONArray fpcyQueryList = new JSONArray();
JSONObject fpcy = new JSONObject();
fpcyQueryList.add(fpcy);
fpcy.put("fpdm", "11002121**");
fpcy.put("fphm", "092841**");
fpcy.put("kprq", "2021-09-06");
fpcy.put("je", 123.45);
param.put("cyList", fpcyQueryList);
// 通用接口调用,传入接口地址和业务参数(json 格式字符串)
result = openAPI.rest("/v2/invoice/cy", param.toJSONString());
System.out.println(JSON.toJSONString(result));
项目使用示例#
注: AggOpenAPI 处理了 access token 的缓存,请保持单例调用,不要多次实例化
@Bean
public AggOpenAPI getOpenApi()
{
AggOpenAPI aggOpenAPI = new AggOpenAPI(apiHost, appKey, appSecret);
aggOpenAPI.setSocketTimeout(45000);
aggOpenAPI.setConnectTimeout(3000);
return aggOpenAPI;
}
@Autowired
AggOpenAPI openApi;
public void fpcy()
{
JSONObject param = new JSONObject();
JSONObject result = new JSONObject();
JSONArray fpcyQueryList = new JSONArray();
JSONObject fpcy = new JSONObject();
fpcyQueryList.add(fpcy);
fpcy.put("fpdm", "11002121**");
fpcy.put("fphm", "092841**");
fpcy.put("kprq", "2021-09-06");
fpcy.put("je", 123.45);
param.put("cyList", fpcyQueryList);
// 通用接口调用,传入接口地址和业务参数(json 格式字符串)
result = openApi.rest("/v2/invoice/cy", param.toJSONString());
System.out.println(JSON.toJSONString(result));
}
SM4加密调用#
需在开放平台->项目管理->开发配置中开通#