exec_report
El método report/exec_report permite ejecutar un informe.
Una sesión almacena un solo resultado de informe. Cada nueva solicitud
exec_reportreemplaza el resultado anterior, por lo que no es necesario borrarlo antes. Para borrar el resultado y quitar las capas del informe del mapa, use el método report/cleanup_result.El resultado de un informe asincrónico (vea el parámetro
remoteExec) se almacena por separado. Ejecutar otro informe o llamar areport/cleanup_resultno lo elimina. Solo lo elimina report/apply_report_result.El método es una solicitud que consume muchos recursos, por lo que se le aplica la restricción de solicitudes simultáneas de este tipo durante una sesión. Si se alcanza la restricción, se devuelve el error 1003 con la causa
LIMIT api_concurrent. Para ver la lista de solicitudes que consumen muchos recursos, consulte Restricciones.
Endpoint
svc=report/exec_report¶ms={
"reportResourceId": <long>,
"reportTemplateId": <long>,
"reportObjectId": <long>,
"reportObjectSecId": <long>,
"reportObjectIdList": [
<uint>,
...
],
"interval": {
"from": <uint>,
"to": <uint>,
"flags": <uint>
},
"remoteExec": <uint>,
"reportTemplate": <object>
}
Parámetros
La solicitud puede contener los siguientes parámetros. Los parámetros obligatorios están marcados con un asterisco (*).
| Parámetro | Descripción |
|---|---|
reportResourceId* |
ID del recurso. El informe se ejecuta en nombre del creador del recurso si reportTemplateId es 0. |
reportTemplateId* |
ID de la plantilla. |
reportObjectId* |
ID del objeto. |
reportObjectSecId* |
ID del objeto subordinado (conductor, remolque o sus grupos); 0 si el objeto no tiene objetos subordinados. |
reportObjectIdList |
Matriz de los ID de objetos adicionales (para el informe por grupos de unidades). |
interval* |
Ajustes del intervalo de informe. |
from* |
Inicio del intervalo, tiempo Unix. |
to* |
Fin del intervalo, tiempo Unix. Si from es mayor que to, el informe se ejecuta sin error, pero no contiene tablas. |
flags* |
Flags de intervalo. |
remoteExec |
Especifique el valor 1 para este parámetro para ejecutar el informe en el servidor Webreport. El parámetro es opcional y solo se utiliza si la solicitud report/get_report_status se ejecuta más tarde. Si la respuesta JSON incluye "remoteExec":1, significa que el servidor ha aceptado el informe para su procesamiento y el tiempo de ejecución se limita a 5 minutos.Especifique 0 u omita este parámetro para ejecutar el informe en el servidor Web. En este caso, el tiempo de ejecución se limita a 2 minutos. |
reportTemplate |
JSON de la plantilla de informe que puede obtener después de la solicitud report/get_report_data. El parámetro es opcional y solo se utiliza si reportTemplateId es 0.La plantilla debe contener las claves n, ct, p y tbl. El valor de n no puede estar vacío. La matriz tbl debe contener al menos una tabla. Cada tabla debe contener las claves n, l, c, cl, s, sl, p, sch y f, y el objeto sch, las claves f1, f2, t1, t2, m, y y w. Si falta alguna de estas claves, se devuelve el error 4. |
Flags de intervalo
| Flag | Descripción | Valor del parámetro from |
Valor del parámetro to |
Comentarios |
|---|---|---|---|---|
| 0x00 (0) | Intervalo especificado. | Valor de la marca de tiempo en segundos. | Valor de la marca de tiempo en segundos. | |
| 0x01 (1) | Desde la hora especificada hasta hoy. | Valor de la marca de tiempo en segundos. | 0 | Cualquier valor indicado en el parámetro se sustituye por la hora actual del servidor. |
| 0x02 (2) | Por n días anteriores. | 0 | Cantidad de días. | Cualquier valor indicado en el parámetro from se sustituye por el último período completo o por la hora actual del servidor si está presente el flag 0x20. |
| 0x04 (4) | Por n semanas anteriores. | 0 | Cantidad de semanas. | |
| 0x08 (8) | Por n meses anteriores. | 0 | Cantidad de meses. | |
| 0x10 (16) | Por n años anteriores. | 0 | Cantidad de años. | |
| 0x20 (32) | Incluyendo el período actual. | |||
| 0x40 (64) | Por n horas anteriores. | 0 | Cantidad de horas. | |
| 0x80 (128) | Por n minutos anteriores. | 0 | Cantidad de minutos. |
Resultado devuelto
{
"reportResult": { /* resultado de ejecución del informe */
"msgsRendered": <int>, /* mensajes cargados: 0, no; 1, sí */
"stats": [ /* matriz de parámetros de estadísticas */
["<text>", "<text>"] /* [nombre del parámetro, valor] */
],
"tables": [ /* matriz de tablas */
{
"name": "<text>", /* tipo de tabla */
"label": "<text>", /* nombre */
"grouping": { /* ajustes de agrupación de la tabla de la plantilla; puede estar vacío */
"type": "<text>", /* tipo de agrupación */
...
},
"flags": <uint>, /* flags de tabla (vea más abajo) */
"rows": <uint>, /* cantidad de líneas */
"level": <uint>, /* nivel máximo en la tabla */
"columns": <uint>, /* cantidad de columnas */
"header": ["<text>"], /* matriz de encabezados de tabla */
"total": [ /* total; solo si la tabla tiene el flag 0x10 */
"<text>" /* matriz de celdas */
],
"header_type": ["<text>"], /* matriz de tipos de encabezados de tabla */
"totalRaw": [ /* matriz de valores de la línea «Total»; solo si la tabla tiene el flag 0x10 */
{
"v": <double>, /* valor inicial de la celda */
"vt": <uint> /* tipo de valor */
},
...
]
}
],
"attachments": [ /* matriz de datos adjuntos (gráficas, fotos) */
{ /* para gráficas */
"name": "<text>", /* nombre */
"type": "<text>", /* tipo: chart (gráfica), photo (foto) */
"c": "<text>", /* columnas de la gráfica, cadena JSON */
"datasets": ["<text>"], /* matriz con los nombres de las líneas curvas de la gráfica */
"axis_y": ["<text>"], /* matriz con las etiquetas de los ejes 'Y' */
"axis_x": "<text>", /* nombre del eje 'X' */
"flags": <uint>, /* formato del eje, vea la descripción más abajo */
"p": "<text>" /* ajustes de la gráfica */
},
{ /* para foto y vídeo */
"name": "<text>", /* nombre y siguientes parámetros separados por ";" */
"ftm": "<text>", /* fecha formateada */
"uid": "<text>", /* ID de la unidad */
"tm": "<text>", /* tiempo Unix */
"idx": "<text>", /* índice de los datos adjuntos del mismo tipo registrados simultáneamente */
"lat": "<text>", /* latitud */
"lon": "<text>", /* longitud */
"type": "<text>", /* tipo de datos adjuntos */
"zone": <JSON>, /* información de geocercas */
"tags": <JSON> /* información sobre etiquetas */
}
]
},
"reportLayer": { /* capa gráfica */
"name": "<text>", /* nombre de la capa */
"bounds": [
<double>, /* latitud mínima */
<double>, /* longitud mínima */
<double>, /* latitud máxima */
<double> /* longitud máxima */
],
"units": [ /* unidades cuyos recorridos están en la capa */
{
"id": <long>, /* ID de la unidad */
"msgs": {
"count": <uint>, /* cantidad de mensajes */
"first": { /* primer mensaje con ubicación */
"time": <uint>, /* hora del mensaje, tiempo Unix */
"lat": <double>, /* latitud */
"lon": <double> /* longitud */
},
"last": {
...
} /* último mensaje con ubicación, mismo formato */
},
"mileage": <double>, /* kilometraje */
"max_speed": <double>, /* velocidad máxima */
"trips": [ /* viajes; solo si el recorrido está dividido en viajes */
{
"first": {
...
}, /* primer mensaje del viaje, mismo formato */
"last": {
...
}, /* último mensaje del viaje, mismo formato */
"mileage": <double>,
"max_speed": <double>,
"color": "<text>" /* color del viaje, #RRGGBB */
}
]
}
]
},
"layerCount": <uint> /* cantidad de capas que deben combinarse en la capa del informe */
}
En Wialon Local, el campo c de una gráfica está disponible a partir de la versión 2404.
Para obtener todos los tipos de tablas disponibles, use el método report/get_report_tables.
Para los detalles del campo zone, vea la página resource/get_zone_data.
Para los detalles del campo tags, vea la página resource/update_tag.
Flags de tablas
| Flag | Descripción |
|---|---|
| 0x1 (1) | Agrupación por días. |
| 0x2 (2) | Limitación por tiempo. |
| 0x4 (4) | Agrupación por semanas. |
| 0x8 (8) | Agrupación por meses. |
| 0x10 (16) | Total. |
| 0x20 (32) | Gráficas: dividir sensores. |
| 0x100 (256) | Especificación: parcial. |
| 0x200 (512) | Gráficas: contar desde cero. |
| 0x400 (1024) | Acumular intervalos. |
| 0x800 (2048) | Especificación: completa. |
| 0x1000 (4096) | Numeración de líneas. |
| 0x2000 (8192) | Ejecutar la tabla solo por objeto del informe (no por objetos subordinados). |
| 0x4000 (16384) | Agrupar registros en turnos. |
| 0x8000 (32768) | Cortar intervalos en la tabla. |
| 0x200000 (2097152) | Agrupación por viajes. |
| 0x400000 (4194304) | Agrupación por tipo de infracción. |
| 0x10000000 (268435456) | Agrupación por día de la semana. |
| 0x20000000 (536870912) | Agrupación por día del mes. |
| 0x40000000 (1073741824) | Agrupación por años. |
Flags de gráficas
| Flag | Flag adicional | Descripción |
|---|---|---|
| 0x4 (4) | Máximo ajustable para el eje Y. | |
| 0x10 (16) | Formato especificado en los ajustes de la plantilla. | |
| 0x1 (1) | Adicional para 0x10 (establecer el formato «H:M:S»). | |
| 0x2 (2) | Adicional para 0x10 (establecer el formato «Y-m-E»). | |
| 0x80 (128) | Tipo genérico. | |
| 0x100 (256) | Formato de 24 horas. | |
| 0x20 (32) | Formato de 24 horas (adicional para 0x100). | |
| 0x2 (2) | Formato de 12 horas (adicional para 0x20). | |
| 0x40 (64) | Mostrar los días de la semana (adicional para 0x100). |
Códigos de error
| Código de error | Descripción |
|---|---|
| 4 | Parámetros de entrada incorrectos: falta un parámetro obligatorio, la plantilla con el reportTemplateId especificado no existe, o reportTemplateId es 0 y el parámetro reportTemplate falta o no contiene todas las claves obligatorias (consulte el parámetro reportTemplate). |
| 6 | Error no definido. |
| 7 | Uno de los siguientes errores:
|