שליחת חדשות וצי NakBus נמצאים כעת בלוח השותפים
השתמשו באותם פרטי התחברות (אימייל וסיסמה) של חשבון המפתחים שלכם כדי להיכנס ללוח הבקרה של Nakordoni Partners ולנהל שם חדשות ואת צי האוטובוסים שלכם (NakDriver / NakManager) עם תפקידי צוות. מפתחות ה-API, נקודות הקצה והאפליקציות שלכם נשארים ללא שינוי, והדפים כאן ממשיכים לעבוד. פתח את Nakordoni Partners

← כל נקודות הקצה

ממשק ה-API של Bus Sun Side Online

איזה צד של האוטובוס מקבל שמש או צל בנסיעה, ואילו מושבים הם הטובים ביותר לצל או לנוף. הנסיעה נסרקת בצעדים של 5 דקות: מיקום וכיוון מהמסלול, מיקום השמש במקום ובשעה האלה, ואז הערכה לכל מושב לפי סידור האוטובוס שנבחר. השתמשו במסלול ממרשם הקווים המורשים שלנו (route_id), בשתי נקודות (from/to), או שלחו ב-POST מסלול משלכם (תחנות או polyline) כדי לקבל גם מפת מושבים, מפת מסלול וציר זמן כתמונות. התוצאות הן הערכה על סמך גאומטריה ומיקום השמש; הצל בפועל תלוי גם בווילונות, בבניינים, בפני השטח ובמזג האוויר.

GET https://nakordoni.eu/api/v2/data/bus-sun-side — מחלקת מכסה: heavy

פרמטרתיאור
route_idid של מסלול ממרשם קווי האוטובוס שלנו (אותם id כמו בדפי האוטובוס ב-nakordoni.eu). השתמשו ב-route_id או ב-from+to.
dirdirect (ברירת מחדל) או return.
dateתאריך הנסיעה YYYY-MM-DD (ברירת מחדל היום). מיקום השמש תלוי בתאריך.
depשעת יציאה HH:MM בשעון המקומי של המסלול (ברירת מחדל: לוח הזמנים מהמרשם).
fromמסלול חופשי: נקודת התחלה lat,lon (יחד עם to).
toמסלול חופשי: נקודת סיום lat,lon (יחד עם from).
departמסלול חופשי: יציאה YYYY-MM-DDTHH:MM, שעה מקומית של נקודת ההתחלה.
langשפת שמות המקומות והטקסטים, 25 שפות (en, uk, pl, de, …). ברירת מחדל en.
bus_modelid של דגם אוטובוס מ-bus-sun-catalog (ברירת מחדל standard_coach). כל שדה למטה דורס את הדגם.
rowsSeat rows, 8-20.
layoutסידור מושבים: 2+2, 2+1 או 1+2 (שמאל+ימין למעבר).
door_sideright (אירופה היבשתית) או left.
windshieldlarge או normal — כמה שמש מקבלות השורות הראשונות דרך השמשה הקדמית.
rear_windownone, small או large — שמש בשורות האחרונות.
window_heightstandard או panoramic (חלונות צד גבוהים).
decksingle, upper או lower (אוטובוסים דו-קומתיים).
mid_door1 או 0 — יש דלת אמצעית (מסיר את המושבים שם).
timeline0 = להשמיט את ציר הזמן (שורות של 15 דקות).
track0 = להשמיט את נקודות המסלול עם חותמת זמן.
weather1 (ברירת מחדל) או 0. עם 1 נעשה שימוש בתחזית מזג אוויר לאורך הנסיעה כשהנסיעה בתוך 3 הימים הקרובים (72 h); נסיעות מאוחרות יותר ו-weather=0 משתמשים בשמיים בהירים.
animation1 (default) or 0. With 0, the animation block (sun and coach position every 5 minutes) is left out. POST body: animation true|false.

שדות התשובה — בתוך אובייקט data שבמעטפת התשובה. [] מסמן רשימה, ולכן data.items[].name הוא שדה name של כל פריט. שדה יהיה null, ייעדר או יחזור כרשימה ריקה כשאין לנו ערך עבורו — לעולם לא ערך ממלא מקום.

שדהתיאור
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.

נסו בלי קוד: מתכנן הצד המואר מריץ את ה-API הזה על כל קו או על הנסיעה שלכם ומציג מפת מושבים, מפה, ציר זמן, תמונות ואת הקוד של הקריאה. פתיחת המתכנן →

Your route (POST)

שלחו מסלול משלכם כגוף JSON ב-POST לאותו URL. בתשובה אותם שדות כמו ב-GET ובנוסף input (איך המסלול נקרא), images (מפת מושבים, מפת מסלול וציר זמן) ו-embed_html.

תחנות ללא גאומטריה מחוברות בנתב הכבישים שלנו; קטע שלא ניתן לנתב מצויר כקו ישר ונספר ב-input.legs_straight. שעות: לפחות שתי תחנות עם שעה, או route.depart עם route.duration_min או route.speed_kmh. נסיעה יכולה להימשך עד 72 h.

Body fieldתיאור
route.stops2-200 תחנות לפי הסדר: {lat, lon, name?, arr?, dep?, day?}. arr / dep הם שעה מקומית HH:MM; day = ימים אחרי route.date (שעות שעוברות את חצות מתגלגלות אוטומטית).
route.geometryהמסלול שלכם: GeoJSON LineString, MultiLineString, Feature או FeatureCollection (סדר [lon, lat]), או מחרוזת polyline מקודדת. עד 5000 נקודות. יחד עם stops, התחנות נותנות את השעות והגאומטריה נותנת את המסלול.
route.polyline_precision5 (ברירת מחדל) או 6, עבור polyline מקודד.
route.dateYYYY-MM-DD של שעת התחנה הראשונה (ברירת מחדל היום).
route.departיציאה YYYY-MM-DDTHH:MM, כשלתחנות אין שעות או כששולחים גאומטריה בלבד.
route.duration_minמשך הנסיעה בדקות, יחד עם depart (אחרת הזמן מחושב מ-speed_kmh).
route.speed_kmhמהירות ממוצעת יחד עם depart, ברירת מחדל 65.
route.timezoneאזור זמן IANA של השעות שאתם שולחים (ברירת מחדל: האזור של המדינה של הנקודה הראשונה).
busהאוטובוס: bus_model מהקטלוג ו/או seats, rows, layout, door_side, windshield, rear_window, window_height, deck, mid_door — אותם שדות כמו פרמטרי GET. ברירת מחדל standard_coach.
imagesאילו תמונות ליצור: כל אחת מ-seat_map, route_map, timeline (ברירת מחדל שלושתן); [] = אף אחת.
formatpng (ברירת מחדל), webp או jpg: סוג הקובץ של כל URL של תמונה. svg: קובצי PNG, ומפת המושבים מוחזרת גם כ-SVG מוטמע (seat_map.svg).
themelight (default) or dark.
langשפת התוויות בתמונות והטקסטים, 25 שפות (ברירת מחדל en).
widthרוחב התמונה ב-px, 240-1600 (ברירת מחדל: גודל טבעי).
embed_htmltrue (ברירת מחדל) = להחזיר גם embed_html; false = null.
timeline / trackfalse = להשמיט את הרשימה הזו מהתשובה.
weathertrue (ברירת מחדל) או false: שימוש בתחזית מזג האוויר לאורך הנסיעה (3 הימים הקרובים); false = שמיים בהירים בלבד. מתקבלים גם 1 ו-0.

שדה שגוי או חסר מחזיר HTTP 400 כש-error.field מכיל את הנתיב שלו, לדוגמה route.stops[2].lat או 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

לכל תמונה יש URL משלה עם שם קובץ אקראי (.png, .webp או .jpg). ה-URL אינם דורשים מפתח ותקפים 12 שעות (expires_at); העתיקו את הקבצים אם הם נחוצים לכם זמן רב יותר. embed_html הוא figure עצמאי עם מפת המושבים כ-SVG מוטמע ושורת קרדיט של nakordoni.eu; שמרו על הקרדיט כשאתם מציגים אותו.

למטה: התמונות עבור גוף הדוגמה שלמעלה (מיניבוס, פוזנן לוורשה, 21 ביוני).

מפת מושבים: צל ושמש לכל מושב
seat_map
מפת מסלול צבועה לפי צד השמש
route_map
ציר זמן: מתי השמש באיזה צד
timeline

Bus catalogue

bus_model מקבל אחת ממחלקות הרכב הכלליות האלה (לא יצרנים ספציפיים). כל שדה אוטובוס שנשלח דורס את הדגם; seats מומר ל-rows לפי ה-layout. אותה רשימה זמינה כ-JSON מ-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

עם weather=1 (ברירת מחדל; בגוף POST "weather": true) התשובה משתמשת בתחזית מזג אוויר שעתית לאורך הנסיעה ל-3 הימים הקרובים (72 h); בחלקים מאוחרים יותר של הנסיעה מניחים שמיים בהירים. אז summary.sun_*_min משוקללים לפי התחזית, כל שורה ב-timeline מקבלת wx {code, f, temp, precip}, ו-weather {used, window_h, covered_pct, sunny_min, cloudy_min, rain_min, max_temp, note_key} מראה איזה חלק מהנסיעה כוסה בתחזית. recommend_clear היא התשובה לשמיים בהירים; weather_changes_answer הוא true כשהתחזית משנה את צד הצל. כשהתחזית בעיקר מעוננת או גשומה, recommend.reason_key הוא mostly_cloudy ו-shade_side הוא any. recommend.tip_key hot_sun_side פירושו שבצד השמשי צפויים 28 °C או יותר.

Quota and accuracy

GET, וגם POST עם "images": [], נספרים כיחידה 1 של המחלקה הכבדה; POST שיוצר תמונות נספר כ-2. bus-sun-catalog היא קריאה זולה. אותו גוף POST מחזיר את התשובה השמורה עד 6 שעות (שעה 1 כשנעשה שימוש בתחזית מזג אוויר).

התוצאה היא הערכה על סמך גאומטריית המסלול ומיקום השמש. וילונות, זכוכית כהה, בניינים, עצים, פני השטח ומסלול ששונה אינם ידועים לנו. עננים וגשם מגיעים מתחזית מזג אוויר רק לנסיעות ב-3 הימים הקרובים; לנסיעות מאוחרות יותר מניחים שמיים בהירים. confidence נמוך יותר כשהשמש נמוכה, הנסיעה קצרה, המסלול פונה לעיתים קרובות או שהתחזית בעיקר מעוננת.

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"
🔑 התחבר כמפתח כדי לנסות נקודת קצה זו בשידור חי ב-sandbox — 10 קריאות בדיקה חינם לכל מוצר ליום. התחברות

עודכן