Skip to main content
Menu

Ιστορικό αλλαγών API

Όλες οι σημαντικές αλλαγές στο API. Νεότερες πρώτα. Σταθερότητα v1 — χωρίς Breaking changes χωρίς νέα έκδοση.

2026-09-08 Διόρθωση Fuel prices: a second, honest freshness field, and two language bugs

On Fuel Prices, updated_at and the response's own age_hours/stale flag were running on different clocks: updated_at moves only when a price actually changes, but staleness was computed as if it moved on every confirmation. 46.7% of the priced index showed age_hours ≤48 and stale:false while updated_at was in fact more than 48 hours old, 12,620 stations over a week old. Each price now also carries confirmed_at — the last time we confirmed the price, hour-floored, never earlier than updated_at — and age_hours/stale are computed from it. updated_at's meaning is unchanged: use it when you want to know when the price last moved, use confirmed_at when you want to know how current it is right now. Not present on the frozen v1 contract.

Two language bugs, both silent: sending the canonical grade code as lang=pl (or any of the other 24 site languages) got fuel_type_local back in English regardless — only 10 languages were ever checked against the label table, so anything outside that list fell through to the default UI vocabulary rather than the language you asked for. Separately, lang=tr (or several other valid codes) answered station listings in Ukrainian, because an internal default of uk fired whenever the requested language did not sit in that same 10-language list. Both are fixed: the language you send is now the language you get, across all 25.

Also: brand on Nearby Fuel Stations no longer returns the raw ingest sentinel OTHER for the ~330 stations where we do not know the brand — it is null, consistent with every other unknown field in the response.

2026-09-08 Διόρθωση Border AI Assistant: μια επαναλαμβανόμενη ερώτηση επέστρεφε 503 αντί για την απάντηση

Border AI Assistant (/api/v1/data/assistant) επέστρεφε 503 internal_error — «Assistant temporarily unavailable» — όταν το ίδιο κλειδί έκανε την ίδια ερώτηση δύο φορές μέσα σε πέντε λεπτά. Τίποτα δεν ήταν μη διαθέσιμο: στις περισσότερες από αυτές τις περιπτώσεις η απάντηση είχε ήδη υπολογιστεί και ήταν έτοιμη να επιστραφεί. Πλέον επιστρέφεται κανονικά, με ok: true και HTTP 200.

Όταν η επανάληψη φτάνει ενώ η πρώτη απάντηση γράφεται ακόμη, η κλήση επιστρέφει τώρα 429 με error.code ίσο με duplicate_request αντί για 503, ώστε μια πολιτική επαναλήψεων να μπορεί να ξεχωρίσει το «ρωτήστε ξανά σε λίγο» από μια πραγματική διακοπή. Και οι δύο περιπτώσεις προσμετρούνταν επίσης ως σφάλματα διακομιστή στο ποσοστό σφαλμάτων του λογαριασμού σας· πλέον δεν προσμετρούνται. Τίποτα στο αίτημα δεν αλλάζει — καμία παράμετρος, καμία έκδοση. Το duplicate_request αναφέρεται μαζί με τους υπόλοιπους κωδικούς σφάλματος στην τεκμηρίωση αναφοράς.

2026-09-08 Διόρθωση Το Truck Parking επιστρέφει μόνο τοποθεσίες με όνομα, και τα πάρκινγκ που είχαν τις συντεταγμένες τους ως τίτλο φέρουν πλέον πραγματικά ονόματα

Truck Parking (/api/v2/data/truck-parkings) επέστρεφε εγγραφές με name ίσο με null και κενό address — κοντά στο Bensheim, 20 από 50. Πρόκειται για σημεία που διατηρούμε μόνο ως συντεταγμένη, χωρίς τίποτα να εμφανιστεί και χωρίς τίποτα να αντιστοιχιστεί με το δικό σας σύνολο POI. Δεν αποτελούν πλέον μέρος αυτού του προϊόντος: πλέον επιστρέφονται μόνο τοποθεσίες με όνομα, αυτή τη στιγμή περισσότερες από 22.000 σε όλη την Ευρώπη. Αν φιλτράρατε μόνοι σας τις εγγραφές χωρίς όνομα, ο κώδικας αυτός είναι πλέον περιττός αλλά ακίνδυνος. Οι απαντήσεις γίνονται συντομότερες για την ίδια radius και limit, και κάθε εγγραφή που επιστρέφεται είναι αξιοποιήσιμη.

Ξεχωριστά, περίπου 10.000 πάρκινγκ έφεραν ένα ακατέργαστο ζεύγος συντεταγμένων ως name, για παράδειγμα 51.927301,10.14112, ενώ η πραγματική ονομασία βρισκόταν στο address. Τώρα φέρουν αυτή την ονομασία — Ionity, Seesen, Rest Area A5 E35 Kaelberpfad, Bensheim — παντού όπου εμφανίζονται, συμπεριλαμβανομένου του /api/v1/data/pois. Το id κάθε σημείου παραμένει αμετάβλητο, οπότε μια αποθηκευμένη αντιστοίχιση παραμένει έγκυρη· αλλάζει μόνο το name.

2026-09-08 Νέο Το στιγμιότυπο ουράς φέρει πλέον τη ζώνη ώρας του ίδιου του σημείου ελέγχου

Το snapshot.updated_at στα /api/v1/data/queue και /api/v1/data/multi είναι τοπική ώρα στη ζώνη του ίδιου του σημείου ελέγχου (για παράδειγμα Europe/Istanbul, Europe/Sofia, Europe/Budapest, Europe/Warsaw, Europe/Kyiv), και μέχρι τώρα τίποτα στην απάντηση δεν δήλωνε ποια ήταν αυτή η ζώνη, οπότε ο καλών δεν μπορούσε να την αντιστοιχίσει σε συγκεκριμένη χρονική στιγμή. Το snapshot αποκτά ένα προσθετικό πεδίο timezone (όνομα IANA) δίπλα στο updated_at. Καμία παράμετρος, καμία έκδοση, καμία άλλη αλλαγή πεδίου.

2026-09-08 Βελτίωση Η κάλυψη καυσίμων μετριέται από το ζωντανό ευρετήριο πρατηρίων, δεν λαμβάνεται από σταθερή λίστα χωρών

Μέχρι τώρα κάθε endpoint καυσίμων περιέγραφε την ίδια του την κάλυψη με μια λίστα γραμμένη στο χέρι: AT, DE, DK, ES, FR, HR, IT, LU, PL, PT, SI, με την Πολωνία να περιορίζεται σε αυτήν στην περιοχή του Trójmiasto. Και οι δύο ισχυρισμοί είχαν παλιώσει προ πολλού. Η κάλυψη πλέον μετριέται από το ζωντανό ευρετήριο πρατηρίων και υπολογίζεται ξανά κάθε έξι ώρες: 39 χώρες έχουν σήμερα πρατήρια με τιμές, ανάμεσά τους η Πολωνία σε όλη τη χώρα και όχι σε τρεις πόλεις. Στο ίδιο το αίτημα δεν αλλάζει τίποτα: ούτε παράμετρος ούτε έκδοση.

Nearby Fuel Stations και Cheapest Fuel: όταν μια αναζήτηση επιστρέφει κενή, το μπλοκ coverage φέρνει τώρα μετρημένα station_countries, station_counts, sparse_coverage και measured_at, περιορισμένα στην ποιότητα καυσίμου που ζητήσατε και όχι στο καύσιμο γενικά. Μια χώρα μπαίνει στο sparse_coverage όταν έχουμε εκεί 25 πρατήρια με τιμή ή λιγότερα — πρόκειται για μέτρηση, όχι για κρίση.

Υπάρχει νέα σημείωση για ποιότητα που αναγνωρίζουμε αλλά που κανείς δεν τιμολογεί εκεί όπου ρωτήσατε. Μέχρι τώρα το coverage.fuel_type_note εμφανιζόταν μόνο όταν το ίδιο το όνομα της αντλίας μας ήταν άγνωστο. Τώρα εμφανίζεται και όταν το όνομα αναγνωρίζεται σωστά αλλά απλώς δεν υπάρχει τιμή για αυτό στη συγκεκριμένη χώρα· κατονομάζει τις χώρες όπου η ποιότητα αυτή τιμολογείται και τις ποιότητες που τιμολογούμε γύρω σας. Το τσεχικό όνομα Natural 100 είναι το καθαρό παράδειγμα: αναγνωρίζεται, αλλά καμία πηγή δεν του δίνει τιμή στην Τσεχία. Μια κενή απάντηση παύει να μοιάζει με χαλασμένο αίτημα.

Το Fuel Grades (/api/v2/data/fuel-grades) αποκτά priced_countries και priced_station_counts για κάθε ποιότητα, καθώς και priced_here όταν στέλνετε ?country=. Οι δύο λίστες σημαίνουν διαφορετικά πράγματα: μια χώρα στο countries είναι χώρα όπου δεχόμαστε αυτό το όνομα αντλίας, ενώ το priced_countries δείχνει πού το τιμολογεί πράγματι μια πηγή, οπότε priced_here ίσο με 0 είναι πραγματική απάντηση και όχι κενό στην απάντηση. Η απάντηση φέρνει επίσης coverage_measured_at και coverage_note, ενώ το Cache-Control πέφτει από τις 24 ώρες στις 6, ώστε να ταιριάζει με τη συχνότητα επανυπολογισμού.

Αναγνωρίζονται επίσης περισσότερα τοπικά ονόματα αντλιών, ανάμεσά τους Klimadiesel 90 (HVO100) και HVO Diesel, Erdgas και Metano, Autogas και Autogaz, DEF για το AdBlue, καθώς και αρκετά εμπορικά ονόματα premium ντίζελ και βενζινών. Η σειρά αναγνώρισης δεν άλλαξε και η αντιστοίχιση παραμένει ακριβής, επομένως κανένα όνομα που δούλευε πριν δεν σημαίνει σήμερα κάτι άλλο, ενώ ένα νέο όνομα μπορεί το πολύ να μετατρέψει μια κενή απάντηση σε απάντηση με τιμές. Ταυτόχρονα, η τεκμηρίωση αναφοράς και οι περιγραφές των endpoints διορθώθηκαν και στις 25 γλώσσες του ιστότοπου.

2026-09-07 Διόρθωση Το Cheapest Fuel API κατατάσσει ξανά βάσει τιμής· τα πεδία απόκρισης καυσίμων τεκμηριώνονται όπως πράγματι επιστρέφονται

Cheapest Fuel (/api/v2/data/fuel-cheapest) επέστρεφε τους πλησιέστερους σταθμούς με σειρά απόστασης αντί για τους φθηνότερους. Επειδή η κατάταξη εφαρμοζόταν πριν το αποτέλεσμα περικοπεί στο limit σας, οι φθηνότεροι σταθμοί εντός της ακτίνας σας μπορούσαν να λείπουν εντελώς από την απάντηση. Η κατάταξη είναι πλέον σωστή: πρώτα ο φθηνότερος για τον τύπο καυσίμου που ζητήσατε, σε περίπτωση ισοβαθμίας κερδίζει ο πλησιέστερος, και ένας σταθμός χωρίς τιμή για αυτόν τον τύπο καυσίμου κατατάσσεται τελευταίος. Τίποτα στο αίτημα δεν αλλάζει — ούτε παράμετρος, ούτε έκδοση.

Οι αποκρίσεις καυσίμων v2 τεκμηριώνονται επίσης όπως πράγματι επιστρέφονται: οι σταθμοί εμφανίζονται κάτω από το data.stations[], μία εγγραφή ανά φυσικό σταθμό, με κάθε τύπο καυσίμου ενσωματωμένο στο αντικείμενο prices (price, currency, local_name, updated_at, age_hours, stale) καθώς και station_ref, grades, total_found και notices. Η τεκμηρίωση αναφοράς για τα Nearby Fuel Stations και το Cheapest Fuel περιέγραφε ακόμη την παλαιότερη επίπεδη λίστα εγγραφών data.data[].

2026-09-07 Νέο Πρόσθετα Επιπλέον χώρες και Επιπλέον κλήσεις προβλέψεων· χώρες που περιλαμβάνονται ανά πλάνο από τις 10 Νοεμβρίου 2026

Στη σελίδα χρέωσης (μηνιαία καρτέλα) διατίθενται δύο πρόσθετα πάνω σε οποιοδήποτε πλάνο, χωρίς να το αλλάξετε: Επιπλέον κλήσεις προβλέψεων — +100 κλήσεις προβλέψεων και στατιστικών την ημέρα ανά μπλοκ, €2 τον μήνα ανά μπλοκ, έως 10 μπλοκ· και Επιπλέον χώρες — +1 δηλώσιμη χώρα ανά μονάδα, €2 τον μήνα η καθεμία. Η αλλαγή ποσότητας εμφανίζει ακριβή αναλογική προσφορά πριν χρεωθεί οτιδήποτε.

Από τις 10 Νοεμβρίου 2026 κάθε πλάνο περιλαμβάνει συγκεκριμένο αριθμό δηλωμένων χωρών: Explorer και Student 4, Starter 10, Pro και άνω απεριόριστες. Από εκείνη την ημερομηνία δεν θα μπορεί να αποθηκευτεί δήλωση μεγαλύτερη από το πλάνο συν τις αγορασμένες επιπλέον χώρες· η καρτέλα Λογαριασμός δείχνει ήδη το όριό σας, ενώ οι λογαριασμοί που το ξεπερνούν βλέπουν πρόταση στον πίνακα. Πριν από τις 10 Νοεμβρίου δεν αλλάζει τίποτα.

2026-09-07 Βελτίωση Το sandbox δείχνει πλέον το κόστος ορίου πριν και μετά από κάθε κλήση

Το sandbox του API επισημαίνει πλέον κάθε endpoint στη λίστα με την κλάση ορίου του (Βαρύ / Πρότυπος), δείχνει το κόστος ορίου για την επιλεγμένη έκδοση πριν εκτελέσετε οτιδήποτε και, μετά από μια κλήση, δείχνει πόσο θα κόστιζε η ίδια κλήση στο πραγματικό σας όριο — συμπεριλαμβανομένου του τύπου ceil(N ppids × M sub-products / 2) που χρησιμοποιείται για κλήσεις μορφής /multi.

Πρόκειται για προεπισκόπηση μόνο για ανάγνωση: οι ίδιες οι κλήσεις του sandbox αφαιρούνται από τον ξεχωριστό δοκιμαστικό προϋπολογισμό του sandbox, ποτέ από το πραγματικό σας όριο.

2026-09-07 Ασύμβατη αλλαγή Οι ανακοινωμένες αποσύρσεις είναι κλειστές σε λογαριασμούς που δημιουργήθηκαν μετά την ανακοίνωση

Από σήμερα, οτιδήποτε έχουμε ανακοινώσει δημόσια ότι αποσύρεται είναι κλειστό για λογαριασμούς προγραμματιστή που δημιουργήθηκαν κατά την ημερομηνία της ανακοίνωσης ή αργότερα. Αν ο λογαριασμός σας υπήρχε πριν από την ανακοίνωση, δεν αλλάζει τίποτα — διατηρείτε ολόκληρη την περίοδο χάριτος, μέχρι την ημερομηνία απόσυρσης που αναφέρεται στην καταχώριση που την ανακοίνωσε.

Γιατί υπάρχει αυτός ο κανόνας. Στις 24 Αυγούστου 2026 ανακοινώσαμε ότι το truck-bans v1 αποσύρεται στις 8 Σεπτεμβρίου 2026. Δύο λογαριασμοί που εγγράφηκαν λίγες ημέρες μετά από εκείνη την ανακοίνωση έχτισαν την ενσωμάτωσή τους πάνω στο v1 και έφτασαν λίγες ώρες πριν από ένα 410 χωρίς να τους έχει φτάσει ποτέ κανένα email μας: τόσο η ανακοίνωση όσο και η αποστολή των ειδοποιήσεων προηγούνταν της εγγραφής τους. Τίποτα στο API δεν τους εμπόδισε να υιοθετήσουν μια έκδοση που είχαμε ήδη πει ότι καταργείται. Αυτό ήταν δικό μας σφάλμα, και αυτή είναι η διόρθωση: δεν μπορείτε να υιοθετήσετε εκ νέου κάτι που έχει ήδη προγραμματιστεί να αφαιρεθεί.

Πώς φαίνεται. Μια τέτοια κλήση απορρίπτεται με 410 Gone και κωδικό σφάλματος version_closed_to_new_accounts. Το μήνυμα αναφέρει την ημερομηνία απόσυρσης, την ημερομηνία της ανακοίνωσης και την έκδοση που πρέπει να χρησιμοποιηθεί στη θέση της. Είναι σκόπιμα διαφορετικός κωδικός από το version_sunset, το οποίο λαμβάνει κάθε λογαριασμός μόλις περάσει η ίδια η ημερομηνία απόσυρσης — η υποστήριξη μπορεί να ξεχωρίσει το «ήρθατε πολύ αργά για να ξεκινήσετε» από το «αυτό έχει καταργηθεί για όλους» χωρίς να διαβάσει αρχείο καταγραφής.

Το κεκτημένο δικαίωμα κρίνεται από την ημερομηνία δημιουργίας του λογαριασμού, όχι από την πρώτη κλήση. Αν εγγραφήκατε πριν από την ανακοίνωση αλλά ξεκινάτε την ενσωμάτωση μόλις τώρα, εξακολουθείτε να έχετε ολόκληρη την περίοδο χάριτος: μπορεί να αναπτύσσατε πάνω σε αυτό από την αρχή.

Σε ισχύ από τώρα για το truck-bans v1 (ανακοινώθηκε στις 24 Αυγούστου 2026, αποσύρεται στις 8 Σεπτεμβρίου 2026), και αυτόματα για κάθε απόσυρση που ανακοινώνουμε από εδώ και στο εξής. Δεν απαιτείται τίποτα νέο από εσάς: κάθε απόκριση σε έκδοση που αποσύρεται φέρει ήδη τις κεφαλίδες Deprecation, Sunset και Link: rel="successor-version", ώστε μια νέα ενσωμάτωση να βλέπει μια απόσυρση να έρχεται χωρίς να διαβάσει αυτήν τη σελίδα.

2026-09-07 Ασύμβατη αλλαγή Οι λίστες destination με κόμματα σε v1/v2 αποσύρονται μαζί με το destination=all· διορθώθηκε το παράδειγμα v4 στην τεκμηρίωση

Συνέχεια της χθεσινής αλλαγής στο v4 (αίτημα προγραμματιστή #105). Οι λίστες destination με κόμματα σε v1 και v2 συνεχίζουν να λειτουργούν, αλλά πλέον υπόκεινται στην ίδια προθεσμία με το destination=all: και τα δύο σταματούν στις 2026-10-06 (έως τότε κεφαλίδες Deprecation/Sunset, μετά 400 destination_list_removed, που υποδεικνύει το /api/v4/ ως αντικατάσταση). Ο υπάρχων έλεγχος ορίου 10 στοιχείων στις λίστες με κόμματα παραμένει αμετάβλητος πριν από αυτή την ημερομηνία.

Το v4 παραμένει σε έναν προορισμό ανά κλήση — αυτό δεν άλλαξε σήμερα. Άλλαξε μόνο ο τρόπος που επικοινωνούνται τα v1/v2: το σφάλμα 400 για destination=all δεν προτείνει πλέον λίστα με κόμματα ως διαδρομή μετάβασης (θα έσβηνε την ίδια ημερομηνία), αλλά παραπέμπει απευθείας στο v4.

Διόρθωση τεκμηρίωσης: το παράδειγμα v4 σε αυτόν τον ιστότοπο ανέφερε προηγουμένως /api/v4/data/border/1/2,3,4/9 — μια λίστα με κόμματα, την οποία το v4 απορρίπτει. Τώρα είναι /api/v4/data/border/1/2/9. Όποιος αντέγραψε το παλιό παράδειγμα θα έπαιρνε 400 στην πρώτη του κλήση· ζητούμε συγγνώμη.

Νέο μεταφρασμένο κλειδί product_border_v4_p_destination κυκλοφορεί και στις 25 γλώσσες του ιστότοπου και δηλώνει ρητά τον κανόνα ενός προορισμού στο v4 αντί να επιστρέφει στη διατύπωση των v1/v2.

2026-09-06 Ασύμβατη αλλαγή Border Queue v4: μία χώρα προορισμού ανά κλήση και το destination=all αποσύρεται στις 2026-10-06

Το /api/v4/data/border/{origin}/{destination}/{crossing_type} είναι ενεργό από σήμερα. Τρία πράγματα αλλάζουν σε σχέση με το v2 και μαζί εξηγούν γιατί πρόκειται για νέα έκδοση και όχι για διόρθωση.

1. Τέλος το destination=all. Τα δεδομένα μας αδειοδοτούνται ανά χώρα (Όροι Developer API, ενότητα 7) και ένας χαρακτήρας μπαλαντέρ που σημαίνει "κάθε γειτονική χώρα για την οποία έχουμε δεδομένα" επιστρέφει χώρες για τις οποίες ο λογαριασμός σας μπορεί να μην είναι εγκεκριμένος — χωρίς τίποτα στο αίτημα να το δείχνει. Στο v4 δηλώνετε εσείς τη χώρα.

2. Μία χώρα προορισμού ανά κλήση. Το /api/v4/data/border/1/2/9 ζητά ένα σύνορο. Λίστες με κόμματα δεν γίνονται δεκτές: στείλτε τα 1/2/9, 1/3/9 και 1/4/9 ως ξεχωριστές κλήσεις. Μια λίστα με κόμματα ή το all απαντά 400 και κατονομάζει τις ακριβείς κλήσεις που πρέπει να σταλούν, ώστε τίποτα να μην αποτυγχάνει σιωπηλά.

3. Ένας κωδικός για τα φορτηγά. Το v1 και το v2 χώριζαν τις εμπορευματικές μεταφορές σε 8 (Freight Transport) και 9 (Freight Transport έως 7,5 t). Ο διαχωρισμός αυτός υπάρχει πράγματι στο συνοριακό σημείο, αλλά κανένας ενσωματωτής δεν μπορεί να τον αξιοποιήσει: ζητώντας από το v2 τον κωδικό 9 στα σύνορα UA-PL επιστρέφονταν 21 από τις 70 διελεύσεις φορτηγών και τίποτα δεν το ανέφερε. Το v4 απαντά στο 9 με όλες τις λωρίδες φορτηγών και δέχεται το 8 ως συνώνυμο του 9. Κάθε γραμμή φέρει το δικό της crossing_type, ώστε μια ενοποιημένη απάντηση να παραμένει ελέγξιμη.

Στα v1 και v2, το destination=all εξακολουθεί να λειτουργεί έως τις 2026-10-06 και έως τότε φέρει κεφαλίδες Deprecation / Sunset. Από την ημερομηνία αυτή οι εκδόσεις αυτές απαντούν 400 και για το all — τα υπόλοιπα του v1 και του v2 μένουν ανέπαφα και παραμένουν διαθέσιμα. Η ίδια ημερομηνία ισχύει και για τις άλλες συντομεύσεις όλων των χωρών: travel-matrix χωρίς ?dest=, bus-carriers με ?ppid=all και fuel-grades χωρίς ?country=.

Το v3, που ανακοινώθηκε νωρίτερα σήμερα, αντικαθίσταται από το v4. Το v3 διέφερε από το v4 μόνο στο ότι εξακολουθούσε να δέχεται λίστα με κόμματα, και καμία ενσωμάτωση δεν χρησιμοποιεί αυτή τη μορφή. Τα URL του v3 συνεχίζουν να απαντούν, ώστε να μη σπάσει ό,τι έχει γραφτεί για αυτά, αλλά το v3 δεν τεκμηριώνεται και δεν θα αναπτυχθεί περαιτέρω — μεταβείτε στο v4.

Όλα τα υπόλοιπα στο v4 είναι ίδια με το v2: κατευθυντική σειρά διαδρομής, direction{from,to}, stale και ?max_age_min=.

2026-09-06 Διόρθωση Τα αναγνωριστικά χωρών και οι κωδικοί τύπου οχήματος τεκμηριώνονται πλέον — και τα 8/9 ήταν αντεστραμμένα

Τα αριθμητικά αναγνωριστικά στο /border/{origin}/{destination}/{crossing_type} δεν είχαν δημοσιευτεί ποτέ ως πίνακας, οπότε οι ενσωματωτές τα ανασυνέθεταν από ζώνες ώρας και δείγματα URL. Βρίσκονται πλέον στην τεκμηρίωση, στην ενότητα Κωδικοί χωρών και τύπων οχήματος, και παράγονται από τους ίδιους πίνακες με τους οποίους ελέγχει το API — τα αναγνωριστικά χωρών με τα σύνορα που καλύπτει το καθένα και κάθε crossing_type με την ετικέτα που επιστρέφει το API.

Κατά τη δημοσίευσή τους διαπιστώσαμε ότι το sandbox και τα μεταδεδομένα των endpoint περιέγραφαν το 8 ως "truck<7.5t" και το 9 ως "truck". Αυτό είναι αντεστραμμένο: το API χαρακτηρίζει το 8 ως Freight Transport και το 9 ως Freight Transport έως 7,5 τόνους, και πάντα έτσι ήταν. Αν επιλέξατε κωδικό φορτηγού από την υπόδειξη της παραμέτρου, φιλτράρατε την αντίθετη λωρίδα από αυτήν που εννοούσατε. Διορθώθηκε παντού, και το v3 καταργεί εντελώς αυτή την επιλογή.

2026-09-06 Βελτίωση Όροι Developer API v1.1 — τι σημαίνει "αγορά" και δύο αλλαγές υπέρ σας

Οι Όροι API v1.1 αντικαθιστούν τους v1.0 πριν αυτοί τεθούν σε ισχύ και ισχύουν από τις 2026-10-06. Παρακαλούμε αποδεχτείτε τους στον πίνακα ελέγχου σας.

Η ενότητα 7 ορίζει πλέον τι είναι Αγορά: η χώρα της οποίας τα δεδομένα χρησιμοποιείτε — εκεί όπου βρίσκεται το σημείο ελέγχου ή το σύνορο που ζητάτε — και όχι η χώρα στην οποία ζουν οι χρήστες σας. Ο πίνακας ελέγχου μας ανέφερε και τα δύο σε διαφορετικά σημεία, ενώ στην πράξη ίσχυε πάντα το πρώτο.

Δύο αλλαγές υπέρ σας. Οι χώρες που έχουν ήδη εγκριθεί για τον λογαριασμό σας παραμένουν διαθέσιμες όσο εξετάζεται μια μεταγενέστερη αλλαγή (η προσθήκη χώρας δεν αναστέλλει πλέον όσες ήδη έχετε). Και αν δεν έχουμε απαντήσει σε μια δήλωση αγοράς εντός 5 εργάσιμων ημερών, ισχύουν τα πλήρη όρια του πλάνου σας μέχρι να απαντήσουμε.

Η ενότητα 10.3 αντιστοιχεί πλέον σε αυτό που πραγματικά ζητά ο πίνακας ελέγχου, ενώ η ενότητα 13.2 ορίζει μια βάση διαθεσιμότητας που μετράμε και μπορούμε να σας δείξουμε.

2026-09-05 Βελτίωση Νέο: σημαία data_quality στα Queue, Live Queue & Freshness και Multi-Checkpoint

Τρία προϊόντα φέρουν πλέον ένα πρόσθετο πεδίο data_quality (high ή low) που δηλώνει αν μια μέτρηση είναι πραγματική παρατήρηση ή εκτίμηση μοντέλου χωρίς ζωντανή πηγή καταμέτρησης στο συγκεκριμένο σημείο διέλευσης: queue (στο snapshot ανώτατου επιπέδου και σε κάθε ιστορική γραμμή του data[] — απουσιάζει από τις γραμμές πρόβλεψης), update-info (στον φάκελο της απάντησης) και multi (και στα δύο υποαντικείμενα, queue και update_info, ανά σημείο ελέγχου). Δεν πρόκειται για νέο σήμα — η υποκείμενη σημαία υπήρχε ήδη εσωτερικά — αλλά δεν είχε εκτεθεί ποτέ, οπότε ένα πλήρως μοντελοποιημένο σημείο ελέγχου φαινόταν ίδιο με ένα άμεσα μετρημένο. Το is_realtime παραμένει σκόπιμα αμετάβλητο: εξακολουθεί να έχει τιμή true για μοντελοποιημένες γραμμές, και η αλλαγή αυτής της σημασίας θα ήταν breaking change επιπέδου v2, το οποίο δεν κάνουμε εδώ.

Επίσης σε αυτή την έκδοση: το προϊόν queue-advanced δεν αναδιανέμει πλέον ακατέργαστα δεδομένα καιρού από την πηγή. Τα weather_main, temperature και wind_speed αντικαθίστανται από ένα παραγόμενο condition_code (κλίμακα επικινδυνότητας 0–5, null όταν δεν υπάρχουν διαθέσιμα δεδομένα καιρού), καθώς και από τα condition και severity.

2026-08-25 Παρωχημένο Multi-Checkpoint API: 5 συνοριακά σημεία ανά αίτημα από 2026-08-30

Από 2026-08-30 ένα αίτημα /api/v1/data/multi απαντάται για το πολύ 5 συνοριακά σημεία. Μια κλήση που παραθέτει περισσότερα PPID δεν απορρίπτεται: εξακολουθεί να επιστρέφει 200, αλλά απαντώνται μόνο τα πρώτα 5 ID στο ?ppids=. Τα υπόλοιπα ID αγνοούνται, επιστρέφονται στο meta.ppid_cap.ignored και δεν χρεώνονται στο όριό σας — η κλήση χρεώνεται με βάση αυτό που πραγματικά επιστρέφει.

Όσο μια κλήση υπερβαίνει το όριο, η απόκριση περιλαμβάνει την κεφαλίδα X-Devapi-Warning: multi_ppid_cap και ένα μπλοκ meta.ppid_cap με τα πεδία cap, enforced_from, enforced, ppids_asked, ppids_answered και ignored[]. Μέχρι τις 2026-08-30 αυτά τα πεδία εμφανίζονται με enforced: false και με το πλήρες σύνολο αποτελεσμάτων, ώστε να δείτε την αλλαγή που έρχεται στα δικά σας αρχεία καταγραφής.

Η έκπτωση του μισού στο όριο παραμένει αμετάβλητη. Χωρίστε τα συνοριακά σας σημεία σε ομάδες των 5 και στείλτε μία κλήση ανά ομάδα στον συνήθη κύκλο ανανέωσής σας· για συχνή αναζήτηση μόνο του μήκους της ουράς και της φρεσκάδας των δεδομένων, το update-info παραμένει το φθηνότερο προϊόν τυπικής κατηγορίας.

2026-08-25 Βελτίωση Η ουκρανική απαγόρευση λόγω καύσωνα ακολουθεί πλέον το εύρος ημερομηνιών σας (v2)

Η υπολογιζόμενη ουκρανική απαγόρευση λόγω καύσωνα — επιστρέφεται με include_ua_heat και αυτόματα για country=UA — απαντά πλέον για το εύρος ημερομηνιών που ζητάτε. Προηγουμένως επέστρεφε τις επόμενες επτά ημέρες ό,τι κι αν έλεγαν τα date_from και date_to, οπότε ένα εύρος του Δεκεμβρίου επέστρεφε σιωπηλά τις γραμμές αυτής της εβδομάδας. Η απαγόρευση υπολογίζεται από την πρόγνωση καιρού και δεν διαβάζεται από το ημερολόγιο απαγορεύσεων, γι' αυτό έχει δύο όρια που το ημερολόγιο δεν έχει: δεν κοιτάζει πίσω και σταματά εκεί που σταματά η πρόγνωση. Το εύρος σας τέμνεται πλέον με όσα καλύπτει πραγματικά η πρόγνωση, ενώ το νέο πεδίο ua_heat_ban.forecast_horizon δηλώνει την τελευταία διαθέσιμη ημερομηνία. Ένα εύρος πέρα από αυτόν τον ορίζοντα δεν επιστρέφει γραμμές και εξηγεί γιατί στο summary — που δεν σημαίνει «καμία απαγόρευση». Οι απαντήσεις v1 παραμένουν ίδιες.

2026-08-25 Βελτίωση Κάθε προϊόν τεκμηριώνει πλέον τα πεδία της απάντησής του

Η μορφή της απάντησης δεν ήταν τεκμηριωμένη πουθενά: ο μόνος τρόπος να μάθει κανείς τι επιστρέφει ένα προϊόν ήταν να το καλέσει. Τώρα κάθε σελίδα προϊόντος δείχνει, κάτω από τον πίνακα παραμέτρων, έναν πίνακα Πεδία της απάντησης με σύντομη περιγραφή κάθε πεδίου. Τα πεδία των στοιχείων μιας λίστας εμφανίζονται ως items[].name, ενώ τα πεδία στο επίπεδο του φακέλου (usage, meta, snapshot, resolved_location) εμφανίζονται χωρίς πρόθεμα. Τεκμηριώνονται 40 από τα 42 προϊόντα: τα δύο που δεν έχουν ακόμη κυκλοφορήσει (weather, road-quality) μένουν σκόπιμα χωρίς περιγραφή. Ο ίδιος πίνακας δημοσιεύεται και στο δημόσιο αντίγραφο τεκμηρίωσής μας στο GitHub.

2026-08-25 Νέο Τοπικά ονόματα καυσίμων στο API

Κάθε προϊόν καυσίμων δέχεται πλέον το τοπικό όνομα ενός καυσίμου, όχι μόνο τη δική μας εσωτερική γραφή: ON στην Πολωνία, Nafta στην Τσεχία, Gázolaj στην Ουγγαρία, Motorină στη Ρουμανία, ДП στην Ουκρανία, Motorin στην Τουρκία, Gasóleo στην Πορτογαλία και την Ισπανία. Το όνομα ερμηνεύεται πρώτα με βάση τη χώρα — το «95» είναι E10 σε δανέζικη αντλία και E5 σε πολωνική — γι' αυτό στείλτε country μαζί με το τοπικό όνομα ή συντεταγμένες που μας επιτρέπουν να εντοπίσουμε το σημείο. Η απάντηση επιστρέφει fuel_type (κανονικό), fuel_type_requested (όπως το γράψατε) και fuel_type_local. Όνομα που δεν μπορούμε να εντοπίσουμε δεν αντικαθίσταται ποτέ από προεπιλεγμένο καύσιμο: η απάντηση γυρίζει κενή και το δηλώνει.

Ολόκληρος ο πίνακας είναι πλέον ξεχωριστό προϊόν — GET /api/v2/data/fuel-grades[?country=PL][&fuel_type=ON] — τα κανονικά μας καύσιμα και τα τοπικά τους ονόματα σε 41 ευρωπαϊκές χώρες, ακόμη και σε αγορές για τις οποίες δεν δίνουμε τιμές. Επιπλέον, τα επίπεδα χώρας και περιφέρειας των fuel και fuel-local απέκτησαν ένα αντικείμενο grades που συνδέει κάθε κλειδί τιμής με το καύσιμο και με το όνομά του στην αντλία.

2026-08-25 Βελτίωση Truck Bans API v2: ερώτημα για συγκεκριμένη ημερομηνία ή εύρος ημερομηνιών

Το προϊόν truck-bans απαντά πλέον για συγκεκριμένη ημερομηνία ή εύρος ημερομηνιών στη διεύθυνση /api/v2/data/truck-bans. Μέχρι τώρα επέστρεφε πάντα τις επόμενες 7 ημέρες και αγνοούσε όποια ημερομηνία στέλνατε, οπότε η κατάρτιση ημερολογίου απαιτούσε ένα αίτημα ανά ημέρα — και σε πλάνο με δύο αιτήματα ανά δευτερόλεπτο τα περισσότερα απορρίπτονται με 429 qps_exceeded.

Χρησιμοποιήστε ?date=YYYY-MM-DD για μία ημέρα ή ?date_from= και ?date_to= για εύρος. Και τα δύο άκρα περιλαμβάνονται και οποιοδήποτε μπορεί να παραλειφθεί: η αρχή είναι εξ ορισμού η σημερινή ημέρα, το τέλος είναι η αρχή συν 7 ημέρες. Ένα παράθυρο μπορεί να καλύψει το πολύ 92 ημέρες — μεγαλύτερο απορρίπτεται με 400 date_range_too_long αντί να περικοπεί σιωπηλά. Πρόκειται για ημερολόγιο στραμμένο στο μέλλον: ένα παράθυρο μπορεί να ξεκινά το πολύ 7 ημέρες πριν, ενώ παλαιότερες ημερομηνίες απορρίπτονται αντί να εξυπηρετούνται — η κάλυψη εκτείνεται εμπρός έως τις 31 Δεκεμβρίου 2028 σε 23 χώρες.

Κάθε απάντηση περιέχει πλέον ένα αντικείμενο window που ονομάζει ακριβώς το εύρος που καλύπτει. Είναι προσθετικό πεδίο και αποστέλλεται και στην v1, όπου η v1 διατηρεί αμετάβλητο το σταθερό της παράθυρο 7 ημερών. Προσοχή: include_ua_heat καλύπτει πάντα τις επόμενες 7 ημέρες, όποιο παράθυρο και αν ζητήσετε — υπολογίζεται από πρόγνωση καιρού, όχι από το ημερολόγιο απαγορεύσεων. Υπενθυμίζουμε ότι η v1 αυτού του προϊόντος αποσύρεται στις 8 Σεπτεμβρίου 2026.

Δύο σχετικές βελτιώσεις σε ολόκληρο το API: κάθε παράμετρος που ένα προϊόν δεν δέχεται καταγράφεται πλέον στο ignored_params της απάντησης αντί να απορρίπτεται σιωπηλά, και τα σφάλματα ελέγχου από την υπηρεσία δεδομένων φτάνουν σε εσάς όπως ακριβώς έχουν γραφτεί, με τον μηχανικά αναγνώσιμο κωδικό στο error.reason.

2026-08-25 Βελτίωση Η κεφαλίδα X-API-Key γίνεται δεκτή, σαφέστερο σφάλμα για κλειδί που λείπει, has_day_stats στον κατάλογο checkpoints

Τρεις διορθώσεις ποιότητας απόκρισης από έλεγχο της πύλης (ticket #43).

Η κεφαλίδα X-API-Key γίνεται πλέον δεκτή παράλληλα με Authorization: Bearer και ?key=. Αν ο HTTP client σας στέλνει τα κλειδιά μέσω κεφαλίδας με όνομα X-API-Key, αυτό πλέον λειτουργεί — προηγουμένως αγνοούνταν σιωπηλά και η κλήση απορριπτόταν ως missing_api_key. Το Authorization: Bearer παραμένει η τεκμηριωμένη και συνιστώμενη μορφή.

Το μήνυμα σφάλματος για κλειδί που λείπει αναφέρει πλέον και τους τρεις τρόπους ταυτοποίησης (κεφαλίδα Bearer, κεφαλίδα X-API-Key ή ?key=) αντί να παραπέμπει μόνο στη σελίδα εγγραφής.

Ο κατάλογος checkpoints περιλαμβάνει πλέον το has_day_stats σε κάθε εγγραφή — μια προσθετική τιμή boolean που δηλώνει αν το API Best Time to Cross (day-stats) διαθέτει δεδομένα για το συγκεκριμένο σημείο διέλευσης. Τα day-stats υπάρχουν μόνο για ένα υποσύνολο των παρακολουθούμενων σημείων διέλευσης· ελέγξτε αυτή τη σημαία πριν από την άντληση δεδομένων για να αποφύγετε προβλέψιμα 404. Τα υπάρχοντα πεδία παραμένουν αμετάβλητα.

Διορθώθηκε επίσης στην τεκμηρίωση: το προϊόν road-conditions ανέκαθεν λάμβανε υπόψη την παράμετρο lang για την τοπικοποίηση των ετικετών — απλώς δεν αναφερόταν.

2026-08-24 Βελτίωση API Truck Bans: χώρες χωρισμένες με κόμμα, πεδία πληρότητας και μια v2 με υποχρεωτικό εύρος

Δύο διορθώσεις και μία νέα έκδοση για το προϊόν truck-bans.

Οι χώρες χωρισμένες με κόμμα λειτουργούν πλέον. Το ?country= δέχεται λίστα έως 3 κωδικών ISO-2, για παράδειγμα ?country=DE,RO. Μια μεγαλύτερη λίστα απορρίπτεται με 400 too_many_countries αντί να περικόπτεται σιωπηλά — πρόκειται για ημερολόγιο απαγορεύσεων ανά χώρα, όχι για μαζική ροή. Αυτό προηγουμένως δεν λειτουργούσε: ο διαχωριστής αφαιρούνταν, οπότε το DE,RO διαβαζόταν ως το ενιαίο διακριτικό DERO, δεν αντιστοιχούσε σε τίποτα και επέστρεφε success: true με total_bans: 0 — ένα κατηγορηματικό “καμία απαγόρευση” για δύο χώρες που μαζί είχαν 22. Αν το παρακάμπτατε στέλνοντας ένα αίτημα ανά χώρα, τώρα ένα μόνο αίτημα τις καλύπτει όλες και κοστίζει μία κλήση αντί για πολλές.

Οι αποκρίσεις αναφέρουν πλέον την πληρότητά τους. Τρία προσθετικά πεδία — returned, total_available και truncated — σας δείχνουν αν μια απάντηση περικόπηκε. Ειδικότερα, μια κλήση χωρίς εύρος επιστρέφει περιορισμένο τμήμα και μέχρι τώρα τίποτα στο ωφέλιμο φορτίο δεν το δήλωνε. Το total_bans διατηρεί την υπάρχουσα σημασία του (γραμμές σε αυτή την απόκριση), οπότε δεν αλλάζει τίποτα από όσα ήδη αναλύετε.

Η v2 έχει εύρος ανά χώρα. Στο /api/v2/data/truck-bans, το ?country= είναι υποχρεωτικό και ένα αίτημα χωρίς εύρος απορρίπτεται με 400 scope_required — αυτό το προϊόν είναι ημερολόγιο απαγορεύσεων ανά χώρα, όχι μαζική ροή. Η v1 παραμένει σήμερα αμετάβλητη — εξακολουθεί να δέχεται κλήση χωρίς εύρος και να επιστρέφει τις ίδιες περιορισμένες 50 γραμμές όπως πάντα, οπότε τίποτα από όσα έχετε σε λειτουργία δεν σπάει αυτή τη στιγμή. Η v1 αυτού του προϊόντος αποσύρεται στις 8 Σεπτεμβρίου 2026. Λειτουργεί κανονικά έως τις 7 Σεπτεμβρίου· από τις 8 Σεπτεμβρίου ένα αίτημα v1 απορρίπτεται με 410 Gone και μήνυμα που παραπέμπει στη v2. Μέχρι τότε κάθε απόκριση v1 φέρει Deprecation: true, μια κεφαλίδα Sunset με αυτή την ημερομηνία και μια κεφαλίδα Link που ονομάζει τη διάδοχη έκδοση, ώστε μια βιβλιοθήκη πελάτη να μπορεί να εμφανίσει την προθεσμία χωρίς να διαβάσει κανείς αυτή τη σελίδα. Για τη μετάβαση: αλλάξτε το τμήμα έκδοσης σε /api/v2/data/truck-bans και περάστε ?country=.

Μία διόρθωση στην τεκμηρίωση: η παράμετρος date αφαιρέθηκε. Αναγραφόταν για μεγάλο διάστημα αλλά δεν διαβαζόταν ποτέ από την υπηρεσία, οπότε κάθε αίτημα που την έστελνε λάμβανε σιωπηλά το προεπιλεγμένο παράθυρο 7 ημερών αντί για την ημέρα που ζητούσε. Για να επιλέξετε ημέρα, φιλτράρετε τον πίνακα upcoming_bans με βάση το πεδίο date. Επίσης, ένας κωδικός ISO-3 όπως το DEU δεν αντιστοιχίζεται πλέον σε όνομα χώρας στη σύνοψη, όπου παρήγαγε το παραπλανητικό “No truck ban data for: Germany.”

2026-08-24 Βελτίωση Truck Bans API: πέντε νέες χώρες και κάλυψη που επεκτείνεται έως το 2027

Το προϊόν truck-bans επιστρέφει πλέον περιορισμούς κυκλοφορίας σε εθνικό επίπεδο για πέντε ακόμη χώρες: Βέλγιο (BE), Λευκορωσία (BY), Μαυροβούνιο (ME), Βόρεια Μακεδονία (MK) και Σουηδία (SE). Η υπάρχουσα κάλυψη για Βουλγαρία, Ελλάδα και Πορτογαλία επεκτάθηκε και ανανεώθηκε — οι ελληνικοί περιορισμοί φτάνουν τώρα έως τον Σεπτέμβριο του 2027 και η Πορτογαλία έχει ξανά δεδομένα.

Η δομή της απόκρισης παραμένει ίδια. Οι νέες εγγραφές φέρουν τα ίδια κλειδιά με κάθε άλλη απαγόρευση: date, time_from, time_until, restriction_type, restriction_details, min_weight_tons και details_url. Όταν ένας περιορισμός ισχύει μόνο υπό προϋπόθεση — οι λευκορωσικές θερινές απαγορεύσεις, για παράδειγμα, ισχύουν άνω των 25 °C — η προϋπόθεση αναφέρεται στο restriction_details, οπότε διαβάστε αυτό το πεδίο πριν προειδοποιήσετε οδηγό. Το min_weight_tons είναι null όταν ένας κανόνας αφορά κατηγορία μεταφοράς (επικίνδυνα εμπορεύματα) και όχι τονάζ.

2026-08-24 Βελτίωση Πρατήρια καυσίμων: τιμές ανά πρατήριο στην Πολωνία και ένδειξη sparse_coverage

Τα προϊόντα fuel-stations και fuel-cheapest επιστρέφουν πλέον τιμές ανά πρατήριο στην Πολωνία. Η κάλυψη είναι μερική — η περιοχή των Τριών Πόλεων (Γκντανσκ, Γκντίνια, Σοπότ) — γι' αυτό η Πολωνία δηλώνεται σε έναν νέο, προσθετικό πίνακα coverage.sparse_coverage δίπλα στην υπάρχουσα λίστα coverage.station_countries. Μια χώρα που αναφέρεται στο sparse_coverage διαθέτει δεδομένα πρατηρίων μόνο για μέρος της επικράτειάς της· ένα ερώτημα αλλού στη χώρα αυτή επιστρέφει κενή λίστα μαζί με τη σημείωση κάλυψης, ακριβώς όπως πριν. Οι πολωνικές τιμές δίνονται σε PLN.

Και το μήνυμα σφάλματος για μαζικά ερωτήματα είναι σαφέστερο: όταν λείπει το lat, το μήνυμα scope_required παραπέμπει τώρα στο προϊόν fuel (?country=XX) για μέσες τιμές σε επίπεδο χώρας.

2026-08-22 Βελτίωση API τοπικών τιμών καυσίμων: νέο επίπεδο region για την Ουκρανία

Το GET /api/v2/data/fuel-local?lat=&lon= αναλύει πλέον την τιμή σε τρία επίπεδα αντί για δύο: station, έπειτα region, έπειτα country. Το νέο ενδιάμεσο επίπεδο υπάρχει για την Ουκρανία, όπου τιμές ανά πρατήριο δεν υπάρχουν πουθενά: ένα σημείο στην Ουκρανία λαμβάνει τώρα τον μέσο όρο της περιφέρειάς του αντί του εθνικού μέσου όρου και επιστρέφει στον εθνικό μέσο όρο μόνο όταν δεν υπάρχει τιμή για την περιφέρεια.

Μια απάντηση του επιπέδου region περιέχει τον κωδικό της περιφέρειας (τιμή ISO 3166-2 όπως UA-46), τα region_name και region_center_dist_km, καθώς και τα ίδια πεδία τιμών με το επίπεδο χώρας. Συνεχίστε να διακλαδώνετε τον κώδικα με βάση το resolution, ποτέ με βάση τη μορφή της απάντησης· οι απαντήσεις station και country παραμένουν αμετάβλητες.

2026-08-22 Νέο Νέο προϊόν: API τοπικών τιμών καυσίμων

Το νέο endpoint GET /api/v2/data/fuel-local?lat=&lon= επιστρέφει την καλύτερη διαθέσιμη τιμή καυσίμου για οποιοδήποτε σημείο στην Ευρώπη. Όπου υπάρχουν δεδομένα ανά πρατήριο απαντά με τις τιμές των πλησιέστερων πρατηρίων, αλλιώς με τον εθνικό μέσο όρο της χώρας στην οποία βρίσκεται το σημείο — συμπεριλαμβανομένης της Ουκρανίας, όπου τιμές ανά πρατήριο δεν υπάρχουν πουθενά.

Κάθε απάντηση περιλαμβάνει το πεδίο resolution, που δηλώνει το επίπεδο που απάντησε: station (λίστα πρατηρίων με distance_km, το καθένα στο δικό του νόμισμα) ή country (ένα αντικείμενο με εθνικούς μέσους όρους). Διακλαδώστε τον κώδικα με βάση το resolution, ποτέ με βάση τη μορφή της απάντησης. Διαθέσιμο από το /api/v2/ και μετά· τα fuel, fuel-stations και fuel-cheapest παραμένουν αμετάβλητα.

2026-08-19 Βελτίωση Πρατήρια καυσίμων: 13 τύποι καυσίμου και πιο φρέσκα δεδομένα για τη Γερμανία

Τα προϊόντα fuel-stations και fuel-cheapest καλύπτουν πλέον πολύ περισσότερα πρατήρια στη Γερμανία, με τιμές που ανανεώνονται όλη την ημέρα — συμπεριλαμβανομένων των αγροτικών περιοχών. Η παράμετρος fuel_type δέχεται 13 τύπους καυσίμου: diesel, e5, e10, superplus, super100, premdiesel, truckdiesel, hvo, lpg, cng, adblue, e85 και lng. Όταν κανένα πρατήριο δεν ταιριάζει με το ερώτημα, η απόκριση περιλαμβάνει ένα αντικείμενο coverage με τη λίστα των χωρών για τις οποίες υπάρχουν δεδομένα πρατηρίων.

2026-08-19 Βελτίωση Διορθώσεις ποιότητας δεδομένων: ψευδώνυμο radius=, σημειώσεις κάλυψης καυσίμων, ακρίβεια σχεδιασμού συνόρων για φορτηγά

Η παράμετρος radius= γίνεται πλέον δεκτή ως συμβατό ψευδώνυμο της radius_km σε κάθε προϊόν που την τεκμηριώνει. Τα προϊόντα fuel-stations και fuel-cheapest επιστρέφουν ένα προσθετικό αντικείμενο coverage (λίστα χωρών με πρατήρια και μια σημείωση) αντί για σιωπηλά κενό αποτέλεσμα όταν δεν ταιριάζει κανένα πρατήριο. Τα αντικείμενα συνόρων του route-plan περιλαμβάνουν τώρα το προσθετικό κλειδί wait_basis (car_lane έναντι vehicle_lane), ώστε οι πελάτες να γνωρίζουν πότε ο χρόνος αναμονής για φορτηγά προέρχεται στην πραγματικότητα από τη λωρίδα επιβατικών. Η αντιστοίχιση συνοριακών σταθμών για φορτηγά κατά μήκος μιας διαδρομής είναι σημαντικά ακριβέστερη: εφεδρική χρήση της λωρίδας επιβατικών για ζεύγη σταθμών χωρίς δεδομένα φορτηγών, προστασία από λάθος κατεύθυνση, αυστηρότερο όριο απόστασης και αφαίρεση διπλότυπων διελεύσεων στην ίδια θέση. Όλες οι αλλαγές είναι προσθετικές, χωρίς αλλαγές που σπάνε τη συμβατότητα.

2026-08-13 Βελτίωση Ανασχεδιασμός αρχικής σελίδας portal: άγκυρες ενοτήτων, εφαρμογές κινητών, πλήρες i18n

Η αρχική σελίδα για προγραμματιστές διαθέτει πλέον ενότητες με άγκυρες (#products, #plans, #quickstart, #integrations, #datasets, #apps, #companies, #showcase) με πλοήγηση μετάβασης, και κάθε κάρτα προϊόντος συνδέεται με τη δική της σελίδα τεκμηρίωσης. Η νέα ενότητα Mobile apps παρουσιάζει τα Kordon Online και Truck Bans με συνδέσμους Google Play. Συμπλήρωση μεταφράσεων: το ιστορικό χρεώσεων, τα σφάλματα σύνδεσης, οι σύνδεσμοι sandbox και το κουμπί επιλογής πλάνου είναι πλέον μεταφρασμένα σε όλες τις 25 γλώσσες.

2026-08-12 Νέο NakBus Live: αμφίδρομη ανταλλαγή μηνυμάτων με τον οδηγό

Η απόκριση του fleet beacon (POST /api/v1/fleet_position.php) περιλαμβάνει πλέον έναν πίνακα messages που παραδίδει εκκρεμή μηνύματα από τον ιδιοκτήτη προς τον οδηγό. Νέα ζωντανή ροή JSON μόνο για ιδιοκτήτες (?ajax=live) και μια κάρτα "Μηνύματα προς οδηγούς" στον πίνακα ελέγχου στόλου. Νέα σελίδα πρόσκλησης οδηγού /{lang}/get-nakbus (25 γλώσσες).

2026-08-12 Νέο Η τεκμηρίωση του Fleet API μεταφράστηκε σε 25 γλώσσες

Μεταφράστηκαν ο τίτλος, η περιγραφή (title, desc) του product_fleet_vehicles/live/history και οι παράμετροι fleet-history σε όλες τις 25 γλώσσες του developer portal.

2026-08-12 Βελτίωση Truck Bans API: ενοποιημένα κλειδιά απόκρισης σε όλους τους κλάδους

Το /api/v1/data/truck-bans επιστρέφει πλέον το ίδιο σύνολο πεδίων ανώτατου επιπέδου, ανεξάρτητα από το ποιο ερώτημα προκάλεσε την απόκριση. Παλαιότερα, ένα ερώτημα για μια χώρα χωρίς απαγορεύσεις ημερολογίου, ένα μη αναγνωρισμένο ppid, ή μια κανονική αντιστοίχιση βάσης δεδομένων μπορούσαν η καθεμία να παραλείπουν διαφορετικά πεδία (π.χ. country, covered_countries, ppid). Πλέον κάθε απόκριση περιλαμβάνει σταθερά τα as_of, bans_by_country, countries_not_covered, country, covered_countries, current_bans, is_ban_active, lang, page_url, ppid, relevant_countries, source, success, summary, total_bans και upcoming_bans (null ή κενό όπου δεν εφαρμόζεται), απλοποιώντας την ανάλυση από την πλευρά του πελάτη.

2026-08-12 Νέο 9 νέα API για οδηγούς: χώροι στάθμευσης φορτηγών, καταστήματα, ντους, εστιατόρια, βιομηχανικές ζώνες, πρατήρια καυσίμων, φθηνότερο καύσιμο, σημεία internet, αυτοκόλλητα διοδίων

Εννέα νέα προϊόντα ανά υπηρεσία. Όσα βασίζονται σε τοποθεσία δέχονται lat/lon ή city + country (γεωκωδικοποιούμε την πόλη για εσάς): /api/v2/data/truck-parkings, /api/v2/data/shops, /api/v2/data/showers, /api/v2/data/restaurants, /api/v2/data/industrial, /api/v2/data/fuel-stations, /api/v2/data/fuel-cheapest (σταθμοί κατατεταγμένοι κατά τιμή για έναν τύπο καυσίμου) και /api/v2/data/internet-points· τα αποτελέσματα περιλαμβάνουν distance_km και περιορίζονται από το radius. Το /api/v2/data/vignettes απαντά αν μια χώρα απαιτεί αυτοκόλλητο διοδίων, με τρέχουσες τιμές. Το υπάρχον προϊόν pois υποστηρίζει πλέον τα lon και radius όπως τεκμηριώνεται, και η λειτουργία mode=nearest του προϊόντος fuel δέχεται επίσης lon. Και τα εννέα είναι διαθέσιμα στο sandbox.

2026-08-12 Βελτίωση Truck Bans API: λεπτομέρειες περιορισμού, σύνδεσμοι σε δικό μας domain, παράμετρος lang

Κάθε απαγόρευση στο /api/v1/data/truck-bans περιλαμβάνει πλέον restriction_type (General / Local / Sunday / Holiday / Seasonal), restriction_details (ακριβές πεδίο εφαρμογής ή δρόμοι που επηρεάζονται) και min_weight_tons. Το details_url οδηγεί πλέον σε σελίδες ανά χώρα στο nakordoni.eu. Μια νέα προαιρετική παράμετρος lang επιλέγει τη γλώσσα των ονομάτων χωρών και της περίληψης· η προεπιλογή είναι πλέον τα αγγλικά.

2026-08-09 Βελτίωση Σαφέστερα σφάλματα ppid και τεκμηρίωση

Ένα λανθασμένο ?ppid= επιστρέφει πλέον τον πραγματικό λόγο αντί για ένα σκέτο "Request failed": το σφάλμα ονομάζει την παράμετρο, την αναμενόμενη μορφή id_<number> και παραπέμπει στο /api/v1/data/checkpoints. Οι πίνακες παραμέτρων για stats, forecast, update-info, weather και bus-carriers δείχνουν τώρα το παράδειγμα id_13 και στις 25 γλώσσες.

2026-08-08 Νέο Ο σχεδιασμός V2 της πύλης είναι πλέον ο προεπιλεγμένος

Το ανασχεδιασμένο περιβάλλον της πύλης (πάνω μπάρα, πλαϊνή μπάρα με εικονίδια, πίνακας KPI, διατάξεις με κάρτες) είναι πλέον η προεπιλογή για όλους τους συνδεδεμένους λογαριασμούς προγραμματιστών — νωρίτερα από την προγραμματισμένη κυκλοφορία στις 10 Αυγούστου. Χρησιμοποιήστε ?v=1 για να επιστρέψετε στην κλασική διάταξη οποιαδήποτε στιγμή.

2026-08-08 Βελτίωση Η πύλη προγραμματιστών είναι πλέον χωρίς διαφημίσεις

Όλες οι σελίδες της πύλης προγραμματιστών — αρχική, τεκμηρίωση, πίνακας ελέγχου, AI Studio, δοκιμαστικό περιβάλλον, αιτήματα υποστήριξης, αιτήσεις, εξαγωγή, στόλος, ειδήσεις, ιστορικό αλλαγών και σελίδες λογαριασμού — δεν φορτώνουν πλέον κανένα διαφημιστικό script ή διαφημιστική θέση. Αυτό ισχύει σε ολόκληρη την πύλη, όχι μόνο στη σύνδεση και την εγγραφή όπως πριν.

2026-08-05 Νέο Νέο προϊόν: API σχεδιασμού διαδρομής (v2)

Σχεδιάστε ολόκληρο το ταξίδι με συνοριακή διέλευση σε μία κλήση: το /api/v2/data/route-plan επιστρέφει τη διαδρομή, τα σημεία διέλευσης που βρίσκονται πραγματικά πάνω της με ζωντανή ουρά ή πρόβλεψη για την ώρα άφιξής σας, και τις στάσεις που κάνει πραγματικά ο οδηγός — ξεκούραση, φαγητό, ανεφοδιασμός — σε ένα ενιαίο χρονοδιάγραμμα.

Τα σύνορα είναι μέρος αυτού του χρονοδιαγράμματος. Μια μεγάλη ουρά μετράει ως το διάλειμμα που ούτως ή άλλως οφειλόταν και μηδενίζει τον χρόνο οδήγησης, οπότε τρεις ώρες αναμονής δεν παρουσιάζονται ποτέ ως τρεις ώρες συν ένα πλήρες σύνολο διαλειμμάτων που δεν έκανε κανείς. Τα επιβατικά ακολουθούν μοντέλο ασφαλούς οδήγησης· τα λεωφορεία και τα φορτηγά λαμβάνουν την υποχρεωτική ανάπαυση ΕΕ 561/2006, ενώ ο χρόνος εξυπηρέτησης των λεωφορείων είναι βαθμονομημένος σε πάνω από 1000 αδειοδοτημένα διεθνή δρομολόγια. Προσθέστε stop_places=1 για να πάρει κάθε στάση πραγματικό χώρο ανάπαυσης ή πρατήριο, και via=lat,lon για να περάσετε από άλλο σημείο διέλευσης.

2026-08-05 Νέο Παρουσίαση για συνεργάτες — ζωντανά δεδομένα, προσαρμοσμένα στην αγορά σας

Νέο στο μενού της πύλης: Παρουσίαση — μια ζωντανή, πάντα επίκαιρη παρουσίαση της πλατφόρμας δεδομένων nakordoni, προσαρμοσμένη στην αγορά σας (ασφάλειες, ταξίδια, εφοδιαστική, μεταφορείς, μέσα ενημέρωσης, πλοήγηση, καύσιμα, fintech, δημόσιος τομέας ή προσωπικά έργα). Δείχνει πραγματικούς όγκους της πλατφόρμας 30 ημερών, τη δική σας χρήση του API, στατιστικά χρόνου απόκρισης και ορίων, καθώς και πρόταση πακέτου όταν οι κλήσεις σας φτάνουν τα όρια της δωρεάν βαθμίδας. Επιλέξτε ή επιβεβαιώστε την αγορά (ή τις αγορές) σας στη σελίδα, στο προφίλ σας — ή κατά την εγγραφή. Ανοίγει αυτόματα στην πρώτη σας επίσκεψη· το αυτόματο άνοιγμα απενεργοποιείται από την ίδια τη σελίδα.

2026-08-01 Διόρθωση AI Studio: οι ροές χωρίς το απαραίτητο πλαίσιο παραλείπονται, δεν χρεώνονται

Αν ένας βοηθός έχει ενεργοποιημένη μια ροή αλλά η κλήση δεν μεταφέρει το πλαίσιο που χρειάζεται αυτή η ροή — για παράδειγμα queue χωρίς ppid— η ροή παραλείπεται πλέον πριν από οποιοδήποτε αίτημα και δεν χρεώνεται. Προηγουμένως καλούνταν έτσι κι αλλιώς, αποτύγχανε και κόστιζε παρ' όλα αυτά μία μονάδα. Το στούντιο δείχνει τι χρειάζεται κάθε ροή, υπολογίζει ξανά την τιμή καθώς συμπληρώνετε το πλαίσιο και σημειώνει τα αποτελέσματα ✓ εκτελέστηκε / ⊘ παραλείφθηκε, χωρίς χρέωση / ✕ απέτυχε· το API επιστρέφει data.feeds_skipped , που σας λέει ακριβώς ποια παράμετρο να περάσετε.

Οι απαντήσεις δεν αναφέρουν πλέον ροές, πηγές δεδομένων ή οτιδήποτε τεχνικό: μια ροή που λείπει είναι το πολύ μία απλή πρόταση προς τον τελικό χρήστη, ποτέ ένα εσωτερικό όνομα. Οι ροές με μόνο προαιρετικά φίλτρα (όπως το fuel περιορισμένο σε χώρα για την οποία δεν έχουμε δεδομένα) επιστρέφουν πλέον στο ευρύ σύνολο δεδομένων αντί να μην επιστρέφουν τίποτα.

2026-08-01 Νέο AI Studio: φτιάξτε τον δικό σας βοηθό πάνω στο περιεχόμενό σας + τα ζωντανά δεδομένα μας

Νέο: /{lang}/developers/studio. Φτιάξτε έναν βοηθό AI που απαντά από το δικό σας περιεχόμενο και τα δικά μας ζωντανά συνοριακά δεδομένα. Δώστε μας το markdown σας ή απλώς αναφέρετε τις σελίδες και τις κατεβάζουμε και τις ευρετηριάζουμε εμείς — εσείς συντηρείτε μόνο τα δικά σας αρχεία. Επιλέξτε ποιες ροές μας μπορεί να χρησιμοποιεί (ουρά, πρόγνωση, εναλλακτικές, ημερήσια στατιστικά, καύσιμα, απαγορεύσεις φορτηγών, εμπορικές Κυριακές, αργίες, κατάσταση δρόμων, μεταφορείς λεωφορείων, POI, νόμισμα), επιλέξτε βαθμίδα μοντέλου (γρήγορο / ισορροπημένο / pro — αυτή καθορίζει την τιμή), γράψτε τις δικές σας οδηγίες με σύμβολα κράτησης θέσης {{feed.slug}} που δηλώνουν ακριβώς πού καταλήγουν τα δεδομένα μας στην απάντηση, και προσθέστε μια δική σας καταληκτική πρόταση που προσαρτάται σε κάθε απάντηση. Έτοιμα πρότυπα: προσωπικός ταξιδιωτικός βοηθός, βοηθός εργασίας/εμπορευμάτων, βοηθός πωλήσεων ασφάλισης και Πράσινης Κάρτας.

Δοκιμάστε τον στο στούντιο (30 απαντήσεις/ημέρα, ξεχωριστά από το όριο του API σας) και μετά καλέστε τον στην παραγωγή στο GET /api/v2/data/assistant-custom?assistant_id=N&q=…. Τιμή ανά απάντηση = μονάδες της βαθμίδας μοντέλου + 1 μονάδα ανά ενεργοποιημένη ροή, που επιστρέφεται στο X-Devapi-Units. Το προϊόν είναι μόνο για v2 — μια διεύθυνση v1 επιστρέφει unsupported_version. Το υπάρχον προϊόν assistant παραμένει αμετάβλητο.

Κάθε βοηθός λειτουργεί υπό μια πολιτική περιεχομένου της πλατφόρμας που υπερισχύει των οδηγιών σας: καμία πλαστοπροσωπία αξιωματούχων, καμία βοήθεια για παράκαμψη συνοριακού ή τελωνειακού ελέγχου, κανένας επινοημένος αριθμός, καμία χυδαιολογία. Ελέγχονται τόσο οι οδηγίες όσο και οι απαντήσεις· οι αποκλεισμένες κλήσεις καταγράφονται.

2026-07-26 Νέο Διακομιστής MCP (Streamable HTTP)

Νέο: ένας πραγματικός διακομιστής MCP στη διεύθυνση https://nakordoni.eu/mcp, που εκθέτει ένα ασφαλές, μόνο για ανάγνωση υποσύνολο του API (status, checkpoints, border queue, live queue, forecast) ως εργαλεία MCP. Το ίδιο κλειδί API και η ίδια ποσόστωση με το REST API. Κάρτα διακομιστή στη διεύθυνση /.well-known/mcp/server-card.json. Δείτε την ενότητα Διακομιστής MCP στην τεκμηρίωση.

2026-07-21 Διόρθωση Η σελίδα τεκμηρίωσης έλεγε ακόμη «Data Freshness API» μετά τη μετονομασία — διορθώθηκε και στις 25 γλώσσες

Η μετονομασία σε «Live Queue & Freshness API» που περιγράφεται παρακάτω δεν έφτασε στην πραγματικότητα στη σελίδα τεκμηρίωσης . Η σελίδα εμφανίζει τον τίτλο κάθε προϊόντος μέσω αναζήτησης μετάφρασης, η οποία καταφεύγει στον τίτλο του endpoint μόνο όταν δεν υπάρχει μετάφραση — και μετάφραση υπήρχε ήδη, παγωμένη στο παλιό όνομα, και στις 25 γλώσσες της διεπαφής. Πλέον υπερισχύει κάθε μελλοντικής ενημέρωσης του υποκείμενου τίτλου, μέχρι να ενημερωθεί και η ίδια.

Το κλειδί μετάφρασης μετονομάστηκε και στις 25 γλώσσες, ώστε η σελίδα τεκμηρίωσης να ταιριάζει. Καμία αλλαγή σε endpoint, παραμέτρους ή απόκριση — μόνο στο κείμενο του τίτλου.

2026-07-21 Νέο Το Data Freshness API είναι και το endpoint σας για ζωντανή ουρά με το τυπικό όριο

Αν ρωτάτε συχνά για δεδομένα ζωντανής ουράς, ίσως ξοδεύετε βαρύ όριο χωρίς λόγο. Το /update-info είναι τυπικής κατηγορίας και επιστρέφει ήδη τη ζωντανή τιμή:

GET /api/v1/data/update-info?ppid=id_13

Επιστρέφει queue_now, freshness, age_minutes, is_realtime, status, timestamp και timezone. Χρησιμοποιήστε το για τη συχνή ανανέωση σε βάρος του τυπικού ημερήσιου ορίου σας και κρατήστε τα /queue, /multi και /forecast (όλα βαριάς κατηγορίας) για όταν χρειάζεστε wait_min, τα πεδία τάσης ή το ιστορικό.

Στο ίδιο το endpoint δεν άλλαξε τίποτα — μόνο στην τεκμηρίωσή του. Αναγραφόταν ως «Data Freshness API» και η περιγραφή του ανέφερε μόνο τη βαθμολογία φρεσκάδας, ποτέ το queue_now, οπότε ήταν εύκολο να περάσει απαρατήρητο. Τώρα ονομάζεται «Live Queue & Freshness API» με αναλυτικά τα πεδία που επιστρέφει. Ευχαριστούμε τον προγραμματιστή που το επισήμανε.

2026-07-20 Διόρθωση Οι αποτυχημένες κλήσεις επιστρέφουν πλέον σωστά ok:false

Ορισμένα αποτυχημένα αιτήματα επέστρεφαν HTTP 200 με ok: true και το σφάλμα θαμμένο μέσα στο data — έτσι το τεκμηριωμένο μοτίβο if (!ok) throw δεν μπορούσε να τα εντοπίσει και η κλήση χρεωνόταν παρ' όλα αυτά. Οι κλήσεις αυτές επιστρέφουν πλέον HTTP 400 με ok: false και σωστό error.code / error.message, όπως τεκμηριώνεται. Παρατηρήθηκε στο fuel-cities με μη υποστηριζόμενη χώρα και στο travel-matrix με λανθασμένες συντεταγμένες.

Ξεχωριστά: μια παράμετρος που έλειπε ενώ ήταν υποχρεωτική επέστρεφε 500 internal_error αντί για 400 bad_request (το σώμα μιας απόκρισης 4xx της εσωτερικής υπηρεσίας απορριπτόταν πριν διαβαστεί η κατάστασή της). Τώρα επιστρέφει 400 bad_request με το μήνυμα της εσωτερικής υπηρεσίας — π.χ. search χωρίς ?name=.

Οι επιτυχείς αποκρίσεις είναι αμετάβλητες, byte προς byte — ίδια πεδία, ίδιες παράμετροι, ίδιο κόστος ορίου. Αν ο πελάτης σας διακλαδώνεται ήδη με βάση το ok, δεν χρειάζεται καμία αλλαγή. Αν αγνοούσε το ok και διάβαζε απευθείας το data , θα δει τώρα φακέλους σφάλματος σε κλήσεις που ούτως ή άλλως αποτύγχαναν πάντα.

2026-07-20 Διόρθωση Multi-Checkpoint API: ακριβή δεδομένα ουράς όταν η cache είναι κρύα

Διορθώθηκε σφάλμα όπου το /multi μπορούσε να επιστρέψει λανθασμένο αριθμό ουράς για ορισμένα σημεία διέλευσης — κυρίως στα Βαλκάνια και στα σύνορα Ουγγαρίας–Σερβίας — κάθε φορά που η cache του ήταν κρύα. Η εφεδρική διαδρομή διάβαζε έναν πίνακα που, για αυτά τα σημεία, δεν περιέχει δεδομένα ουράς, και ανέφερε άσχετες τιμές ως αριθμό αυτοκινήτων. Μετρημένα παραδείγματα: σημείο με 12 αυτοκίνητα ανέφερε 6, ενώ αρκετά με πραγματικές ουρές ανέφεραν 0.

Τρεις αλλαγές που ίσως προσέξετε:

  • found: false σημαίνει πλέον ότι πράγματι δεν υπάρχουν πρόσφατα δεδομένα ουράς. Προηγουμένως μπορούσατε να λάβετε found: true με πλασματικό queue_now: 0.
  • wait_status, trend_percent και trend_direction επιστρέφονται πλέον και σε κρύα αιτήματα — προηγουμένως ήταν null .
  • Το endpoint καταφεύγει στην εφεδρική διαδρομή και όταν το αποθηκευμένο στιγμιότυπό του είναι παλιό (πάνω από 24 ώρες), όχι μόνο όταν λείπει.

Καμία αλλαγή στις παραμέτρους αιτήματος, στο κόστος ορίου ή στη δομή της απόκρισης.

2026-07-20 Διόρθωση Multi-Checkpoint API: διορθώθηκε η διπλή χρέωση ορίου

Διορθώθηκε ένα σφάλμα λόγω του οποίου κάθε κλήση /multi χρεωνόταν δύο φορές — μία με έναν γενικό έλεγχο 1 μονάδας και ξανά με τον δικό της τύπο μεταβλητού κόστους του endpoint (N PPID × υπο-προϊόντα). Μια κλήση κοστίζει πλέον ακριβώς ⌈(N×M)/2⌉ μονάδες όπως τεκμηριώνεται, χωρίς επιπλέον χρέωση.

Επίσης προστέθηκε ένα σήμα κλάσης ορίου (Standard/Heavy) σε κάθε προϊόν στη σελίδα τεκμηρίωσης, ώστε να φαίνεται με μια ματιά ποιο ημερήσιο όριο χρησιμοποιεί ένα endpoint.

2026-07-15 Νέο Holiday Calendar: συγχώνευση country/countries, compare_to, πολυγλωσσικό

Οι παράμετροι country και countries συγχωνεύτηκαν σε μία (1-15 κωδικοί χωρισμένοι με κόμμα). Νέα παράμετρος compare_to: σύγκριση ίδιων vs. διαφορετικών αργιών μεταξύ χωρών, συνδυάζεται με upcoming+days. Η lang δέχεται πλέον πολλές γλώσσες (προσθέτει ένα αντικείμενο names). Το days=0 ή η παράλειψή του σημαίνει πλέον χωρίς όριο στη λειτουργία upcoming.

2026-07-15 Νέο Νέο προϊόν: Holiday Calendar API

Επίσημες αργίες ανά ευρωπαϊκή χώρα — ημερομηνίες, τοπικές ονομασίες και τύπος. Στηρίζεται στην ίδια υπηρεσία Nager.Date / OpenHolidaysAPI (με τοπικά υπολογισμένο ημερολόγιο για το Κοσσυφοπέδιο) που τροφοδοτεί τη σελίδα ημερολογίου αργιών του nakordoni.eu και τους ημερολογιακούς παράγοντες του συστήματος πρόβλεψης.

  • ?country=PL&year=2026 — πλήρης ετήσια λίστα αργιών για μία χώρα
  • ?upcoming=1&days=30 — απλή λίστα των επερχόμενων αργιών σε πολλές χώρες
  • Χωρίς παραμέτρους — ευρετήριο ενός βασικού συνόλου χωρών με την επόμενη αργία για την καθεμία
2026-07-13 Νέο Νέο προϊόν: Currency Exchange Rates API

Προστέθηκε το προϊόν currency — ισοτιμίες με βάση το EUR για PLN, CZK, HUF, USD, GBP, CHF, NOK και UAH, από την πηγή Frankfurter (ΕΚΤ) και αποθηκευμένες στην cache για 6 ώρες. Χωρίς παραμέτρους, επιστρέφει πάντα τον πλήρη πίνακα ισοτιμιών. Δείτε την τεκμηρίωση.

2026-07-12 Νέο Δωρεάν ενσωματώσιμο widget απαγορεύσεων φορτηγών

Ενσωματώστε τις ζωντανές ευρωπαϊκές απαγορεύσεις κυκλοφορίας φορτηγών στον δικό σας ιστότοπο — ένα δωρεάν widget iframe με 3 σχέδια (light, dark, board), 5 γλώσσες (en, uk, pl, de, ru), προαιρετικό φίλτρο ανά χώρα και ζωντανή κατάσταση «ενεργό τώρα». Δεν απαιτείται κλειδί API. Ρυθμίστε και αντιγράψτε τον κώδικα στο nakordoni.eu/en/for_truck_drivers/traffic_bans/widget. Προτιμάτε ακατέργαστα δεδομένα; Το προϊόν API truck-bans και η δημόσια ροή JSON παραμένουν διαθέσιμα.

2026-07-11 Νέο API v2 (έκδοση ανά endpoint), κατευθυντικό border και διαδραστικό Sandbox

Τρεις προσθήκες, όλες συμβατές προς τα πίσω — το v1 παραμένει αμετάβλητο.

Έκδοση ανά endpoint. Υπάρχει πλέον ένα βασικό URL /api/v2/. Λειτουργεί ανά endpoint: μόνο τα endpoint που πραγματικά άλλαξαν συμπεριφέρονται διαφορετικά υπό το v2· κάθε άλλο endpoint σερβίρει διαφανώς την απόκριση v1 (έτσι το /api/v2/data/queue = τα ίδια δεδομένα με το v1, απλώς με "api_version":"v2"). Δεν χρειάζεται να μεταφέρετε endpoint που λειτουργούν.

Το border v2 είναι κατευθυντικό. Η σειρά στη διαδρομή είναι η κατεύθυνση μετακίνησης:

GET /api/v2/data/border/1/2/6   → buses UA→PL (Ukrainian-side crossings)
GET /api/v2/data/border/2/1/6   → buses PL→UA (Polish-side crossings)

Κάθε checkpoint αποκτά επίσης ένα αντικείμενο direction {from,to} και ένα boolean stale, ενώ το ?max_age_min=N επιστρέφει μόνο τα πρόσφατα ενημερωμένα σημεία διέλευσης. (Το v1 border εξακολουθεί να επιστρέφει και τις δύο πλευρές των συνόρων ανεξαρτήτως σειράς — αμετάβλητο.)

Διαδραστικό Sandbox. Οι συνδεδεμένοι προγραμματιστές μπορούν πλέον να δοκιμάσουν οποιοδήποτε endpoint από το πρόγραμμα περιήγησης στο Developers → Sandbox — επιλέξτε ένα endpoint, μια έκδοση και ένα από τα κλειδιά σας, προσαρμόστε τις παραμέτρους και δείτε τη ζωντανή απόκριση. Η δοκιμή στο Sandbox έχει τον δικό της ξεχωριστό ημερήσιο προϋπολογισμό (50 κλήσεις/ημέρα) και δεν αγγίζει ποτέ το ζωντανό όριο API σας.

Η τεκμηρίωση είναι πλέον χωρισμένη ανά endpoint (Developers → API Docs), με επιλογέα έκδοσης στα endpoint που έχουν περισσότερες από μία εκδόσεις.

2026-07-10 Βελτίωση queue-advanced: δύο νέοι παράγοντες προσαρμογής

Δύο νέοι παράγοντες ενσωματωμένοι στον τύπο του χρόνου αναμονής, δίπλα στις υπάρχουσες προσαρμογές section_mode και καιρού:

  • service_rate — μετρημένα αυτοκίνητα/λεπτό που διεκπεραιώνονται αυτή τη στιγμή σε σχέση με τον διαμορφωμένο βασικό ρυθμό του checkpoint. Πολλαπλασιαστικός, περιορισμένος σε 0.5x-1.5x.
  • shift_change — η επίδραση της τοπικής αλλαγής βάρδιας των συνοριοφυλάκων στις 08:00/20:00 του checkpoint. Προσθετικός (λεπτά), όχι πολλαπλασιαστικός — εφαρμόζεται μόνο εντός +/-60 λεπτών από μια αλλαγή βάρδιας, απαιτεί ελάχιστο ιστορικό δειγμάτων, περιορισμένος σε +/-120 λεπτά.

Το advanced_wait_min είναι πλέον round(base_wait × section_mode × weather × service_rate) + shift_change.adjustment_min. Και οι δύο παράγοντες αποτυπώνονται επίσης στο driver_reported.prognosed_advanced_wait_min για ιστορικές συγκρίσεις.

2026-07-09 Ασύμβατη αλλαγή Αφαιρέθηκαν αρκετά αποκλειστικά εσωτερικά πεδία από τα queue, border, multi, update-info

Στο πλαίσιο μιας επισκόπησης ασφάλειας/απορρήτου, τα ακόλουθα πεδία αφαιρέθηκαν — εξέθεταν εσωτερικές λεπτομέρειες υλοποίησης (την ταξινομία των ανάντη πηγών δεδομένων μας, αναγνωριστικά γραμμών βάσης δεδομένων, εσωτερικές σημειώσεις pipeline, αχρησιμοποίητα/νεκρά πεδία) χωρίς πραγματική αξία για το προϊόν:

  • id και corrected — αφαιρέθηκαν από τα αντικείμενα γραμμών του queue
  • source (ακατέργαστο string, π.χ. "line") — αφαιρέθηκε από τα queue, multi και update-info. Το update-info και το μπλοκ update_info του multi εξακολουθούν να φέρουν source_category/source_label_en (ένα μικρό δημόσιο λεξιλόγιο)· το μπλοκ queue του queue και του multi δεν φέρει πλέον κανένα πεδίο source
  • traffic_status — αφαιρέθηκε από το border· ήταν πάντα null και δεν συμπληρώθηκε ποτέ από κανένα μέρος του συστήματος

Εάν η ενσωμάτωσή σας διαβάζει οποιοδήποτε από αυτά τα πεδία, ενημερώστε την — δείτε την τρέχουσα λίστα πεδίων στη σελίδα τεκμηρίωσης του σχετικού προϊόντος.

2026-07-09 Ασύμβατη αλλαγή Το usage.used μπορεί πλέον να είναι κλασματικός αριθμός

Η ημερήσια χρήση ορίου (usage.used σε κάθε απόκριση) μπορεί πλέον να είναι δεκαδική τιμή (π.χ. 67.5) αντί για πάντα ακέραιος. Αυτό είναι παρενέργεια του ότι το queue-advanced χρεώνεται με κλασματικό ρυθμό — δείτε παρακάτω. Το usage.limit δεν επηρεάζεται και είναι πάντα ακέραιος. Εάν ο client σας ορίζει αυστηρά το usage.used ως ακέραιο, διευρύνετε τον τύπο ώστε να δέχεται δεκαδικό/float.

2026-07-09 Νέο Τα wait_status και trend_percent/trend_direction προστέθηκαν στα border, multi και queue-advanced

Αυτά τα τρία προϊόντα επιστρέφουν πλέον τα ίδια πεδία ζωντανής κατάστασης που εμφανίζει ο ιστότοπος: wait_status (green/yellow/red, με βάση το πρόσφατο ιστορικό αυτού του checkpoint) και trend_percent/trend_direction (up/up-slight/down/down-slight/stable, συγκρίνοντας τις τελευταίες 3 ώρες). Καθαρά προσθετικό.

2026-07-09 Βελτίωση queue: το wait_time συμπληρώνεται πλέον σε κάθε ιστορική γραμμή

Οι γραμμές data[] του /api/v1/data/queue είχαν προηγουμένως wait_time: null για τις περισσότερες πηγές — μόνο λίγες ανάντη ροές αναφέρουν απευθείας χρόνο αναμονής. Οι γραμμές χωρίς τιμή λαμβάνουν πλέον την τυπική εκτίμηση , επισημασμένη με ένα νέο boolean wait_time_estimated, ώστε να διακρίνετε μια πραγματικά αναφερόμενη τιμή από μια υπολογισμένη.

2026-07-09 Ασύμβατη αλλαγή queue-advanced: χρέωση 1.5x, περιορισμένη απόκριση

Το queue-advanced κοστίζει πλέον 1.5 units ανά κλήση αντί για 1 (αντικατοπτρίζοντας τις επιπλέον αναζητήσεις κυκλοφορίας/καιρού/αναφορών οδηγών που εκτελεί) — δείτε το usage.used παραπάνω. Η απόκριση επίσης δεν περιλαμβάνει πλέον τα total_crossing_time, και το driver_reported είναι πλέον απλώς {wait_min, ts, age_min} — τα προηγούμενα πεδία σύγκρισης πρόβλεψης-πραγματικότητας (prognosed_wait_min, diff_min, historical_section_mode, historical_weather κ.λπ.) αφαιρέθηκαν. Τα section_mode, weather, advanced_wait_min και exceeds_crossing_time παραμένουν αμετάβλητα.

2026-07-09 Βελτίωση Truck Bans API: ζωντανή κατάσταση ανά χώρα (active_window / next_window)

Το /api/v1/data/truck-bans επιστρέφει πλέον, για κάθε χώρα στο bans_by_country, ένα status (active/clear) καθώς και active_window, next_window, local_time και tz — υπολογισμένα στη ζώνη ώρας της εκάστοτε χώρας, ώστε να μη χρειάζεται πλέον να αξιολογείτε μόνοι σας τα ακατέργαστα παράθυρα απαγόρευσης σε σχέση με ένα ρολόι. Η απόκριση προσθέτει επίσης μια λίστα covered_countries ανώτατου επιπέδου και μια χρονοσφραγίδα as_of σε UTC.

GET /api/v1/data/truck-bans?country=PL

Καθαρά προσθετικό — τα υπάρχοντα πεδία current_bans/upcoming_bans/bans_by_country παραμένουν αμετάβλητα. Ένα άγνωστο ?country= επιστρέφει πλέον ένα κενό αποτέλεσμα με countries_not_covered αντί για τις απαγορεύσεις κάθε χώρας.

2026-07-08 Νέο Νέο προϊόν: Advanced Wait Time API (queue-advanced)

Ένα νέο προαιρετικό προϊόν που προσαρμόζει τον τυπικό χρόνο αναμονής στη ζωντανή ροή κυκλοφορίας και στον καιρό. Επιστρέφει την πλήρη ανάλυση κάθε προσαρμογής.

GET /api/v1/data/queue-advanced?ppid=id_13

Παρέχεται κατόπιν αιτήματος — ανοίξτε ένα Data ticket από τον πίνακά σας για να το ενεργοποιήσετε.

2026-07-08 Βελτίωση Border Queue API: το wait_min συμπληρώνεται πλέον για κάθε checkpoint

Το /api/v1/data/border υπολογίζει πλέον σωστά το wait_min για κάθε checkpoint στην απόκριση, όπως τα προϊόντα queue και multi. Προηγουμένως αυτό το πεδίο ήταν πάντα null.

2026-07-08 Βελτίωση Forecast API: πιο συνεπές μοντέλο + λειτουργικό σήμα καιρού

Το /api/v1/data/forecast χρησιμοποιεί πλέον αξιόπιστα το μοντέλο ensemble v4 για οποιαδήποτε τιμή prediction_steps (προηγουμένως ορισμένοι μη τυπικοί ορίζοντες μπορούσαν σιωπηλά να επιστρέψουν σε παλαιότερο μοντέλο). Ο παράγοντας καιρού που τροφοδοτεί το ensemble διορθώθηκε επίσης και αντικατοπτρίζει πλέον πραγματικά τις ζωντανές συνθήκες (βροχή, χιόνι, άνεμος, ομίχλη) αντί να αναφέρει πάντα μη διαθέσιμο.

2026-07-02 Νέο Εξαγωγή ιστορικών δεδομένων (beta)

Οι εγκεκριμένοι προγραμματιστές μπορούν πλέον να κατεβάσουν ωριαία μέσα ιστορικά δεδομένα ουρών συνόρων για έως 5 checkpoint (κυλιόμενο παράθυρο έως 90 ημερών) σε μορφή CSV ή NDJSON από τη νέα καρτέλα Data export. Διατίθενται μόνο δημοσιευμένα και ελεγμένα ως προς την ποιότητα δεδομένα· οι χρονοσφραγίδες είναι σε UTC. Χρειάζεστε πρόσβαση; Ανοίξτε ένα Data ticket.

2026-07-01 Βελτίωση Εγγραφείτε χωρίς ζωντανή σελίδα — περιγράψτε αντ' αυτού την ιδέα σας

Δεν έχετε ακόμη ιστότοπο; Μπορείτε πλέον να δημιουργήσετε λογαριασμό προγραμματιστή περιγράφοντας πού και πώς σκοπεύετε να χρησιμοποιήσετε τα δεδομένα μας, αντί να υποχρεώνεστε να εισαγάγετε το URL μιας ζωντανής σελίδας. Προσθέστε το πραγματικό URL αργότερα από τον πίνακά σας (Account & data → Το έργο σας), μόλις ο ιστότοπος ή η εφαρμογή σας τεθεί σε λειτουργία — ένας ορατός σύνδεσμος προς το nakordoni.eu σε αυτήν τη σελίδα απαιτείται από τους Όρους μας.

2026-06-22 Νέο Υποβάλετε συνοριακές ειδήσεις για ένα dofollow backlink

Οι προγραμματιστές μπορούν πλέον να υποβάλλουν τις δικές τους συνοριακές ειδήσεις στη ροή ειδήσεων του Nakordoni. Εάν οι συντάκτες μας τις δημοσιεύσουν, λαμβάνετε ένα ευρετηριάσιμο dofollow backlink προς την υπηρεσία σας (υπογραφή εκδότη + γραμμή πηγής) και μεταφράζουμε το άρθρο και στις 24 γλώσσες δωρεάν.

Ένα άρθρο την εβδομάδα είναι δωρεάν· τα επιπλέον άρθρα αποτελούν πληρωμένη προσθήκη. Επιλέξτε 'ενδέχεται να επεξεργαστούμε ελαφρώς + να προσθέσουμε εσωτερικούς συνδέσμους' ή 'δημοσίευση ως έχει'. Υποβάλετε και παρακολουθήστε την κατάσταση ελέγχου στο Developers → Submit news.

2026-06-14 Βελτίωση Multi-Checkpoint API: έκπτωση 50% στο όριο

Το Multi-Checkpoint API (/api/v1/data/multi) χρεώνει πλέον το όριο ως ⌈(N PPIDs × sub-products) / 2⌉ — το μισό κόστος των αντίστοιχων μεμονωμένων κλήσεων. Ένα αίτημα για 10 checkpoint με αμφότερα τα sub-products κοστίζει πλέον 10 units αντί για 20. Η κεφαλίδα X-Devapi-Units και το meta.units_consumed στην απόκριση αντικατοπτρίζουν το μειωμένο ποσό.

2026-06-14 Νέο Νέο προϊόν: Multi-Checkpoint API (multi)

Ανακτήστε τη ζωντανή κατάσταση ουράς και τη φρεσκάδα δεδομένων για έως 20 checkpoint σε μία μόνο κλήση API — σχεδιασμένο για κατασκευαστές dashboard που αυτή τη στιγμή κάνουν polling πολλά PPID σε βρόχο.

Το όριο μετράται δίκαια ως N PPIDs × sub-products που ζητούνται, επομένως η συνολική χρήση είναι ταυτόσημη με τις μεμονωμένες κλήσεις — αλλά με μία μετάβαση μετ' επιστροφής αντί για πολλές. Τα μοτίβα τύπου GreenTravel μειώνονται από 24+ κλήσεις/ώρα σε 2.

GET /api/v1/data/multi?ppids=id_2,id_13,id_15,id_59&include=queue,update-info&lang=en
  • include=queue — τρέχον queue_now, εκτιμώμενο wait_min, ηλικία δεδομένων και όνομα checkpoint
  • include=update-info — φρεσκάδα δεδομένων, ταξινόμηση πηγής, ηλικία σε δευτερόλεπτα/λεπτά
  • Έως 20 PPID ανά αίτημα· συνδυάστε αμφότερα τα sub-products σε μία κλήση για πλήρη δεδομένα dashboard
  • Η απόκριση περιλαμβάνει το meta.units_consumed, ώστε να παρακολουθείτε με ακρίβεια τη χρήση του ορίου
2026-06-12 Νέο Queue API: μπλοκ snapshot με προβλεπόμενο χρόνο αναμονής

Η απόκριση του προϊόντος queue περιλαμβάνει πλέον ένα αντικείμενο snapshot ανώτατου επιπέδου με τα πιο πρόσφατα δεδομένα σε πραγματικό χρόνο και έναν υπολογισμένο προβλεπόμενο χρόνο αναμονής — τον ίδιο τύπο που χρησιμοποιείται στην ενότητα hero του nakordoni.eu:

snapshot.queue_now  — current cars in queue
snapshot.wait_min   — (minutes)
snapshot.updated_at — when the queue data was recorded
snapshot.age_min    — minutes since last update
snapshot.source     — data source identifier

Ο πίνακας data (ιστορικές καταχωρίσεις) παραμένει αμετάβλητος — πρόκειται για καθαρά προσθετική προσθήκη. Οι clients που δεν διαβάζουν το snapshot δεν επηρεάζονται.

2026-06-12 Νέο Νέο προϊόν: Border Queue API (border)

Υποβάλετε ερώτημα για όλα τα checkpoint σε ένα δεδομένο σύνορο + τύπο οχήματος σε μία κλήση, αντί να κάνετε ένα αίτημα ανά PPID.

GET /api/v1/data/border/{origin}/{destination}/{crossing_type}

  • Υποστηρίζει μία χώρα προορισμού, μια λίστα χωρισμένη με κόμμα ή all για επέκταση σε κάθε παρακολουθούμενο γείτονα ταυτόχρονα.
  • Τα αποτελέσματα ταξινομούνται κατά queue_now αύξουσα (η μικρότερη ουρά πρώτη).
  • Πλήρως τοπικοποιημένο: προσθέστε ?lang=uk (ή οποιαδήποτε από τις 22 υποστηριζόμενες γλώσσες) για να λάβετε τα ονόματα των checkpoint σε αυτήν τη γλώσσα.
2026-06-12 Νέο Νέο προϊόν: Checkpoint Search API (search)

Ανακαλύψτε τις τιμές PPID των checkpoint κατά όνομα, χωρίς να περιηγηθείτε στον πλήρη κατάλογο.

GET /api/v1/data/search?name=Krakovets,Shehyni&lang=en

  • Δέχεται ένα μόνο όνομα ή μια λίστα χωρισμένη με κόμμα (έως 20).
  • Αναζητά και στις 24 γλώσσες μετάφρασης — δώστε ένα όνομα στα ουκρανικά, πολωνικά, γερμανικά ή σε οποιαδήποτε υποστηριζόμενη γλώσσα και θα το εντοπίσει.
  • Επιστρέφει όλα τα PPID σε αυτήν την τοποθεσία ομαδοποιημένα κατά τύπο οχήματος (αυτοκίνητο / λεωφορείο / πεζός / φορτηγό).
2026-06-12 Βελτίωση Alternatives API: πλήρης υποστήριξη i18n + παράκαμψη crossing_type

Το προϊόν alternatives δέχεται πλέον ?lang= και στις 22 υποστηριζόμενες γλώσσες (προηγουμένως μόνο 12).

Η νέα παράμετρος crossing_type σάς επιτρέπει να παρακάμψετε το φίλτρο τύπου οχήματος — π.χ. δώστε crossing_type=4 για να λάβετε εναλλακτικές για αυτοκίνητα ακόμη και όταν υποβάλλετε ερώτημα από PPID λεωφορείου.

2026-06-12 Βελτίωση Checkpoints + Border + Search: τοπικοποιημένες ετικέτες crossing-type και ονόματα χωρών

Το πεδίο crossing_type_label στις αποκρίσεις των checkpoints, border και search μεταφράζεται πλέον στη ζητούμενη γλώσσα και στις 22 υποστηριζόμενες γλώσσες. Τα πεδία ονόματος χώρας (origin_name, destination_name) ακολουθούν την ίδια τοπική ρύθμιση.

2026-06-05 Νέο Κυκλοφόρησε η πύλη προγραμματιστών

Η πύλη Nakordoni Developer API είναι ενεργή στο /en/developers. Εγγραφείτε για ένα δωρεάν κλειδί Explorer (200 αιτήματα/ημέρα) για πρόσβαση σε δεδομένα ουρών συνόρων, προβλέψεις, τιμές καυσίμων, POI οδηγών και άλλα.

Διαθέσιμα προϊόντα κατά την κυκλοφορία: checkpoints, queue, stats, day-stats, forecast, alternatives, update_info, fuel, pois, truck_bans, trading_sundays, bus_carriers, road_conditions, assistant.

Αυτό το ιστορικό καλύπτει αλλαγές δημόσιου API. Εσωτερικές ενημερώσεις δεν περιλαμβάνονται.