M4 API Referansı
M4 platformunun tüm modüllerine REST ve WebSocket arayüzleri üzerinden erişebilirsiniz. Bu dokümantasyon entegrasyon için gereken endpoint, parametre ve örnek kod bilgilerini içerir.
REST v1
WebSocket
MQTT
JSON
OpenAPI 3.0
Genel Bakış
M4 API, RESTful prensipler üzerine kurulmuştur. Tüm yanıtlar JSON formatındadır. Gerçek zamanlı veri akışı için WebSocket veya MQTT bağlantısı kullanılır.
Kimlik Doğrulama
Bearer Token
Tüm API istekleri Authorization header'ında Bearer token gerektirir. Token'ınızı yönetici panelinden alabilirsiniz.
// HTTP isteği örneği GET /v1/vehicles Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... Content-Type: application/json
Base URL
// Production https://api.mseries.ai/v1 // Sandbox (test ortamı) https://sandbox.api.mseries.ai/v1
Move API · Araç ve Sefer
Araç Listesi
GET/v1/vehicles
Filodaki tüm araçların anlık konum ve durum bilgisini döner.
| Parametre | Tip | Açıklama |
|---|---|---|
| status | string | Filtre: active | idle | offline |
| route_id | string | Hat ID'sine göre filtrele |
| limit | integer | Sayfa başına kayıt (varsayılan: 50) |
// Örnek yanıt { "data": [ { "id": "VH-3241", "route_id": "RT-15", "status": "active", "location": { "lat": 41.0082, "lon": 39.7268 }, "speed_kmh": 42, "updated_at": "2026-04-24T09:14:22Z" } ], "meta": { "total": 247, "page": 1 } }
Araç Detayı
GET/v1/vehicles/{id}
Operatör Mesajı Gönder
POST/v1/vehicles/{id}/messages
| Alan | Tip | Açıklama |
|---|---|---|
| message zorunlu | string | Gönderilecek metin (maks. 200 karakter) |
| priority | string | normal | urgent |
Insight API · Analitik
Hat Yoğunluk Verisi
GET/v1/analytics/routes/{route_id}/occupancy
// Parametre örneği GET /v1/analytics/routes/RT-15/occupancy ?from=2026-04-01 &to=2026-04-24 &granularity=hourly
Anomali Listesi
GET/v1/analytics/anomalies
Field API · Altyapı
Cihaz Envanteri
GET/v1/devices
VMS Mesajı Gönder
POST/v1/devices/{id}/vms
İş Emri Oluştur
POST/v1/maintenance/orders
Hata Kodları
| Kod | Durum | Açıklama |
|---|---|---|
| 400 | Bad Request | Geçersiz parametre veya eksik zorunlu alan |
| 401 | Unauthorized | Geçersiz veya süresi dolmuş token |
| 403 | Forbidden | Bu kaynağa erişim yetkiniz yok |
| 404 | Not Found | Kaynak bulunamadı |
| 429 | Too Many Requests | Rate limit aşıldı |
| 500 | Server Error | Sunucu hatası, destek ekibiyle iletişime geçin |
Rate Limits
Varsayılan limit: dakikada 300 istek per API anahtarı. WebSocket bağlantıları bu limitten muaftır.
Webhooks
Araç konumu, uyarı veya cihaz durumu değişikliklerini webhook ile alabilirsiniz.
// Webhook payload örneği { "event": "vehicle.alert", "vehicle_id": "VH-3421", "alert_type": "route_deviation", "timestamp": "2026-04-24T09:16:08Z" }