OpenAPI二开用户手册

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:2

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)      接口调用

       在方案的停用阶段可以进行方案/方法的配置编辑。在方案/方法配置完之后,要将该方案启用才可以调用该方案下面的接口。

  1. http调用方式
  • 登录:

        a. 普通用户密码方式

http://127.0.0.1:6888/easportal/openapi/login?authPattern=BaseDB&dcName=EAS850BETA3&isEncodePwd=0&language=l2&password=&user=zqtest

返回格式:

{

"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在附件


第三方系统单点登录到EAS的二次开发指南.zip

OpenAPI二开用户手册

前言本手册针对的是群体是现场的二开,实施同事:1,如何在标准产品已经开放的openAPI接口的基础上,去配置使用上述标准接口2,如何把自己...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息