OpenAPI二开用户手册
前言
本手册针对的是群体是现场的二开,实施同事:
1,如何在标准产品已经开放的openAPI接口的基础上,去配置使用上述标准接口
2,如何把自己二开的接口配置成openAPI接口
3,针对总部的业务同事如何把标准接口开放出去供现场使用,请在云桌面内网访问:云之家》知识中心(内网)》工作文档库,搜索:openAPI业务配置规范.docx
概述
本手册主要介绍金蝶EAS OpenAPI配置系统的基本概念、应用指导、典型应用案例以及详细的界面参数等内容。本手册的内容可以满足不同层次的使用用户,初学者可以通过快速入门迅速掌握编辑OpenAPI的基本操作过程;熟悉OpenAPI系统的用户也可以通过本手册来查阅界面参数的详细信息。
读者对象
本手册适用于金蝶EAS OpenAPI配置系统的应用用户。
约定
无特殊约定
支持版本 & 对应补丁
目前OpenAPI支持的版本为850及其以上版本,使用OpenAPI请首先确认补丁号,建议更新 运行引擎(BOS_RTE) 对应版本最新的补丁。(各版本BOS_RTE最新补丁可访问下面的链接查看)
850
https://vip.kingdee.com/article/429584013234517504?productLineId=8&isKnowledge=2
861
https://vip.kingdee.com/article/390812600558814464?productLineId=8&isKnowledge=2
880
https://vip.kingdee.com/article/393771761739066880?productLineId=8&isKnowledge=2
860公有云
BOS_RTE PT151777 同步860sp1,携带网关等内容
860私有云
BOS_RTE PT149430
1 概述
本章介绍OpenAPI配置系统相关的运行环境以及接口配置的总体操作流程,并介绍OpenAPI系统应用过程中所涉及到的一些基本概念。
运行环境介绍
OpenAPI的调用依赖于业务数据。在进行流程配置之前,需要了解并准备好相关的环境和数据。
EAS系统环境
EAS系统是流程的运行、监控和管理平台,同时,它为流程运行提供所需要的业务数据。操作前,请确保完成EAS系统的安装。
EAS系统提供客户端访问和Web访问的两种方式。通过客户端访问EAS系统需要安装配套版本的EAS客户端。目前OpenAPI配置系统只支持Web端访问。
业务数据
OpenAPI应用依赖于具体的业务数据,包括调用接口的相关信息(元数据、方法、参数等),第三方对接应用的相关信息。
操作流程介绍
OpenAPI的应用主要包含配置方案定义、方法配置、权限分配以及接口调用四个过程。如图:
2 快速入门
本节以应付单的新增接口调用为例,介绍OpenAPI的总体操作过程。通过本节内容的学习,您可以快速掌握OpenAPI的基本操作过程。
系统界面路径
EAS Web端 -> 应用 -> 集成管理 -> 接口服务 -> OpenAPI,进入OpenAPI系统。
OpenAPI管理、第三方对接应用管理,OpenAPI接口文档(供给现场开发查看使用)、OpenAPI调用日志(配置时候勾选日志才会开启)
1) 第三方对接应用配置
新增详情页面:
编码作为唯一标志,不允许重复。
功能支持批量删除,注意:已经被引用的第三方对接应用不允许删除(即在OpenAPI管理分配权限的第三方应用不允许直接删除)。
若弹框提示:该记录已被引用,无法删除。则需要先进入OpenAPI管理模块,找到对应方案权限分配列表中需要删除的第三方对接应用后,再去第三方对接应用管理界面删除。
2) 方案配置
在OpenAPI中,方案的概念即为OpenAPI的管理方案。每一个自定义方案都包含一套对应OpenAPI接口。用户可以根据权限,把不同的方案分配给不同的第三方对接应用。
在当前页面,进入“OpenAPI管理”页面,点击左侧树控件右上方的加号按钮进行方案新增。如下图所示:
勾选开启日志,后续可在“应用-OpenAPI调用日志”中查看
名称与编码为必填字段,其他字段可选填。“是否共享”勾选项表示是否对所有用户开放,目前默认已勾选,后续可根据权限选择性勾选。
方案的启用&禁用
已经启用的方案,不允许对方案进行删除和修改,方案下属的方法的操作按钮同时置灰。
注:在OpenAPI编辑和第三方对接应用管理都可以进行权限分配,显示方式不同。作用均为将第三方应用和方案进行绑定,操作一个模块,另一个模块中对应更新。
3) 方法配置
方法即OpenAPI可调用的接口,每一个接口必须挂靠在某一个方案之下。进入页面默认选中第一个API方案,已经启用的API方案需要先禁用,然后再进行方法的新增。在OpenAPI管理页面选中一个方案之后,然后点击“新增”按钮进行方法新增。如下图所示:
1、勾选接口说明列表:仅提供系统出厂提供的接口,如果需要其他标准接口需要像总部对应的业务部门提需求开放
2、勾选实体树:(这里的实体树只会加载com.kingdee.eas.custom开头的二开实体元数据)
进入页面后,根据控件顺序,首先完成“元数据信息”标签数据填写。“元数据类型”下拉框目前包含2种类型(entity、façade),类型的选择决定了“元数据”树型F7控件的展示内容。树型F7控件可以根据关键字搜索,目前只可选择叶子节点,聚焦某个节点时会浮显该节点的包路径。选择非叶子节点时,会在底端文本框显示当前选择节点的包路径。
当搜索不到想要的节点时,可以按F7按钮,在底端文本框直接输入元数据的全路径,填写完后直接回车即可。但对应的元数据是否可以调用需要找对应的业务部门确认。
如下图所示:
方法的配置是基于元数据的,当选择完元数据后,“方法”下拉框会展示当前元数据下的所有方法。如果下拉框数据过多,也可以直接双击“方法”文本区输入关键子进行搜索。
“基本信息”标签,根据实际情况填写即可。 “数据类型”下拉框目前只支持“JSON”系统会默认选择。编码和名称在选择完“元数据信息”里的方法后自动填充,编码规则“元数据-方法名”,且编码和名称唯一。编码规则“元数据-方法名”,默认通过选择方法生成的方式无法区分重载的方法,会预警编码已经存在不能重复。新增重载方法的时候要修改对应的编码和名称。
“入参/出参”标签,由选择“方法”后自动带出。“入参”的参数类型如果是抽象类或者接口,就必须填写自定义实现类(com.kingdee.bos.dao.IObjectPK除外)。
“示例”标签,在填写完入参/出参“示例”后,点击“生成示例”按钮自动生成。生成之后可以根据自己的需求相应的修改内容。
4) 权限配置
权限分配—新增,会列表显示“应用-第三方对接应用列表页面”配置的所有第三方应用,勾选需要进行权限分配的第三方应用。
方案新增方法完成后,需要和第三方应用对接,即权限分配。已经启用的方案不可操作,新增、编辑、删除按钮置灰,仅可进行权限分配操作。
5) 接口调用
在方案的停用阶段可以进行方案/方法的配置编辑。在方案/方法配置完之后,要将该方案启用才可以调用该方案下面的接口。
http调用方式
登录:
a. 普通用户密码方式
返回格式:
{
"data":"{"token":"qZbT9PATjqwuINItQwIZxCSYjesmiDtSYVIPuvV3LzPty2feKpVeFdJrcRnUS9iL"},
"errCode":0,
"errMsg":"执行成功"
}
user : 用户名
password : 密码
dcName : 数据中心代码
language : 语言
slnName : eas
authPattern :验证方式 默认 "BaseDB" ; 其他认证方式KEY可从easAuthPatterns.xml中获取。如BaseTrdLtpaToken可动态切上下文
isEncodePwd 密码是否加密方式传递,0未加密,1加密(加密方式为DES,key为username,可以引用common.jar )
appid:第三方拥有权限的应用编码(共享模式不用传均可以调通)
errCode 为0代表执行成功,其他为失败
b. LtpaToken 免密码方式
http://localhost:6888/easportal/openapi/login?user=zj001&dcName=EAS850BETA3&language=l2&password=AAECAzVFOUZCNDUyNUU5RkJCNUF6ajAwMQHwJDFSCal3H3RqdinkCvOAVrKI&authPattern=BaseTrdLtpaToken
user : 用户名
password : ltpatoken
dcName : 数据中心代码
language : 语言
slnName : eas
authPattern : BaseTrdLtpaToken
appid:第三方拥有权限的应用编码(共享模式不用传均可以调通)
errCode 为0代表执行成功,其他为失败
ltpatoken 可参照 第三方系统单点登录到EAS的二次开发指南.docx
如java 为
String username = "user";
String password = LtpaTokenManager.generate(username,filePath).toString();
详细请看上述文档
调用:
http://ip:port/easportal/openapi/api?token=?
请求body
{
"api": "方法number",
"data": [参数1,参数2…], "
}
返回结果
{
"data":"{}",
"errCode":0,
"errMsg":"执行成功"
}
result 为最终执行的结果
第三方java程序内调用方式
String ip = "172.17.6.176";
int port = 8080;
String userName = "zj003";
String password = "";
String dcName = "EAS860NEW";
String language = "l2";
EASLoginContext loginCtx = new EASLoginContext.Builder(ip, port,
new CommonLogin.Builder(userName, password, dcName, language)
//.appid("test")
.build())
.https(false)//是否https
.build();
OpenApiInfo info = new OpenApiInfo();
info.setApi("undefined-addnew");
info.setData("[{1213213}]");
OpenApi openApi = OpenApiFactory.getService(loginCtx);
String result = openApi.invoke(info);
System.out.println("----------result:" + result);
第三方依赖包:
openapi-server.jar或sp-openapi-server.jar
log4j-1.2.15.jar
fastjson-1.2.58.jar
获取方式
\eas\server\lib\common\trd
\eas\server\lib\server\bos\openapi-server.jar或eas\server\lib\patch\ sp-openapi-server.jar(只需要一个)
ps:
1. 具体的调用样例可反编译查看
com.kingdee.bos.openapi.third.login.Example
2. 如果调用过程中出现404报错,有可能是调用的访问路径不在白名单之中,被拦截,手动添加allow_urls即可,配置文件的路径为:apusic/domains/server*/config/web.xml。具体如下图
allow_urls新增/easportal/openapi/
PS:登录相关文档和jar在附件
OpenAPI二开用户手册
本文2024-09-22 19:53:37发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-110117.html