UpdaterAgent integrates with multiple Electronic Logging Device (ELD) providers to import real-time vehicle GPS positions. Position data feeds the hybrid routing engine, which calculates ETAs, detects delays, and updates load statuses for active trips. Each company selects one ELD provider; the system handles polling, credential management, and data retention automatically.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ShohjahonSohibov/repo-for-agent/llms.txt
Use this file to discover all available pages before exploring further.
Supported providers
| Provider | Auth method | Position data included |
|---|---|---|
| Zippy | x-api-key + provider-token headers | Latitude, longitude, rotation, timestamp |
| Samsara | Bearer token (API key) | Vehicle location, speed, mileage |
| UTrackin | OAuth 2.0 with token refresh | Vehicle position, driver name |
| LevelELD | API credentials | ELD position data |
| OnTimeLogs | API credentials | OnTime driver logs |
How position data is imported
TheLogisticsCoreImportJob (also referred to as eld-import:positions) runs every 25 minutes via Hangfire. For each company with an active ELD configuration:
- Retrieve ELD credentials from the company’s ELD settings.
- Call the provider API to get current unit positions.
- Filter out units with no coordinates.
- Map each unit to an
EldPositionrecord and persist to the database. - Trigger ETA recalculation for loads with active drivers.
Data retention
ELD positions are kept in a 72-hour rolling window. TheClearUnnecessaryPositionsAsync routine removes records older than three days to control database growth. Historical trend queries can use the retained window for per-truck deviation analysis.
Configuration per company
ELD credentials are stored and managed per company via the ELD settings API:| Method | Endpoint | Description |
|---|---|---|
POST | /api/eld-settings | Create ELD settings for a company |
PUT | /api/eld-settings/{companyId} | Update existing ELD settings |
GET | /api/eld-settings/{companyId} | Retrieve current ELD settings |
POST | /api/eld-settings/test-connection | Verify credentials against the provider |
If a company has no ELD settings configured, the import job skips it silently. No error is raised for unconfigured companies.
Provider-specific setup
- Zippy
- Samsara
- UTrackin
Zippy authenticates using two custom headers on every request. Credentials are issued directly by Zippy.Required credentials:
Create ELD settings for Zippy:The broker calls
| Field | Header sent | Encrypted at rest |
|---|---|---|
ApiKey | x-api-key | Yes |
ProviderToken | provider-token | Yes |
Usdot | Path parameter in URL | No |
GET /api/v2/units-by-usdot/{usdot} against https://read.zippyeld.com/. Units without coordinates in the response are ignored.Example response from Zippy:Multiple ELD providers per deployment
A single UpdaterAgent deployment can serve companies on different ELD platforms simultaneously. The import job iterates over all companies, reads each company’s configured provider fromEldSetting, and dispatches to the correct broker:
- Company A → Zippy broker
- Company B → Samsara broker
- Company C → UTrackin broker
PUT /api/eld-settings/{companyId}.