Truck Route API Online
API прокладання маршрутів для вантажівок з АЗС і стоянками для вантажівок уздовж маршруту, а також пунктами зважування та планом відпочинку водія. Передайте пункт відправлення, пункт призначення та параметри вашого транспортного засобу (висота, вага, довжина, ширина, навантаження на вісь, небезпечні вантажі) — і отримайте маршрут, дозволений для вантажівок, з обмеженнями та датованими заборонами руху вантажівок, що трапляються на ньому, прикордонними переходами з актуальним часом очікування, АЗС із цінами, стоянками для вантажівок (ознака охорони, місткість, зручності) та вагами в межах коридору вздовж лінії. З include=rest до стану вашого водія застосовуються правила ЄС 561/2006: 45-хвилинні перерви не рідше ніж через 4 год 30 хв, щоденний відпочинок до досягнення ліміту 9 / 10 год, кожен — на реальній стоянці до досягнення ліміту, очікування вихідних і святкових заборон, очікування на кордоні на часовій шкалі, один або двоє водіїв — і ETA враховує все це. План відпочинку — допоміжний засіб планування, а не запис тахографа.
GET https://nakordoni.eu/api/v2/data/truck-route
— клас квоти: route
| Параметр | Опис |
|---|---|
from | Пункт відправлення як lat,lon (обов'язково, якщо не вказано from_city), напр. 52.2297,21.0122 |
to | Пункт призначення як lat,lon (обов'язково, якщо не вказано to_city) |
from_city | Назва міста відправлення замість координат (для точності додайте from_country) |
from_country | Країна from_city за ISO 3166-1 alpha-2, напр. PL |
to_city | Назва міста призначення замість координат |
to_country | Країна to_city за ISO 3166-1 alpha-2 |
via | До 5 проміжних точок як lat,lon|lat,lon |
height | Висота транспортного засобу в метрах (1.0–5.0) |
weight | Повна маса транспортного засобу в тоннах (1–60); впливає на обмеження та заборони за масою |
length | Довжина транспортного засобу в метрах (2–30) |
width | Ширина транспортного засобу в метрах (1.0–3.5) |
axle_load | Навантаження на вісь у тоннах (1–20) |
axles | Кількість осей, тягач разом із причепом (2–12); використовується для маршрутизації та класів оплати проїзду (за замовчуванням для оплати: 5 від 18 т, 3 від 12 т, інакше 2) |
trailers | Кількість причепів (0–3); повертається у відповіді, на маршрутизацію поки не впливає |
hazmat | Небезпечні вантажі: 0 (за замовчуванням), 1 = вантаж ADR без указання класу, або список класів ADR 1–9 через кому та/або explosive, gas, flammable, flammable_solid, oxidizing, poison, radioactive, corrosive, harmful_to_water |
adr_tunnel | Код тунельного обмеження ADR для вантажу: B, C, D або E. Тунелі, категорія яких це забороняє, оминаються (передбачає hazmat) |
avoid | Список через кому: tolls, ferries, motorways, borders, tunnels, unpaved, low_emission_zones |
emission_class | Екологічний клас транспортного засобу euro0 … euro6; використовується для перевірки зон низьких викидів і приміток щодо оплати (оплата розраховується за тарифами Euro VI) |
alternatives | Кількість альтернативних маршрутів, 0–2 (за замовчуванням 0; лише для маршрутів без проміжних точок via) |
geometry | polyline5 (за замовчуванням), polyline6 або geojson |
arrive_at | Бажаний час прибуття за RFC 3339; відправлення планується у зворотному напрямку з урахуванням перерв і відпочинку (замість depart_at) |
route_type | fastest (за замовчуванням) або eco |
include | Список через кому: fuel, parking, weigh, rest (за замовчуванням усі чотири) |
corridor_km | Макс. відстань від маршруту до АЗС, стоянок і пунктів зважування, 0.2–5 км (за замовчуванням 2) |
fuel | Види пального для розрахунку цін, список через кому (за замовчуванням diesel) |
depart_at | Відправлення у форматі ISO 8601 з часовим поясом, до 14 днів уперед (за замовчуванням: зараз) |
aliases | Приймаються для зручного переходу: depart → depart_at, departAt, arriveAt, vehicleHeight, vehicleWidth, vehicleLength, vehicleWeight (кг або т), vehicleAxleWeight / axleWeight → axle_load, vehicleNumberOfAxles / axleCount → axles, vehicleTrailers → trailers, vehicleAdrTunnelRestrictionCode → adr_tunnel, vehicleEmissionClass → emission_class, maxAlternatives → alternatives, waypoints → via |
crew | 1 (за замовчуванням) або 2 водії — для подвійного екіпажу діє 30-годинне вікно щоденного відпочинку та 9-годинний відпочинок |
traffic | forecast (за замовчуванням), live або off. forecast = вивчені повторювані затори + трафік наживо поблизу відправлення + дорожні роботи, закриття та погода на момент проїзду; live = поточний трафік без вивченого шаблону; off = без шару трафіку (час руху у вільному потоці) |
driven_since_break_min | Стан водія: хвилин за кермом від останньої 45-хвилинної перерви (за замовчуванням 0) |
driven_today_min | Стан водія: хвилин за кермом від останнього щоденного відпочинку (за замовчуванням 0) |
driven_week_min | Стан водія: хвилин за кермом у цьому календарному тижні (за замовчуванням 0) |
driven_last_week_min | Стан водія: хвилин за кермом минулого тижня, для ліміту 90 год за два тижні (за замовчуванням 0) |
reduced_daily_rests_used | Скорочені (9 год) щоденні відпочинки, уже використані від останнього щотижневого відпочинку, 0–3 (за замовчуванням 0) |
extended_days_used | 10-годинні дні керування, уже використані цього тижня, 0–2 (за замовчуванням 0) |
last_weekly_rest_end | Кінець останнього щотижневого відпочинку у форматі ISO 8601 (за замовчуванням: передбачається безпосередньо перед відправленням) |
reduced_weekly_ok | 1 = можна планувати скорочений (24 год) щотижневий відпочинок (за замовчуванням 0 = звичайний 45 год) |
lang | Код мови для назв і повідомлень (за замовчуванням en) |
Поля відповіді — усередині об’єкта data у конверті відповіді. [] позначає список, тож data.items[].name — це поле name кожного елемента. Поле буває null, відсутнє або порожній список, коли значення в нас немає, — заглушок ми не підставляємо.
| Поле | Опис |
|---|---|
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"
Оновлено