Κεντρικά γραφεία: Ελ. Βενιζέλου 62, Βέροια 59132 +30 2331 200 215 info@mygps.gr
Σύνδεση
Developer documentation

MyGPS REST API

Τα δεδομένα του στόλου σας, μέσα στα δικά σας συστήματα. Ζωντανές θέσεις, ιστορικό, αναφορές και διαχείριση — σε JSON, με Bearer tokens και WebSocket για live ροή. Περιλαμβάνεται στα πλάνα Business και Enterprise, χωρίς επιπλέον χρέωση.

Base URLhttps://app.mygps.gr/api AuthAuthorization: Bearer Formatapplication/json ΠλάνοBusiness · Enterprise
curl
curl -H "Authorization: Bearer $TOKEN" \
  "https://app.mygps.gr/api/devices"

[
  {
    "id": 42,
    "name": "Βαν 1 — ΝΒΧ 1234",
    "uniqueId": "350424061234567",
    "status": "online",
    "lastUpdate": "2026-08-03T09:14:22Z"
  }
]

Γρήγορη εκκίνηση

Προϋπόθεση: πλάνο Business ή Enterprise Το API περιλαμβάνεται χωρίς επιπλέον χρέωση σε αυτά τα δύο πλάνα. Στο Standard δεν είναι διαθέσιμο. Δείτε τα πλάνα ή ρωτήστε μας για αναβάθμιση.

Τρία βήματα από το μηδέν στην πρώτη επιτυχημένη κλήση.

  1. Δημιουργήστε token. Στην πλατφόρμα: Ρυθμίσεις λογαριασμού → Token. Ορίστε ημερομηνία λήξης και αντιγράψτε το.
  2. Καλέστε ένα endpoint με header Authorization: Bearer <token>.
  3. Αντιστοιχίστε ονόματα σε IDs. Το /devices σας δίνει το id κάθε οχήματος — το χρειάζεστε παντού αλλού.
# 1. Τελευταία θέση όλων των οχημάτων
curl -H "Authorization: Bearer $TOKEN" \
  "https://app.mygps.gr/api/positions"

# 2. Σύνοψη χιλιομέτρων για δύο οχήματα, τον Ιούλιο
curl -H "Authorization: Bearer $TOKEN" \
  "https://app.mygps.gr/api/reports/summary?deviceId=42&deviceId=43\
&from=2026-07-01T00:00:00Z&to=2026-08-01T00:00:00Z"

# 3. Η ίδια αναφορά σε Excel
curl -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" \
  -o summary.xlsx \
  "https://app.mygps.gr/api/reports/summary?deviceId=42&from=...&to=..."

Authentication

Δύο σχήματα στο header Authorization. Χωρίς έγκυρη ταυτοποίηση επιστρέφεται 401.

Bearer token — προτεινόμενο Δημιουργείται από τις ρυθμίσεις του λογαριασμού με δική του ημερομηνία λήξης και ανακαλείται ανά πάσα στιγμή, χωρίς αλλαγή κωδικού. Είναι ο μόνος τρόπος που πρέπει να χρησιμοποιείτε σε scripts, integrations και AI εργαλεία.
Basic auth — αποφύγετέ το Το Authorization: Basic base64(email:password) λειτουργεί, αλλά εκθέτει τα διαπιστευτήριά σας σε κάθε κλήση. Μην το βάζετε ποτέ σε κώδικα, cron ή prompt AI εργαλείου.
POST /session/token Δημιουργία token (με ενεργή συνεδρία). Form param: expiration ISO 8601. Επιστρέφει το token ως plain text.
POST /session/token/revoke Ανάκληση token.
GET /session Ο τρέχων χρήστης — χρήσιμο για έλεγχο εγκυρότητας.

Συμβάσεις

ΗμερομηνίεςISO 8601 σε UTC — 2026-08-01T00:00:00Z. Ισχύει σε αιτήματα και αποκρίσεις.
ΜονάδεςΤαχύτητα σε κόμβους, απόσταση σε μέτρα, course σε μοίρες, συντεταγμένες WGS84.
Πολλαπλές τιμέςΕπαναλαμβανόμενες παράμετροι: ?deviceId=42&deviceId=43.
Φίλτρα συλλογώνall, userId, groupId, deviceId, limit, offset, keyword, excludeAttributes.
attributesΕλεύθερο αντικείμενο με ό,τι στέλνει η συσκευή: ignition, odometer, fuel, battery, sat. Το περιεχόμενο εξαρτάται από το μοντέλο και την εγκατάσταση — μην το θεωρείτε δεδομένο.

Οχήματα

GET /devices Όλα τα οχήματα του λογαριασμού. Φίλτρα: id, uniqueId, groupId, excludeAttributes.
POST /devices Δημιουργία οχήματος — name, uniqueId (IMEI).
PUT /devices/{id} Ενημέρωση.
DELETE /devices/{id} Διαγραφή — μη αναστρέψιμη.
GET /devices/{id}/accumulators Οδόμετρο και ώρες λειτουργίας. PUT για διόρθωση.

Βασικά πεδία: id, name, uniqueId, status (online/offline/unknown), lastUpdate, positionId, groupId, disabled, attributes.

Θέσεις

GET /positions Χωρίς παραμέτρους: η τελευταία γνωστή θέση κάθε οχήματος.
GET /positions?deviceId&amp;from&amp;to Ιστορικές θέσεις διαστήματος για ένα όχημα.

Πεδία: deviceId, deviceTime, fixTime, serverTime, latitude, longitude, altitude, speed, course, address, valid, attributes.

Εναλλακτικές μορφές με header Accept: KML, CSV, XLSX, GPX.

WebSocket — ζωντανή ροή

Ο σωστός τρόπος για live χάρτη ή ειδοποιήσεις. Απαιτεί ενεργή συνεδρία (cookie).

wss://app.mygps.gr/api/socket

// Μηνύματα JSON, push σε κάθε μεταβολή
{ "positions": [ … ] }   // νέα θέση
{ "devices":   [ … ] }   // αλλαγή κατάστασης οχήματος
{ "events":    [ … ] }   // συμβάν (γεωφράχτης, ταχύτητα, ανάφλεξη…)
Μην κάνετε polling Το GET /positions σε βρόχο ανά δευτερόλεπτο επιβαρύνει άσκοπα και τις δύο πλευρές. Στη σύνδεση λαμβάνετε τις τρέχουσες θέσεις και μετά μόνο τις μεταβολές.

Αναφορές

Κοινές παράμετροι: deviceId, groupId (επαναλαμβανόμενες), from, to. JSON από προεπιλογή· για Excel στείλτε Accept: …spreadsheetml.sheet.

GET /reports/summary Σύνοψη ανά όχημα: απόσταση, μέγιστη/μέση ταχύτητα, ώρες κινητήρα, καύσιμο όπου υπάρχει. daily=true για ημερήσια ανάλυση.
GET /reports/trips Ταξίδια: έναρξη/λήξη με χρόνο, θέση και διεύθυνση, απόσταση, διάρκεια, οδηγός.
GET /reports/stops Στάσεις: θέση, άφιξη/αναχώρηση, διάρκεια, ώρες κινητήρα σε στάση.
GET /reports/events Συμβάντα διαστήματος. Παράμετρος type (επαναλαμβανόμενη· allEvents για όλα).
GET /reports/route Αναλυτικές θέσεις διαδρομής, για χαρτογράφηση.
Χρησιμοποιήστε αναφορές, όχι raw θέσεις Για «πόσα χιλιόμετρα έκανε το Χ τον Ιούλιο;» καλέστε /reports/summary. Η άθροιση raw σημείων δίνει διαφορετικό αποτέλεσμα και κοστίζει πολλαπλάσιο όγκο δεδομένων.

Τύποι συμβάντων

deviceOnline deviceOffline deviceUnknown deviceInactive deviceMoving deviceStopped deviceOverspeed deviceFuelDrop deviceFuelIncrease geofenceEnter geofenceExit ignitionOn ignitionOff alarm maintenance maintenanceDue driverChanged commandResult media

Γεωφράχτες

GET /geofences Λίστα γεωφρακτών.
POST /geofences Δημιουργία — name και area σε WKT.
PUT /geofences/{id} Ενημέρωση.
DELETE /geofences/{id} Διαγραφή.
// Μορφή WKT στο πεδίο area
"CIRCLE (40.5231 22.9714, 250)"
"POLYGON ((40.52 22.97, 40.53 22.98, 40.52 22.99))"

// Σύνδεση γεωφράχτη με όχημα
POST /api/permissions
{ "deviceId": 42, "geofenceId": 7 }

Ειδοποιήσεις

GET /notifications Υπάρχοντες κανόνες.
POST /notifications Δημιουργία — type, notificators (CSV), always ή σύνδεση ανά όχημα μέσω permissions.
GET /notifications/types Διαθέσιμοι τύποι συμβάντων.
GET /notifications/notificators Διαθέσιμα κανάλια: web, mail, sms, firebase, telegram κ.ά. — ανάλογα με τη διαμόρφωση.

Οδηγοί, ομάδες, συντηρήσεις

GET /drivers Οδηγοί — name, uniqueId (κωδικός κάρτας/iButton). Πλήρες CRUD.
GET /groups Ομάδες οχημάτων. Πλήρες CRUD.
GET /maintenance Κανόνες συντήρησης — type, start, period πάνω σε οδόμετρο ή ώρες.
POST /permissions Συνδέσεις αντικειμένων: device↔user, device↔geofence, device↔notification, device↔driver.

Εντολές προς συσκευές

Επηρεάζουν φυσικά το όχημα Εντολές όπως engineStop και outputControl μπορούν να ακινητοποιήσουν όχημα. Απαιτούν σωστή εγκατάσταση και ρητή ανθρώπινη επιβεβαίωση πριν από κάθε αποστολή — ποτέ αυτόματα από script ή agent. Η ευθύνη χρήσης ανήκει στον πελάτη.
GET /commands/types?deviceId Υποστηριζόμενοι τύποι για το πρωτόκολλο της συγκεκριμένης συσκευής.
GET /commands/send?deviceId Αποθηκευμένες εντολές που μπορούν να σταλούν στο όχημα.
POST /commands/send Αποστολή εντολής.
POST /api/commands/send
{
  "deviceId": 42,
  "type": "positionSingle"
}

// Ενδεικτικοί τύποι
custom · positionSingle · positionPeriodic · engineStop · engineResume
outputControl · rebootDevice · setOdometer · requestPhoto · getDeviceStatus

Σφάλματα & όρια

ΚωδικόςΣημασία
200Επιτυχία.
400Λανθασμένη παράμετρος — συνήθως μορφή ημερομηνίας ή τύπος τιμής.
401Απουσία ή λήξη token / συνεδρίας.
403Το αντικείμενο δεν ανήκει στον λογαριασμό, ή ο λογαριασμός έχει περιορισμό (readonly, deviceReadonly, disableReports, limitCommands).
404Το αντικείμενο δεν υπάρχει.
Πρακτικά όρια Δεν επιβάλλεται σκληρό rate limit, αλλά η καταχρηστική χρήση εντοπίζεται. Για live δεδομένα χρησιμοποιήστε WebSocket· για ιστορικά, ζητήστε λογικά διαστήματα και προτιμήστε αναφορές από raw θέσεις. Λίστες με πολλά deviceId στο query string μπορεί να ξεπεράσουν το όριο μήκους URL — σπάστε τις σε παρτίδες.

Τι δεν τεκμηριώνεται δημόσια

Τα ιδιόκτητα modules της MyGPS — Ψηφιακή Διακίνηση ΑΑΔΕ, ενδοεπικοινωνία PTT, βίντεο και κάμερες, βιβλία στόλου, dispatch εργασιών, διαχείριση έργων, driver scoring, διασυνδέσεις ERP και SIM management — λειτουργούν αλλά δεν έχουν δημόσια τεκμηρίωση. Αν χρειάζεστε διασύνδεση με κάποιο από αυτά, μιλήστε πρώτα μαζί μας: σχεδιάζουμε τη λύση ανά περίπτωση.

Πριν την πρώτη κλήση

Τα βασικά που ρωτούν οι τεχνικές ομάδες.

Οι λογαριασμοί με πλάνο Business ή Enterprise, χωρίς επιπλέον χρέωση για το ίδιο το API. Στο Standard δεν περιλαμβάνεται. Δημιουργείτε token από τις ρυθμίσεις του λογαριασμού σας και κάθε κλήση εκτελείται με τα δικά σας δικαιώματα: βλέπετε μόνο τα οχήματα που σας ανήκουν ή σας έχουν ανατεθεί.

Πείτε μας τι θέλετε να συνδέσετε.

Dashboard, ERP, εσωτερικό εργαλείο ή AI agent — θα σας υποδείξουμε τα σωστά endpoints και τον ασφαλή τρόπο.