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"
Обновлено