轻轻松松四步走,OpenAPI一键自定义
在项目开发过程中,经常会需要在第三方系统中对苍穹的数据进行增删改查以及其他一些操作等,这个时候就需要用到我们的OpenAPI了。
1 需求场景
现在有一个第三方系统,需要调用苍穹的数据,有时候操作服务满足不了业务需求的时候,可以使用自定义服务,自己去实现业务逻辑,然后再将数据返回。
· 名词解释 ·
操作服务:将业务对象(单据、基础资料)的操作(保存、提交、查询等)一键发布成OpenAPI,系统自动生成服务接口和服务契约。
自定义服务:可以将任何功能开发出来,这类服务不依附任何业务对象,出入参数可以完全自定义。
2 操作步骤
如何实现第三方系统通过自定义服务调用,具体操作如下:
第一步:新建第三方应用
1. 找到开发服务云→开放平台→第三方应用,然后新增第三方应用。
2.输入系统编码,系统名称等,自行设置系统密码,然后保存,其中系统编码和系统密码在后续调用接口过程中需要用到。
第二步:编写自定义服务插件
自定义服务需要自己编写自定义服务插件,实现IBillWebApiPlugin接口,然后实现doCustomService方法,在该方法内去实现自己的逻辑。如下以实现一个“HelloWorld”为例。
public class HelloWorldPlugin implements IBillWebApiPlugin{ @Override public ApiResult doCustomService(Map<String, Object> params) { // TODO Auto-generated method stub //实现业务逻辑。。。 ApiResult apiResult = new ApiResult(); apiResult.setSuccess(true); apiResult.setErrorCode("success"); apiResult.setMessage("HelloWorld Success"); apiResult.setData(null); return apiResult; } }
第三步:新建API服务
1.找到开发服务云→开放平台→新建API服务,这里会弹出三种服务需要你选择,选择自定义服务。
2.点击创建自定义服务后,然后选择请求方式,接着填写名称和编号等信息,以及在左下角注册插件。如果需要对用户授权,这里也可以选择授权用户等。最后保存即可。(其中请求地址是自动生成,后续调用接口需要用到)
第四步:从第三方系统调用自定义接口
调用苍穹接口的步骤大致分为以下几步:
步骤一:获取应用令牌
[api访问地址前缀] /api/getAppToken.do [POST]
1. 接口描述:允许第三方系统通过API得到应用Token。
2. 功能说明:根据第三方appid[对应第三方应用的系统编码]和appSecuret[对应第
三方应用的系统密码]返回后续API访问所需要的app_token[应用令牌]字串。
3. HTTP请求方式:POST
4. 请求参数格式:JSON
5. 返回格式:JSON
http://localhost:8080/ierp/api/getAppToken.do 请求参数: { "appId": "apidemo", "appSecuret": "123456", "tenantid": "ierp", "accountId": "1011032813039780864", "language": "zh_CN" } 请求结果: { "data": { "app_token": "59809983-d335-4d0f-b35f-cc718df3351e", "success": true, "error_desc": "", "expire_time": 1606293055514, "error_code": "0" }, "state": "success" }
6. 参数说明
传入参数:
返回参数:
步骤二:登录API接口(获取用户令牌)
[api访问地址前缀] /api/login.do [POST]
2. 功能说明:根据用户标识和标识类登录到系统并返回后续API访问所需要的access_tokent字串。
3. HTTP请求方式:POST
4. 请求参数格式:JSON
5. 返回格式:JSON
http://localhost:8080/ierp/api/login.do
请求参数:
{ "user": "135xxxxxxxx", "apptoken": "59809983-d335-4d0f-b35f-cc718df3351e", "tenantid": "ierp ", "accountId": "1011032813039780864", "usertype": "Mobile" } 请求结果: { "data": { "access_token":"Lpj3ak2vxbCmDfhX9WytGHA47vy9wsvQemPBNO89hRjVmjzuexElcNU7yXC5jmKid1VflTNov0n5Tql1RoGowhdmi4A11UTHYU8G4WLqoUTAiAtcAuYC1Ba55GCVsv5K", "success": true, "error_desc": "", "expire_time": 1606293736507, "error_code": "0" }, "state": "success" }
6. 参数说明
传入参数:
返回参数:
特别说明:在用 access_token 访问的过程中,如果 response error code 的值为 1,表示该 access_token 已经超时。
步骤三:调用 “HelloWorld ”接口
[api访问地址前缀]/kapi/[API服务中的请求地址]
2. 请求头:
Content-Type=application/json,accessToken=上一步获取的token
3.请求示例:
步骤四:退出登录API接口
[api访问地址前缀] /api/logout.do [POST]
2. 功能说明:根据用户access_tokent字串退出。
3. HTTP请求方式:POST
4. 请求参数格式:JSON
5. 返回格式:JSON
6. 调用限制:无
http://localhost:8080/ierp/api/logout.do
请求参数:
{ " accessToken": "Y0YwpgXS5kgLJyw3abQ7wZ6uIfemU93ow8HbE48nimrKYKrsYfU3aq6lwZUadKbuSa0ijNrDSrTWY3Vm6k2gP9F3KnEYB0GCpHN7Vqgk2chtEneKuAmG5ADZLjV8hj4o" } 请求结果: { "data": { "success": true, "error_desc": "", "error_code": "0" }, "state": "success" }
传入参数:
3 参考资料
#往期推荐#
更多精彩内容,“码”上了解!↓
轻轻松松四步走,OpenAPI一键自定义
本文2024-09-23 00:27:26发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-139579.html