API Genel Tanım
Bu API, verilen konum noktaları üzerinden en kısa / en verimli rotayı hesaplamak için tasarlanmıştır. Hesaplama sırasında hem OR-Tools algoritması hem de AI tabanlı optimizasyon çalıştırılır ve sonuçlar karşılaştırmalı olarak döndürülür. En iyi sonuç winner alanında belirtilir.
Çoklu Araç (VRP) Desteği: Sistemimiz, birden fazla araç kullanıldığında noktaları coğrafi olarak en mantıklı kümelere (Clustering) ayırır ve her bir kümeyi paralel iş parçacıkları (multithreading) ile optimize eder. Bu sayede karmaşık lojistik operasyonları saniyeler içinde AI tarafından çözülür.
Kimlik Doğrulama
Tüm isteklerde Authorization başlığı altında Bearer token kullanmalısınız. API anahtarınızı dashboard üzerinden temin edebilirsiniz.
HTTP İstek Bilgileri
- Method:
POST - Content-Type:
application/json - Response-Type:
application/json - Timeout Önerisi:
60 saniye(en az)
Uzun süren ve çoklu araç içeren hesaplamalar nedeniyle istemci tarafında timeout süresi 60 saniye olarak ayarlanmalıdır.
Rota Çözücü
Hibrit motor (AI + OR-Tools) kullanarak en iyi rotayı bulur. Çoklu araç desteği ile noktaları otomatik olarak kümelere ayırır.
Çoklu Araç (VRP) Kullanımı
Birden fazla araç için num_vehicles parametresini isteğe eklemeniz yeterlidir. Sistem, noktaları otomatik olarak en verimli kümelere ayırır ve her bir araç için ayrı rota hesaplar.
İstek Gövdesi (JSON)
Kod Örnekleri
Python İstek Örneği
PHP İstek Örneği
Başarılı Yanıt (200 OK)
Alan Açıklamaları
- best_distance: En iyi bulunan toplam mesafe (metre)
- best_route: Noktaların ziyaret sırası (index bazlı). Çoklu araç durumunda rotalar 0 durakları ile birbirinden ayrılır (Örn: [0,1,2,0,0,3,4,0]). (Çoklu araç durumunda rotalar
0durakları ile birbirinden ayrılır). - winner: En iyi sonucu veren algoritma (AI veya OR-Tools)
- num_vehicles: Araç sayısı (Varsayılan: 1). Sistem, noktaları bu sayıya göre kümelere bölerek paralel optimize eder.
- results.ai / results.ortools: Algoritmalara ait detaylı metrikler
- route_geometry: Harita üzerinde çizim için GeoJSON uyumlu rota
Hata ve Debug Notları
- HTTP 200 dışında bir status code alırsanız JSON parse etmeyin.
- Boş yanıt veya HTML dönerse
response.textloglanmalıdır. - JSON parse hataları genellikle timeout veya upstream error kaynaklıdır.