get_notification_data

La función get_notification_data se usa para obtener información detallada sobre las notificaciones especificadas.

Copied!
svc=resource/get_notification_data&params={"itemId":<long>,
					   						"col":[<long>]}

Parámetros

NombreDescripción

itemId

ID del recurso.

col

Matriz de ID de notificaciones.

El campo es opcional. Si no está presente, la función se ejecuta para todas las notificaciones.

Resultado devuelto

Si la solicitud se ejecuta con éxito, se devuelve el resultado en el siguiente formato:

Copied!
[
	{
		"id":<long>,	/* ID de notificación */
		"n":"<text>",	/* nombre */
		"txt":"<text>",	/* texto de notificación */
		"ta":<uint>,	/* hora de activación (formato Unix) */
		"td":<uint>,	/* hora de desactivación (formato Unix) */
		"ma":<uint>,	/* cantidad máxima de ejecuciones (0: no limitada) */
		"mmtd":<uint>,	/* intervalo de tiempo máximo entre mensajes, s */
		"cdt":<uint>,	/* tiempo de espera de ejecución, s */
		"mast":<uint>,	/* duración mínima del estado de alarma, s */
		"mpst":<uint>,	/* duración mínima del estado anterior, s */
		"cp":<uint>,	/* período de control en relación con la hora actual, s */
		"fl":<uint>,	/* marcas de notificación (vea más abajo) */
		"tz":<uint>,	/* zona horaria */
		"la":"<text>",	/* idioma del usuario (código de dos letras) */
		"ac":<uint>,	/* cantidad de ejecuciones */
		"d":"<text>",		/* descripción de notificación */
		"sch":{		/* limitación de tiempo */
			"f1":<uint>,	/* inicio del intervalo 1 (minutos desde medianoche) */
			"f2":<uint>,	/* inicio del intervalo 2 ((minutos desde medianoche) */
			"t1":<uint>,	/* fin del intervalo 1 (minutos desde medianoche) */
			"t2":<uint>,	/* fin del intervalo 2 (minutos desde medianoche) */
			"m":<uint>,	/* máscara de los días del mes [1: 2||0, 31: 2||30] */
			"y":<uint>,	/* máscara de meses [Jan: 2||0, Dec: 2||11] */
			"w":<uint>,	/* máscara de los días de la semana [Mon: 2||0, Sun: 2||6] */
			"fl":<int>	/* marcas de horario */
		},
		"ctrl_sch":{	/* horario de la cantidad máxima de intervalos de ejecución */
			"f1":<uint>,	/* inicio del intervalo 1 (minutos desde medianoche) */
			"f2":<uint>,	/* inicio del intervalo 2 (minutos desde medianoche) */
			"t1":<uint>,	/* fin del intervalo 1 (minutos desde medianoche) */
			"t2":<uint>,	/* fin del intervalo 2 (minutos desde medianoche) */
		 	"m":<uint>,	/* máscara de los días del mes [1: 2||0, 31: 2||30] */
		 	"y":<uint>,	/* máscara de meses [Jan: 2||0, Dec: 2||11] */
		 	"w":<uint>	/* máscara de los días de la semana [Mon: 2||0, Sun: 2||6] */
			"fl":<int> /* marcas de horario */
		},
		"un":[<long>],	/* matriz de ID de unidades/grupos de unidades */
		"act":[			/* acciones */
			{
				"t":"<text>",		/* tipo de acción (vea más abajo) */
				"p":{			/* parámetros */
					"blink": "<text>",	/* minimapa intermitente al activarse la notificación */ 
					"color": "<text>",	/* color de notificación en línea */
					"url": "<text>",		/* dirección URL del sonido de notificación */
					...
				},
				...
			}
		],
		"trg":{			/* control */
			"t":"<text>",		/* tipo de control (vea más abajo) */
			"p":{			/* parámetros */
				"<text>":"<text>",		/* nombre de parámetro: valor */
				...
			}
		},
		"ct":<uint>,        /* hora de creación */
		"mt":<uint>         /* hora de la última modificación */
	}
]

Marcas de notificaciones:

MarcaDescripción

0x0

La notificación se activa después del primer mensaje.

0x1

La notificación se activa después de cada mensaje.

0x2

La notificación está desactivada.

Para las notificaciones con el tipo de control Inactividad, el valor del parámetro mast especificado en segundos debe corresponder al valor del parámetro min_idle_time especificado en minutos. Así, si desea que la notificación se ejecute tras 10 minutos de inactividad, especifique 10 para min_idle_time y 600 para mast.

Si no se ha podido ejecutar la solicitud, se devuelve un código de error.

Tipos de acciones

Están disponibles los siguientes tipos de acciones para las notificaciones:

Notificar por email

Copied!
{
	"t":"email",		/* tipo de acción */
	"p":{
		"email_to":"<text>",	/* dirección del correo electrónico */
		"html":"<text>",		/* usar etiquetas HTML: 0, no; 1, sí */
		"img_attach":"<text>",	/* adjuntar imagen desde la notificación: 1, sí; 0, no */
		"subj":"<text>"		/* texto del mensaje */
	}
}

Notificar por SMS

Copied!
{
	"t":"sms",		/* tipo de acción */
	"p":{
		"phones":"<text>"		/* lista de números de teléfono (separados por punto y coma) */
	}
}

Mostrar notificación en línea en una ventana emergente

Copied!
{
	"t":"message",		/* tipo de acción */
	"p":{
		"color":"<text>",		/* color de notificación */
		"name":"<text>",		/* nombre de notificación */
		"url":"<text>"		/* dirección URL del sonido de notificación */
	}
}

Enviar una notificación móvil

Copied!
{
	"t":"mobile_apps",		/* tipo de acción */
	"p":{
		"apps":"{\"<text>\":[	/* nombre de la aplicación móvil */
				<uint>	/* ID de usuario */
		]}"
	}
}

Enviar una solicitud

Copied!
{
	"t":"push_messages",	/* tipo de acción */
	"p":{
		"url":"<text>",		/* nombre del servidor (puede especificar el puerto), comience con "http(s)" */
		"get":<bool>		/* tipo de solicitud: 1, GET; 0, POST */		
	}
}

Enviar notificación a Telegram

Copied!
{
	"t":"messenger_messages",	/* tipo de acción */
	"p":{
		"chat_id":"<text>",		/* ID de canal en Telegram */
		"token":"<text>"		/* token de usuario en Telegram */		
	}
}

Registrar evento para la unidad

Copied!
{
	"t":"event",		/* tipo de acción */
	"p":{
		"flags":"<text>"		/* registrar como: 0, evento; 1, infracción */
	}
}

Enviar un comando

Copied!
{
	"t":"exec_cmd",		/* tipo de acción */
	"p":{
		"cmd_type":"<text>",	/* tipo de comando */
		"link":"<text>",		/* tipo de enlace */
		"name":"<text>",		/* nombre de comando */
		"param":"<text>"		/* parámetros */
	}
}

Puede encontrar la lista de los tipos de comandos disponibles aquí.

Modificar acceso a las unidades

Copied!
{
	"t":"user_access",	/* tipo de acción */
	"p":{
		"acl_bits":"<text>",	/* 1: establecer bit; 0: quitar bit */
		"acl_mask":"<text>",	/* máscara de bits que deben cambiar */
		"units":"<text>",		/* lista de ID de unidades (separados por comas) */
		"users":"<text>"		/* lista de ID de usuarios (separados por comas) */
	}
}

Fijar el valor del contador

Copied!
{
	"t":"counter",		/* tipo de acción */
	"p":{
		"engine_hours":"<text>",	/* valor del contador de horas de motor */
		"flags":"<text>",		/* marcas de contador (vea más abajo) */
		"mileage":"<text>",	/* valor del contador de kilometraje */
		"traffic":"<text>"	/* valor del contador de tráfico GPRS */
	}
}

Marcas de contador:

MarcaDescripción
1

Establecer el valor del contador de kilometraje.

2Establecer el valor del contador de horas de motor.
4Establecer el valor del contador de tráfico GPRS.

Guardar el valor del contador como parámetro

Copied!
{
	"t":"store_counter",		/* tipo de acción */
	"p":{
		"engine_hours":"<text>",		/* nombre del parámetro para el contador de horas de motor */
		"flags":"<text>",			/* marcas (vea más abajo) */
		"mileage":"<text>"		/* nombre del parámetro para el contador de kilometraje */
	}
}

Marcas:

MarcaDescripción
1

Guardar el valor del contador de kilometraje como parámetro.

2

Guardar el valor del contador de horas de motor como parámetro.

Registrar el estado de la unidad

Copied!
{
	"t":"status",		/* tipo de acción */
	"p":{
		"ui_text":"<text>"	/* estado */
	}
}

Agregar o quitar unidades de grupos

Copied!
{
	"t":"group_manipulation",	/* tipo de acción */
	"p":{
		"add_to":"<text>",		/* agregar a los grupos especificados */
		"remove_from":"<text>"		/* quitar de los grupos especificados */
	}
}

Enviar un informe por email

Copied!
{
	"t":"email_report",	/* tipo de acción */
	"p":{
		"email_to":"<text>",		/* dirección de correo electrónico */
		"file_type":"<text>",		/* formato de archivo (vea más abajo) */
		"flags":"<text>",			/* marcas de intervalo */
		"params":"<text>",		/* configuración de informe (XML) */
		"report_guid":"<text>",		/* ID de recurso */
		"report_id":"<text>",		/* ID de plantilla */
		"report_object_guid":"<text>",	/* ID de objeto para el informe */
		"report_object_id":"<text>",	/* ID de objeto subordinado (0: si el informe se ejecuta para el objeto) */
		"time_from":"<text>",		/* inicio del intervalo de tiempo */
		"time_to":"<text>"		/* fin del intervalo de tiempo */
	}
}

Crear una rutina

Copied!
{
	"t":"route_control",	/* tipo de acción */
	"p":{
		"description":"<text>",	/* descripción */
		"expiration":"<text>",	/* término de vigencia */
		"flags":"<text>",		/* marcas de rutina */
		"name":"<text>",		/* nombre */
		"route":"<text>",		/* ID de ruta */
		"schedule":"<text>"	/* ID de horario */
	}
}

Las marcas de rutina se describen aquí.

Separar al conductor

Copied!
{
	"t":"drivers_reset",	/* tipo de acción */
	"p":{}
}

Separar el remolque

Copied!
{
	"t":"trailers_reset",	/* tipo de acción */
	"p":{}
}

Tipos de control

Están disponibles los siguientes tipos de control para las notificaciones:

Geocerca

Copied!
"trg":{
	"t":"geozone",		/* tipo de control */
	"p":{
		"sensor_type":"<text>",		/* tipo de sensor */
		"sensor_name_mask":"<text>",	/* máscara del nombre del sensor */
		"lower_bound":<uint>,		/* valor del sensor desde */
		"upper_bound":<uint>,		/* valor del sensor hasta */
		"prev_msg_diff":<uint>, 	/* la marca permite crear un rango para el valor actual de acuerdo con el valor anterior(prev) de la siguiente manera: [prev+lower_bound ; prev+upper_bound]; por lo tanto, el rango para el valor actual es relativo al valor anterior: 0, desactivar la opción; 1, activar la opción */
		"merge":<uint>,			/* sensores similares: 0, calcular por separado; 1, sumar valores */
		"reversed":<uint>,		/* activar: 0, dentro del rango especificado; 1, fuera del rango especificado */
		"geozone_ids":"<text>",		/* lista de ID de geocercas (separados por comas) */
		"type":<uint>,			/* tipo de control: 0, controlar entradas en una geocerca; 1, controlar salidas de una geocerca */
		"min_speed":<uint>,		/* velocidad mínima, km/h */
		"max_speed":<uint>,		/* velocidad máxima, km/h */
		"include_lbs":<uint>,		/* procesar mensajes LBS: 1, sí; 0, no */
		"lo":"<text>"			/* operador lógico (opcional): "AND", "OR" */
	}
}

Dirección

Copied!
"trg":{
	"t":"address",		/* tipo de control */
	"p":{
		"sensor_type":"<text>",		/* tipo de sensor */
		"sensor_name_mask":"<text>",	/* máscara del nombre del sensor */
		"lower_bound":<uint>,		/* valor del sensor desde */
		"upper_bound":<uint>,		/* valor del sensor hasta */
		"prev_msg_diff":<uint>, 	/* la marca permite crear un rango para el valor actual de acuerdo con el valor anterior(prev) de la siguiente manera: [prev+lower_bound ; prev+upper_bound]; por lo tanto, el rango para el valor actual es relativo al valor anterior: 0, desactivar la opción; 1, activar la opción */
		"merge":<uint>,			/* sensores similares: 0, calcular por separado; 1, sumar valores */
		"reversed":<uint>,		/* activar: 0, dentro del rango especificado; 1, fuera del rango especificado */
		"radius":<uint>,		/* radio de activación */ 
		"type":<uint>,			/* tipo de control: 0, controlar en el radio de dirección; 1, controlar fuera del radio de dirección */
		"min_speed":<uint>,		/* velocidad mínima, km/h */
		"max_speed":<uint>,		/* velocidad máxima, km/h */
		"country":"<text>",		/* país */
		"region":"<text>",		/* región */
		"city":"<text>",			/* ciudad */
		"street":"<text>",		/* calle */
		"house":"<text>",			/* casa */
		"include_lbs":<uint>		/* procesar mensajes LBS: 1, sí; 0, no */
	}
}

Velocidad

Copied!
"trg":{
	"t":"speed",		/* tipo de control */
	"p":{
		"lower_bound":"<text>",	/* valor del sensor desde */
		"max_speed":"<text>",	/* velocidad máxima, km/h */
		"merge":"<text>",		/* sensores similares: 0, calcular por separado; 1, sumar valores */
		"min_speed":"<text>",	/* velocidad mínima, km/h */
		"prev_msg_diff":"<text>", /* la marca permite crear un rango para el valor actual de acuerdo con el valor anterior(prev) de la siguiente manera: [prev+lower_bound ; prev+upper_bound]; por lo tanto, el rango para el valor actual es relativo al valor anterior: 0, desactivar la opción; 1, activar la opción */
		"reversed":"<text>",	/* activar: 0, dentro del rango especificado; 1, fuera del rango especificado */
		"sensor_name_mask":"<text>",	/* máscara del nombre del sensor */
		"sensor_type":"<text>",	/* tipo de sensor */
		"upper_bound":"<text>"	/* valor del sensor hasta */
	}
}

Alarma (SOS)

Copied!
"trg":{
	"t":"alarm",		/* tipo de control */
	"p":{}
}

Entrada digital

Copied!
"trg":{
	"t":"digital_input",	/* tipo de control */
	"p":{
		"input_index":"<text>",	/* entrada digital (1-32) */
		"type":"<text>"  		/* tipo de control: 0, controlar la activación; 1, controlar la desactivación */
	}
}

Parámetro en un mensaje

Copied!
"trg":{
	"t":"msg_param",	/* tipo de control */
	"p":{
		"kind":"<text>",		/* tipo de control del parámetro (vea más abajo) */
		"lower_bound":"<text>",	/* valor del parámetro desde */
		"param":"<text>",		/* nombre del parámetro */
		"text_mask":"<text>",	/* máscara de texto */
		"type":"<text>",		/* activar: 0, dentro del rango especificado; 1, fuera del rango especificado */
		"upper_bound":"<text>"	/* valor del parámetro hasta */
	}
}

Los tipos de control del parámetro son:

TipoDescripción
0Rango de valores.
1Máscara de texto.
2Disponibilidad del parámetro.
3Falta del parámetro.

Valor del sensor

Copied!
"trg":{
	"t":"sensor_value",		/* tipo de control */
	"p":{
		"lower_bound":"<text>",		/* valor del sensor desde */
		"merge":"<text>",			/* sensores similares: 0, calcular por separado; 1, sumar valores */
		"prev_msg_diff":"<text>",         /* la marca permite crear un rango para el valor actual de acuerdo con el valor anterior(prev) de la siguiente manera: [prev+lower_bound ; prev+upper_bound]; por lo tanto, el rango para el valor actual es relativo al valor anterior: 0, desactivar la opción; 1, activar la opción */
		"sensor_name_mask":"<text>",	/* máscara del nombre del sensor */
		"sensor_type":"<text>",		/* tipo de sensor */
		"type":"<text>",			/* activar: 0, dentro del rango especificado; 1, fuera del rango especificado */
		"upper_bound":"<text>"		/* valor del sensor hasta */
	}
}

Pérdida de conexión

Copied!
"trg":{
	"t":"outage",		/* tipo de control */
	"p":{
		"time":"<text>",		/* intervalo de tiempo, s */
		"type":"<text>",		/* tipo de control: 0, pérdida de coordenadas; 1, pérdida de conexión */
		"include_lbs":<uint>,	/* procesar mensajes LBS: 1, sí; 0, no */
		"check_restore":<uint>,	/* notificar sobre: 0, pérdida de conexión; 1, pérdida y restauración de conexión; 2, restauración de conexión */
		"geozones_type":"<text>", /* tipo de control: 0, fuera de geocerca; 1, dentro de geocerca */ 
		"geozones_list":"<text>"  /* lista de ID de geocercas (separados por comas) */
	}
}

Inactividad

Copied!
"trg":{
	"t":"speed",		/* tipo de control */
	"p":{
		"lower_bound":"<text>",		/* valor del sensor desde */
		"max_speed":"<text>",		/* velocidad máxima, km/h */
		"merge":"<text>",			/* sensores similares: 0, calcular por separado; 1, sumar valores */
		"min_idle_time":"<text>",		/* tiempo mínimo de ralentí, min */
		"min_speed":"<text>",		/* velocidad mínima, km/h */
		"prev_msg_diff":"<text>",         /* la marca permite crear un rango para el valor actual de acuerdo con el valor anterior(prev) de la siguiente manera: [prev+lower_bound ; prev+upper_bound]; por lo tanto, el rango para el valor actual es relativo al valor anterior: 0, desactivar la opción; 1, activar la opción */
		"reversed":"<text>",		/* activar: 0, dentro del rango especificado; 1, fuera del rango especificado */
		"sensor_name_mask":"<text>",	/* máscara del nombre del sensor */
		"sensor_type":"<text>",		/* tipo de sensor */
		"upper_bound":"<text>",		/* valor del sensor hasta */
		"geozones_type":"<text>", 	/* tipo de control: 0, fuera de geocerca; 1, dentro de geocerca */ 
		"geozones_list":"<text>"  	/* lista de ID de geocercas (separados por comas) */
	}
}

El valor del parámetro min_idle_time especificado en minutos debe corresponder al valor del parámetro mast especificado en segundos. Así, si desea que la notificación se ejecute tras 10 minutos de inactividad, especifique 10 para min_idle_time y 600 para mast.

SMS

Copied!
"trg":{
	"t":"sms",		/* tipo de control */
	"p":{
		"mask":"<text>"		/* máscara del texto de SMS */
	}
}

Interposición de unidades

Copied!
"trg":{
	"t":"interposition",		/* tipo de control */
	"p":{
		"sensor_name_mask":"<text>",	/* máscara del nombre del sensor */
		"sensor_type":"<text>",		/* tipo de sensor */
		"lower_bound":"<text>",		/* valor del sensor desde */
		"upper_bound":"<text>"		/* valor del sensor hasta */
		"merge":"<text>",			/* sensores similares: 0, calcular por separado; 1, sumar valores */
		"max_speed":"<text>",		/* velocidad máxima, km/h */
		"min_speed":"<text>",		/* velocidad mínima, km/h */
		"reversed":"<text>",		/* activar: 0, dentro del rango especificado; 1, fuera del rango especificado */
		"prev_msg_diff":"<text>",         /* la marca permite crear un rango para el valor actual de acuerdo con el valor anterior(prev) de la siguiente manera: [prev+lower_bound ; prev+upper_bound]; por lo tanto, el rango para el valor actual es relativo al valor anterior: 0, desactivar la opción; 1, activar la opción */
		"radius":"<text>",		/* radio, m */
		"type":"<text>",			/* tipo de control: 0, controlar la aproximación de unidades; 1, controlar el alejamiento de unidades */
		"unit_guids":"<text>",		/* lista de UD de las unidades controladas (separados por comas) */
		"include_lbs":<uint>,		/* procesar mensajes LBS: 1, sí; 0, no */
		"lo":"<text>"		/* operador lógico (opcional): "AND", "OR" */
	}
}

Exceso de mensajes

Copied!
"trg":{
	"t":"msgs_counter",		/* tipo de control */
	"p":{
		"flags":"<text>",			/* tipo de mensajes: 1, mensajes con datos, 2, mensajes SMS */
		"msgs_limit":"<text>",		/* límite de mensajes */
		"time_offset":"<text>"		/* intervalo de restablecimiento de los valores del sensor (límite 24h), s */
	}
}

Progreso de ruta

Copied!
"trg":{
	"t":"route_control",		/* tipo de control */
	"p":{
		"mask":"<text>",			/* máscara del nombre de la ruta */
		"round_mask":"<text>",		/* máscara del nombre de la rutina */
		"schedule_mask":"<text>",		/* máscara del nombre del horario */
		"types":"<text>"			/* tipos de control de la ruta (separados por comas) */
	}
}

Los tipos de control de la ruta son:

TipoDescripción
1

Rutina iniciada.

2

Rutina finalizada.

4

Rutina anulada.

8

Llegada al punto de control.

16

Omisión del punto de control.

32

Salida del punto de control.

64

Atraso.

128

Adelantamiento.

256

Regreso a lo programado.

Conductor

Copied!
"trg":{
	"t":"driver",		/* tipo de control */
	"p":{
		"driver_code_mask":"<text>",	/* máscara del código del conductor */
		"flags":"<text>"			/* tipo de control: 1, asignación; 2, separación */
	}
}

Remolque

Copied!
"trg": {
	"t": "trailer",		/* tipo de control */
	"p": {
		"driver_code_mask": "<text>",	/* máscara del código del remolque */
		"flags": "<text>"			/* tipo de control: 1, asignación; 2, separación */
	}
}

Mantenimiento

Copied!
"trg":{
	"t":"service_intervals",	/* tipo de control */
	"p":{
		"days":"<text>",			/* intervalo de días */
		"engine_hours":"<text>",		/* intervalo de horas de motor, h */
		"flags":"<text>",			/* marcas de control de mantenimiento (vea más abajo) */
		"mask":"<text>",			/* máscara de filtro de intervalos */
		"mileage":"<text>",		/* intervalo de kilometraje, km */
		"val":"<text>"			/* notificar cuando: 1, término de servicio se aproxima: ; -1, término de servicio caduca */
	}
}

Las marcas de control de mantenimiento son:

MarcaDescripción
0

Controlar todos los intervalos de servicio.

1

Intervalo de kilometraje.

2

Intervalo de horas de motor.

4

Intervalo de días.

Llenado de combustible o recarga de batería

Copied!
"trg":{
	"t":"fuel_filling",	/* tipo de control */
	"p":{
		"sensor_name_mask":"<text>",			/* máscara del nombre del sensor */
		"geozones_type":<uint>,		/* tipo de control de geocerca: 0, desactivado o fuera de geocerca; 1, dentro de geocerca */
		"geozones_list":"<text>",			/* lista de ID de geocercas (separados por comas) en el formato "resourceID_geozone ID" */
		"realtime_only":<uint>,			/* ignorar el recálculo de datos históricos: 0, desactivar; 1, activar */
	}
}

Descarga de combustible

Copied!
"trg":{
	"t":"fuel_theft",	/* tipo de control */
	"p":{
		"sensor_name_mask":"<text>",			/* máscara del nombre del sensor */
		"geozones_type":<uint>,		/* tipo de control de geocerca: 0, desactivado o fuera de geocerca; 1, dentro de geocerca */
		"geozones_list":"<text>",			/* lista de ID de geocercas (separados por comas) en el formato "resourceID_geozone ID" */
		"realtime_only":<uint>,			/* ignorar el recálculo de datos históricos: 0, desactivar; 1, activar */
	}
}

Estado de dispositivos

Copied!
"trg": {
        "t": "health_check",  /* Tipo de control */
        "p": {
            "healthy": <uint>,  /* Muestra si el dispositivo está en buen estado: 0no, 1 — sí */
            "unhealthy": <uint>,   /* Muestra si el dispositivo está en mal estado: 0no, 1 — sí */
            "needAttention": <uint>,  /* Muestra si el dispositivo require atención: 0no, 1 — sí */
            "triggerForEachIncident": <uint>  /* Activar para cada incidente: 0 — opción deshabilitada, 1 — opción habilitada */
        }
    }

Códigos de errores

CódigoDescripción
4Parámetros de entrada incorrectos.
7El usuario no tiene el derecho de acceso necesario al recurso (ADF_ACL_AVL_RES_VIEW_NF).
Descargar archivo PDF
Descargar archivo Word

Ver también