iBusAPI

בקשה ראשונה

שלושה צעדים, משם התחנה ועד כלי הרכב שבדרך אליה. ל-curl לא צריך להתקין דבר; ל-JavaScript נדרש Node.js 18 ומעלה, ול-Python מספיקה הספרייה הסטנדרטית.

0. לקבל מפתח#

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

shell
export IBUS_API_KEY='ibk_live_k_…'

כל הדוגמאות שלמטה שולחות אותו בכותרת Authorization. לעולם אל תשימו מפתח בכתובת הבקשה, בדף אינטרנט או בחבילת אפליקציה.

1. למצוא את התחנה#

מחפשים לפי שם בעברית, באנגלית או בערבית, או לפי הקוד שכתוב על שלט התחנה.

curl
curl -H "Authorization: Bearer $IBUS_API_KEY" "https://api.ibusisrael.online/api/transport/stops/search?q=Azrieli&limit=3&lang=en"
200 application/json (מקוצר)
[
  {"stop_code": "34219", "stop_name": "Azrieli Mall", "stop_lat": 31.899117, "stop_lon": 35.007414},
  {"stop_code": "21472", "stop_name": "Azrieli Mall/Menahem Begin Road", "stop_lat": 32.074584, "stop_lon": 34.790607}
]

stop_code הוא הקוד הציבורי. לכמה תחנות יכול להיות אותו שם: בדקו את המיקום או חפשו לפי קוד.

2. לבקש את ההגעות#

curl
curl -H "Authorization: Bearer $IBUS_API_KEY" "https://api.ibusisrael.online/api/transport/v2/stop/21472/arrivals?limit=5&lang=en"

3. לקרוא את העדכניות של כל שורה#

freshness.stateאיך להציג
liveתחזית בזמן אמת: expected_in_min, expected_arrival_utc.
scheduled_confirmedזמן לפי לוח הזמנים: freshness.scheduled_arrival_utc. הדיווח של כלי הרכב ישן, ולוח הזמנים מאשר את הנסיעה.
stale_observationכלי הרכב נראה לפני age_sec שניות; זו לא תחזית חיה. אם eta_hidden הוא true, אל תציגו זמן בכלל.
unknown_ageהמקור לא מסר זמן שמיש; אל תציגו את השורה כחיה.

השדה source_state במעטפה מציין אם המקור ענה: ok, no_data (ענה, אבל אין נתונים) או unavailable.

מפתחות מיועדים לשרתים. דף אינטרנט או אפליקציה פונים לשרת שלכם, והשרת פונה ל-iBus עם המפתח; בקשות חוצות-מקור מדפדפן מותרות רק לאפליקציית iBus.

ומה הלאה#

מדריך
↑ ↓ מעברEnter פתיחהEsc סגירה