Unidades

Dependiendo de los flags especificados, el formato de respuesta puede variar.

Este capítulo describe los flags que se pueden aplicar a las unidades y las partes correspondientes del JSON resultante que controlan. Si se especifican varios flags, sus respectivas partes se combinan en un solo JSON.

Flags de unidades

Los siguientes flags pueden aplicarse a las unidades:

Valor HEX Valor DEC Descripción
0x00000001 1 Propiedades básicas (flag base)
0x00000002 2 Propiedades personalizadas
0x00000004 4 Información de facturación
0x00000008 8 Campos personalizados comunes
0x00000010 16 Imagen
0x00000020 32 Mensajes (solo suscripción)
0x00000040 64 GUID
0x00000080 128 Campos personalizados administrativos
0x00000100 256 Propiedades avanzadas
0x00000200 512 Comandos disponibles en el momento
0x00000400 1024 Último mensaje y ubicación
0x00000800 2048 Código de conductor (obsoleto)
0x00001000 4096 Sensores
0x00002000 8192 Contadores
0x00004000 16384 Rutas (obsoleto)
0x00008000 32768 Mantenimiento
0x00010000 65536 Registros de la unidad (obsoleto)
0x00020000 131072 Configuración de la unidad en informes: detector de viajes y consumo de combustible
0x00040000 262144 Todas las demás configuraciones de la unidad: filtrado de validez de mensajes (obsoleto). Para obtener los ajustes del filtro, utilice unit/get_messages_filter.
0x00080000 524288 Lista de todos los comandos posibles para esta unidad
0x00100000 1048576 Parámetros del mensaje
0x00200000 2097152 Estado de conexión de la unidad
0x00400000 4194304 Ubicación
0x00800000 8388608 Propiedades del perfil
0x01000000 16777216 Asuntos (solo suscripción)
0x3FFFFFFFFFFFFFFF 4611686018427387903 Establecer todos los flags de unidad posibles. Pase el valor como cadena o utilice -1.

Propiedades básicas

El flag de las propiedades básicas es 0x00000001 (1).

Copied!
{
    "mu": <uint>,  /* Sistema de medida: 0 para métrico (SI), 1 para estadounidense, 2 para imperial, 3 para métrico con galones */
    "nm": "<text>",  /* Nombre */
    "cls": <uint>,   /* ID de superclase de avl_unit, normalmente 2 (consulte la clave classes en la respuesta de token/login) */
    "id": <uint>,    /* ID de la unidad */
    "uacl": <long>   /* Derechos de acceso del usuario a esta unidad (valor de 64 bits) */
}

Propiedades personalizadas

El flag de las propiedades personalizadas es 0x00000002 (2).

El objeto prp contiene las propiedades personalizadas que la interfaz de Wialon y las aplicaciones almacenan para la unidad, por lo que el conjunto de claves varía. Las claves más comunes se enumeran a continuación.

Copied!
{
    "prp": {                                          /* Propiedades personalizadas */
        "img_rot":                "<text>",           /* Rotar imágenes: 1 = sí, 0 = no */
        "label_color":            "<text>",           /* Color del nombre de unidad: valor RGB como número decimal */
        "monitoring_sensor_id":   "<text>",           /* ID del sensor mostrado en el sistema de rastreo */
        "motion_state_sensor_id": "<text>",           /* ID del sensor usado para estado de movimiento */
        "sensors_colors_id":      "<text>",           /* ID del sensor para color del recorrido */
        "use_sensor_color":       "<text>",           /* Usar color del sensor: 1 = sí, 0 = no */

        /* Selección de la fuente de color del recorrido */
        "sensors_colors":         "<text>",           /* Tabla de colores según valores del sensor */
        "solid_colors":           "<text>",           /* Color sólido del recorrido */
        "speed_colors":           "<text>",           /* Tabla de colores según velocidad */

        /* Últimos colores utilizados */
        "track_sensor":           "<text>",           /* Últimos colores para recorridos según sensor */
        "track_solid":            "<text>",           /* Último color sólido utilizado */
        "track_speed":            "<text>",           /* Últimos colores según velocidad */

        "monitoring_battery_id":  "<text>"            /* ID del sensor del estado de batería */
    },
    "ftp": {  /* Configuración FTP (solo se utiliza para cuentas) */
        "hs": "<text>",  /* Host (solo si está configurado) */
        "lg": "<text>",  /* Inicio de sesión (solo si está configurado) */
        "pt": "<text>",  /* Ruta del directorio (solo si está configurada) */
        "ch": <uint>,  /* Validez de la configuración FTP: 1 para sí, 0 para no */
        "tp": <uint>,  /* Usar FTP de Wialon Hosting: 1 para sí, 0 para no */
        "fl": <uint>   /* Disponibilidad de FTP de Wialon Hosting: 1 para sí, 0 para no */
    },
    "ct": <uint>                                      /* Hora de creación */
}

Color del nombre de unidad

La propiedad personalizada label_color almacena el valor de la opción Color del nombre de unidad. El color se aplica al texto del nombre o a su fondo, según el ajuste de usuario Emplear el color del nombre de la unidad para.

El color se almacena como un número decimal convertido del código RGB hexadecimal. Por ejemplo, el rojo (#FF0000) se almacena como "16711680", y el azul claro (#42AAFF), como "4369151". No indique cadenas hexadecimales como "#42AAFF": el servidor guarda el valor sin validarlo, pero el color se interpreta como un número decimal.

Para cambiar el color del nombre, utilice el método item/update_custom_property:

Copied!
https://hst-api.wialon.com/wialon/ajax.html?svc=item/update_custom_property&params={"itemId":24568421,"name":"label_color","value":"4369151"}&sid=SESSION_IDENTIFIER
Respuesta
Copied!
{
  "n": "label_color",
  "v": "4369151"
}

Información de facturación

El flag de la información de facturación es 0x00000004 (4).

Copied!
{
    "crt": <uint>,    /* ID del creador */
    "bact": <uint>    /* ID de la cuenta */
}

Campos personalizados

El flag de los campos personalizados es 0x00000008 (8).

Copied!
{
    "flds": {               /* Campos personalizados */    
        <text>: {         /* ID del campo personalizado */
            "id": <uint>, /* ID */
            "n": <text>,  /* Nombre */
            "v": <text>,      /* Valor */
            "ct": <uint>, /* Hora de creación (marca de tiempo Unix) */
            "mt": <uint>  /* Hora de la última modificación (marca de tiempo Unix) */
        },
        ...
    },
    "fldsmax":<long> /* Cantidad máxima de campos personalizados permitida por el plan de facturación de la cuenta (-1 para ilimitado). Puede ser 0 si el servicio no está incluido en el plan de facturación; los campos personalizados existentes se siguen devolviendo */
}

Imagen de la unidad

El flag de la imagen de la unidad es 0x00000010 (16).

Copied!
{
    "uri": "<text>", /* Ruta de la imagen de la unidad en el servidor. Agréguela a la dirección del servidor de Wialon para obtener la imagen */
    "ugi": <uint> /* Cantidad de cambios de imagen */
}

Mensajes

El flag de mensajes es 0x00000020 (32).

Este flag no agrega ningún dato a la respuesta. Suscribe la sesión a los mensajes nuevos de la unidad.

Para utilizarlo, establezca el flag para la unidad con core/update_data_flags. Después de eso, cada mensaje nuevo registrado para la unidad se entrega como un evento en avl_evts. El formato del mensaje depende del tipo de mensaje y se describe en la página Mensajes.

Se recomienda combinar este flag con el flag de las propiedades básicas 0x00000001 (1). Por sí solo, el flag de los mensajes hace que core/update_data_flags devuelva un objeto d vacío, lo que parece indicar que la suscripción falló.

GUID

El flag del GUID es 0x00000040 (64).

Copied!
{
    "gd": "<text>"   /* GUID de la unidad */
}

Campos administrativos

El flag de los campos administrativos es 0x00000080 (128).

Copied!
{
    "aflds": {       /* Campos administrativos */       
        "<text>": {  /* ID del campo administrativo */
            "id": <uint>,  /* ID */
            "n": "<text>",  /* Nombre */
            "v": "<text>",  /* Valor */
            "ct": <uint>,  /* Hora de creación (marca de tiempo Unix) */
            "mt": <uint>  /* Hora de la última modificación (marca de tiempo Unix) */
        }
    },
    "afldsmax": <long>  /* Cantidad máxima de campos administrativos permitida por el plan de facturación de la cuenta (-1 para ilimitado). Puede ser 0 si el servicio no está incluido en el plan de facturación; los campos administrativos existentes se siguen devolviendo */
}

Propiedades avanzadas

El flag de las propiedades avanzadas es 0x00000100 (256).

Copied!
{
    "uid": "<text>",         /* ID único (hardware) */
    "uid2": "<text>",        /* Segundo ID único (hardware) */
    "hw": <long>,            /* Tipo de hardware */
    "ph": "<text>",          /* Número de teléfono */
    "ph2": "<text>",         /* Segundo número de teléfono */
    "psw": "<text>",         /* Contraseña */
    "act": <uint>,           /* Estado de la unidad: 1 si está activa, 0 si está desactivada */
    "act_reason": <uint>,    /* Motivo de la desactivación */
    "dactt": <uint>,         /* Hora de la desactivación */
    "act_code": <text>,      /* Código de activación. Una cadena vacía si la unidad no tiene código */
    "act_code_tme": <uint>,  /* Hora de caducidad del código de activación. 0 si la unidad no tiene código */
    "vp": {...},             /* Estado de la facturación de vídeo. null si la facturación de vídeo no está configurada */
    "retr": {...},           /* Propiedades de repetición. null si no están definidas */
    "hch": {...}             /* Ajustes de Diagnóstico */
}

Las claves de este flag requieren diferentes derechos de acceso:

Claves Derecho de acceso
uid, uid2, hw, ph, ph2, psw Ver propiedades de conexión
act, act_reason, dactt, act_code_tme, retr, hch Ver objeto y sus propiedades básicas
vp Ver detalle de propiedades de objeto
act_code Administrar códigos de activación

Para activar o desactivar una unidad, use unit/set_active.

El código de activación se describe en la página unit/get_billing_code, donde act_code corresponde a guid y act_code_tme, a tme. El contenido de los objetos retr y hch se describe en las páginas unit/update_retranslation_property y unit/update_health_check.

En Wialon Local, la clave hch está disponible a partir de la versión 2504.

El objeto vp tiene el siguiente formato:

Copied!
{
    "packets": <int>,            /* Cantidad de paquetes de tráfico comprados */
    "bytes_in": <long>,          /* Tráfico de vídeo utilizado, en bytes */
    "bytes_limit": <long>,       /* Límite de tráfico de vídeo, en bytes */
    "hdd_used": <long>,          /* Espacio de almacenamiento utilizado */
    "hdd_limit": <long>,         /* Límite de espacio de almacenamiento */
    "autopay": <int>,            /* Cantidad máxima de paquetes comprados automáticamente cada mes (-1 para ilimitado, 0 si está desactivado) */
    "status_flags": <int>,       /* Flags de estado de la facturación de vídeo */
    "available_traffic": <long>, /* Tráfico de vídeo restante, en bytes (-1 para ilimitado) */
    "status_ch_ts": <long>,      /* Hora del último cambio de estado (marca de tiempo Unix) */
    "updated_at": <long>         /* Hora de la última actualización (marca de tiempo Unix) */
}

Para gestionar la facturación de vídeo, utilice los métodos unit/update_video_status, unit/add_video_packets y unit/update_video_autopay.

Comandos disponibles

El flag de los comandos disponibles es 0x00000200 (512).

Copied!
{
    "cmds": [               /* Matriz de comandos */
        {          
            "n": "<text>",  /* Nombre */
            "a": <long>,    /* Nivel de acceso (derechos de acceso que el usuario debe tener para ejecutar este comando) */
            "t": "<text>",  /* Tipos de enlace disponibles para el comando, separados por comas: tcp, udp, gsm, vrt */
            "c": "<text>",  /* Tipo de comando */
            "p": "<text>",  /* Parámetros. Vacío si no están definidos */
            "jp": "<text>"  /* Parámetros JSON como texto. Vacío si no están definidos */
        }
    ]
}

La matriz cmds contiene solo las definiciones de comandos que el dispositivo puede ejecutar en este momento. El servidor de comunicación informa qué tipos de comandos acepta actualmente el dispositivo por cada tipo de enlace (tcp, udp, gsm, vrt). Una definición de comando se excluye si su tipo de comando no está disponible por ningún tipo de enlace. También se excluye si en la definición se establece un tipo de enlace concreto y el tipo de comando no está disponible por ese tipo de enlace. El campo t enumera todos los tipos de enlace por los que el tipo de comando está disponible actualmente, aunque la definición tenga un tipo de enlace concreto. Por ejemplo, para una definición con el tipo de enlace automático (valor l vacío), t puede ser tcp,vrt. Para obtener todas las definiciones de comandos de la unidad, utilice el método unit/get_command_definition_data.

Los tipos de comandos y enlaces, así como los parámetros p y jp, se describen en la página unit/update_command_definition. Los tipos de comandos disponibles dependen del tipo de dispositivo. La lista de flags de acceso para unidades se proporciona en las secciones General y Unidades y grupos de unidades en la página core/check_items_billing.

Último mensaje y ubicación

El flag del último mensaje y ubicación es 0x00000400 (1024).

Copied!
{
    "pos": {            /* Última ubicación conocida. null si la unidad no tiene mensajes con ubicación */
        "t": <uint>,      /* Hora (UTC) */
        "f": <uint>,      /* Flags del mensaje con esta ubicación */
        "lc": <int>,      /* Suma de verificación del mensaje LBS */
        "y": <double>,    /* Latitud */
        "x": <double>,    /* Longitud */
        "z": <double>,    /* Altitud */
        "s": <int>,       /* Velocidad */
        "c": <int>,       /* Rumbo */
        "sc": <int>       /* Cantidad de satélites */
    },
    "lmsg": {           /* Último mensaje conocido. null si la unidad no tiene mensajes */
        ...
    }
}

Los valores posibles del campo f se enumeran en la sección Mensaje de datos.

Los campos y, x y c faltan si la ubicación proviene de un mensaje registrado durante un viaje privado, es decir, si el campo f contiene el flag 0x40000 (262144). Esto ocurre cuando la unidad tiene un sensor del tipo Modo privado con la opción No mostrar la ubicación de la unidad activada. En este caso, los campos no se establecen en cero, sino que no están presentes en el objeto pos.

El formato del mensaje depende del tipo de mensaje. Todos los tipos se describen en la página Mensajes.

Sensores

El flag de los sensores es 0x00001000 (4096).

Copied!
{
    "sens": {               /* Sensores */
        "<text>": {       /* ID del sensor */
            "id": <long>, /* ID */
            "n": "<text>",  /* Nombre */
            "t": "<text>",  /* Tipo */
            "d": "<text>",  /* Descripción */
            "m": "<text>",  /* Unidad de medida */
            "p": "<text>",  /* Parámetro */
            "f": <uint>,  /* Flags del sensor */
            "c": "<text>",  /* Configuración */
            "vt": <uint>, /* Tipo de validación */
            "vs": <long>, /* ID del sensor de validación */
            "tbl": [        /* Tabla de cálculo */
                {           /* Parámetros */
                    "x": <double>,
                    "a": <double>,
                    "b": <double>
                }
            ],
            "ct": <uint>,   /* Hora de creación (marca de tiempo Unix) */
            "mt": <uint>    /* Hora de la última modificación (marca de tiempo Unix) */
        },
        ...
    },
    "sens_max": <long>    /* Cantidad máxima de sensores permitida por el plan de facturación de la cuenta (-1 para ilimitado). Puede ser 0 si el servicio no está incluido en el plan de facturación; los sensores existentes se siguen devolviendo */
}

En Wialon Local, los campos ct y mt de los sensores están disponibles a partir de la versión 2304.

Los flags de sensores, tipos de sensores y validación, así como ejemplos de configuración se proporcionan en la página unit/update_sensor.

Contadores

El flag de los contadores es 0x00002000 (8192).

Copied!
{
    "cfl": <uint>,     /* Flags de cálculo */
    "cnm": <uint>,     /* Contador de kilometraje, km o millas según el sistema de medida de la unidad */
    "cnm_km": <uint>,  /* Contador de kilometraje, siempre en km */
    "cneh": <double>,  /* Contador de horas de motor, h */
    "cnkb": <uint>     /* Contador de tráfico GPRS, KB */
}

El contador cnm se convierte a millas si el sistema de medida de la unidad es estadounidense o imperial. El contador cnm_km contiene el mismo valor, pero siempre en km. El sistema de medida se almacena en el campo mu de las propiedades básicas.

Los flags de cálculo se describen en la página unit/update_calc_flags.

Mantenimiento

El flag de los intervalos de servicio es 0x00008000 (32768).

Copied!
{
    "si": {                 /* intervalos de servicio */
        "<text>": {       /* ID del intervalo de servicio */
            "id": <uint>, /* ID */
            "n": "<text>",  /* nombre */
            "t": "<text>",  /* descripción */
            "im": <uint>, /* intervalo de kilometraje */
            "it": <uint>, /* intervalo de días */
            "ie": <uint>, /* intervalo de horas de motor */
            "pm": <uint>, /* último servicio para intervalo de kilometraje, km */
            "pt": <uint>, /* último servicio para intervalo de días, seg (UTC) */
            "pe": <uint>, /* último servicio para intervalo de horas de motor, h */
            "c": <uint>,  /* veces realizado */
            "ct": <uint>, /* hora de creación (marca de tiempo Unix) */
            "mt": <uint>  /* hora de la última modificación (marca de tiempo Unix) */
        },
        ...
    },
    "simax": <long>       /* Cantidad máxima de intervalos de servicio permitida por el plan de facturación de la cuenta (-1 para ilimitado). Puede ser 0 si el servicio no está incluido en el plan de facturación; los intervalos de servicio existentes se siguen devolviendo */
}

Detector de viajes y consumo de combustible

El flag del detector de viajes y consumo de combustible es 0x00020000 (131072).

Copied!
{
    "rtd": {                            /* Detector de viajes */
        "type": <uint>,                   /* Tipo de detección de movimiento */
        "gpsCorrection": <int>,           /* Permitir corrección GPS: 0 - no, 1 - sí */
        "minSat": <uint>,             /* Cantidad mínima de satélites */
        "minMovingSpeed": <uint>,     /* Velocidad de movimiento mínima, km/h */
        "minStayTime": <uint>,            /* Tiempo de estacionamiento mínimo, segundos */
        "maxMessagesDistance": <uint>,    /* Distancia máxima entre mensajes, metros */
        "minTripTime": <uint>,            /* Tiempo de viaje mínimo, segundos */
        "minTripDistance": <uint>     /* Distancia de viaje mínima, metros */
    },
    "rfc": {                                /* Consumo de combustible */
        "calcTypes": <uint>,              /* Tipo de cálculo */
        "fuelLevelParams": {                /* Detección de llenados y descargas de combustible */
            "flags": <uint>,              /* Flags de llenados y descargas */
            "ignoreStayTimeout": <uint>,  /* Ignorar mensajes después del inicio del movimiento, s */
            "minFillingVolume": <double>,   /* Volumen mínimo de llenado de combustible, litros */
            "minTheftTimeout": <uint>,        /* Tiempo de inactividad mínimo para detectar descarga de combustible, s */
            "minTheftVolume": <double>,     /* Volumen mínimo de descarga de combustible, litros */
            "filterQuality": <ubyte>,     /* Nivel de filtrado (0..255) */
            "fillingsJoinInterval": <uint>,   /* Tiempo límite para separar llenados consecutivos, s */
            "theftsJoinInterval": <uint>, /* Tiempo límite para separar descargas consecutivas, s */
            "extraFillingTimeout": <uint> /* Tiempo límite para detectar volumen final de llenado, s */
        },
        "fuelConsMath": {         /* Consumo matemático */
            "idling": <double>,     /* En ralentí, litros por hora */
            "urban": <double>,      /* Ciclo urbano, litros por 100 km */
            "suburban": <double>  /* Ciclo extraurbano, litros por 100 km */
        },
        "fuelConsRates": {             /* Consumo por tasas */
            "consSummer": <double>,     /* Consumo de verano, litros por 100 km */
            "consWinter": <double>,     /* Consumo de invierno, litros por 100 km */
            "winterMonthFrom": <int>,  /* Invierno desde (mes: 0-11) */
            "winterDayFrom": <int>,      /* Invierno desde (día 1-31) */
            "winterMonthTo": <int>,      /* Invierno hasta (mes 0-11) */
            "winterDayTo": <int>     /* Invierno hasta (día 1-31) */
        },
        "fuelConsImpulse": {        /* Sensores impulsivos del consumo de combustible */
            "maxImpulses": <int>, /* Cantidad máxima de impulsos */
            "skipZero": <int>     /* Omitir el primer valor cero */
        }
    }
}

Los tipos de detección de movimiento se describen en la página unit/get_trip_detector. Los tipos de cálculo del consumo de combustible, así como los flags de llenado y descarga se describen en la página unit/get_fuel_settings.

Comandos

El flag de los comandos es 0x00080000 (524288).

Copied!
{
    "cml": {               /* Lista de comandos */
        "<text>": {      /* ID del comando */
            "id": <uint>,  /* ID */
            "n": "<text>", /* Nombre */
            "c": "<text>", /* Tipo */
            "l": "<text>", /* Tipo de enlace */
            "p": "<text>", /* Parámetros */
            "a": <long>,   /* Nivel de acceso (derechos de acceso que el usuario debe tener para enviar este comando) */
            "f": <uint>,   /* Flags de número de teléfono: 0 - cualquiera (primario, luego secundario), 0x1 - primario, 0x2 - secundario */
            "jp": "<text>",/* Parámetros JSON (solo si están configurados) */
            "ct": <uint>,  /* Hora de creación (marca de tiempo Unix) */
            "mt": <uint>   /* Hora de la última modificación (marca de tiempo Unix) */
        },
        ...
    },
    "cml_max": <long> /* Cantidad máxima de comandos permitida por el plan de facturación de la cuenta (-1 para ilimitado). Puede ser 0 si el servicio no está incluido en el plan de facturación; los comandos existentes se siguen devolviendo */
}

Los tipos de comandos y enlaces se describen en la página unit/update_command_definition. Los tipos de comandos disponibles dependen del tipo de dispositivo. La lista de flags de acceso para unidades se proporciona en las secciones General y Unidades y grupos de unidades en la página core/check_items_billing.

Parámetros del mensaje

Permite utilizar el sistema acumulativo de valores de parámetros de mensajes. Los parámetros se almacenarán en la sección correspondiente del objeto JSON, que almacenará no solo los valores de los parámetros del último mensaje, sino también los valores de los parámetros de mensajes anteriores.

El flag de los parámetros del mensaje es 0x00100000 (1048576).

Copied!
{
    "prms": {               /* Lista de parámetros del mensaje */
        "<text>": {       /* Nombre del parámetro */
            "v": <any>,   /* Valor del parámetro: un número, una cadena o un objeto */
            "ct": <uint>, /* Hora del último cambio de valor */
            "at": <uint>  /* Hora del último mensaje con este parámetro */
        },
        ...
    }
}

La clave prms falta si la unidad no ha enviado ningún mensaje. Si la sesión tiene un límite de la cantidad de parámetros, la respuesta contiene en su lugar un objeto prms vacío y "prms_total": 0 (consulte Lista limitada de parámetros).

Cuando la unidad envía un mensaje nuevo, la sesión recibe un evento con los parámetros de este mensaje en el objeto prms. Si el valor de un parámetro no ha cambiado, el evento contiene solo la hora del mensaje en lugar del objeto completo:

Copied!
{
    "prms": {
        "<text>": <uint>  /* Nombre del parámetro: hora del último mensaje con este parámetro */
    }
}

Lista limitada de parámetros

Para las unidades con una gran cantidad de parámetros, por ejemplo, unidades con etiquetas BLE, la lista completa puede ser muy grande. Para obtener solo los parámetros más recientes, establezca un límite con core/set_prms_limit antes de solicitar los datos. El límite se aplica a todas las unidades de la sesión.

Con un límite, la respuesta contiene como máximo la cantidad especificada de parámetros, es decir, los que llegaron en los últimos mensajes recibidos por el servidor. El campo prms_total contiene la cantidad total de parámetros de la unidad:

Copied!
{
    "prms": {               /* Parámetros del mensaje más recientes */
        "<text>": {       /* Nombre del parámetro */
            "v": <any>,   /* Valor del parámetro: un número, una cadena o un objeto */
            "ct": <uint>, /* Hora del último cambio de valor */
            "at": <uint>  /* Hora del último mensaje con este parámetro */
        },
        ...
    },
    "prms_total": <uint>    /* Cantidad total de parámetros del mensaje de la unidad */
}

El límite cambia el comportamiento de la sesión de la siguiente manera:

  • Cada solicitud core/update_data_flags con el flag de los parámetros del mensaje en el modo 1 devuelve la lista actual de los parámetros más recientes, aunque la unidad ya tenga este flag en la sesión.
  • Los eventos contienen todos los parámetros del mensaje nuevo, no solo los devueltos anteriormente, y la cantidad de estos parámetros no está limitada. Cada parámetro se devuelve siempre como un objeto completo con los campos v, ct y at.
  • La sesión no recibe la lista completa de parámetros cuando el servidor la reconstruye. Para obtener la lista actual, repita la solicitud core/update_data_flags.

El límite solo se aplica al objeto prms. Las demás propiedades de la unidad, por ejemplo, los parámetros del último mensaje, se devuelven completas.

El método core/set_prms_limit no está disponible en Wialon Local.

Conexión

El flag del estado de conexión de la unidad es 0x00200000 (2097152).

Copied!
{
    "netconn": <int>  /* Estado de conexión: 1 si la unidad tiene una conexión TCP o UDP activa, 0 si no la tiene */
}

Ubicación

El flag de la ubicación de la unidad es 0x00400000 (4194304).

Copied!
{
    "pos": {            /* Última ubicación conocida. null si la unidad no tiene mensajes con ubicación */
        "t": <uint>,      /* Hora (UTC) */
        "f": <uint>,      /* Flags del mensaje con esta ubicación */
        "lc": <int>,      /* Suma de verificación del mensaje LBS */
        "y": <double>,    /* Latitud */
        "x": <double>,    /* Longitud */
        "z": <double>,    /* Altitud */
        "s": <int>,       /* Velocidad */
        "c": <int>,       /* Rumbo */
        "sc": <int>       /* Cantidad de satélites */
    }
}

Los valores posibles del campo f se enumeran en la sección Mensaje de datos.

Los campos y, x y c faltan si la ubicación proviene de un mensaje registrado durante un viaje privado, es decir, si el campo f contiene el flag 0x40000 (262144). Esto ocurre cuando la unidad tiene un sensor del tipo Modo privado con la opción No mostrar la ubicación de la unidad activada. En este caso, los campos no se establecen en cero, sino que no están presentes en el objeto pos.

Propiedades del perfil

El flag de las propiedades del perfil es 0x00800000 (8388608).

Copied!
{
    "pflds": {            /* Campos del perfil */
        "<text>": {       /* ID del campo del perfil */
            "id": <uint>, /* ID */
            "n": "<text>",  /* Nombre */
            "v": "<text>",  /* Valor */
            "ct": <uint>, /* Hora de creación (marca de tiempo Unix) */
            "mt": <uint>  /* Hora de la última modificación (marca de tiempo Unix) */
        },
        ...
    },
    "pfldsmax": <long>    /* Cantidad máxima de campos del perfil permitida por el plan de facturación de la cuenta (-1 para ilimitado). Puede ser 0 si el servicio no está incluido en el plan de facturación; los campos del perfil existentes se siguen devolviendo */
}

Asuntos

El flag de los asuntos es 0x01000000 (16777216).

En Wialon Local, este flag está disponible a partir de la versión 2504.

Este flag no agrega ningún dato a la respuesta. Suscribe la sesión a los mensajes nuevos de asuntos de la unidad.

Para utilizarlo, establezca el flag para la unidad con core/update_data_flags. Después de eso, cada mensaje nuevo de asunto registrado para la unidad se entrega como un evento en avl_evts en el siguiente formato:

Copied!
{
    "i": <long>,             /* ID de la unidad */
    "t": "m",                /* Tipo de evento: mensaje nuevo */
    "d": {
        "t": <int>,          /* Hora del mensaje */
        "f": <int>,          /* Flags del mensaje */
        "tp": "task",        /* Tipo de mensaje */
        "task_id": <text>,   /* ID del asunto */
        "p": {}              /* Campos del asunto */
    }
}

El objeto p contiene los campos del asunto: su estado, prioridad, responsable, comentarios y otros. Son los mismos campos que devuelve messages/get_task_messages.

Un asunto también se entrega como un evento nuevo cada vez que se modifica, por ejemplo, cuando se actualiza su estado o se agrega un comentario. Este evento tiene el mismo task_id que el asunto original, y la hora de su mensaje t sigue siendo la hora en que se creó el asunto. La hora de la modificación se encuentra en el parámetro task_update_time. Para mantener el estado actual de un asunto, reemplace el asunto guardado que tiene el mismo task_id por el del evento más reciente.

Para recibir los eventos de asuntos, se requiere el derecho de acceso a la unidad Solicitar informes y mensajes. Para los demás eventos de la unidad, basta con el derecho de acceso Ver objeto y sus propiedades básicas. Además, el servicio Asuntos debe estar habilitado y activo para la cuenta.

Se recomienda combinar este flag con el flag de las propiedades básicas 0x00000001 (1). Por sí solo, el flag de los asuntos hace que core/update_data_flags devuelva un objeto d vacío, lo que parece indicar que la suscripción falló.

Si nota un error en el texto, por favor resáltelo y presione Ctrl+Intro.