Zoznam zmien API
Všetky dôležité zmeny API. Najnovšie záznamy hore. Zachovávame stabilitu v1 — žiadne prelomové zmeny bez novej verzie.
Novinka: skutočný MCP server na https://nakordoni.eu/mcp, ktorý sprístupňuje bezpečnú podmnožinu API len na čítanie (status, checkpoints, border queue, live queue, forecast) ako MCP nástroje. Rovnaký API kľúč a kvóta ako pri REST API. Karta servera na /.well-known/mcp/server-card.json. Pozrite si časť MCP server v dokumentácii.
The retitle to "Live Queue & Freshness API" below did not actually reach the docs page. The page renders each product title through a translation lookup that falls back to the endpoint's title only when no translation exists — and a translation already existed, frozen at the old name, in all 25 UI languages. It now wins over any future update to the underlying title until it is updated too.
Retitled the translation key in all 25 languages so the docs page matches. No endpoint, parameter or response change — title text only.
If you poll live queue data frequently, you may be spending heavy quota you do not need to. /update-info is standard-class and already returns the live figure:
GET /api/v1/data/update-info?ppid=id_13
It returns queue_now, freshness, age_minutes, is_realtime, status, timestamp and timezone. Use it for the frequent refresh against your standard daily quota, and keep /queue, /multi and /forecast (all heavy-class) for when you need wait_min, the trend fields or history.
Nothing changed in the endpoint itself — only its documentation. It was listed as the "Data Freshness API" and its description mentioned only the freshness rating, never queue_now, so it was easy to miss. It is now titled "Live Queue & Freshness API" with the returned fields spelled out. Thanks to the developer who raised this.
Some failed requests were returning HTTP 200 with ok: true and the error buried inside data — so the documented if (!ok) throw pattern could not detect them, and the call was still billed. Affected calls now return HTTP 400 with ok: false and a proper error.code / error.message, as documented. Seen on fuel-cities with an unsupported country and travel-matrix with malformed coordinates.
Separately, a missing required parameter returned 500 internal_error instead of 400 bad_request (an upstream 4xx body was being discarded before its status was read). It now returns 400 bad_request with the upstream message — e.g. search without ?name=.
Successful responses are byte-for-byte unchanged — same fields, same params, same quota cost. If your client already branches on ok, no change is needed. If it ignored ok and read data directly, it will now see error envelopes on calls that were always failing.
Fixed a bug where /multi could return a wrong queue count for some checkpoints — mainly Balkan and Hungary–Serbia crossings — whenever its cache was cold. The fallback read a table that, for those crossings, holds no queue data, and reported unrelated values as car counts. Measured examples: a checkpoint with 12 cars reported 6, and several with real queues reported 0.
Three changes you may notice:
found: falsenow means there is genuinely no recent queue data. Previously you could receivefound: truewith a fabricatedqueue_now: 0.wait_status,trend_percentandtrend_directionare now returned on cold requests — they werenullbefore.- The endpoint also falls back when its cached snapshot is stale (older than 24h), not only when it is missing.
No changes to request parameters, quota cost or response shape.
Opravili sme chybu, kvôli ktorej sa každé volanie /multi účtovalo dvakrát — raz všeobecnou kontrolou 1 jednotky a znova vlastným vzorcom premenlivých nákladov endpointu (N PPID × podprodukty). Volanie teraz stojí presne ⌈(N×M)/2⌉ jednotiek podľa dokumentácie, bez ďalšieho poplatku.
Na stránke dokumentácie sme tiež pridali odznak triedy kvóty (Standard/Heavy) pri každom produkte, aby bolo na prvý pohľad jasné, z ktorej dennej kvóty daný endpoint čerpá.
Parametre country a countries boli zlucene do jedneho parametra (1-15 kodov oddelenych ciarkami). Novy parameter compare_to: porovnanie rovnakych vs. odlisnych sviatkov medzi krajinami, kombinuje sa s upcoming+days. lang teraz prijima viacero jazykov (pridava objekt names). days=0 alebo vynechane teraz znamena bez obmedzenia v rezime upcoming.
Oficialne statne sviatky pre jednotlive europske krajiny — datumy, miestne nazvy a typ. Postavene na tej istej sluzbe Nager.Date / OpenHolidaysAPI (s lokalne vypocitanym kalendarom pre Kosovo), ktora pohana stranku kalendara sviatkov na nakordoni.eu a kalendarove faktory predikcneho systemu.
?country=PL&year=2026— celorocny zoznam sviatkov pre jednu krajinu?upcoming=1&days=30— plochy zoznam nadchadzajucich sviatkov napriec krajinami- Bez parametrov — index zakladnej mnoziny krajin s najblizsim sviatkom pre kazdu z nich
Pridany produkt currency — vymenne kurzy voci EUR pre PLN, CZK, HUF, USD, GBP, CHF, NOK a UAH, ziskane zo sluzby Frankfurter (ECB) a cachovane 6 hodin. Bez parametrov, vzdy vracia uplnu tabulku kurzov. Pozri dokumentaciu.
Vlozte zive europske zakazy jazdy kamionov na svoju vlastnu webovu stranku — bezplatny iframe widget s 3 dizajnmi (light, dark, board), 5 jazykmi (en, uk, pl, de, ru), volitelnym filtrom podla krajiny a zivym stavom «aktivne teraz». Nie je potrebny ziadny API kluc. Nastavte a skopirujte kod na nakordoni.eu/en/for_truck_drivers/traffic_bans/widget. Uprednostnujete surove data? Produkt API truck-bans a verejny JSON feed zostavaju k dispozicii.
border a interaktivny Sandbox
Tri novinky, vsetky spatne kompatibilne — v1 sa nemeni.
Verzovanie na urovni endpointu. Teraz existuje zakladna URL /api/v2/. Je to na urovni jednotlivych endpointov: iba endpointy, ktore sa naozaj zmenili, sa pod v2 spravaju inak; kazdy ostatny endpoint transparentne vracia svoju v1 odpoved (takze /api/v2/data/queue = rovnake data ako v1, len s "api_version":"v2"). Endpointy, ktore funguju, netreba migrovat.
border v2 je smerovy. Poradie v ceste urcuje smer cesty:
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)
Kazdy checkpoint tiez ziskava objekt direction {from,to} a boolean stale a ?max_age_min=N vracia iba nedavno aktualizovane priechody. (v1 border nadalej vracia obe strany hranice bez ohladu na poradie — nezmenene.)
Interaktivny Sandbox. Prihlaseni vyvojari mozu teraz vyskusat ktorykolvek endpoint priamo z prehliadaca na Developers → Sandbox — vyberte endpoint, verziu a jeden zo svojich klucov, upravte parametre a pozrite si zivu odpoved. Testovanie v Sandboxe ma vlastny samostatny denny rozpocet (50 volani/den) a nikdy sa nedotyka vasej zivej API kvoty.
Dokumentacia je teraz rozdelena podla endpointov (Developers → API Docs) s vyberom verzie pri endpointoch, ktore maju viac ako jednu verziu.
queue-advanced: dva nove korekcne faktory
Do vzorca casu cakania boli pridane dva nove faktory, popri existujucich upravach section_mode a pocasia:
service_rate— namerany pocet aut/min, ktore sa prave spracuvaju, oproti nakonfigurovanej zakladnej rychlosti priechodu. Multiplikativny, ohraniceny na 0.5x-1.5x.shift_change— vplyv miestnej vymeny sluzby pohranicnikov o 08:00/20:00 na danom priechode. Aditivny (v minutach), nie multiplikativny — aplikuje sa iba v rozmedzi +/-60 minut od vymeny, vyzaduje minimalnu historiu vzoriek, ohraniceny na +/-120 minut.
advanced_wait_min je teraz round(base_wait × section_mode × weather × service_rate) + shift_change.adjustment_min. Oba faktory sa premietaju aj do driver_reported.prognosed_advanced_wait_min pre historicke porovnania.
queue, border, multi, update-info odstranene niektore interne polia
V ramci bezpecnostnej/sukromnej revizie boli odstranene nasledujuce polia — odhalovali interne implementacne detaily (nasu taxonomiu zdrojovych dat, ID riadkov v databaze, interne anotacie pipeline, nepouzivane/mrtve polia) bez realnej hodnoty pre produkt:
idacorrected— odstranene z riadkovych objektovqueuetmin/tpercar— odstranene zqueue,borderamulti(konstanty vzorca casu cakania; uz vypocitanewait_min/wait_timeto neovplyvnuje)source(surovy retazec, napr."line") — odstranene zqueue,multiaupdate-info.update-infoamultivo svojom blokuupdate_infonadalej obsahujusource_category/source_label_en(maly verejny slovnik);queueamultivo svojom blokuqueueuz neobsahuju ziadne pole sourcetraffic_status— odstranene zborder; bolo vzdynulla ziadna cast systemu ho nikdy nenaplnala
Ak vasa integracia cita niektore z tychto poli, aktualizujte ju — pozri aktualny zoznam poli na stranke dokumentacie prislusneho produktu.
usage.used teraz moze byt desatinne cislo
Denne vyuzitie kvoty (usage.used v kazdej odpovedi) teraz moze byt desatinna hodnota (napr. 67.5) namiesto vzdy celeho cisla. Je to vedlajsi efekt toho, ze queue-advanced sa uctuje zlomkovou sadzbou — pozri nizsie. usage.limit zostava nezmenene a je vzdy cele cislo. Ak vas klient striktne typuje usage.used ako cele cislo, rozsirte ho, aby prijimalo desatinne cislo/float.
wait_status a trend_percent/trend_direction pridane do border, multi a queue-advanced
Tieto tri produkty teraz vracaju tie iste polia ziveho stavu, ake zobrazuje web: wait_status (green/yellow/red, na zaklade vlastnej nedavnej historie daneho priechodu) a trend_percent/trend_direction (up/up-slight/down/down-slight/stable, s porovnanim poslednych 3 hodin). Cisto aditivne.
queue: wait_time teraz vyplnene v kazdom historickom riadku
V /api/v1/data/queue mali riadky data[] predtym pre vacsinu zdrojov wait_time: null — iba niekolko zdrojovych feedov hlasi cas cakania priamo. Riadky bez neho teraz dostavaju standardny odhad tmin + queue×tpercar, oznaceny novym booleanom wait_time_estimated, aby ste rozlisili skutocne nahlasene cislo od vypocitaneho.
queue-advanced: uctovane 1.5x, odpoved orezana
queue-advanced teraz stoji 1.5 jednotky za volanie namiesto 1 (odraza dodatocne vyhladavania premavky/pocasia/hlaseni vodicov, ktore vykonava) — pozri usage.used vyssie. Odpoved uz tiez neobsahuje tmin, tpercar ani total_crossing_time a driver_reported je teraz iba {wait_min, ts, age_min} — predchadzajuce polia porovnania prognozy so skutocnostou (prognosed_wait_min, diff_min, historical_section_mode, historical_weather atd.) boli odstranene. section_mode, weather, advanced_wait_min a exceeds_crossing_time zostavaju nezmenene.
active_window / next_window)
/api/v1/data/truck-bans teraz pre kazdu krajinu v bans_by_country vracia status (active/clear) plus active_window, next_window, local_time a tz — vypocitane v casovom pasme danej krajiny, takze uz nemusite sami vyhodnocovat surove okna zakazov voci hodinam. Odpoved tiez pridava zoznam covered_countries na najvyssej urovni a UTC casovu peciatku as_of.
GET /api/v1/data/truck-bans?country=PL
Cisto aditivne — existujuce polia current_bans/upcoming_bans/bans_by_country zostavaju nezmenene. Nezname ?country= teraz vracia prazdny vysledok s countries_not_covered namiesto zakazov vsetkych krajin.
queue-advanced)
Novy volitelny produkt, ktory upravuje standardny cas cakania podla ziveho toku premavky a pocasia. Vracia uplny rozpis kazdej upravy.
GET /api/v1/data/queue-advanced?ppid=id_13
Udeluje sa na poziadanie — otvorte Data ticket zo svojho dashboardu, aby ste ho aktivovali.
/api/v1/data/border teraz spravne vypocita wait_min (a vracia tmin/tpercar) pre kazdy checkpoint v odpovedi, v sulade s produktmi queue a multi. Predtym bolo toto pole vzdy null.
/api/v1/data/forecast teraz spolahlivo pouziva ensemble model v4 pre akukolvek hodnotu prediction_steps (predtym sa niektore nestandardne horizonty mohli potichu vratit k starsiemu modelu). Faktor pocasia, ktory napaja ensemble, je tiez opraveny a teraz skutocne odraza zive podmienky (dazd, sneh, vietor, hmla) namiesto toho, aby vzdy hlasil nedostupnost.
Schvaleni vyvojari mozu teraz stiahnut hodinovo spriemerovane historicke data o hranicnych radoch az pre 5 checkpointov (klzave okno az 90 dni) ako CSV alebo NDJSON z novej zalozky Data export. Data su iba publikovane a kontrolovane na kvalitu; casove peciatky su v UTC. Potrebujete pristup? Otvorte Data ticket.
Este nemate web? Teraz si mozete vytvorit vyvojarske konto tak, ze opisete, kde a ako planujete pouzivat nase data, namiesto povinneho zadania URL zivej stranky. Skutocnu URL pridajte neskor zo svojho dashboardu (Ucet & data → Vas projekt), hned ako bude vasa stranka alebo aplikacia spustena — viditelny spatny odkaz na nakordoni.eu na tejto stranke vyzaduju nase Podmienky.
Vyvojari mozu teraz odosielat vlastne spravy suvisiace s hranicami do spravodajskej linky Nakordoni. Ak ich nasi redaktori publikuju, ziskate indexovatelny dofollow spatny odkaz na vasu sluzbu (uvedenie vydavatela + riadok zdroja) a clanok bezplatne prelozime do vsetkych 24 jazykov.
Jeden clanok tyzdenne je zadarmo; dalsie clanky su plateny doplnok. Vyberte si 'mozeme mierne upravit + pridat interne odkazy' alebo 'publikovat bez uprav'. Odosielajte a sledujte stav kontroly v Developers → Submit news.
Multi-Checkpoint API (/api/v1/data/multi) teraz uctuje kvotu ako ⌈(N PPIDs × podprodukty) / 2⌉ — polovica ceny ekvivalentnych samostatnych volani. Poziadavka na 10 checkpointov s oboma podproduktmi teraz stoji 10 jednotiek namiesto 20. Hlavicka X-Devapi-Units a meta.units_consumed v odpovedi odrazaju zlavnenu sumu.
multi)
Ziskajte zivy stav radu a cerstvost dat az pre 20 checkpointov v jednom API volani — urcene pre tvorcov dashboardov, ktori teraz v cykle dopytuju mnoho PPIDs.
Kvota sa pocita ferovo ako N PPIDs × podprodukty vyziadane, takze celkove vyuzitie je totozne so samostatnymi volaniami — ale s jednym round-tripom namiesto mnohych. Vzory typu GreenTravel klesnu z 24+ volani/hod na 2.
GET /api/v1/data/multi?ppids=id_2,id_13,id_15,id_59&include=queue,update-info&lang=en
include=queue— aktualne queue_now, odhadovane wait_min, vek dat a nazov checkpointuinclude=update-info— cerstvost dat, klasifikacia zdroja, vek v sekundach/minutach- Max 20 PPIDs na poziadavku; kombinujte oba podprodukty v jednom volani pre kompletne data dashboardu
- Odpoved obsahuje
meta.units_consumed, takze mozete presne sledovat vyuzitie kvoty
Odpoved produktu queue teraz obsahuje objekt snapshot na najvyssej urovni s najnovsimi datami v realnom case a vypocitanym prognozovanym casom cakania — rovnaky vzorec, aky sa pouziva v hero sekcii na nakordoni.eu:
snapshot.queue_now — current cars in queue snapshot.wait_min — tmin + queue_now × tpercar (minutes) snapshot.tmin — minimum crossing time (minutes) snapshot.tpercar — added time per vehicle (minutes) snapshot.updated_at — when the queue data was recorded snapshot.age_min — minutes since last update snapshot.source — data source identifier
Pole data (historicke zaznamy) zostava nezmenene — ide o cisto aditivne rozsirenie. Klientov, ktori necitaju snapshot, sa to netyka.
border)
Dopytujte vsetky checkpointy na danej hranici + typ vozidla jednym volanim namiesto jednej poziadavky na PPID.
GET /api/v1/data/border/{origin}/{destination}/{crossing_type}
- Podporuje jednu cielovu krajinu, zoznam oddeleny ciarkami alebo
allna rozsirenie na vsetkych monitorovanych susedov naraz. - Vysledky zoradene podla
queue_nowvzostupne (najkratsi rad ako prvy). - Plne lokalizovane: pridajte
?lang=uk(alebo ktorykolvek z nasich 22 podporovanych jazykov) na ziskanie nazvov checkpointov v danom jazyku.
search)
Objavte hodnoty PPID checkpointov podla nazvu bez prehliadania celeho adresara.
GET /api/v1/data/search?name=Krakovets,Shehyni&lang=en
- Prijima jeden nazov alebo zoznam oddeleny ciarkami (az 20).
- Vyhladava vo vsetkych 24 prekladovych jazykoch — zadajte nazov v ukrajincine, polstine, nemcine alebo ktoromkolvek podporovanom jazyku a najde zhodu.
- Vracia vsetky PPIDs na danom mieste zoskupene podla typu vozidla (auto / autobus / chodec / kamion).
crossing_type
Produkt alternatives teraz prijima ?lang= vo vsetkych 22 podporovanych jazykoch (predtym iba 12).
Novy parameter crossing_type vam umoznuje prepisat filter typu vozidla — napr. zadajte crossing_type=4 na ziskanie alternativ pre auta, aj ked sa dopytujete z autobusoveho PPID.
Pole crossing_type_label v odpovediach checkpoints, border a search je teraz prelozene do pozadovaneho jazyka vo vsetkych 22 podporovanych jazykoch. Polia s nazvami krajin (origin_name, destination_name) sa riadia rovnakym locale.
Portal Nakordoni Developer API je spusteny na /en/developers. Zaregistrujte sa pre bezplatny Explorer kluc (200 poziadaviek/den) a ziskajte pristup k datam o hranicnych radoch, predpovediam, cenam paliv, vodicskym POIs a dalsiemu.
Produkty dostupne pri spusteni: checkpoints, queue, stats, day-stats, forecast, alternatives, update_info, fuel, pois, truck_bans, trading_sundays, bus_carriers, road_conditions, assistant.
Tento zoznam zahŕňa verejné zmeny API. Interné aktualizácie nie sú uvedené.