.png)
Geotab Integration Guide
Integrate MyGeotab fleet and telematics data with enterprise systems through its HTTP-based JSON-RPC API, incremental feeds, and analytics exports.
Geotab integration options at a glance
MyGeotab provides an HTTP-based JSON-RPC API for authentication, querying, and managing supported entities such as Device, Trip, LogRecord, Driver, and ExceptionEvent. Its GetFeed method supports incremental retrieval using continuation values, making it suitable for recurring synchronization of high-volume telemetry and event data. Geotab also provides Data Connector capabilities for selected analytical and reporting scenarios, although these are separate from direct operational database access. A universal webhook mechanism for all entity changes was not confirmed. Martini can call the API over HTTPS, schedule feed-based workflows, persist checkpoints, map JSON payloads, apply business rules, and route results to applications, databases, or analytical platforms.
Common Geotab integration patterns
Common Geotab data objects used in integrations
Authentication and security considerations
Session-based authentication
MyGeotab authentication uses the Authenticate method with a database name, user name, password, and server or regional environment. The returned session information is used in later API calls.
Least-privilege access
Use a dedicated integration user with only the database access, group visibility, and permissions required for the selected entities and methods.
Martini security controls
- Store Geotab credentials and session-related configuration in secure environment settings or secrets.
- Do not embed passwords in mappings, workflow definitions, or custom code.
- Protect any Martini API exposed to downstream applications with appropriate authentication and authorization.
- Exclude passwords and sensitive credentials from logs and diagnostic payloads.
Operational considerations for Geotab integrations
Rate limits and request sizing
Confirm applicable limits for the customer environment and API method. Prefer scoped queries and GetFeed over repeated full-history retrievals, and use backoff for transient failures.
Checkpoints and idempotency
Persist feed versions by database, entity, and synchronization stream. Advance a checkpoint only after downstream processing succeeds, and use stable identifiers to make replayed batches safe.
Data volume and timestamps
LogRecord and StatusData can produce substantial volumes. Separate analytical ingestion from transactional workflows where appropriate, normalize timestamps to UTC, and define retention and aggregation rules.
Schema and permissions
Optional fields, diagnostics, rules, groups, and returned records can vary by customer configuration and user permissions. Test with the production-equivalent role, monitor API changes, and preserve unknown fields when forward compatibility matters.
Monitoring and recovery
Record the Geotab method, entity type, correlation information, response classification, batch size, and checkpoint state. Use retries for transient failures and a review or dead-letter path for records that remain unprocessable.
Why use Martini instead of scripts or point-to-point integrations?
Reusable orchestration
Martini centralizes Geotab authentication, scheduled retrieval, feed checkpointing, mappings, enrichment, business rules, and target-system writes in maintainable workflows rather than scattering logic across scripts.
Reliable synchronization
Workflows can make incremental processing restartable, apply idempotent writes, classify failures, retry transient conditions, and preserve rejected data for investigation.
Flexible enterprise integration
Martini can consume the MyGeotab JSON-RPC API, connect to databases and analytical destinations, expose APIs for normalized fleet data, and coordinate multiple target applications without treating Geotab as an isolated point-to-point script.
Controlled change management
Mappings, validation, permissions, environment configuration, and monitoring are managed as reusable integration assets. This makes it easier to accommodate customer-specific entities, optional fields, data volumes, and target-system changes.