Truck Route API Online
API wyznaczania tras dla ciężarówek ze stacjami paliw i parkingami dla ciężarówek wzdłuż trasy, a także stacjami wagowymi i planem odpoczynku kierowcy. Podaj punkt początkowy, cel i swój pojazd (wysokość, masa, długość, szerokość, nacisk na oś, ładunek niebezpieczny) i otrzymaj trasę zgodną z przepisami dla pojazdów ciężarowych wraz z napotkanymi ograniczeniami i datowanymi zakazami ruchu ciężarówek, przejściami granicznymi na trasie z aktualnym czasem oczekiwania, stacjami paliw z cenami, parkingami dla ciężarówek (oznaczenie strzeżonego, pojemność, udogodnienia) oraz wagami w korytarzu wzdłuż linii trasy. Z include=rest do stanu Twojego kierowcy stosowane są przepisy UE 561/2006: 45-minutowe przerwy co najwyżej co 4 h 30 min, odpoczynki dobowe przed osiągnięciem limitu 9 h / 10 h, każdy zaplanowany na prawdziwym parkingu przed osiągnięciem limitu, przeczekanie zakazów weekendowych i świątecznych, oczekiwanie na granicy na osi czasu, jedna lub dwie osoby w załodze — a ETA uwzględnia to wszystko. Plan odpoczynku jest pomocą w planowaniu, a nie zapisem tachografu.
GET https://nakordoni.eu/api/v2/data/truck-route
— klasa limitu: route
| Parametr | Opis |
|---|---|
from | Punkt początkowy jako lat,lon (wymagany, jeśli nie podano from_city), np. 52.2297,21.0122 |
to | Cel jako lat,lon (wymagany, jeśli nie podano to_city) |
from_city | Nazwa miasta początkowego zamiast współrzędnych (dla dokładności dodaj from_country) |
from_country | Kraj from_city wg ISO 3166-1 alpha-2, np. PL |
to_city | Nazwa miasta docelowego zamiast współrzędnych |
to_country | Kraj to_city wg ISO 3166-1 alpha-2 |
via | Do 5 punktów pośrednich jako lat,lon|lat,lon |
height | Wysokość pojazdu w metrach (1.0–5.0) |
weight | Dopuszczalna masa całkowita pojazdu w tonach (1–60); wpływa na ograniczenia i zakazy związane z masą |
length | Długość pojazdu w metrach (2–30) |
width | Szerokość pojazdu w metrach (1.0–3.5) |
axle_load | Nacisk na oś w tonach (1–20) |
axles | Liczba osi, ciągnik wraz z naczepą (2–12); używana do wyznaczania trasy i klas opłat drogowych (domyślnie dla opłat: 5 od 18 t, 3 od 12 t, w pozostałych przypadkach 2) |
trailers | Liczba przyczep (0–3); zwracana w odpowiedzi, na razie bez wpływu na trasę |
hazmat | Towary niebezpieczne: 0 (domyślnie), 1 = ładunek ADR bez podanej klasy, albo lista klas ADR 1–9 oddzielona przecinkami i/lub explosive, gas, flammable, flammable_solid, oxidizing, poison, radioactive, corrosive, harmful_to_water |
adr_tunnel | Kod ograniczenia ADR dla tuneli dla ładunku: B, C, D lub E. Tunele, których kategoria tego zabrania, są omijane (oznacza hazmat) |
avoid | Lista oddzielona przecinkami: tolls, ferries, motorways, borders, tunnels, unpaved, low_emission_zones |
emission_class | Klasa emisji pojazdu euro0 … euro6; używana do sprawdzania stref niskiej emisji i uwag o opłatach (opłaty liczone wg stawek Euro VI) |
alternatives | Liczba tras alternatywnych, 0–2 (domyślnie 0; tylko dla tras bez punktów via) |
geometry | polyline5 (domyślnie), polyline6 lub geojson |
arrive_at | Żądany czas przyjazdu wg RFC 3339; wyjazd jest planowany wstecz z uwzględnieniem przerw i odpoczynków (zamiast depart_at) |
route_type | fastest (domyślnie) lub eco |
include | Lista oddzielona przecinkami: fuel, parking, weigh, rest (domyślnie wszystkie cztery) |
corridor_km | Maks. odległość od trasy dla stacji paliw, parkingów i stacji wagowych, 0.2–5 km (domyślnie 2) |
fuel | Rodzaje paliwa do wyceny, lista oddzielona przecinkami (domyślnie diesel) |
depart_at | Wyjazd w formacie ISO 8601 ze strefą czasową, do 14 dni naprzód (domyślnie: teraz) |
aliases | Akceptowane dla ułatwienia przejścia: depart → depart_at, departAt, arriveAt, vehicleHeight, vehicleWidth, vehicleLength, vehicleWeight (kg lub t), vehicleAxleWeight / axleWeight → axle_load, vehicleNumberOfAxles / axleCount → axles, vehicleTrailers → trailers, vehicleAdrTunnelRestrictionCode → adr_tunnel, vehicleEmissionClass → emission_class, maxAlternatives → alternatives, waypoints → via |
crew | 1 (domyślnie) lub 2 kierowców — załoga dwuosobowa korzysta z 30-godzinnego okna odpoczynku dobowego i 9-godzinnych odpoczynków |
traffic | forecast (domyślnie), live lub off. forecast = wyuczone powtarzalne zatory + ruch na żywo w pobliżu miejsca wyjazdu + roboty drogowe, zamknięcia i pogoda w czasie przejazdu; live = bieżący ruch bez wyuczonego wzorca; off = bez warstwy ruchu (czas przejazdu przy swobodnym ruchu) |
driven_since_break_min | Stan kierowcy: minuty jazdy od ostatniej 45-minutowej przerwy (domyślnie 0) |
driven_today_min | Stan kierowcy: minuty jazdy od ostatniego odpoczynku dobowego (domyślnie 0) |
driven_week_min | Stan kierowcy: minuty jazdy w bieżącym tygodniu kalendarzowym (domyślnie 0) |
driven_last_week_min | Stan kierowcy: minuty jazdy w zeszłym tygodniu, do limitu 90 h w okresie dwutygodniowym (domyślnie 0) |
reduced_daily_rests_used | Skrócone (9 h) odpoczynki dobowe wykorzystane od ostatniego odpoczynku tygodniowego, 0–3 (domyślnie 0) |
extended_days_used | 10-godzinne dni jazdy wykorzystane w tym tygodniu, 0–2 (domyślnie 0) |
last_weekly_rest_end | Koniec ostatniego odpoczynku tygodniowego w formacie ISO 8601 (domyślnie: zakłada się tuż przed wyjazdem) |
reduced_weekly_ok | 1 = można zaplanować skrócony (24 h) odpoczynek tygodniowy (domyślnie 0 = regularny 45 h) |
lang | Kod języka nazw i komunikatów (domyślnie en) |
Pola odpowiedzi — wewnątrz obiektu data w kopercie odpowiedzi. [] oznacza listę, więc data.items[].name to pole name każdego elementu. Pole bywa null, nieobecne lub jest pustą listą, gdy nie mamy wartości — nigdy nie wstawiamy atrapy.
| Pole | Opis |
|---|---|
data.route | distance_m, duration_s (pure driving), geometry (format in geometry_format), bbox, countries (ISO codes in order), departure_at, toll_distance_m, fuel_l, ascent_m, descent_m, legal, avoid; with arrive_at also arrive_at_requested. |
data.route.country_split[] | Per country in route order: country, km, duration_min. |
data.route.adr | Only with adr_tunnel: tunnel_code, tunnels_avoided[] and tunnels_on_route[] (name, category, lat, lon). |
data.route.low_emission_zones_avoided[] | Only with avoid=low_emission_zones: zones the route was moved out of (name, country); low_emission_zones_on_route[] lists any that could not be avoided. |
data.tolls | Estimated truck tolls: currency (EUR), total_eur, complete, by_country[] (country, km_toll, cost_eur, basis), objects[] (priced tunnels and bridges: name, type, country, lat, lon, cost_eur, basis), estimate, coverage_note. A country we cannot price has cost_eur null and is named in coverage_note. |
data.alternatives[] | Only with alternatives: distance_m, duration_s, forecast_duration_s (with traffic), tolls (currency, total_eur, complete, by_country) and geometry for each alternative route. Alternatives are planned without time-dependent restrictions and are not ban-checked; the main route is. Empty when no reasonable alternative exists. |
data.route.restriction_hits[] | Restrictions for this vehicle still on the line: kind, name, country, at_km. |
data.route.truck_bans[] | Dated truck driving bans on the route: name, kind, country, details, min_weight_t, window_from, window_to, eta_at_ban (on the traffic forecast timeline), eta_at_ban_free (free-flow timeline), km_from_start, applies, active, avoided. |
data.route.border_crossings[] | Crossings on the route: name, ppid, from_country, to_country, lat, lon, km_from_start, status; wait_min = time on the exit side + the entry side at the planned arrival (wait_at), null when neither side is measured (wait_minutes = same value, legacy name); wait_sides[] (side country, role exit|entry, ppid, min, basis live|forecast, note when not measured); wait_notes[]; wait_capped (a side over 48 h is planned at 48 h); registration_required = an electronic-queue lane: register before arriving, the time to get a slot is not included in the wait. |
data.route.warnings[] | code and message, e.g. ban_avoidance_skipped, restrictions_on_route, adr_tunnel_on_route, adr_tunnel_not_checked, low_emission_zone_on_route, closure_on_route (a full motorway closure overlaps the passing time), tolls_not_fully_avoided, arrive_at_not_reachable. |
data.route.closures_on_route[] | German motorways: closures, roadworks and traffic warnings within 150 m of the line whose time window overlaps the moment the truck passes: type (closure, roadwork, warning), road, title, km_from_start, eta, from, to, full_closure, lorry_specific (text names lorries or a weight limit), lat, lon. The route is not changed around them. |
data.traffic_forecast | Unless traffic=off: model, mode, duration_base, duration_s_free, duration_s_forecast, delay_s (recurring, live, roadworks, weather, total), hotspots[] (km_from_start, km_to, eta, delay_s, reason recurring|live|roadworks|lane_closure|closure|weather, label, road, confidence low|medium|high, dow_hour, delay_by_reason, country; jam_frequency and road_condition where known), weather_on_route[], closures_avoided[], recommended_alternative (a forecast-faster alternative is only recommended — the primary route is never swapped), coverage (how much data backed the plan, with a note), calc_ms. The forecast timeline drives the ETA, rest plan, ban timing and border-wait timing. A planning estimate; data collection started in September 2026. |
data.rest_plan[] | EU 561/2006 stops in order: type (break, daily_rest, weekly_rest), start_at, end_at, duration_min, km_from_start, parking (a parkings[] row or null), reason, overlaps_ban, counts_as. |
data.waits[] | Forced waits on the timeline: ban_wait (a driving ban) and border_wait, same shape as rest_plan. |
data.eta | Arrival time including driving, breaks, rests, ban waits and border waits; with driving_time_min, total_time_min and crew. |
data.weekly_rest_check | next_weekly_rest_due_by, weekly_rest_on_trip, driven_week_min_at_arrival, driven_fortnight_min_at_arrival, weekly and fortnight limits, reduced rests and 10 h days used at arrival. |
data.assumptions[] | Defaults applied to driver state you did not send, and country rules not planned for. |
data.rest_warnings[] | code, km_from_start, message — e.g. no_parking_in_window when a stop had to be placed at the legal limit. |
data.fuel_stations[] | name, brand, lat, lon, country, km_from_start, distance_from_route_km, detour_km, prices[] (fuel_type, price, currency, stale), price_updated_at. |
data.parkings[] | name, type (parking, rest_area, truck_stop, autohof), lat, lon, country, km_from_start, distance_from_route_km, detour_km, capacity, capacity_trucks (official truck spaces where known, e.g. German motorway rest areas), secure, amenities[], opening_hours. |
data.weigh_stations[] | name, lat, lon, country, km_from_start, distance_from_route_km, detour_km, type and side (null when not known). |
data.coverage | corridor_km, countries_on_route, fuel_grades, fuel countries with sparse or no price data, truncated lists, measured_at. |
data.resolved_locations | Only with from_city/to_city: query, lat, lon, label of the geocoded point. |
data.disclaimer | The rest plan is a planning aid, not a tachograph record or legal advice. |
data.attribution | List of credits to display: always "Data by nakordoni.eu"; plus "Weigh stations: © OpenStreetMap contributors (ODbL)" whenever weigh_stations is non-empty. |
curl "https://nakordoni.eu/api/v2/data/truck-route?from=52.2297,21.0122&to=52.52,13.405&weight=40&height=4&axles=5&emission_class=euro6&crew=1" \ -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"
Zaktualizowano