About EnOS Reporting Tool API¶
EnOS Reporting Tool is a lightweight tool empowering you to build report templates and manage daily reporting tasks with no code. For more information, see EnOS Reporting Tool.
Reporting Tool provides API services to facilitate the entire lifecycle of report design, generation, and schedule including the management of report templates and template parameters, report generation, report task troubleshooting, etc.
For more information on how to invoke EnOS APIs, see Get Started with EnOS API.
API List¶
Reporting Tool provides the following API services.
Operation Name |
Description |
URL |
EnOS Cloud |
EnOS Edge |
---|---|---|---|---|
Create a report template |
/report-design-service/v1.0/report-file?action=create |
√ |
× |
|
Update a report template |
/report-design-service/v1.0/report-file?action=update |
√ |
× |
|
Query a report template |
/report-design-service/v1.0/report-file?action=query |
√ |
× |
|
Query a series of report templates |
/report-design-service/v1.0/report-file/list?action=query |
√ |
× |
|
Delete a report template |
/report-design-service/v1.0/report-file?action=delete |
√ |
× |
|
Query template parameters |
/report-design-service/v1.0/report-file/arguments?action=query |
√ |
× |
|
Generate a report |
/report-runtime-service/v1.0/report?action=create |
√ |
× |
API Editions¶
The following table lists the API services included in Reporting Tool Enterprise and Lightweight editions.
Operation Name |
Enterprise |
Lightweight |
---|---|---|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
API Request¶
A Reporting Tool API request consists of the following parts:
Request URI¶
METHOD https://{api-gateway}/{service-name}/{version}/{endpoint-url}?{action=<action>&{ }}
In the URI:
METHOD
:HTTP Method. For example,GET
orPOST
.api-gateway
:API gateway address. For example,app-portal-xxx.envisioniot.com
. It can be retrieved by logging in to the EnOS Management Console and clicking Help > Environment Information at the top right. Refer to the address under API Gateway.service-name
:Service name. For example,report-design-service
orreport-runtime-service
.version
:API version. For example,v1.0
.endpoint-url
:Resource name or operations on resources. For example,report-file
orpreview
.action=<action>&
:Query parameters in URI. Use&
as delimiters if there are multiple parameters. For example,action=query&orgId=yourOrgId
.
Request Header¶
The fields required by REST API specification or the HTTP specification are bound in the request header.
The commonly used request header is Content-Type
, which represents the data submission method. In general, its value can be set toapplication / json; charset = UTF-8
; if file upload or other form submission is performed, the value is set to multipart / form-data; charset = UTF-8
.
Request Parameters (Body)¶
The parameters in the request body vary depending on API services. The typical parameters used to designate a report template are listed below.
Name |
Data Type |
Description |
---|---|---|
reportKey |
String |
The unique key of the report template. |
reportId |
String |
The ID of the report template. |
originalId |
String |
The ID of the root report template. |
The priority of these parameters is as follows:
reportId
(highest) > reportKey
> originalId
(lowest).
Request Sample¶
#requestURI:
https://{api-gateway}/report-design-service/v1.0/report-file?orgId=yourOrgId&action=update
#requestbody:
{
"file": "yourFileLocation",
"reportKey": "yourKey",
"category": "R",
"type": "cus"
"originalId":"originalReportId"
}
API Response¶
The structure of a Reporting Tool API response is as below.
{
"msg": "{message}",
"code": {code},
"data": {data},
"success": {true/false}
}
Response Parameters¶
An API response consists of the following parameters.
Name |
Type |
Description |
---|---|---|
msg |
String |
Description of API request status. Reporting Tool API returns Success or the detailed error message for every API request. |
code |
Integer |
API request status code. Reporting Tool API returns 0 for a successful API request or a specific error code for a failed request. For more information, see Response Codes. |
data |
Array or Object |
The returned dataset. The data type includes basic type, complex type, or array. |
success |
String |
Reporting Tool API returns true or false to indicate if the API service was called successfully. |
Response Codes ¶
The table below describes all response codes.
Code |
Message |
Description |
---|---|---|
0 |
Success |
Success. |
93001 |
Request parameters are non-compliance. Illegal parameters are { } |
Illegal parameters are found in the request. |
93002 |
Request body is non-compliance. Illegal request body is { } |
Illegal body is found in the request. |
93008 |
Error occurred when downloading files from the remote storage. File path is { } |
Failed to download files from blob or S3. |
93009 |
Error occurred when parsing report arguments. |
Failed to parse report parameters. |
93010 |
No available report or no permission to query reports. Report file IDs are :/query operation error.condition:{ } |
Failed to query reports. |
93012 |
Error occurred when generating reports. Download URL is { }, type is { }, category is { } |
Failed to generate reports. |
93013 |
Found more than one rptdesign files in zip folder. Files are { } |
Multiple rptdesign files are found in the ZIP file. |
93014 |
No rptdesign found: neither a single file nor a zip file is uploaded. |
Failed to find a valid rptdesign file. |
93015 |
zip file is broken |
Corrupted ZIP file. |
93016 |
rptdesign file is not compliance: the mime type must be XML while the current mime type is { } |
Illegal rptdesign files. |
93017 |
Error occurred when processing report parameters, msg : { }/rptdesign file contains sensitive string |
Found incorrect report parameters during report generation. |
93018 |
Render report exception, report file name : { } , render type : {}, locale { } |
Failed to render reports during report generation. |
93028 |
Report key is in use: report Key { } , type { } , category { } |
Duplicate report template keys. |
93029 |
No available records found from database, query criteria are { } , we expected at least { } |
No available query results. |
93030 |
Report key { } is not consistent with the root key |
Inconsistent report template keys between the current template and its root template. |
93070 |
Error occurred when uploading files to remote storage. File path is { } |
Failed to upload files to blob or S3. |
93071 |
Error occurred when uploading files, type : { } , category : { } , file name : { } |
Failed to upload files. |
93072 |
Failed to initialize report context |
Failed to initialize report context. |
93074 |
Could not find the authority rptdesign, condition { }, orgId{ } |
No available rptdesign files. |
Response Samples¶
Sample of response success.
{
"msg": "Success",
"code": 0,
"data": {
"reportId": "yourReportId",
"fileName": "reportFileName.rptdesign"
},
"success": true
}
Sample of response failure.
{
"msg": "Report key yourEnteredKey is not consistent with the root key ",
"code": 93030,
"success": false
}