API Sənədləri və Playground
Giriş
OSRMRoute Directions API, tətbiqlərinizə sürətli, yüksək performanslı coğrafi marşrutlaşdırma, səyahət matrisləri, ünvan axtarışı (geocoding) və marşrut optimallaşdırma imkanları inteqrasiya etmək üçün yaradılmış RESTful veb xidmətidir. Bu sənədlərdə API-nin bütün imkanları, parametrləri və inteqrasiya addımları detallı şəkildə izah edilmişdir.
Autentifikasiya
OSRMRoute API sorğuları autentifikasiya üçün unikal API Açarından istifadə edir. API açarınızı hər bir sorğuya query parametri kimi (?key=YOUR_KEY) və ya HTTP Authorization başlığı vasitəsilə (Bearer token kimi) əlavə edə bilərsiniz.
Any endpointParametrlər (Query Params)
| Parametr | Tip | Status | Default | Təsvir |
|---|---|---|---|---|
| key | string | Məcburi | - | Şəxsi idarəetmə panelinizdən əldə etdiyiniz unikal API açarı. Bu açar sorğularınızın limitini müəyyən edir. |
Xəta Kodları
OSRMRoute, sorğunun vəziyyətini bildirmək üçün standart HTTP status kodlarından və ətraflı JSON xəta mesajlarından istifadə edir.
Cavab Strukturunun Şərhi
Əsas status kodları və onların şərhi: - **200 OK**: Sorğu uğurla yerinə yetirildi. - **400 Bad Request**: Parametrlər yanlışdır və ya çatışmır. - **401 Unauthorized**: API açarı təqdim olunmayıb və ya etibarsızdır. - **403 Forbidden**: API açarı bloklanıb və ya aktiv deyil. - **429 Too Many Requests**: Günlük kredit limiti aşıldı. - **500 Internal Error**: Sistem daxili xəta baş verdi.
Routing API
A nöqtəsindən B nöqtəsinə (və aralıq via-nöqtələrlə) ən sürətli və ən qısa marşrutu hesablayır. Fərqli nəqliyyat profilləri (driving, cycling, walking) üçün dönmə təlimatları (turn-by-turn) və GeoJSON həndəsəsini qaytarır.
/api/v1/osrm/route/v1/{profile}/{coordinates}Parametrlər (Query Params)
| Parametr | Tip | Status | Default | Təsvir |
|---|---|---|---|---|
| profile | string | Məcburi | driving | Nəqliyyat növü profili. Dəstəklənən dəyərlər: driving (avtomobil), cycling (velosiped), walking (piyada). |
| coordinates | string | Məcburi | - | Nöqtələrin koordinatları. Format: lon,lat;lon,lat;lon,lat... (ən azı 2 nöqtə). |
| overview | string | Könüllü | full | Qayıdan marşrut həndəsəsinin detalı: simplified (sadələşdirilmiş), full (tam həndəsə), false (həndəsəsiz). |
| geometries | string | Könüllü | geojson | Həndəsə formatı: geojson (GeoJSON obyekt), polyline (kodlaşdırılmış sətir). |
| steps | boolean | Könüllü | true | Hər dönmə nöqtəsi üçün addım-addım təlimatların qaytarılıb-qaytarılmaması. |
Cavab Strukturunun Şərhi
Uğurlu cavab marşrutun ümumi məsafəsini (metrlə), səyahət müddətini (saniyə ilə), keçid nöqtələrini və GeoJSON marşrut xəttini ehtiva edir.
Matrix API
Çoxlu nöqtələr arasında sürətli məsafə və səyahət müddəti matrisi hesablayır (NxM cədvəl). Logistika marşrutlarının optimallaşdırılması üçün ideal alətdir.
/api/v1/osrm/table/v1/{profile}/{coordinates}Parametrlər (Query Params)
| Parametr | Tip | Status | Default | Təsvir |
|---|---|---|---|---|
| profile | string | Məcburi | driving | Nəqliyyat profili (driving, cycling, walking). |
| coordinates | string | Məcburi | - | Matris nöqtələri. Format: lon,lat;lon,lat;lon,lat... |
| annotations | string | Könüllü | duration,distance | Hesablanacaq məlumat: duration (vaxt), distance (məsafə) və ya hər ikisi. |
Cavab Strukturunun Şərhi
Uğurlu cavab hər bir başlanğıc və son nöqtə kombinasiyası üçün ikiölçülü distances (məsafələr) və durations (müddətlər) matris cədvəlini qaytarır.
Map Matching API
Dəqiq olmayan GPS izlərini real yol şəbəkəsinə uyğunlaşdırır (snap to road). GPS siqnallarındakı yayınmaları təmizləmək üçün istifadə olunur.
/api/v1/osrm/match/v1/{profile}/{coordinates}Parametrlər (Query Params)
| Parametr | Tip | Status | Default | Təsvir |
|---|---|---|---|---|
| profile | string | Məcburi | driving | Nəqliyyat profili. |
| coordinates | string | Məcburi | - | Sıxılacaq GPS koordinatlarının ardıcıllığı (lon,lat;lon,lat...) |
| overview | string | Könüllü | full | Uyğunlaşdırılmış marşrutun həndəsə dəqiqliyi. |
Nearest API
İstənilən koordinatı ona ən yaxın olan real yol seqmentinə bağlayır (snap) və yolun adı haqqında məlumat qaytarır.
/api/v1/osrm/nearest/v1/{profile}/{coordinates}Parametrlər (Query Params)
| Parametr | Tip | Status | Default | Təsvir |
|---|---|---|---|---|
| profile | string | Məcburi | driving | Nəqliyyat profili. |
| coordinates | string | Məcburi | - | Yaxınlığı axtarılan nöqtə. Format: lon,lat (tək cüt). |
| number | integer | Könüllü | 3 | Tapılacaq ən yaxın yol namizədlərinin sayı. |
Trip API
Səyyah Satıcı Problemini (TSP) həll edir: Verilmiş nöqtələr ardıcıllığını gəzmək üçün ən optimal dairəvi (və ya açıq) marşrutu tapır və nöqtələri sıralayır.
/api/v1/osrm/trip/v1/{profile}/{coordinates}Parametrlər (Query Params)
| Parametr | Tip | Status | Default | Təsvir |
|---|---|---|---|---|
| profile | string | Məcburi | driving | Nəqliyyat profili. |
| coordinates | string | Məcburi | - | Gəziləcək nöqtələr. Format: lon,lat;lon,lat... |
| source | string | Könüllü | any | Marşrutun başlaya biləcəyi nöqtə (any və ya birinci nöqtə). |
| destination | string | Könüllü | any | Marşrutun bitəcəyi nöqtə (any və ya sonuncu nöqtə). |
Geocoding API
Ünvanların coğrafi koordinatlara (və ya əksinə) çevrilməsini həyata keçirir. İnteqrasiya edilmiş axtarış sistemləri üçün idealdır.
/api/1/geocodeParametrlər (Query Params)
| Parametr | Tip | Status | Default | Təsvir |
|---|---|---|---|---|
| q | string | Məcburi | - | Axtarılan ünvan (məs: "Nizami küçəsi, Bakı"). |
| reverse | boolean | Könüllü | false | Əks geocoding (koordinatdan ünvana axtarış) etmək üçün true olmalıdır. |
Isochrone API
Müəyyən edilmiş nöqtədən müəyyən edilmiş vaxt və ya məsafədə çatılması mümkün olan coğrafi zonaların poliqonlarını qaytarır.
/api/1/isochroneParametrlər (Query Params)
| Parametr | Tip | Status | Default | Təsvir |
|---|---|---|---|---|
| point | string | Məcburi | - | Mərkəz nöqtə. Format: lat,lon. |
| time_limit | integer | Könüllü | 600 | Səyahət vaxt limiti (saniyə ilə). |
Route Optimization API
Nəqliyyat donanmasının marşrutlarını optimallaşdırır (Vehicle Routing Problem). Avtomobillərin yükdaşıma, çatdırılma planını ən az xərclə hesablayır.
/api/1/vrpParametrlər (Query Params)
| Parametr | Tip | Status | Default | Təsvir |
|---|---|---|---|---|
| vehicles | array | Məcburi | [] | Nəqliyyat vasitələrinin siyahısı (id, tutum, başlanğıc ünvanı və s.). |
| services | array | Məcburi | [] | Xidmət göstəriləcək ünvanlar (id, koordinatlar, xidmət vaxtı və s.). |
Location Clustering API
Verilmiş koordinatları coğrafi yaxınlıqlarına və sıxlıqlarına görə qruplaşdırır (klasterlərə ayırır).
/api/1/clusterParametrlər (Query Params)
| Parametr | Tip | Status | Default | Təsvir |
|---|---|---|---|---|
| customers | array | Məcburi | [] | Klasterləşdiriləcək müştəri koordinatları və çəkiləri. |