Overview
The Telemax alert system delivers driver and vehicle events (speeding, geofence, ignition, etc.) asAlertDto records. Your integration polls GetAlerts on an interval, processes new alerts, and acknowledges them to track which have been handled.
Key fields per alert:
Step 1 — Poll with a sliding window
GetAlerts takes a from datetime and a num limit. Use a sliding window: advance from to the timestamp of the latest alert received after each successful poll.
num is a legacy max-count parameter (recommended maximum: 100). There is no pagination cursor — if more than 100 alerts match your window, advance from and poll again.Step 2 — Filter by alert type
UseAlertType to route alerts to the appropriate handler. Until the full type mapping is documented, you can build a partial table from observed values in your own alert stream:
Python
Step 3 — Acknowledge alerts
Mark one alert as read
SetAlertAsRead requires both alertId and date (the exact UtcTime string from the alert). The isRead parameter is present in the schema but is ignored by the backend — the call always marks the alert as read regardless of the value passed.
cURL
Python
Bulk clear all alerts
When you have fully caught up and want to reset the unread state for the entire company:cURL
Building notification rules
A practical pattern for routing alerts to the right channel:Python
Gotchas
numis not a page cursor. There is no offset — to retrieve older alerts, move thefromwindow backwards.isReadis ignored.SetAlertAsReadalways marks as read; do not branch on this parameter.AlertTypemeanings are undocumented. Build your mapping empirically from your own account’s alert stream and verify with Telemax support (GAP-19).UtcTimehas noZsuffix but is always UTC — treat it as UTC when parsing.