GELİŞTİRİCİ DOKÜMANTASYONU

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.

ParametreTipAçıklama
statusstringFiltre: active | idle | offline
route_idstringHat ID'sine göre filtrele
limitintegerSayfa 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
AlanTipAçıklama
message zorunlustringGönderilecek metin (maks. 200 karakter)
prioritystringnormal | 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ı

KodDurumAçıklama
400Bad RequestGeçersiz parametre veya eksik zorunlu alan
401UnauthorizedGeçersiz veya süresi dolmuş token
403ForbiddenBu kaynağa erişim yetkiniz yok
404Not FoundKaynak bulunamadı
429Too Many RequestsRate limit aşıldı
500Server ErrorSunucu 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"
}