【无需通过报表】外部系统如何通过星瀚的OpenAPI接口获取多维数据?
合并报表-查询多维数据说明文档
查询多维数据标准接口文档.docx
日期 | 版本 | 说明 | 作者 |
2023/07/18 | V0.0.1 | 新增文档 | 蓝华贵 |
目录
1 文档简介
1.1 特别声明
未得到本公司的书面许可,不得为任何目的、以任何形式或手段(包括但不限于机械的或电子的)复制或传播本文档的任何部分。对于本文档涉及的技术和产品,本公司拥有其专利(或正在申请专利)、商标、版权或其它知识产权。除非得到本公司的书面许可协议,本文档不授予这些专利、商标、版权或其它知识产权的许可。
本文档因产品功能示例和描述的需要,所使用的任何人名、企业名和数据都是虚构的,并仅限于本公司内部测试使用,不等于本公司有对任何第三方的承诺和宣传。
1.2 阅读对象
贵公司的技术部门的开发、维护及管理人员,应具备以下基本知识:
1. 了解HTTPS/HTTP协议等内容。
2. 了解信息安全的基本概念。
3. 了解计算机至少一种编程语言。
1.3 产品说明
本开发手册对该系统功能接口进行详细的描述,通过该指南可以对本系统有全面的了解,使技术人员尽快掌握本系统的接口,并能够在本系统上进行开发。
2 接口列表
2.1 查询多维数据微服务接口
接口地址:kd.fi.bcm.service.OlapDataQueryMsService.queryData(String jsonParam)
请求类型:微服务调用
接口备注:根据传入的体系和维度组合查询多维数据。
注意:1. 返回字段默认不包含名称,如果要包含则入参需设置param.setIncludeName(true);编码和名称以分隔符|拼接在一起,使用时需自行截取。
2. 接口有限制返回数据量最大为20W行,建议按组织分批查询;如果确实需要单次返回更多数据,则通过MC配置参数fi.bcm.queryolapdata.top可自定义结果行最大返回数,由用户自行承担性能风险。
入参包括以下3部分:
1. 体系编码modelNum,必填项。示例:CUBElhg2023011631995558895860736
2. 固定维度组合fixDim。包括财年、期间、情景,每个维度只允许传入一个值,固定维不支持范围。
3. 可选维度组合filters支持范围查询,并且同一维度可设置多个过滤条件,取并集。如果设置了filter但最终未找到任何满足的成员,则报传入参数错误。其中scope范围,可选项,不设置即自身过滤;可选范围为以下枚举值:
a) 10:仅自己
b) 20:直接下级不包含自己
c) 30:直接下级包含自己
d) 40:所有下级不包含自己
e) 50:所有下级包含自己
f) 60:平级不包含自己
g) 70:平级包含自己
h) 90:所有下级_仅明细成员
i) 110:所有下级_仅非明细成员
请求示例:
请求参数json示例:
{ "excludeDynaData": false,--是否排除动态计算数据,默认不排除 "includeNull": false,-- 是否包含空值,默认不包含 "includeName": false,-- 返回字段是否包含名称,默认不包含 "filters": [ { "dim": "Entity", "scope": "50", "val": [ "BCM2022" ] }, { "dim": "Account", "scope": "50", "val": [ "R1001" ] }, { "dim": "InternalCompany", "scope": "10", "val": [ "ICNone" ] }, { "dim": "Process", "scope": "10", "val": [ "IRpt", "SRPT" ] }, { "dim": "AuditTrail", "scope": "10", "val": [ "EntityInput" ] }, { "dim": "Currency", "scope": "10", "val": [ "CNY" ] } ], "fixDim": { "Year": "FY2021", "Period": "M_M01", "Scenario": "MRpt" }, "showDims": [ "Entity", "Account", "Year", "InternalCompany", "Period", "Process", "Scenario" ] } |
校验逻辑:
1. 体系编码cube有效,且当前用户具有体系使用权
2. 入参固定维度组合必填且值有效
3. 可选维度如果设置了值,则必须找到相应成员,否则报错
4. 可选维度中组织维必填,且当前用户具有组织的查询权限(体系管理员不验权)。如果部分组织无权,则报错(可通过MC配置参数fi.bcm.queryolapdata.ignorePermCheck跳过无权组织,只查询有权组织数据)
5. 查询结果行不能超过20W,超出则报错不返回结果(可通过MC配置参数fi.bcm.queryolapdata.top自定义结果行最大返回数)
返回结果示例:
{ "data": { "datas": [ [ "HH000001", "R1008", "FY2021", "WB1", "M_M01", "IRpt", "MRpt", 100 ], [ "HH000001", "R1008", "FY2021", "WB2", "M_M01", "IRpt", "MRpt", 1 ], [ "HH000001", "R1011", "FY2021", "WB2", "M_M01", "IRpt", "MRpt", 2 ], [ "HH000001", "R1006", "FY2021", "Q1", "M_M01", "IRpt", "MRpt", 2 ], [ "HH000001", "R1005", "FY2021", "P8", "M_M01", "IRpt", "MRpt", 8 ] ], "dimension": [ "Entity", "Account", "Year", "InternalCompany", "Period", "Process", "Scenario" ] }, "success": true, "errorCode": "success" } |
2.2 查询多维数据open api
API登记在开发服务云的开放平台应用下,菜单路径为:API管理-->API开发-->企业绩效云-->合并报表-->维度管理-->多维数据查询服务。具体参数说明如下截图:
API测试页面:
后端代码开发步骤:
2.2.1 获取appToken
接口地址:https://xxx/ierp/api/getAppToken.do
请求类型:application/json
请求方式:post
接口备注:获取访问环境apptoken
请求示例:
{ "appId":"cm", "appSecuret":"112233445566778899", "accountId":"201912162149311243" } |
返回示例:
{ "data": { "app_token": "7cc75dec-ad53-4f48-8769-139e9ebc5512", "success": true, "error_desc": "", "expire_time": 1642589280954, "error_code": "0" }, "state": "success" } |
2.2.2 登录
接口地址:https://xxx/ierp/api/login.do
请求类型:application/json
请求方式:post
接口备注:登录系统
请求示例:
{ "user":"17299999999", "password":"1234567", "apptoken":"7cc75dec-ad53-4f48-8769-139e9ebc5512", "accountId":"201912162149311243", "logintype":"2" } |
返回示例:
{ "data": { "access_token": "201912162149311243_DNSW7Lz1X0qWLcqJPRVBxM0yGK4Cq9m0cJsMvcfQ0rOrhXDOOOV9JvHXAlsO1mpTXGaG5XVJXAnJjWT81VtgjIL6BqsxS1d8wIP7", "success": true, "error_desc": "", "expire_time": 1642589352012, "error_code": "0" }, "state": "success" } |
2.2.3 查询多维数据接口
接口地址:
https://xxx/ ierp/kapi/v2/cm/olap/queryOlapDatas /?access_token=201912162149311243_YEHDR6MVs7mehmtDccervEHkd8U6hWuLUiDM1B1u2njm4X2Ag0y2KrlmCHscoGU0GNIEpl6Cf6idr37qoyUnIMlvc2QnVszfwfSc
请求类型:application/json
请求方式:post
URI参数说明:
参数名称 | 示例值 | 类型 | 参数说明 |
access_token | 201912162149311243_YEHDR6MVs7mehmtDccervEHkd8U6hWuLUiDM1B1u2njm4X2Ag0y2KrlmCHscoGU0GNIEpl6Cf6idr37qoyUnIMlvc2QnVszfwfSc | String | 访问token |
请求示例:
{ "modelNum":"CUBElhg2022011733378444001057792", "parmas":{ "excludeDynaData": false, "includeName": true, "filters": [ { "dim": "Entity", "scope": "50", "val": [ "BU-00002" ] }, { "dim": "Account", "scope": "10", "val": [ "R1003" ] }, { "dim": "Process", "scope": "50", "val": [ "Process" ] }, { "dim": "Currency", "scope": "10", "val": [ "CNY" ] } ], "fixDim": { "Year": "FY2020", "Period": "M_M01", "Scenario": "MRpt" }, "showDims": [ "Entity", "Account", "Year", "InternalCompany", "Period", "Process", "Scenario" ] } } |
返回示例:
{ "data":{ "datas":[ [ "BU-00002|BU-00002A", "R1003|资产总计", "FY2020|2020年", "001|中国1", "M_M01|1月", "IRpt|报表", "MRpt|月报", "10" ], [ "BU-00002|BU-00002A", "R1003|资产总计", "FY2020|2020年", "001|中国1", "M_M01|1月", "ERpt|报表调整后-本币", "MRpt|月报", "10" ], [ "BU-00002|BU-00002A", "R1003|资产总计", "FY2020|2020年", "001|中国1", "M_M01|1月", "Rpt|报表调整后", "MRpt|月报", "10" ], [ "BU-00002|BU-00002A", "R1003|资产总计", "FY2020|2020年", "001|中国1", "M_M01|1月", "EIRpt|报表-本币", "MRpt|月报", "10" ] ], "dimension":["Entity","Account","Year","InternalCompany","Period","Process","Scenario"] }, "errorCode":"0", "message":null, "status":true } |
3 附录
3.1 返回码列表
errorCode:验证失败的错误信息
success:成功为true,失败为false
【无需通过报表】外部系统如何通过星瀚的OpenAPI接口获取多维数据?
本文2024-09-22 23:13:02发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-131626.html