费用报销OpenAPI接口说明

1.描述
本openapi接口仅适用于费用报销模块单据导入。
单据导入接口支持导入(通过EAS DEP /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
接口参数说明:
参数 | 类型 | 含义 |
bosType | String | 单据的bostype(如费用报销单:4A44F49F) |
data | String | 单据对象数组Json字符串 |
params | String | 参数对象,必须包含属性actionType,actionType可选值为submit/save |
(1)http请求的body
{
"api": " cpbcOpenAPI_importBill",
"data": [“4A44F49F”, data, {“actionType”:”submit”}]
}其中”data”中的data参数为要导入单据,为数组格式,可放入多张同类型单据,可参考3 .2 单 据 d ata 示例:
请求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-dd HH:MM:SS | “createTime”:”2013-06-19 14: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.1 http调用方式
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 : eas
authPattern :验证方式 默认 "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
费用报销OpenAPI接口说明
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



