Tracks Format

Tracks are usually geolocated data collected from the devices (Assets). They are timestamped and may contain several tracking fields values as described below. These tracking fields can be data collected from the sensors of the vehicle (example: fuel) or the device (example: gps).

Tracks may also be generated by CloudConnect services (example: MultiStacks).

id
~ Required integer - 64 bits unique track identifier.

id_str
~ Required string - String version of the identifier (for languages not supporting 64 bits integers).

connection_id
~ Required integer - 64 bits unique connection identifier (see Notification for more details).
Note: could be null in case of track generated by CloudConnect services otherwise it will be always define.

connection_id_str
~ Required string - String version of the connection identifier (for languages not supporting 64 bits integers).

index
~ Required integer - counts the tracking field (speed, ignition, position, etc) received by our servers (see Notification for more details).
Note: could be null in case of track generated by CloudConnect services otherwise it will be always define.

asset
~ Required string - IMEI of the device.

recorded_at
~ Required string - When the track was recorded on the Asset (timestamp in RFC 3339 format: YYYY-MM-DDTHH:MM:SSZ).

recorded_at_ms
~ Required string - When a record from the device contains the same field several times, for each identical field a new track is created with the same recorded_at and a recorded_at_ms that has been incremented by 1ms to let you know the order between them. The first track will have recorded_at.000, the second recorded_at.001 etc.

received_at
~ Required string - When the track was received by the server (timestamp in RFC 3339 format: YYYY-MM-DDTHH:MM:SSZ).

loc
~ Optional array - Location of the Asset (in the [longitude, latitude] format).

fields
~ Optional hash - Data recorded by the Asset as fields (GPS_SPEED, GPS_DIR...). Values may be provided in various formats depending on the field type. The b64_value will always be provided as the Base64 encoded value of the recorded data. Please note that we may add more human readable or pre-converted formats in the future. Client libraries must be able the ignore additional key/value provided for a field if they don't support them yet. You can see a not exhaustive list here.

{
  "id": 355379030532292631,
  "id_str": "355379030532292631",
  "connection_id": 1103003563199562099,
  "connection_id_str": "1103003563199562099",
  "index": 12,
  "asset": "356896033350886",
  "recorded_at": "2012-09-07T15:49:21Z",
  "recorded_at_ms": "2012-09-07T15:49:21.000Z",
  "received_at": "2012-09-07T15:49:23Z",
  "loc": [
    2.36607,
    48.78377
  ],
  "fields": {
    "GPS_SPEED": {
      "b64_value": "AGl2"
    }
  }
}
[
{
  "id":1706940526038647179,
  "id_str":"1706940526038647179",
  "asset":"359455130788956",
  "recorded_at":"2022-11-24T06:09:36.000+00:00",
  "recorded_at_ms":"2022-11-24T06:09:36.000+00:00",
  "received_at":"2022-11-24T06:12:14.000Z",
  "loc":null,
  "location":null,
  "connection_id":1706939844732649800,
  "index":2396,
  "fields":{
    "GPS_SPEED":{
      "decoded_value": 11285,
      "converted_value": "21 km/h",
      "b64_value": "AAAsFQ=="
    }
  }
},
{
  "id":1706940526038663563,
  "id_str":"1706940526038663563",
  "asset":"359455130788956",
  "recorded_at":"2022-11-24T06:09:36.000+00:00",
  "recorded_at_ms":"2022-11-24T06:09:36.001+00:00",
  "received_at":"2022-11-24T06:12:14.000Z",
  "loc":null,
  "location":null,
  "connection_id":1706939844732649800,
  "index":2398,
  "fields":{
    "GPS_SPEED":{
        "decoded_value": 20129,
        "converted_value": "37 km/h",
        "b64_value": "AABOoQ=="
    }
  }
}]