Table of Contents

Execute report

To execute a report, use the command report/exec_report:

svc=report/exec_report&params={"reportResourceId":<long>,
			       "reportTemplateId":<long>,
			       "reportObjectId":<long>,
			       "reportObjectSecId":<long>,
			       "reportObjectIdList":[<uint>, ...]},
			       "interval":{
			       		"from":<uint>,
			       		"to":<uint>,
			       		"flags":<uint>
			       },
                               "remoteExec":<uint>,
			       "reportTemplate":<object>}

:!: Attention! There can be only one report in a session at the same time. Therefore if a session already has some report results, they must be cleared before executing a new report - with the command report/cleanup_result. Also current request can't be executed simultaneously with following requests:

:!: You can find an example of this request in the sample Reports.

Parameters

Name Description
reportResourceId resource ID
reportTemplateId template ID
reportObjectId item ID
reportObjectSecId subitem ID (like driver, trailer or their groups), 0 - if the item has no subitems
reportObjectIdList extra items ID array (for unit groups report)
interval report interval settings
from interval beginning, UNIX-time
to interval end, UNIX-time
flags interval flags
remoteExec 1 - execute report on server side (optional parameter, used only with next request report/get_report_status);repsonse is JSON empty means that server takes report to proceed
reportTemplate JSON of report template, which you can get from get_report_data request (optional parameter, used only if reportTemplateId equals 0)

:!: reportResourceId is required parameter, report will be executed as creator of this resource if reportTemplateId equals 0.

Interval flags:

Flag Description
0x00 specified interval
0x01 starts 'From' until today
0x02 for previous n days
0x04 for previous n weeks
0x08 for previous n month
0x10 for previous n years
0x20 including current
0x40 for previous n hours
0x40 for previous n minutes

Response

{
	"reportResult":{	        	/* report execution result */
		"msgsRendered":<int>,		/* messages loaded: 0 - no, 1 - yes */
		"stats":[			/* array of statistics parameters */
			[<text>,<text>]		/* [parameter name, value] */
		],
        "tables":[          /* array of tables */
            {
                    "name":<text>,      /* table type */
                    "label":<text>,     /* name */
                    "grouping": {
                    "type":<text>        /* grouping type */ 
                      },
                   "flags":<uint>,      /* table flags (see below) */
                    "rows":<uint>,      /* quantity of lines */
                    "level":<uint>,     /* max level in table */
                    "columns":<uint>,   /* columns count */
                    "header":[<text> ], /* array of table headers */
                    "total":[           /* total */
                    <text>          /* array of cells */
                    ],
                   "header_type" [<text>],     /*  Array of table headers types */
                   "totalRaw" [                /* Array of values for the string "Total" */
                   {         
                    "v":<double>,   /* Original cell value */
                    "vt":<double>,  /* Value type */
                    }
                    ...
                    ] 
                    }
             ],
 
		"attachments":[			/* attachments array (charts, photos) */
                        {            /* for charts */
                            "name":<text>,      /* name */
                            "type":<text>,      /* type: chart, photo */
                            "datasets":[<text>] /* array with names of chart's curved lines */
                            "axis_x": <text>, /* Name for 'X' axis */
                            "flags": <uint>, /* Axis format, description below*/ 
                            "p":<text>, /* Chart settings */
                        },
			{		/* for photo and video */
				"name":<text>,	/* name and following parameters separated by ";" */
				"ftm":<text>,	/* formatted date */
				"uid":<text>,	/* unit ID */	
				"tm":<text>,	/* UNIX time */
				"idx":<text>,	/* index of the same-type attachments registered simultaneously */
				"lat":<text>,	/* latitude */
				"lon":<text>,	/* longitude */
				"type":<text>	/* attachment type */
			}
		]
	},
	"reportLayer":{			/* graphic layer */
		"name":<text>,			/* layer name */
		"bounds":[
			<double>,			/* minimal latitude */
			<double>,			/* minimal longitude */
			<double>,			/* maximal latitude */
			<double>			/* maximal longitude */
		]
	},
	"layerCount":<uint>	/* quantity of layers to be merged in report layer */
}

To get all available types of tables, make the request report/get_report_tables.

Table flags:

Flag Description
0x1 Group by: days
0x2 Time limitation
0x4 Group by: weeks
0x8 Group by: months
0x10 Total
0x20 Charts: split sensors
0x100 Detalization: partial
0x200 Charts: count from zero
0x800 Detalization: full
0x1000 Row numbering
0x200000 Group by: trips
0x400000 Group by: violation type

Chart flags:

Flag Additional flag Description
0x4 Correct maximum for 'Y' axis
0x10 The format specified in the template settings
0x2 Additional for 0x10 (Set format to “H:M:S”)
0x4 Additional for 0x10 (Set format to “Y-m-E”)
0x80 Generic type
0x100 24 hour format
0x20 24 hour format (additional for 0x100)
0x2 12 hour format (additional for 0x20)
0x40 Display days of the week (additional for 0x100)
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2019 Gurtam