A hírbeküldés és a NakBus flotta most már a partneri irányítópulton található
A Nakordoni Partners panelbe való bejelentkezéshez használja ugyanazt a belépési adatot (e-mail-cím és jelszó), mint a fejlesztői fiókjához, és ott kezelje a híreket és a buszflottáját (NakDriver / NakManager), csapatszerepkörökkel. Az API-kulcsai, végpontjai és alkalmazásai változatlanok, az itteni oldalak pedig továbbra is működnek. Nakordoni Partners megnyitása

← Összes végpont

Bus Sun Side API Online

Egy autóbusz melyik oldala kap napot vagy árnyékot az úton, és mely ülések a legjobbak árnyékhoz vagy kilátáshoz. Az utat 5 perces lépésekben járjuk végig: pozíció és haladási irány az útvonalból, a nap helyzete azon a helyen és időpontban, majd ülésenkénti becslés a választott buszelrendezésre. Használjon útvonalat engedélyezett járataink nyilvántartásából (route_id), két pontot (from/to), vagy küldje el POST-tal saját útvonalát (megállók vagy polyline), hogy ülésrendet, útvonaltérképet és idővonalat is kapjon képként. Az eredmények a geometria és a nap helyzete alapján készült becslések; a valódi árnyék a függönyöktől, épületektől, domborzattól és időjárástól is függ.

GET https://nakordoni.eu/api/v2/data/bus-sun-side — kvótaosztály: heavy

ParaméterLeírás
route_idÚtvonal id a buszútvonal-nyilvántartásunkból (ugyanazok az id-k, mint a nakordoni.eu buszoldalain). Használja a route_id vagy a from+to megadást.
dirdirect (alapértelmezett) vagy return.
dateUtazás dátuma YYYY-MM-DD (alapértelmezés a mai nap). A nap helyzete a dátumtól függ.
depIndulási idő HH:MM az útvonal helyi idejében (alapértelmezés: a nyilvántartás menetrendje).
fromSzabad útvonal: kiindulópont lat,lon (a to mezővel együtt).
toSzabad útvonal: végpont lat,lon (a from mezővel együtt).
departSzabad útvonal: indulás YYYY-MM-DDTHH:MM, a kiindulópont helyi ideje.
langA helynevek és szövegek nyelve, 25 nyelv (en, uk, pl, de, …). Alapértelmezés en.
bus_modelBuszmodell id a bus-sun-catalog végpontból (alapértelmezés standard_coach). Bármely alábbi mező felülírja a modellt.
rowsSeat rows, 8-20.
layoutÜlésrend: 2+2, 2+1 vagy 1+2 (a folyosótól balra+jobbra).
door_sideright (kontinentális Európa) vagy left.
windshieldlarge vagy normal — mennyi napot kapnak az első sorok a szélvédőn át.
rear_windownone, small vagy large — nap a hátsó sorokon.
window_heightstandard vagy panoramic (magas oldalablakok).
decksingle, upper vagy lower (emeletes autóbuszok).
mid_door1 vagy 0 — van középső ajtó (az ott lévő ülések kimaradnak).
timeline0 = az idővonal kihagyása (15 perces sorok).
track0 = az időbélyeges nyomvonalpontok kihagyása.
weather1 (alapértelmezett) vagy 0. 1 esetén az út menti időjárás-előrejelzés használatos, ha az út a következő 3 napra esik (72 h); későbbi utaknál és weather=0 esetén derült égbolttal számolunk.
animation1 (default) or 0. With 0, the animation block (sun and coach position every 5 minutes) is left out. POST body: animation true|false.

Válaszmezők — a válaszboríték data objektumán belül. A [] listát jelöl, tehát a data.items[].name az egyes elemek name mezője. Egy mező null, hiányzik vagy üres lista, ha nincs rá értékünk — helykitöltőt soha nem teszünk oda.

MezőLeírás
data.date / data.tzTravel date and the time zone of the times in the answer.
data.routeid, num, from, to, dir, dep, arr, km (registry route) — or the stops you sent (POST).
data.basisHow the timed path was built: timetable (registry or your stop times), router (our road route between points) or geometry (your polyline).
data.busThe bus profile used: model, layout, rows, door_side, windshield, rear_window, window_height, deck, mid_door.
data.summarytrip_min, daylight_min, night_min and minutes with the sun on the left, right, ahead and behind (weather-weighted when a forecast was used).
data.recommendshade_side, sun_side, shade_pct, best_shade_seats[], best_sun_seats[], confidence (high | medium | low), reason_key; tip_key hot_sun_side when the sunny side is forecast at 28 °C or more. reason_key mostly_cloudy (shade_side any) when the forecast is mostly cloud or rain.
data.recommend_clearThe same recommendation for a clear sky (no weather).
data.weather_changes_answertrue when the forecast changes the shade side compared with recommend_clear.
data.weatherused, window_h (72), covered_pct, sunny_min, cloudy_min, rain_min, max_temp, note_key (forecast_used | partly_forecast | mostly_cloudy | rain_expected | clear_sky_only).
data.zonesfront / middle / back: left and right sun exposure 0-100 and rows [first, last] of that part.
data.seatslayout, rows, cols[], grid[][]: every seat — id (e.g. 4C), side, pos (window | aisle), exp (sun exposure 0-100), door (true next to a door).
data.timeline[]One row per 15 min: t, lat, lon, hd (heading), az / el (sun azimuth / elevation), side (left | right | ahead | behind | none), w (sun strength); wx {code, f, temp, precip} when a forecast was used.
data.track[]Track points [lat, lon, sun side] for drawing the route (leave out with track=0).
data.inputPOST only: how your route was read — source, timed_by, stops, points, legs_routed, legs_straight, timezone.
data.imagesPOST only: seat_map, route_map, timeline — each {url, format, expires_at}; url = https://api.nakordoni.dev/images/<random name>.<png | webp | jpg> (body format, default png). Files are kept 12 hours. format svg: PNG files plus the seat map as inline SVG (seat_map.svg).
data.embed_htmlPOST only: a self-contained HTML figure with the seat map (inline SVG) to paste into a page; null with embed_html=false.

Próbálja ki kód nélkül: a napos oldal tervező bármely járatra vagy saját útra lefuttatja ezt az API-t, és megmutatja az ülésrendet, a térképet, az idővonalat, a képeket és a hívás kódját. Tervező megnyitása →

Your route (POST)

Küldje el saját útvonalát JSON törzsként POST kéréssel ugyanarra az URL-re. A válasz ugyanazokat a mezőket tartalmazza, mint a GET, továbbá input (hogyan lett beolvasva az útvonal), images (ülésrend, útvonaltérkép és idővonal) és embed_html.

A geometria nélküli megállókat közúti útvonaltervezőnk köti össze; a nem tervezhető szakaszt egyenes vonalként rajzoljuk, és az input.legs_straight számolja. Időpontok: legalább két időponttal megadott megálló, vagy route.depart a route.duration_min vagy route.speed_kmh mezővel. Egy út legfeljebb 72 h lehet.

Body fieldLeírás
route.stops2-200 megálló sorrendben: {lat, lon, name?, arr?, dep?, day?}. Az arr / dep helyi idő HH:MM formában; day = napok száma a route.date után (az éjfélen átnyúló időpontok automatikusan átfordulnak).
route.geometryAz Ön útvonala: GeoJSON LineString, MultiLineString, Feature vagy FeatureCollection ([lon, lat] sorrend), vagy kódolt polyline karakterlánc. Legfeljebb 5000 pont. stops megadásakor a megállók adják az időpontokat, a geometria az útvonalat.
route.polyline_precision5 (alapértelmezett) vagy 6, kódolt polyline esetén.
route.dateAz első megálló időpontjának YYYY-MM-DD dátuma (alapértelmezés a mai nap).
route.departIndulás YYYY-MM-DDTHH:MM, ha a megállóknak nincs időpontja, vagy csak geometriát küld.
route.duration_minAz út hossza percben, a depart mezővel együtt (különben az idő a speed_kmh értékből adódik).
route.speed_kmhÁtlagsebesség a depart mezővel együtt, alapértelmezés 65.
route.timezoneA küldött időpontok IANA időzónája (alapértelmezés: az első pont országának időzónája).
busA busz: bus_model a katalógusból és/vagy seats, rows, layout, door_side, windshield, rear_window, window_height, deck, mid_door — ugyanazok a mezők, mint a GET paraméterek. Alapértelmezés standard_coach.
imagesMely képek készüljenek: a seat_map, route_map, timeline bármelyike (alapértelmezés mindhárom); [] = egyik sem.
formatpng (alapértelmezett), webp vagy jpg: minden kép-URL fájltípusa. svg: PNG fájlok, és az ülésrend inline SVG-ként is visszaadásra kerül (seat_map.svg).
themelight (default) or dark.
langA képfeliratok és szövegek nyelve, 25 nyelv (alapértelmezés en).
widthKépszélesség px-ben, 240-1600 (alapértelmezés: természetes méret).
embed_htmltrue (alapértelmezett) = az embed_html is visszaadásra kerül; false = null.
timeline / trackfalse = az adott lista kimarad a válaszból.
weathertrue (alapértelmezett) vagy false: időjárás-előrejelzés használata az út mentén (következő 3 nap); false = csak derült égbolt. Az 1 és a 0 is elfogadott.

Hibás vagy hiányzó mező esetén HTTP 400 a válasz, az error.field a mező útvonalát tartalmazza, például route.stops[2].lat vagy bus.seats.

curl -X POST "https://nakordoni.eu/api/v2/data/bus-sun-side" \
  -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "route": {
        "stops": [
            {
                "name": "Poznań Dworzec Autobusowy",
                "lat": 52.4011,
                "lon": 16.911,
                "dep": "08:00"
            },
            {
                "name": "Konin",
                "lat": 52.223,
                "lon": 18.2511,
                "arr": "09:20",
                "dep": "09:25"
            },
            {
                "name": "Łódź Kaliska",
                "lat": 51.7573,
                "lon": 19.4306,
                "arr": "10:55",
                "dep": "11:05"
            },
            {
                "name": "Warszawa Zachodnia",
                "lat": 52.219,
                "lon": 20.965,
                "arr": "13:10"
            }
        ],
        "date": "2026-06-21",
        "timezone": "Europe/Warsaw"
    },
    "bus": {
        "bus_model": "minibus"
    },
    "images": [
        "seat_map",
        "route_map",
        "timeline"
    ],
    "format": "png",
    "theme": "light",
    "lang": "en",
    "weather": true
}'
const res = await fetch('https://nakordoni.eu/api/v2/data/bus-sun-side', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer NKD-DEV-XXXX-XXXX-XXXX', 'Content-Type': 'application/json' },
  body: JSON.stringify({
    route: { stops: [
      { name: 'Poznań', lat: 52.4011, lon: 16.911, dep: '08:00' },
      { name: 'Warszawa', lat: 52.219, lon: 20.965, arr: '11:30' } ],
      date: '2026-06-21', timezone: 'Europe/Warsaw' },
    bus: { bus_model: 'comfort_coach_2_1' },
    images: ['seat_map'], format: 'svg', lang: 'pl'
  })
});
const { data } = await res.json();
console.log(data.recommend.shade_side, data.recommend.best_shade_seats);
document.querySelector('#seats').innerHTML = data.embed_html;   // or <img src="data.images.seat_map.url">

Images and embed_html

Minden képnek saját URL-je van véletlenszerű fájlnévvel (.png, .webp vagy .jpg). Az URL-ekhez nem kell kulcs, és 12 óráig érvényesek (expires_at); másolja le a fájlokat, ha tovább van rájuk szüksége. Az embed_html egy önálló figure, amely az ülésrendet inline SVG-ként és egy nakordoni.eu forrássort tartalmaz; megjelenítéskor tartsa meg a forrásmegjelölést.

Lent: a fenti példa törzshöz tartozó képek (kisbusz, Poznań – Varsó, június 21.).

Ülésrend: árnyék és nap ülésenként
seat_map
Útvonaltérkép a nap oldala szerint színezve
route_map
Idővonal: mikor melyik oldalon van a nap
timeline

Bus catalogue

A bus_model ezen általános járműosztályok egyikét fogadja (nem konkrét márkákat). Bármely elküldött buszmező felülírja a modellt; a seats értékből a layout szerinti rows lesz. Ugyanez a lista JSON-ként elérhető a bus-sun-catalog végponton.

bus_modellayoutrowsdoor_sidewindshieldrear_windowwindow_heightdeckmid_doortypical_seats
standard_coach
Standard touring coach (12-13 m, 2+2)
2+213rightlargesmallstandardsingletrue49-53
panoramic_coach
Coach with panoramic (tall) side windows, 2+2
2+213rightlargesmallpanoramicsingletrue49-53
midi_coach
Midi coach (9-10 m, 2+2)
2+29rightlargesmallstandardsinglefalse33-37
comfort_coach_2_1
Comfort coach with 2+1 seating
2+112rightlargesmallstandardsingletrue33-36
minibus
Minibus (7-8 m, 2+1)
2+16rightnormallargestandardsinglefalse16-20
double_deck_upper
Double-deck coach, upper deck
2+215rightlargesmallpanoramicupperfalse56-64 on the upper deck
double_deck_lower
Double-deck coach, lower deck
2+25rightnormalnonestandardlowertrue12-20 on the lower deck

Allowed values: layout 2+2 | 2+1 | 1+2 · rows {"min":4,"max":20,"custom_min":8} · door_side right | left · windshield large | normal · rear_window none | small | large · window_height standard | panoramic · deck single | upper | lower · mid_door true | false

Weather

weather=1 esetén (alapértelmezett; POST törzsben "weather": true) a válasz óránkénti időjárás-előrejelzést használ az út mentén a következő 3 napra (72 h); az út későbbi részeinél derült égbolttal számol. A summary.sun_*_min értékek ekkor az előrejelzés szerint súlyozottak, minden timeline sor kap wx {code, f, temp, precip} mezőt, a weather {used, window_h, covered_pct, sunny_min, cloudy_min, rain_min, max_temp, note_key} pedig megmutatja, az út mekkora részét fedte le az előrejelzés. A recommend_clear a derült égboltra vonatkozó válasz; a weather_changes_answer értéke true, ha az előrejelzés megváltoztatja az árnyékos oldalt. Ha az előrejelzés főleg felhős vagy esős, a recommend.reason_key értéke mostly_cloudy, a shade_side értéke any. A recommend.tip_key hot_sun_side azt jelenti, hogy a napos oldalra 28 °C vagy több várható.

Quota and accuracy

A GET, valamint a POST "images": [] beállítással 1 egységnek számít a nehéz osztályban; a képeket készítő POST 2-nek számít. A bus-sun-catalog olcsó hívás. Ugyanaz a POST törzs legfeljebb 6 óráig a tárolt választ adja vissza (1 óráig, ha időjárás-előrejelzés került felhasználásra).

Az eredmény becslés az útvonal geometriája és a nap helyzete alapján. A függönyöket, sötétített üvegeket, épületeket, fákat, domborzatot és a módosított útvonalat nem ismerjük. A felhők és az eső csak a következő 3 napban induló utaknál származnak időjárás-előrejelzésből; későbbi utaknál derült égbolttal számolunk. A confidence alacsonyabb, ha a nap alacsonyan jár, az út rövid, az útvonal gyakran fordul, vagy az előrejelzés főleg felhős.

curl "https://nakordoni.eu/api/v2/data/bus-sun-side?route_id=521&dir=direct&date=2026-06-21&bus_model=standard_coach&lang=en" \
  -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX"
🔑 Jelentkezzen be fejlesztőként, hogy élőben kipróbálhassa ezt az endpointot a sandboxban — termékenként napi 10 ingyenes tesztlehívás. Bejelentkezés

Frissítve