API de historial de coordenadas de objeto

El propósito principal de la API de historial de coordenadas de objeto es mostrar los datos historiales (coordenadas) de un objeto. La API de historial de coordenadas de objeto tiene dos puntos finales, así que hay dos tipos de solicitudes. El primer tipo de solicitud es para un objeto y una fecha y hora específica. Solo se muestran datos grabados a una fecha y hora especificada.

Ejemplo de solicitud para una fecha y hora específica:

GET /objects/{object_id}/coordinates/{datetime}?version=1&api_key=<…>
HOST:api.fm-track.com
Content-Type:application/json;charset=UTF-8

Este tipo de solicitud necesita tres parámetros (sin contar el API_key) para que la solicitud de API trabaje:

ParámetroTipoDescripción
object_idCadenaID del objeto externo
datetimeFecha y horaEl registro solicitado para la fecha y hora especificada. Ejemplo de fecha y hora: “2017-04-13T06:58:48.090Z”, según el estándar ISO-8601
versionCadenaVersión de la API, actualmente solo version=1 está disponible
api_keyCadenaClave de identificación del usuario

Nota
Se recomienda utilizar el parámetro datetime desde el segundo punto final de API de historial de coordenadas de objeto, porque el parámetro de fecha y hora se específica por el segundo y el sistema no busca datos cerca de la fecha especificada.

Se muestra un ejemplo de respuesta a continuación, cuando todos los parámetros fueron incluidos y el API_key es válido:

{
    "object_id" : "abc123",
    "datetime" : "2017-04-13T06:58:48.090Z",
    "ignition_status" : "UNKNOWN",
    "position" : {
        "altitude" : 0,
        "direction" : 0,
        "latitude" : 0,
        "longitude" : 0,
        "hdop": 0,
        "satellites_count" : 0,
        "speed" : 0
    },
    "device_inputs" : {
        "digital_input_1" : true,
        "digital_input_2" : true,
        "digital_input_3" : true,
        "digital_input_4" : true,
        "power_supply_voltage" : 0,
        "ibutton" : "xxxxxxxxxx",
        "first_driver_id" : "xxxxxxxxxx",
        "second_driver_id" : "xxxxxxxxxx",
         "temperature_sensor_0": 0,
         "temperature_sensor_1": 0,
         "temperature_sensor_2": 0,
         "temperature_sensor_3": 0,
         "temperature_sensor_0_id": "xxxxxxxxxx"
    },
    "calculated_inputs":{
        "mileage" : 0
    }
}

Si se ha introducido un parámetro o API_key incorrecto, el sistema responderá con un código de error. Los códigos de errores se describen en API. Los parámetros se describen al final de este capítulo.

El segundo punto final de la API de historial muestra un array de datos historiales para un periódo definido, que se puede usar al enviar el primer tipo de solicitud de API.

Ejemplo de solicitud para un periódo específico:

GET /objects/{object_id}/coordinates?version=1{&from_datetime,to_datetime,continuation_token,limit}&api_key=<…>
HOST:api.fm-track.com
Content-Type:application/json;charset=UTF-8

Este tipo de solicitud necesita tres parámetros (sin contar el API_key) para que la solicitud de API trabaje:

ParámetroTipoDescripción
objectIdCadenaID del objeto externo
fromDatetimeFecha y horaEncuentra registros desde la fecha y hora especificada. Ejemplo de fecha y hora: “2017-04-13T06:58:48.090Z”, según el estándar ISO-8601
versionCadenaVersión de la API
api_keyCadenaClave de identificación del usuario

Los parámetros opcionales que no son obligatorios, pero pueden ser incluidos en la solicitud:

ParámetroTipoDescripción
toDatetimeFecha y horaEncuentra registros hasta la fecha y hora especificada. El sistema buscará registros hasta la fecha actual o hasta que se alcance el límite de registros. Ejemplo de fecha y hora: “2017-04-13T06:58:48.090Z”, según el estándar ISO-8601
continuationTokenFecha y horaIncluye un símbolo de continuación, mostrará el siguiente conjunto de registros después de alcanzar el límite previo de registros
limitNúmero enteroFija el límite de registros en la respuesta del sistema (el valor por defecto es 100 registros, el valor máximo es 1000 registros)
api_keyCadenaClave de identificación del usuario

Ejemplo de respuesta:

{
  "continuation_token": "2017-04-13T06:58:48.121Z",
  "items": [
    {
     "object_id" : "abc123",
     "datetime" : "2017-04-13T06:58:48.090Z",
     "ignition_status" : "UNKNOWN",
     "position" : {
         "altitude" : 0,
         "direction" : 0,
         "latitude" : 0,
         "longitude" : 0,
         "hdop": 0,
         "satellites_count" : 0,
         "speed" : 0
     },
     "device_inputs" : {
         "digital_input_1" : true,
         "digital_input_2" : true,
         "digital_input_3" : true,
         "digital_input_4" : true,
         "power_supply_voltage" : 0,
         "ibutton" : "xxxxxxxxxx",
         "first_driver_id" : "xxxxxxxxxx",
         "second_driver_id" : "xxxxxxxxxx",
         "temperature_sensor_0": 0,
         "temperature_sensor_1": 0,
         "temperature_sensor_2": 0,
         "temperature_sensor_3": 0,
         "temperature_sensor_0_id": "xxxxxxxxxx"
     },
     "calculated_inputs":{
         "mileage" : 0
     }
    }
  ]
}

Todos los parámetros de respuesta que se puede recibir:

ParámetroTipoDescripciónUnidades
continuation_tokenSe recibe el símbolo de continuación al solicitar una cantidad grande de registros para períodos largos, así superando el predeterminado límite de registros. El símbolo de continuación se mostrará al final de la respuesta y se puede usarlo para mostrar el siguiente conjunto de registros para el período seleccionado. Si no hay más registros después del símbolo de continuación, la respuesta será vacía.Fecha y hora
itemsArrayContiene todos los parámetros según la solicitud
object_idCadenaID del objeto externoTexto
datetimeFecha y horaLa fecha y hora de coordenada, generada en el hardware. Formato: "yyyy-mm-ddThh:mm:ss.sssZ"
Según ISO-8601
ignition_statusEnumIndica el estado de ignición del objeto.
"ON" - Ignición encendida
"OFF" - Ignición apagada
"UNKNOWN" - No hay datos de ignición
ON- OFF
positionArrayContiene todos los parámetros de registros GPS
latitudeDecimalCoordenada GPS - valor de latitudGrados
longitudeDecimalCoordenada GPS - valor de longitudGrados
altitudeNúmero enteroCoordenada GPS - valor de altitudNúmero
directionNúmero enteroDirección de movimiento en grados0 = norte, creciente en el sentido horario
speedNúmero enteroVelocidad del objeto en movimientokm/h
satellites_countNúmero enteroCantidad de visibles satélites GPS o GLONASS (depende de la configuración del dispositivo) al generar el registro en el dispositivoNúmero
device_inputsArrayContiene los parámetros recibidos desde el hardware
power_supply_voltageNúmero enteroVoltaje de fuente de alimentación del dispositivomV
ibuttonCadenaCódigo de iButton o tarjeta RFID de un conductor asignado a un vehículoTexto
hdopDecimalPrecisión de coordenada GPSNúmero
first_driver_idCadenaCódigo de tacógrafo del primer conductorTexto
second_driver_idCadenaCódigo de tacógrafo del segundo conductorTexto
digital_input_1BooleanoEstado del objeto configurado o su equipo:
True - activo
False - inactivo
True - False (Verdadero - Falso)
digital_input_2BooleanoEstado del objeto configurado o su equipo:
True - activo
False - inactivo
True - False (Verdadero - Falso)
digital_input_3BooleanoEstado del objeto configurado o su equipo:
True - activo
False - inactivo

True - False (Verdadero - Falso)
digital_input_4BooleanoEstado del objeto configurado o su equipo:
True - activo
False - inactivo

True - False (Verdadero - Falso)
temperature_sensor_0DecimalDatos de sensor de temperatura°C
temperature_sensor_1DecimalDatos de sensor de temperatura°C
temperature_sensor_2DecimalDatos de sensor de temperatura°C
temperature_sensor_3DecimalDatos de sensor de temperatura°C
temperature_sensor_0_idCadenaID de sensor de temperaturaTexto
calculated_inputsArrayContiene los parámetros calculados en el sistema desde otros parámetros, según la configuración
mileageDecimalDistancia recorrida por el dispositivo (depende de la configuración del dispositivo)km

Se puede ver los puntos finales de API, los parámetros de solicitudes y las respuestas en “Swagger” haciendo clic en este enlace: https://api.fm-track.com