Lewati ke konten utama

Telematics Event Specification

Use this schema when sending telematics events to Cartrack.

Important notes

  • Time must be in UTC, ISO-8601 format
  • Enforce event uniqueness (e.g., via provider_event_id)
  • Validate that event_ts <= ingested_at + tolerance (ingestion time is server-side)
  • Version the schema or route to support future changes
  • Odometer unit is kilometers

Example payload

{
"event_type": "PERIODIC",
"event_ts": "2026-01-19T08:42:15Z",

"chassis_number": "ABC12345678901234",

"source": {
"provider": "third_party_x",
"device_id": "IMEI123456789",
"provider_event_id": "evt-984739287",
"provider_received_ts": "2026-01-19T08:42:18Z"
},

"position": {
"latitude": 1.3521,
"longitude": 103.8198,
"altitude": 15
},

"telemetry": {
"speed": 54,
"ignition": true,
"rpm": 2200,
"odometer": 45231.4
}
}

Field definitions

Top-level fields

FieldTypeRequiredNotes
event_typestringyesIGNITION_ON, IGNITION_OFF, PERIODIC
event_tsISO-8601 UTCyesTime when event occurred on device
chassis_numberstringyesVehicle Identification Number (VIN), exactly 17 characters
sourceobjectyesIdentifies the event origin
positionobjectconditionalRequired for location events
telemetryobjectoptionalVehicle signals

source

FieldTypeRequiredNotes
providerstringyesLogical source name
device_idstringoptionalIMEI, serial, etc.
provider_event_idstringrecommendedUsed for idempotency
provider_received_tsISO-8601 UTCoptionalWhen provider received the event

position

FieldTypeRequiredNotes
latitudenumberyesDecimal degrees
longitudenumberyesDecimal degrees
altitudenumberoptionalMeters above sea level

telemetry

FieldTypeRequiredUnits / Notes
speednumberyeskm/h
ignitionbooleanyestrue = ON
rpmnumberoptionalRevolutions per minute
odometernumberyesKilometers

Event-type expectations

Event typePositionTelemetry
IGNITION_ONrequiredMarks the beginning of a trip
IGNITION_OFFrequiredMarks the end of a trip
PERIODICrequiredRecommended. Used to plot the path taken by the vehicle