Dërgimi i lajmeve dhe flota NakBus tani janë në panelin e partnerit
Përdorni të njëjtat të dhëna hyrjeje (email-in dhe fjalëkalimin) si për llogarinë tuaj të zhvilluesit për t'u identifikuar në panelin Nakordoni Partners dhe për të menaxhuar aty lajmet dhe flotën tuaj të autobusëve (NakDriver / NakManager), me role ekipi. Çelësat tuaj API, pikat fundore dhe aplikacionet mbeten të pandryshuara, dhe faqet këtu vazhdojnë të funksionojnë. Hap Nakordoni Partners

← Të gjithë endpoint-et

API e Bus Sun Side Online

Cila anë e autobusit merr diell ose hije gjatë udhëtimit dhe cilat ndenjëse janë më të mirat për hije ose për pamje. Udhëtimi përshkohet me hapa 5-minutësh: pozicioni dhe drejtimi nga itinerari, pozicioni i diellit në atë vend dhe në atë orë, pastaj një vlerësim për çdo ndenjëse sipas renditjes së zgjedhur të autobusit. Përdorni një itinerar nga regjistri ynë i linjave të licencuara (route_id), dy pika (from/to) ose dërgoni me POST itinerarin tuaj (ndalesa ose një polyline) për të marrë gjithashtu hartën e ndenjëseve, hartën e itinerarit dhe kronologjinë si imazhe. Rezultatet janë një vlerësim nga gjeometria dhe pozicioni i diellit; hija reale varet gjithashtu nga perdet, ndërtesat, terreni dhe moti.

GET https://nakordoni.eu/api/v2/data/bus-sun-side — klasa e kuotës: heavy

ParametriPërshkrimi
route_idId e itinerarit nga regjistri ynë i itinerareve të autobusëve (të njëjtat id si në faqet e autobusëve në nakordoni.eu). Përdorni route_id ose from+to.
dirdirect (parazgjedhje) ose return.
dateData e udhëtimit YYYY-MM-DD (parazgjedhje sot). Pozicioni i diellit varet nga data.
depOra e nisjes HH:MM sipas orës lokale të itinerarit (parazgjedhje: orari i regjistrit).
fromItinerar i lirë: pika e nisjes lat,lon (me to).
toItinerar i lirë: pika e mbërritjes lat,lon (me from).
departItinerar i lirë: nisja YYYY-MM-DDTHH:MM, ora lokale e pikës së nisjes.
langGjuha e emrave të vendeve dhe e teksteve, 25 gjuhë (en, uk, pl, de, …). Parazgjedhje en.
bus_modelId e modelit të autobusit nga bus-sun-catalog (parazgjedhje standard_coach). Çdo fushë më poshtë mbishkruan modelin.
rowsSeat rows, 8-20.
layoutRenditja e ndenjëseve: 2+2, 2+1 ose 1+2 (majtas+djathtas korridorit).
door_sideright (Evropa kontinentale) ose left.
windshieldlarge ose normal — sa diell marrin rreshtat e parë përmes xhamit të përparmë.
rear_windownone, small ose large — diell në rreshtat e fundit.
window_heightstandard ose panoramic (dritare anësore të larta).
decksingle, upper ose lower (autobusë dykatësh).
mid_door1 ose 0 — ka derë të mesme (heq ndenjëset aty).
timeline0 = lë jashtë kronologjinë (rreshta 15-minutësh).
track0 = lë jashtë pikat e gjurmës me orar.
weather1 (parazgjedhje) ose 0. Me 1 përdoret një parashikim moti përgjatë udhëtimit kur udhëtimi është brenda 3 ditëve të ardhshme (72 h); udhëtimet e mëvonshme dhe weather=0 përdorin qiell të kthjellët.
animation1 (default) or 0. With 0, the animation block (sun and coach position every 5 minutes) is left out. POST body: animation true|false.

Fushat e përgjigjes — brenda objektit data të zarfit të përgjigjes. [] shënon një listë, pra data.items[].name është fusha name e çdo elementi. Një fushë është null, mungon ose është listë bosh kur nuk kemi vlerë — kurrë një vendmbajtëse.

FushaPërshkrimi
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.

Provojeni pa kod: planifikuesi i anës me diell e ekzekuton këtë API për çdo linjë ose udhëtimin tuaj dhe tregon planin e ndenjëseve, hartën, kronologjinë, imazhet dhe kodin e thirrjes. Hap planifikuesin →

Your route (POST)

Dërgoni itinerarin tuaj si trup JSON me POST në të njëjtin URL. Përgjigjja ka të njëjtat fusha si GET plus input (si u lexua itinerari juaj), images (harta e ndenjëseve, harta e itinerarit dhe kronologjia) dhe embed_html.

Ndalesat pa gjeometri bashkohen me ruterin tonë rrugor; një segment që nuk mund të llogaritet vizatohet si vijë e drejtë dhe numërohet në input.legs_straight. Oraret: të paktën dy ndalesa me orar, ose route.depart me route.duration_min ose route.speed_kmh. Një udhëtim mund të zgjasë deri në 72 h.

Body fieldPërshkrimi
route.stops2-200 ndalesa me radhë: {lat, lon, name?, arr?, dep?, day?}. arr / dep janë ora lokale HH:MM; day = ditë pas route.date (oraret që kalojnë mesnatën kalojnë automatikisht).
route.geometryRruga juaj: një GeoJSON LineString, MultiLineString, Feature ose FeatureCollection (rendi [lon, lat]), ose një varg polyline i koduar. Deri në 5000 pika. Me stops, ndalesat japin oraret dhe gjeometria jep rrugën.
route.polyline_precision5 (parazgjedhje) ose 6, për një polyline të koduar.
route.dateYYYY-MM-DD i orës së ndalesës së parë (parazgjedhje sot).
route.departNisja YYYY-MM-DDTHH:MM, kur ndalesat nuk kanë orare ose dërgoni vetëm gjeometrinë.
route.duration_minKohëzgjatja e udhëtimit në minuta, së bashku me depart (përndryshe koha vjen nga speed_kmh).
route.speed_kmhShpejtësia mesatare së bashku me depart, parazgjedhje 65.
route.timezoneZona kohore IANA e orareve që dërgoni (parazgjedhje: zona e vendit të pikës së parë).
busAutobusi: bus_model nga katalogu dhe/ose seats, rows, layout, door_side, windshield, rear_window, window_height, deck, mid_door — të njëjtat fusha si parametrat GET. Parazgjedhje standard_coach.
imagesCilat imazhe të krijohen: cilido nga seat_map, route_map, timeline (parazgjedhje të treja); [] = asnjë.
formatpng (parazgjedhje), webp ose jpg: lloji i skedarit i çdo URL-je imazhi. svg: skedarë PNG, dhe harta e ndenjëseve kthehet gjithashtu inline si SVG (seat_map.svg).
themelight (default) or dark.
langGjuha e etiketave të imazheve dhe e teksteve, 25 gjuhë (parazgjedhje en).
widthGjerësia e imazhit në px, 240-1600 (parazgjedhje: madhësia natyrale).
embed_htmltrue (parazgjedhje) = kthen edhe embed_html; false = null.
timeline / trackfalse = ajo listë lihet jashtë përgjigjes.
weathertrue (parazgjedhje) ose false: përdor parashikimin e motit përgjatë udhëtimit (3 ditët e ardhshme); false = vetëm qiell i kthjellët. Pranohen edhe 1 dhe 0.

Një fushë e gabuar ose që mungon jep HTTP 400 me error.field të vendosur në shtegun e saj, për shembull route.stops[2].lat ose 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

Çdo imazh ka URL-në e vet me një emër skedari të rastësishëm (.png, .webp ose .jpg). URL-të nuk kërkojnë çelës dhe mbeten të vlefshme për 12 orë (expires_at); kopjoni skedarët nëse ju duhen më gjatë. embed_html është një figure i pavarur me hartën e ndenjëseve si SVG inline dhe një rresht burimi nakordoni.eu; ruajeni burimin kur e shfaqni.

Më poshtë: imazhet për trupin shembull më sipër (minibus, Poznań – Varshavë, 21 qershor).

Harta e ndenjëseve: hije dhe diell për çdo ndenjëse
seat_map
Harta e itinerarit e ngjyrosur sipas anës së diellit
route_map
Kronologjia: kur është dielli në cilën anë
timeline

Bus catalogue

bus_model pranon një nga këto klasa të përgjithshme mjetesh (jo marka specifike). Çdo fushë autobusi që dërgoni mbishkruan modelin; seats shndërrohet në rows sipas layout. E njëjta listë është e disponueshme si JSON nga bus-sun-catalog.

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

Me weather=1 (parazgjedhje; në trupin POST "weather": true) përgjigjja përdor një parashikim moti për çdo orë përgjatë udhëtimit për 3 ditët e ardhshme (72 h); pjesët e mëvonshme të udhëtimit përdorin qiell të kthjellët. summary.sun_*_min atëherë peshohen sipas parashikimit, çdo rresht i timeline merr wx {code, f, temp, precip}, dhe weather {used, window_h, covered_pct, sunny_min, cloudy_min, rain_min, max_temp, note_key} tregon sa pjesë të udhëtimit mbuloi parashikimi. recommend_clear është përgjigjja me qiell të kthjellët; weather_changes_answer është true kur parashikimi ndryshon anën e hijes. Kur parashikimi është kryesisht me re ose shi, recommend.reason_key është mostly_cloudy dhe shade_side është any. recommend.tip_key hot_sun_side do të thotë se për anën me diell parashikohen 28 °C ose më shumë.

Quota and accuracy

GET, si dhe POST me "images": [], numërohen 1 njësi e klasës së rëndë; një POST që krijon imazhe numërohet 2. bus-sun-catalog është një thirrje e lirë. I njëjti trup POST kthen përgjigjen e ruajtur deri në 6 orë (1 orë kur është përdorur parashikim moti).

Rezultati është një vlerësim nga gjeometria e itinerarit dhe pozicioni i diellit. Perdet, xhamat e errësuar, ndërtesat, pemët, terreni dhe një itinerar i ndryshuar nuk na dihen. Retë dhe shiu vijnë nga një parashikim moti vetëm për udhëtimet në 3 ditët e ardhshme; udhëtimet e mëvonshme supozojnë qiell të kthjellët. confidence është më i ulët kur dielli është i ulët, udhëtimi është i shkurtër, itinerari kthehet shpesh ose parashikimi është kryesisht me re.

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"
🔑 Hyni si zhvillues për ta provuar këtë endpoint drejtpërdrejt në sandbox — 10 thirrje testimi falas për produkt në ditë. Hyni

Përditësuar