Ana içeriğe geç

Version Docs Updated

Amaç

MHM Rentiva v1 REST API, dış sistemlerle entegrasyon, mobil uygulama desteği ve asenkron operasyonlar için temel uç noktaları sağlar. Tüm uç noktalar wp-json/mhm-rentiva/v1 ad alanı (namespace) altında sunulur.

🌐 REST API v1 Yapısı

v1 API katmanı, geriye dönük uyumluluğu korurken güvenli ve hızlı veri erişimi sağlar.


🔑 1. Kimlik Doğrulama ve Güvenlik

API uç noktalarına erişim, işlemin türüne göre üç farklı yöntemle sağlanır:

YöntemKullanım AlanıDetay
PublicKonumlar, MüsaitlikHerkese açık veriler için kimlik doğrulama gerekmez.
NonceAJAX/Web etkileşimleri_wpnonce header/parametre doğrulaması gerekir.
API KeyDış Servis EntegrasyonlarıX-Rentiva-API-Key veya Bearer Token üzerinden doğrulama.

🚀 2. Temel Uç Noktalar (Endpoints)

A. Sistem Sağlığı (/health)

  • Metot: GET
  • İşlev: Veritabanı tablolarının varlığını, eklenti sürümünü ve lisans durumunu kontrol eder.
  • Yanıt: {"status": "ok", "version": "4.21.2"}

B. Konum Servisleri (/locations)

  • Metot: GET
  • İşlev: Rezervasyon ve transfer modülleri için tanımlı aktif lokasyonları döner.
  • Parametreler: ?type=airport, ?city=istanbul

C. Müsaitlik ve Fiyatlandırma (/availability)

  • Metot: POST
  • İşlev: Belirli tarihler ve araç ID'si için müsaitlik kontrolü yapar ve Pricing Engine üzerinden net fiyat hesaplar.
  • Girdi: vehicle_id, pickup_date, return_date

🛡️ 3. Güvenlik Katmanı (AuthHelper)

Tüm "yazma" (POST/PUT/DELETE) işlemlerinde AuthHelper sınıfı devreye girer:

  • Rate Limiting: Her API anahtarı için dakikalık istek sınırı.
  • HMAC Verification: Webhook geri dönüşlerinde veri bütünlüğünü garanti eder.

📊 4. Yanıt ve Hata Formatı

Sistem standart olarak JSON yanıtlar döner:

{
"success": true,
"data": { ... },
"message": "İşlem başarılı."
}

Hata durumunda:

{
"success": false,
"error_code": "INVALID_PARAMS",
"message": "Eksik parametre gönderildi."
}

⚛️ 5. Admin React SPA Uç Noktaları (v4.36.0+)

v4.36.0 sürümünden itibaren tüm büyük yönetici sayfaları React SPA'lara taşındı. Her sayfa özel bir REST denetleyicisiyle desteklenir. Tüm uç noktalar manage_options yetkisi gerektirir.

Kontrol Paneli (v4.36.0)

MetotUç NoktaAçıklama
GET/dashboard/statsKPI kartları: toplam rezervasyon, gelir, aktif araçlar, müşteriler
GET/dashboard/recent-bookingsSayfalandırılmış son rezervasyonlar widget'ı
GET/dashboard/recent-transfersYaklaşan transferlere genel bakış

Raporlar (v4.37.x)

MetotUç NoktaAçıklama
GET/reports/overviewSekmeler arası özet istatistikler
GET/reports/revenueGelir çubuk grafiği verisi + günlük detay listesi
GET/reports/bookingsRezervasyon durumu dağılımı
GET/reports/vehiclesAraç performans KPI'ları + en iyi araçlar
GET/reports/customersMüşteri yaşam döngüsü grafiği + özet metrikler

Tüm rapor uç noktaları tarih aralığı filtrelemesi için ?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD kabul eder.

Müşteriler (v4.39.0)

MetotUç NoktaAçıklama
GET/customersSayfalandırılmış liste — ?search=, ?sort_by=, ?sort_order=, ?page= destekler
GET/customers/{id}Tekil müşteri detayı (rezervasyon sayısı, toplam harcama, ilk/son rezervasyon)
DELETE/customers/bulkToplu silme — istek gövdesinde ids[] dizisi kabul eder

Mesajlar (v4.40.0)

MetotUç NoktaAçıklama
GET/messagesSayfalandırılmış gelen kutusu — duruma, önceliğe, kategoriye göre filtrelenebilir
GET/messages/{id}Tek bir mesaj için ileti dizisi görünümü
POST/messages/{id}/replyBir ileti dizisinde yanıt gönder
POST/messages/{id}/statusMesaj durumunu güncelle (beklemede/yanıtlandı/kapatıldı)

Bayi Raporları (v4.40.0)

MetotUç NoktaAçıklama
GET/vendor-reportsSayfalandırılmış liste — duruma ve bağlam tipine göre filtrelenebilir
GET/vendor-reports/{id}Tam açıklama ve denetim izi ile tekil rapor detayı
POST/vendor-reports/{id}/resolveÇözüldü olarak işaretle (bağlama göre ceza serbest bırakma veya uygulama tetikler)
POST/vendor-reports/{id}/rejectRaporu reddet (vehicle_action bağlamı için ertelenmiş ceza tetikler)

Bayi Yönetimi (v4.40.0)

MetotUç NoktaAçıklama
GET/vendor-management/applicationsBekleyen bayi başvuruları
GET/vendor-management/vendorsArama/filtre ile aktif bayi listesi
GET/vendor-management/{id}Bayi detayı (maskeli IBAN, belgeler, istatistikler)
POST/vendor-management/{id}/approveBekleyen bir başvuruyu onayla
POST/vendor-management/{id}/rejectBekleyen bir başvuruyu reddet
POST/vendor-management/{id}/suspendAktif bir bayiyi askıya al
POST/vendor-management/{id}/unsuspendBir bayiyi askıdan al (v4.43.0)
GET/vendor-management/{id}/audit-logKomisyon + ceza denetim günlüğü (v4.43.0)

Export (v4.52.0)

MetotUç NoktaAçıklama
GET/admin/export/historySayfalandırılmış dışa aktarma logu — transient tabanlı, maks. 50 kayıt, 1 hafta TTL
DELETE/admin/export/{id}Belirli bir dışa aktarma geçmiş kaydını siler
POST/admin/export/previewSeçili post türü ve tarih filtreleri için toplam kayıt sayısı + 5 satırlık örnek

Bölüm Sonu Özeti

  • v1 API, mhm-rentiva/v1 altında hizmet verir.
  • Kimlik doğrulama, işlemin kritiklik seviyesine göre değişkenlik gösterir.
  • Tüm operasyonlar merkezi AuthHelper ve ErrorHandler ile denetlenir.
  • Admin React SPA uç noktalarının (v4.36.0+) tamamı manage_options yetkisi gerektirir.

Değişiklik Günlüğü

TarihSürümNot
12.05.20264.52.0Export REST denetleyicisi: /admin/export/history, /admin/export/{id}, /admin/export/preview.
07.05.20264.43.0/vendor-management/{id}/unsuspend + /vendor-management/{id}/audit-log uç noktaları eklendi.
06.05.20264.40.0Messages, Bayi Raporları, Bayi Yönetimi REST denetleyicileri eklendi (12 yeni uç nokta).
10.04.20264.39.0Müşteriler REST denetleyicisi: GET /customers, /customers/{id}, DELETE /customers/bulk.
05.04.20264.37.xRaporlar REST denetleyicisi: tarih aralığı filtreli 5 sekme uç noktası.
10.05.20264.36.0Kontrol Paneli REST denetleyicisi: /dashboard/stats, /dashboard/recent-bookings, /dashboard/recent-transfers.
19.03.20264.21.2v1 API mimarisi ve güvenlik katmanları güncellendi.