电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

金蝶EAS-EAS费用报销openAPI1.1.docx

金蝶EAS-EAS费用报销openAPI1.1.docx_第1页
1/11
金蝶EAS-EAS费用报销openAPI1.1.docx_第2页
2/11
金蝶EAS-EAS费用报销openAPI1.1.docx_第3页
3/11
EAS费用报销OPENAPI1.描述本openapi接口仅适用于费用报销模块单据导入。单据导入接口支持导入(通过EASDEP/BIM工具)动态新增的属性(字段)。注意:openApi接口在eas8.5.0及以上版本才支持,8.5需要更新到费用补丁PT151074,8.6.1需要更新到费用补丁PT155366才支持。2.接口说明接口描述:导入单据接口URL:http://ip:port/easportal/openapi/api?token=?(token获取可参考接口调用)接口API:cpbcOpenAPI_importBill接口参数说明:参数类型含义bosTypeString单据的bostype(如费用报销单:4A44F49F)dataString单据对象数组Json字符串paramsString参数对象,必须包含属性actionType,actionType可选值为submit/save(1)http请求的body{"api":"cpbcOpenAPI_importBill","data":[“4A44F49F”,data,{“actionType”:”submit”}]}其中”data”中的data参数为要导入单据,为数组格式,可放入多张同类型单据,可参考3.2单据data示例:请求body示例:{"api":"cpbcOpenAPI_importBill","data":["4A44F49F",[{"bosType":"4A44F49F","entries":[]}],{"actionType":"submit"}]}(2)http请求返回值为String,JSON格式。JSON格式如下:{“status”:0,“msg”:“信息”“billErrors”:[{“id”:””,”number”:””,errorMsgs:[“”,””]},{结构同前面的},…]}值说明:status:处理结果:0:全部成功1:全部失败2:部分成功msg:描述信息billErrors:单据错误清单,描述不能导入的原因。status:0:导入成功1:导入失败,id:单据id,number:单据编码,errorMsgs:错误信息集。3.单据字段说明3.1数据类型的格式说明单据的数据格式为JSON,下面的表格描述了每种数据类型的格式要求,传入的数据请严格遵照以下的格式。数据类型说明格式要求ID最大长度为44为的字符串“id”:”A093893DF”数值小数值,金额类的小数位最多为2位。“amount”,23.95整数整数值。“year”:2013日期日期,要求为yyyy-mm-dd“bizDate”:”2013-06-19”时间日期,时间类型,要求为yyyy-mm-ddHH:MM:SS“createTime”:”2013-06-1914:58:23”字符串字符串“name”:”nokia手机”枚举枚举项“status”:2基础数据EAS系统中的基础数据,采用对象形式表示,需要传入其编码。“applier”:{“number”:”ellen”}布尔型值为true/false。“isTax”:true单据数据模型不需要维护单据id分录id和分录的billid,会在单据保存时自动生成引入接口不校验金额关系,需要构建好单据中金额数值关系,否则操作时可能会失败基础数据类型属性,不推荐加入id,如果id不符合EAS系统id规则且无对应基础数据存在,导入时或者在单据后续流程中可能会发生异常,。说明:单据模型可通过dep单据扩展平台查看实体或者bos开发工具查看元数据必录字段包含且不限于以下字段:3.2单据data示例(为单据对象数组Json字符串):[{"overAmountDesc":"1111","bosType":"4A44F49F","isWithTax":false,"budgetAmount":0,"applier":{"number":"ellen"},"bizDate":"2013-06-19","applierCompany":{"number":"LLJT.01"},"orgUnit":{"number":"LLJT.01.01"},"company":{"number":"LLJT.01"},"costedDept":{"number":"LLJT.01.01"},"currencyType":{"number":"CNY"},"cause":"cpbcopenApi","bizReqDate":"2013-06-19","prior":"30","state":25,"entries":[{"happenTime":"2013-06-19","amount":1000,"amountOri":1000,"amountOriWithoutTax":1000,"tax":0,"amountApprovedOri":1000,"amountApproved":1000,"operationType":{"number":"LL002"},"expenseType":{"number":"B001.001"},"costCenter":{"number":"LLJT.01.01"},"company":{"number":"LLJT.01"},"currencyType":{"number":"CNY"},"exchangeRate":1,"convertMode":0,"exchangeRatePrecision":4}],"collectionEntries":[{"payerName":"testPayer","currencyType":{"number":"CNY"},"exchangeRate":1,"convertMode":0,"exchangeRatePrecision":4}]}]3.3请求”data”示例:["4A44F49F",[{"overAmountDesc":"1111","bosType":"4A44F49F","isWithTax":false,"budgetAmount":0,"applier":{"number":"ellen"},"bizDate":"2013-06-19","applierCompany":{"number":"LLJT.01"},"orgUnit":{"number":"LLJT.01.01"},"company":{"number":"LLJT.01"},"costedDept":{"number":"LLJT.01.01"},"currencyType":{"number":"CNY"},"cause":"cpbcopenApi","bizReqDate":"2013-06-19","prior":"30","state":25,"entries":[{"happenTime":"2013-06-19","amount":1000,"amountOri":1000,"amountOriWithoutTax":1000,"tax":0,"amountApprovedOri":1000,"amountApproved":1000,"operationType":{"number":"LL002"},"expenseType":{"number":"B001.001"},"costCenter":{"number":"LLJT.01.01"},"company":{"number":"LLJT.01"},"currencyType":{"number":"CNY"},"exchangeRate":1,"convertMode":0,"exchangeRatePrecision":4}],"collectionEntries":[{"payerName":"testPayer","currencyType":{"number":"CNY"},"exchangeRate":1,"convertMode":0,"exchangeRatePrecision":4}]}],{"actionType":"submit"}]4.二开相关dep扩展字段直接加入data数据模型中,在dep启用的情况,会自动保存到数据库中。如果需要二次开发开导入处理类1、修改类路径下:com/kingdee/eas/cp/bc/app/cpbcImporterConfig.properties文件,修改bostype对应的导入处理类为二开的类。2、该类必须继承自com/kingdee/eas/cp/bc/app/openApi/AbstractDefaultImporter.java或者每个单据的具体导入实现类(如费用报销单:BizAccountBillImporter)5.接口调用5.1http调用方式1.登录:先要进行单点登录,有以下两种方式:(1)普通用户密码方式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":"执行成功"}username:用户password:密码dcName:数据中心代码language:语言slnName:easauthPattern:验证方式默认"BaseDB";其他认证方式KEY可从easAuthPatterns.xml中获取。如BaseTrdLtpaToken可动态切上下文isEncodePwd密码是否加密方式传递,0未加密,1加密(加密方式为DES,key为username,可以引用common.jar)appid:第三方拥有权限的应用编码(共享模式不用传均可以调通)。目前费用的OpenAPI接口都是非共享的,所以第三方系统调用需要加上这个参数(参考6中OpenAPI用户手册)errCode为0代表执行成功,其他为失败(2)LtpaToken免密码方式http://localhost:6888/easportal/openapi/login?user=zj001&dcName=EAS850BETA3&language=l2&password=AAECAzVFOUZCNDUyNUU5RkJCNUF6ajAwMQHwJDFSCal3H3RqdinkCvOAVrKI&authPattern=BaseTrdLtpaTokenusername:用户password:ltpatokendcName:数据中心代码language:语言slnName:easauthPattern:BaseTrdLtpaTokenappid:第三方拥有权限的应用编码(共享模式不用传均可以调通)errCode为0代表执行成功,其他为失败ltpatoken可参照文档附件中的:第三方系统单点登录到EAS的二次开发指南.docx如java为Stringusername="user";Stringpassword=LtpaTokenManager.generate(username,filePath).toString();详细请看上述文档2.调用:http://ip:port/easportal/openapi/api?token=?请求body{"api":"cpbcOpenAPI_importBill","data":[“4A44F49F”,data,{“actionType”:”submit”}]}返回结果{"data":"{}","errCode":0,"errMsg":"执行成功"}result为最终执行的结果5.2第三方java程序内调用方式Stringip="172.17.6.176";intport=8080;StringuserName="zj003";Stringpassword="";StringdcName="EAS860NEW";Stringlanguage="l2";EASLoginContextloginCtx=newEASLoginContext.Builder(ip,port,newCommonLogin.Builder(userName,password,dcName,language)//.appid("test").build()).https(false)//是否https.build();OpenApiInfoinfo=newOpenApiInfo();info.setApi("cpbcOpenAPI_importBill");info.setData(3.3请求”data”示例);OpenApiopenApi=OpenApiFactory.getService(loginCtx);Stringresult=openApi.invoke(info);System.out.println("----------result:"+result);第三方依赖包:openapi-server.jar或sp-openapi-server.jarlog4j-1.2.15.jarfastjson-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.Example2.如果调用过程中出现404报错,有可能是调用的访问路径不在白名单之中,被拦截,需要手动添加白名单路径,配置文件的路径为:apusic/domains/server*/config/web.xml。具体如下图allow_urls新增/easportal/openapi/6.OpenAPI常见问题第三方应用使用OpenAPI之前一定要先看用户手册,了解相关基本配置。调用出现问题或报错先在OpenAPI常见问题里面查找解决方案。OpenAPI用户手册:https://vip.kingdee.com/article/98349464997083392OpenAPI常见问题可参考以下云社区链接。https://vip.kingdee.com/article/1756226423540779527.测试OpenApi接口是否能调用成功可以通过postman测试1.获取tokenhttp://127.0.0.1:6888/easportal/openapi/login?authPattern=BaseDB&dcName=EAS85&isEncodePwd=0&language=l2&password=&user=yangappid=124456username:用户password:密码dcName:数据中心代码language:语言slnName:easauthPattern:验证方式默认"BaseDB";其他认证方式KEY可从easAuthPatterns.xml中获取。如BaseTrdLtpaToken可动态切上下文isEncodePwd密码是否加密方式传递,0未加密,1加密(加密方式为DES,key为username,可以引用common.jar)appid:第三方拥有权限的应用编码(共享模式不用传均可以调通)。目前费用的OpenAPI接口都是非共享的,所以第三方系统调用需要加上这个参数(参考6中OpenAPI用户手册)返回格式:{"data":"{"token":"qZbT9PATjqwuINItQwIZxCSYjesmiDtSYVIPuvV3LzPty2feKpVeFdJrcRnUS9iL"},"errCode":0,"errMsg":"执行成功"}注意:第三方调用,url要加appid参数2.调用OpenApi接口通过以上获取到的token,发起以下http请求,如果返回执行成功,说明OpenApi接口调通了http://127.0.0.1:6888/easportal/openapi/api?token=bLgs6Ae9ZbBmbkFqG9vkeY11xgdB1x0OIN3DjWS79iGvcM/qTiglK1sGNVYSmAhh请求body示例:{"api":"cpbcOpenAPI_importBill","data":["4A44F49F",[{"bosType":"4A44F49F","entries":[]}],{"actionType":"submit"}]}8.文档附件:1.2.

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

金蝶EAS-EAS费用报销openAPI1.1.docx

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信