En este artículo se considerará el trabajo con plantillas de informes mediante el Remote API. La ejecución de informes a través del SDK implica una secuencia de acciones obligatorias que no son visibles al trabajar en la interfaz web. Para una visión completa, se proporcionarán ejemplos de trabajo con informes con y sin agrupación.
En la mayoría de los casos, los usuarios crean plantillas de informes en la interfaz web y luego las ejecutan mediante solicitudes API. A continuación, consideraremos precisamente estos casos.
Sin embargo, la creación de plantillas de informes también está disponible a través del SDK, para lo cual se debe utilizar la solicitud report/update_report.
Secuencia de acciones
Para obtener resultados de informes mediante el Remote API, es necesario enviar varias solicitudes consecutivas. El uso de algunas de ellas depende de la presencia de agrupación en el informe y de la cantidad de datos analizados. Presentamos la lista más general de acciones:
Autorización mediante la solicitud token/login y configuración de la localización mediante la solicitud render/set_locale.
Obtención de los ID del sistema necesarios para:
Ejecución del informe mediante la solicitud report/exec_report.
Verificación del estado de ejecución del informe mediante la solicitud report/get_report_status. Después de confirmar que el informe está listo, se puede continuar con las instrucciones.
Obtención del resultado del informe mediante la solicitud report/apply_report_result.
El resultado de esta solicitud proporcionará la cantidad de filas, columnas y niveles de anidamiento si hay agrupación.
Obtención de las filas de la tabla mediante la solicitud report/get_result_rows para un informe sin agrupación o mediante la solicitud report/select_result_rows para un informe con agrupación.
La selección de la tabla, los niveles de anidamiento y las filas mostradas se realiza en función de los datos de la respuesta a la solicitud anterior.
Exportación a archivo mediante la solicitud report/export_result.
Este paso es opcional, pero bastante sencillo y útil, por lo que también lo consideraremos.
Eliminación del resultado del informe anterior mediante la solicitud report/cleanup_result.
Este paso es obligatorio si se deben ejecutar varios informes en una sesión.
A continuación, consideraremos dos ejemplos de trabajo con informes (sin agrupación y con agrupación).
Es necesario obtener los resultados de la ejecución del informe Lista de viajes, disponible para el usuario autorizado por token, para la unidad Truck 0769 (ID del sistema 55555) para el intervalo de tiempo del 30 de junio de 2023 a las 20:00 al 1 de julio de 2023 a las 03:59 (GMT+0) en forma de respuesta a la solicitud API y archivo PDF.
En la interfaz web, el resultado se ve de la siguiente manera:
1. Autorización y configuración de la localización
Usamos la solicitud token/login.
https://hst-api.wialon.com/wialon/ajax.html?svc=token/login¶ms={"token":"TOKEN_VALUE"}
La autorización se describe con más detalle en uno de los artículos anteriores.
La configuración de la localización incluye la configuración de la zona horaria (también se consideró anteriormente), el formato de la fecha y otros parámetros.
Usamos la solicitud render/set_locale.
https://hst-api.wialon.com/wialon/ajax.html?svc=render/set_locale¶ms={"tzOffset":134217728,"language":"es","formatDate":"%25E.%25m.%25Y%20%25H:%25M:%25S"}&sid=SESSION_IDENTIFIER
Parámetro y su valor | Descripción |
---|
"tzOffset":134217728 | Se aplicará la zona horaria GMT+0 (sin horario de verano). |
"language":"es" | Se utilizará el idioma español. |
"formatDate":"%25Y.%25m.%25E%20%25H:%25M:%25S" | Se utilizará el formato de fecha yyyy-MM-dd y el formato de hora HH:mm:ss. |
2. Obtención de los ID del sistema
En uno de los artículos anteriores ya describimos cómo realizar la búsqueda de elementos por criterios, por lo que ahora nos centraremos solo en la búsqueda del recurso y la plantilla del informe.
Obtendremos una lista de todos los recursos en los que se ha creado la plantilla del informe con el nombre Lista de viajes, disponible para el usuario autorizado por token. Usamos la solicitud core/search_items:
https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_items¶ms={"spec":{"itemsType":"avl_resource","propType":"propitemname","propName":"reporttemplates","propValueMask":"Lista%20de%20viajes","sortType":"sys_name"},"force":1,"flags":8193,"from":0,"to":0}&sid=SESSION_IDENTIFIER
Parámetro y su valor | Descripción |
---|
"itemsType":"avl_resource" | La búsqueda se realizará por recursos. |
"propType":"propitemname" | La búsqueda se realizará por el nombre del subelemento. |
"propName":"reporttemplates" | La búsqueda se realizará por el nombre de la plantilla del informe. |
"propValueMask":"Lista%20de%20viajes" | La respuesta mostrará una lista de recursos en los que se ha creado la plantilla del informe con el nombre Lista de viajes. |
"sortType":"sys_name" | La clasificación se realizará por el nombre del elemento. |
"force":1 | Los resultados de búsquedas anteriores no se tendrán en cuenta. |
"flags":8193 | La respuesta contendrá información sobre las propiedades básicas y las plantillas de informes creadas. 1 + 8192 = 8193 |
"from":0;"to":0 | No se aplicarán restricciones en la cantidad de elementos encontrados. |
Respuesta
{
"searchSpec":{
"itemsType":"avl_resource",
"propName":"reporttemplates",
"propValueMask":"Lista de viajes",
"sortType":"sys_name",
propType:"propitemname",
or_logic:"0"
},
"dataFlags":8193,
"totalItemsCount":1,
"indexFrom":0,
"indexTo":0,
"items":[
{
"nm":"sdk_account",
"cls":3,
"id":12345678,
"mu":0,
"rep":{
1:{
"id":1,
"n":"Lista de viajes",
"ct":"avl_unit",
"c":59352
},
2:{
"id":2,
"n":"Viajes con agrupación",
"ct":"avl_unit",
"c":6883
}
},
"repmax":-1,
"uacl":-1
}
]
}
Prestemos atención a los siguientes parámetros de la respuesta:
En este caso, el usuario tiene acceso al recurso sdk_account con el ID del sistema 12345678, en el que se encuentra la plantilla del informe Lista de viajes con el ID del sistema 1.
Usamos la solicitud report/exec_report.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/exec_report¶ms={"reportResourceId":12345678,"reportTemplateId":1,"reportObjectId":55555,"reportObjectSecId":0,"interval":{"flags":0,"from":1688144400,"to":1688173199},"remoteExec":1}&sid=SESSION_IDENTIFIER
Parámetro y su valor | Descripción |
---|
"reportResourceId":12345678 | La plantilla del informe se seleccionará del recurso con el ID del sistema 12345678. |
"reportTemplateId":1 | Se ejecutará la plantilla del informe con el ID del sistema 1. |
"reportObjectId":55555 | El informe se ejecutará para la unidad con el ID del sistema 55555. |
"reportObjectSecId":0 | El informe no se ejecutará para un subelemento. |
"flags":0 | El informe se ejecutará para el intervalo especificado. |
"from":1688144400 | El inicio del intervalo será el 30 de junio de 2023 a las 20:00 (GMT+0). |
"to":1688173199 | El final del intervalo será el 1 de julio de 2023 a las 03:59 (GMT+0). |
"remoteExec":1 | El informe se ejecutará en segundo plano en el servidor. |
4. Verificación del estado de ejecución
Dado que el informe se ejecuta en segundo plano en el servidor, verificamos el estado de su ejecución utilizando la solicitud report/get_report_status.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/get_report_status¶ms={}&sid=SESSION_IDENTIFIER
El código de estado 4 significa que el informe se ha completado. La interpretación de los demás valores se puede encontrar en la página con la descripción de la solicitud.
Usamos la solicitud report/apply_report_result.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/apply_report_result¶ms={}&sid=SESSION_IDENTIFIER
Respuesta
{
"reportResult":{
"msgsRendered":0,
"stats":[],
"tables":[
{
"name":"unit_trips",
"label":"Viajes",
"grouping":{},
"flags":4224,
"rows":4,
"level":1,
"columns":5,
"header":[
"№",
"Comienzo",
"Fin",
"Duración",
"Kilometraje"
],
"header_type":[
"",
"time_begin",
"time_end",
"duration",
"mileage"
]
}
],
"attachments":[]
}
}
Tres parámetros clave de la respuesta que nos interesan son los siguientes:
- tables: muestra la cantidad de tablas en el informe en forma de array. En este caso, solo se menciona una tabla: Viajes, por lo que su índice será 0.
- rows: cantidad de filas en la tabla, en este caso son 4. Por lo tanto, sus índices están en el rango de 0 a 3.
- level: cantidad de niveles de anidamiento, en este caso es 1, ya que el informe no tiene agrupación.
También se pueden enumerar brevemente otros parámetros de la respuesta. El parámetro columns indica la cantidad de columnas, luego sus nombres se describen en el parámetro header. El valor cero del parámetro msgsRendered indica que en la plantilla del informe no se incluye la visualización de mensajes en el mapa. Los parámetros vacíos stats y attachments indican que en la plantilla del informe no hay Estadísticas ni adjuntos (por ejemplo, gráficas).
6. Obtención de las filas de la tabla
Conociendo el índice del contenido de la tabla, la mostramos utilizando la solicitud report/get_result_rows.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/get_result_rows¶ms={"tableIndex":0,"indexFrom":0,"indexTo":3}&sid=SESSION_IDENTIFIER
Parámetro y su valor | Descripción |
---|
"tableIndex":0 | Se mostrará el contenido de la tabla con el índice 0. |
"indexFrom":0 | La primera fila mostrada tendrá el índice 0. |
"indexTo":3 | La última fila mostrada tendrá el índice 3. |
Respuesta
[
{
"n":0,
"i1":0,
"i2":790,
"t1":1688144420,
"t2":1688154878,
"d":0,
"c":[
"1",
{
"t":"2023-06-30 20:00:20",
"v":1688144420,
"y":47.2941741943,
"x":26.4906959534,
"u":55555
},
{
"t":"2023-06-30 22:54:38",
"v":1688154878,
"y":43.8697662354,
"x":26.0177116394,
"u":55555
},
"2:54:18",
"469.54 km"
]
},
{
"n":1,
"i1":936,
"i2":2171,
"t1":1688155181,
"t2":1688169690,
"d":0,
"c":[
"2",
{
"t":"2023-06-30 22:59:41",
"v":1688155181,
"y":43.8698196411,
"x":26.0177154541,
"u":55555
},
{
"t":"2023-07-01 03:01:30",
"v":1688169690,
"y":41.7139854431,
"x":26.3660545349,
"u":55555
},
"4:01:49",
"343.84 km"
]
},
{
"n":2,
"i1":2340,
"i2":2486,
"t1":1688170034,
"t2":1688170841,
"d":0,
"c":[
"3",
{
"t":"2023-07-01 03:07:14",
"v":1688170034,
"y":41.7140579224,
"x":26.365901947,
"u":55555
},
{
"t":"2023-05-01 09:23:10",
"v":1688170841,
"y":41.7122383118,
"x":26.3712425232,
"u":55555
},
"0:13:27",
"1.39 km"
]
},
{
"n":3,
"i1":2833,
"i2":2910,
"t1":1688171565,
"t2":1688173175,
"d":0,
"c":[
"4",
{
"t":"2023-07-01 03:32:45",
"v":1688171565,
"y":41.7120819092,
"x":26.3711204529,
"u":55555
},
{
"t":"2023-07-01 03:59:35",
"v":1688173175,
"y":41.5760040283,
"x":26.9871864319,
"u":55555
},
"0:26:50",
"57.84 km"
]
}
]
7. Exportación a archivo
Exportamos el resultado a un archivo PDF utilizando la solicitud report/export_result.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/export_result¶ms={"format":2,"compress":0,"outputFileName":"Lista%20de%20viajes"}&sid=SESSION_IDENTIFIER
Parámetro y su valor | Descripción |
---|
"format":2 | El resultado del informe se exportará en formato PDF. |
"compress":0 | El archivo exportado no se comprimirá (no se añadirá a un archivo). |
"outputFileName":"Lista%20de%20viajes" | El archivo exportado tendrá el nombre Lista de viajes. |
La respuesta a esta solicitud API no se muestra, en su lugar, la descarga del archivo comienza automáticamente.
Usamos la solicitud report/cleanup_result.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/cleanup_result¶ms={}&sid=SESSION_IDENTIFIER
Un valor de cero significa que la eliminación fue exitosa.
Es necesario obtener los resultados de la ejecución del informe Viajes con agrupación, disponible para el usuario autorizado por token, para la unidad Truck 0769 (ID del sistema 55555) para el intervalo de tiempo del 30 de junio de 2023 a las 20:00 al 1 de julio de 2023 a las 03:59 (GMT+0) en forma de respuesta a la solicitud API y archivo PDF.
En la interfaz web, el resultado se ve de la siguiente manera:
El resultado de la ejecución en la interfaz web muestra que la tabla Viajes tiene una agrupación por meses y fechas, es decir, el informe tiene 3 niveles de anidamiento:
- En el primer nivel se encuentran las filas con los meses;
- En el segundo nivel, las filas con las fechas dentro del mes;
- En el tercer nivel, las filas con los viajes dentro de la fecha.
1. Autorización y configuración de la localización
Usamos la solicitud token/login.
https://hst-api.wialon.com/wialon/ajax.html?svc=token/login¶ms={"token":"TOKEN_VALUE"}
La autorización se describe con más detalle en uno de los artículos anteriores.
La configuración de la localización incluye la configuración de la zona horaria (también se consideró anteriormente), el formato de la fecha y otros parámetros.
Usamos la solicitud render/set_locale.
https://hst-api.wialon.com/wialon/ajax.html?svc=render/set_locale¶ms={"tzOffset":134217728,"language":"es","formatDate":"%25E.%25m.%25Y%20%25H:%25M:%25S"}&sid=SESSION_IDENTIFIER
Parámetro y su valor | Descripción |
---|
"tzOffset":134217728 | Se aplicará la zona horaria GMT+0 (sin horario de verano). |
"language":"es" | Se utilizará el idioma español. |
"formatDate":"%25Y.%25m.%25E%20%25H:%25M:%25S" | Se utilizará el formato de fecha yyyy-MM-dd y el formato de hora HH:mm:ss. |
2. Obtención de los ID del sistema
En uno de los artículos anteriores ya describimos cómo realizar la búsqueda de elementos por criterios, por lo que ahora nos centraremos solo en la búsqueda del recurso y la plantilla del informe.
Obtendremos una lista de todos los recursos en los que se ha creado la plantilla del informe con el nombre Viajes con agrupación, disponible para el usuario autorizado por token. Usamos la solicitud core/search_items:
https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_items¶ms={"spec":{"itemsType":"avl_resource","propType":"propitemname","propName":"reporttemplates","propValueMask":"Viajes%20con%20agrupación","sortType":"sys_name"},"force":1,"flags":8193,"from":0,"to":0}&sid=SESSION_IDENTIFIER
Parámetro y su valor | Descripción |
---|
"itemsType":"avl_resource" | La búsqueda se realizará por recursos. |
"propType":"propitemname" | La búsqueda se realizará por el nombre del subelemento. |
"propName":"reporttemplates" | La búsqueda se realizará por el nombre de la plantilla del informe. |
"propValueMask":"Viajes%20con%20agrupación" | La respuesta mostrará una lista de recursos en los que se ha creado la plantilla del informe con el nombre Viajes con agrupación. |
"sortType":"sys_name" | La clasificación se realizará por el nombre del elemento. |
"force":1 | Los resultados de búsquedas anteriores no se tendrán en cuenta. |
"flags":8193 | La respuesta contendrá información sobre las propiedades básicas y las plantillas de informes creadas. 1 + 8192 = 8193 |
"from":0;"to":0 | No se aplicarán restricciones en la cantidad de elementos encontrados. |
Respuesta
{
"searchSpec":{
"itemsType":"avl_resource",
"propName":"reporttemplates",
"propValueMask":"Viajes con agrupación",
"sortType":"sys_name",
propType:"propitemname",
or_logic:"0"
},
"dataFlags":8193,
"totalItemsCount":1,
"indexFrom":0,
"indexTo":0,
"items":[
{
"nm":"sdk_account",
"cls":3,
"id":12345678,
"mu":0,
"rep":{
1:{
"id":1,
"n":"Lista de viajes",
"ct":"avl_unit",
"c":59352
},
2:{
"id":2,
"n":"Viajes con agrupación",
"ct":"avl_unit",
"c":6883
}
},
"repmax":-1,
"uacl":-1
}
]
}
Prestemos atención a los siguientes parámetros de la respuesta:
En este caso, el usuario tiene acceso al recurso sdk_account con el ID del sistema 12345678, en el que se encuentra la plantilla del informe Viajes con agrupación con el ID del sistema 2.
Usamos la solicitud report/exec_report.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/exec_report¶ms={"reportResourceId":12345678,"reportTemplateId":2,"reportObjectId":55555,"reportObjectSecId":0,"interval":{"flags":0,"from":1688144400,"to":1688173199},"remoteExec":1}&sid=SESSION_IDENTIFIER
Parámetro y su valor | Descripción |
---|
"reportResourceId":12345678 | La plantilla del informe se seleccionará del recurso con el ID del sistema 12345678. |
"reportTemplateId":2 | Se ejecutará la plantilla del informe con el ID del sistema 2. |
"reportObjectId":55555 | El informe se ejecutará para la unidad con el ID del sistema 55555. |
"reportObjectSecId":0 | El informe no se ejecutará para un subelemento. |
"flags":0 | El informe se ejecutará para el intervalo especificado. |
"from":1688144400 | El inicio del intervalo será el 30 de junio de 2023 a las 20:00 (GMT+0). |
"to":1688173199 | El final del intervalo será el 1 de julio de 2023 a las 03:59 (GMT+0). |
"remoteExec":1 | El informe se ejecutará en segundo plano en el servidor. |
4. Verificación del estado de ejecución
Dado que el informe se ejecuta en segundo plano en el servidor, verificamos el estado de su ejecución utilizando la solicitud report/get_report_status.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/get_report_status¶ms={}&sid=SESSION_IDENTIFIER
El código de estado 4 significa que el informe se ha completado. La interpretación de los demás valores se puede encontrar en la página con la descripción de la solicitud.
Usamos la solicitud report/apply_report_result.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/apply_report_result¶ms={}&sid=SESSION_IDENTIFIER
Respuesta
{
"reportResult":{
"msgsRendered":0,
"stats":[],
"tables":[
{
"name":"unit_trips",
"label":"Viajes",
"grouping":{
"nested":{
"type":"day"
},
"type":"month"
},
"flags":4491,
"rows":2,
"level":3,
"columns":6,
"header":[
"№",
"Agrupación",
"Comienzo",
"Fin",
"Duración",
"Kilometraje"
],
"header_type":[
"",
"",
"time_begin",
"time_end",
"duration",
"mileage"
]
}
],
"attachments":[]
}
}
Tres parámetros clave de la respuesta que nos interesan son los siguientes:
- tables: muestra la cantidad de tablas en el informe en forma de array. En este caso, solo se menciona una tabla: Viajes, por lo que su índice será 0.
- rows: cantidad de filas en la tabla, en este caso son 2. Por lo tanto, sus índices están en el rango de 0 a 1. Se refiere solo a las filas en el nivel superior de anidamiento, dentro de ellas puede haber más.
- level: cantidad de niveles de anidamiento, en este caso es 3, ya que el informe tiene agrupación. Por lo tanto, en la tabla existen niveles con índices de 0 a 2.
También se pueden enumerar brevemente otros parámetros de la respuesta. El parámetro columns indica la cantidad de columnas, luego sus nombres se describen en el parámetro header. El valor cero del parámetro msgsRendered indica que en la plantilla del informe no se incluye la visualización de mensajes en el mapa. Los parámetros vacíos stats y attachments indican que en la plantilla del informe no hay Estadísticas ni adjuntos (por ejemplo, gráficas).
6. Selección de filas en una tabla multinivel
Conociendo el índice del contenido de la tabla, la mostramos utilizando la solicitud report/select_result_rows.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/select_result_rows¶ms={"tableIndex":0,"config":{"type":"range","data":{"from":0,"to":1,"level":2}}}&sid=SESSION_IDENTIFIER
Parámetro y su valor | Descripción |
---|
"tableIndex":0 | Se mostrará el contenido de la tabla con el índice 0. |
"type":"range" | Se solicitará una secuencia de filas. |
"from":0 | La primera fila mostrada tendrá el índice 0. |
"to":1 | La última fila mostrada tendrá el índice 1. |
"level":2 | El resultado mostrará niveles de anidamiento hasta el índice 2. |
Respuesta
[
{
"n":0,
"i1":0,
"i2":1188,
"t1":1688144420,
"t2":1688158739,
"d":1,
"c":[
"1",
"June",
{
"t":"20:00:20",
"v":1688144420,
"y":47.2941741943,
"x":26.4906959534,
"u":55555
},
{
"t":"23:58:59",
"v":1688158739,
"y":43.1049079895,
"x":25.6173667908,
"u":55555
},
"3:53:36",
"576.60 km"
],
"r":[
{
"n":0,
"i1":0,
"i2":1188,
"t1":1688144420,
"t2":1688158739,
"d":2,
"c":[
"1.1",
"2023-06-30",
{
"t":"20:00:20",
"v":1688144420,
"y":47.2941741943,
"x":26.4906959534,
"u":55555
},
{
"t":"23:58:59",
"v":1688158739,
"y":43.1049079895,
"x":25.6173667908,
"u":55555
},
"3:53:36",
"576.60 km"
],
"r":[
{
"n":0,
"i1":0,
"i2":790,
"t1":1688144420,
"t2":1688154878,
"d":0,
"c":[
"1.1.1",
"2023-06-30 20:00:20",
{
"t":"20:00:20",
"v":1688144420,
"y":47.2941741943,
"x":26.4906959534,
"u":55555
},
{
"t":"22:54:38",
"v":1688154878,
"y":43.8697662354,
"x":26.0177116394,
"u":55555
},
"2:54:18",
"469.54 km"
]
},
{
"n":1,
"i1":936,
"i2":1188,
"t1":1688155181,
"t2":1688158739,
"d":0,
"c":[
"1.1.2",
"2023-06-30 22:59:41",
{
"t":"22:59:41",
"v":1688155181,
"y":43.8698196411,
"x":26.0177154541,
"u":55555
},
{
"t":"23:58:59",
"v":1688158739,
"y":43.1049079895,
"x":25.6173667908,
"u":55555
},
"0:59:18",
"107.06 km"
]
}
]
}
]
},
{
"n":1,
"i1":1193,
"i2":2910,
"t1":1688158805,
"t2":1688173175,
"d":1,
"c":[
"2",
"July",
{
"t":"00:00:05",
"v":1688158805,
"y":43.0983314514,
"x":25.6316585541,
"u":55555
},
{
"t":"03:59:35",
"v":1688173175,
"y":41.5760040283,
"x":26.9871864319,
"u":55555
},
"3:41:42",
"294.55 km"
],
"r":[
{
"n":0,
"i1":1193,
"i2":2910,
"t1":1688158805,
"t2":1688173175,
"d":3,
"c":[
"2.1",
"2023-07-01",
{
"t":"00:00:05",
"v":1688158805,
"y":43.0983314514,
"x":25.6316585541,
"u":55555
},
{
"t":"03:59:35",
"v":1688173175,
"y":41.5760040283,
"x":26.9871864319,
"u":55555
},
"3:41:42",
"294.55 km"
],
"r":[
{
"n":0,
"i1":1193,
"i2":2171,
"t1":1688158805,
"t2":1688169690,
"d":0,
"c":[
"2.1.1",
"2023-07-01 00:00:05",
{
"t":"00:00:05",
"v":1688158805,
"y":43.0983314514,
"x":25.6316585541,
"u":55555
},
{
"t":"03:01:30",
"v":1688169690,
"y":41.7139854431,
"x":26.3660545349,
"u":55555
},
"3:01:25",
"235.31 km"
]
},
{
"n":1,
"i1":2340,
"i2":2486,
"t1":1688170034,
"t2":1688170841,
"d":0,
"c":[
"2.1.2",
"2023-07-01 03:07:14",
{
"t":"03:07:14",
"v":1688170034,
"y":41.7140579224,
"x":26.365901947,
"u":55555
},
{
"t":"03:20:41",
"v":1688170841,
"y":41.7122383118,
"x":26.3712425232,
"u":55555
},
"0:13:27",
"1.39 km"
]
},
{
"n":2,
"i1":2833,
"i2":2910,
"t1":1688171565,
"t2":1688173175,
"d":0,
"c":[
"2.1.3",
"2023-07-01 03:32:45",
{
"t":"03:32:45",
"v":1688171565,
"y":41.7120819092,
"x":26.3711204529,
"u":55555
},
{
"t":"03:59:35",
"v":1688173175,
"y":41.5760040283,
"x":26.9871864319,
"u":55555
},
"0:26:50",
"57.84 km"
]
}
]
}
]
}
]
7. Exportación a archivo
Exportamos el resultado a un archivo PDF utilizando la solicitud report/export_result.
https://hst-api.wialon.com/wialon/ajax.html?svc=report/export_result¶ms={"format":2,"compress":0,"outputFileName":"Viajes%20con%20agrupación"}&sid=SESSION_IDENTIFIER
Parámetro y su valor | Descripción |
---|
"format":2 | El resultado del informe se exportará en formato PDF. |
"compress":0 | El archivo exportado no se comprimirá (no se añadirá a un archivo). |
"outputFileName":"Grouped%20trips" | El archivo exportado tendrá el nombre Viajes con agrupación. |
La respuesta a esta solicitud API no se muestra, en su lugar, la descarga del archivo comienza automáticamente.
Usamos la solicitud report/cleanup_result:
https://hst-api.wialon.com/wialon/ajax.html?svc=report/cleanup_result¶ms={}&sid=SESSION_IDENTIFIER
Un valor de cero significa que la eliminación fue exitosa.
Características de la obtención de resultados
La obtención de datos de las tablas se puede realizar mediante las solicitudes report/get_result_rows o report/select_result_rows, en las que se utiliza el parámetro tableIndex para referirse a la tabla con un índice determinado. Es necesario tener en cuenta que al ejecutar el informe para diferentes intervalos, el índice de una misma tabla puede cambiar debido a la presencia o ausencia de otras tablas.
Para una mejor comprensión de la situación, consideremos un ejemplo. Supongamos que en la plantilla del informe se han añadido las tablas Viajes, Descargas de combustible y Geocercas. Al ejecutar el informe para el intervalo del 1 al 3 de julio, el resultado contendrá todas las tablas, por lo que sus índices serán los siguientes:
0 — Viajes
1 — Descargas de combustible
2 — Geocercas
Y al ejecutar el informe para el intervalo del 4 al 6 de julio, los índices de algunas tablas cambiarán debido a la ausencia de descargas registradas y tomarán otros valores:
0 — Viajes
1 — Geocercas
En este ejemplo, se puede ver claramente que al ejecutar el informe para diferentes intervalos, el índice de la tabla Geocercas cambia. Por lo tanto, referirse a la tabla con el índice 2 no siempre mostrará información sobre la visita a geocercas. Para corregir situaciones como esta, se recomienda aplicar verificaciones adicionales, por ejemplo, por el nombre de la tabla o sus columnas.
Ekaterina Grib,Customer Service Engineer
2023-08-31