Skip to main content

ข้อกำหนดเหตุการณ์เทเลเมติกส์

ใช้สคีมานี้เมื่อส่งเหตุการณ์เทเลเมติกส์เข้าสู่ Cartrack

หมายเหตุสำคัญ

  • เวลาใช้ UTC รูปแบบ ISO-8601 เท่านั้น
  • บังคับความไม่ซ้ำของเหตุการณ์ (event uniqueness) เช่น ใช้ provider_event_id
  • ตรวจสอบว่า event_ts <= ingested_at + tolerance (เวลาบันทึกฝั่งเซิร์ฟเวอร์)
  • กำหนดเวอร์ชันของสคีมาหรือเส้นทาง เพื่อรองรับการเปลี่ยนแปลงในอนาคต
  • หน่วยเลขกิโลเมตรสำหรับเลขไมล์สะสม (odometer)

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
}
}

คำอธิบายฟิลด์

ฟิลด์ระดับบนสุด

FieldTypeRequiredNotes
event_typestringyesIGNITION_ON, IGNITION_OFF, PERIODIC
event_tsISO-8601 UTCyesเวลาที่เกิดเหตุการณ์บนอุปกรณ์
chassis_numberstringyesหมายเลขตัวถัง (VIN) 17 ตัวอักษรเท่านั้น
sourceobjectyesระบุที่มาของเหตุการณ์
positionobjectconditionalจำเป็นสำหรับเหตุการณ์ที่มีตำแหน่ง
telemetryobjectoptionalสัญญาณรถ เช่น ความเร็ว/สถานะกุญแจ

source

FieldTypeRequiredNotes
providerstringyesชื่อแหล่งข้อมูลเชิงตรรกะ
device_idstringoptionalIMEI หรือหมายเลขซีเรียล
provider_event_idstringrecommendedใช้ควบคุมความซ้ำ (idempotency)
provider_received_tsISO-8601 UTCoptionalเวลาที่ผู้ให้บริการรับเหตุการณ์

position

FieldTypeRequiredNotes
latitudenumberyesองศาละติจูดแบบทศนิยม
longitudenumberyesองศาลองจิจูดแบบทศนิยม
altitudenumberoptionalความสูงจากระดับน้ำทะเล (เมตร)

telemetry

FieldTypeRequiredUnits / Notes
speednumberyeskm/h
ignitionbooleanyestrue = กุญแจ ON
rpmnumberoptionalรอบเครื่องยนต์ต่อนาที
odometernumberyesกิโลเมตร

ความคาดหวังตามประเภทเหตุการณ์

Event typePositionTelemetry
IGNITION_ONrequiredจุดเริ่มต้นการเดินทาง
IGNITION_OFFrequiredจบการเดินทาง
PERIODICrequiredใช้ระบุเส้นทางการเดินทาง แนะนำให้ส่งต่อเนื่อง