API Dokümantasyonu
RESTful JSON-based API endpoints for enterprise-grade dealer management operations
Not: Bu API dokümantasyonu genel bir bakış sağlamak için hazırlanmıştır. Detaylı API erişimi ve entegrasyon desteği için lütfen bizimle iletişime geçin.
API Overview
Akıllı Galeri RESTful API, JSON tabanlı bir web servisidir. Tüm endpoint'ler HTTPS üzerinden çalışır ve JWT (JSON Web Token) tabanlı kimlik doğrulama kullanır. API, multi-tenant mimariyi destekler ve her istek otomatik olarak ilgili tenant'a yönlendirilir.
Base URL
https://api.akilligaleri.com/api Authentication
Tüm API istekleri (login ve register hariç) JWT token gerektirir. Token, HTTP header'da şu şekilde gönderilir:
Authorization: Bearer <your-jwt-token> Response Format
Tüm API yanıtları JSON formatındadır. Başarılı yanıtlar HTTP 200-299 status kodları ile döner. Hata durumlarında uygun HTTP status kodu ve hata mesajı döner.
Core Data Models
Vehicle Model
Araç envanteri için temel veri modeli. Her araç, benzersiz bir ID ve tenant_id ile ilişkilendirilir.
{
"id": number,
"tenant_id": number,
"vehicle_number": string,
"maker": string,
"model": string,
"production_year": number,
"chassis_no": string,
"sale_price": number,
"base_currency": "GBP" | "USD" | "EUR" | "TRY" | "JPY",
"primary_image_url": string,
"status": "available" | "sold" | "reserved",
"created_at": "ISO 8601 datetime",
"updated_at": "ISO 8601 datetime"
} Quote Model
Teklif (quotation) veri modeli. Müşterilere sunulan teklifler için kullanılır.
{
"id": number,
"tenant_id": number,
"customer_id": number,
"vehicle_id": number,
"quote_number": string,
"total_amount": number,
"currency": "GBP" | "USD" | "EUR" | "TRY" | "JPY",
"exchange_rate": number,
"frozen_rate": boolean,
"valid_until": "ISO 8601 datetime",
"status": "draft" | "sent" | "accepted" | "rejected",
"items": QuoteItem[],
"created_at": "ISO 8601 datetime"
} Sale Model
Satış işlemleri için veri modeli. Araç satışları ve taksitli ödeme planları içerir.
{
"id": number,
"tenant_id": number,
"vehicle_id": number,
"customer_id": number,
"sale_date": "ISO 8601 date",
"sale_price": number,
"currency": "GBP" | "USD" | "EUR" | "TRY" | "JPY",
"exchange_rate": number,
"frozen_rate": boolean,
"payment_method": "cash" | "installment" | "mixed",
"installments": Installment[],
"created_at": "ISO 8601 datetime"
} Currency Rate Model
Döviz kuru veri modeli. Tarihsel kur verileri ve frozen rate bilgilerini içerir.
{
"id": number,
"from_currency": "GBP" | "USD" | "EUR" | "TRY" | "JPY",
"to_currency": "GBP" | "USD" | "EUR" | "TRY" | "JPY",
"rate": number,
"date": "ISO 8601 date",
"source": "central_bank" | "api" | "manual",
"is_frozen": boolean,
"created_at": "ISO 8601 datetime"
} API Endpoints
Authentication Endpoints
POST /auth/login
Kullanıcı girişi ve JWT token alımı
Request Body: email, password
Response: token, user, tenant
POST /auth/register
Yeni kullanıcı ve tenant kaydı
Request Body: email, password, tenant_name, etc.
Vehicle Endpoints
GET /vehicles
Araç listesi (tenant'a özel filtrelenmiş)
Query Params: page, limit, status, search
GET /vehicles/:id
Tek araç detayı
POST /vehicles
Yeni araç ekleme
Request Body: Vehicle model fields
PUT /vehicles/:id
Araç güncelleme
DELETE /vehicles/:id
Araç silme (soft delete)
Quote Endpoints
GET /quotes
Teklif listesi
POST /quotes
Yeni teklif oluşturma
Features: Multi-currency support, frozen rate option
GET /quotes/:id/pdf
Teklif PDF indirme
Sales Endpoints
POST /sales
Satış kaydı oluşturma
Features: Installment plan support, multi-currency
GET /sales
Satış listesi ve raporlama
Currency Endpoints
GET /currency/rate
Güncel döviz kuru sorgulama
Query Params: from, to, date (optional)
GET /currency/history
Tarihsel kur verileri
Multi-Tenant Architecture
Tüm API endpoint'leri otomatik olarak multi-tenant mimariyi destekler. Her istek, JWT token'dan çıkarılan tenant_id ile filtrelenir. Bu sayede:
- Bir tenant, başka bir tenant'ın verilerine erişemez
- Veri izolasyonu veritabanı seviyesinde garanti edilir
- API çağrıları otomatik olarak doğru tenant'a yönlendirilir
Error Handling
API, standart HTTP status kodları kullanır:
- 200-299: Başarılı işlemler
- 400: Geçersiz istek (validation errors)
- 401: Kimlik doğrulama hatası
- 403: Yetki hatası (RBAC)
- 404: Kaynak bulunamadı
- 500: Sunucu hatası
Rate Limiting
API endpoint'leri rate limiting ile korunur. Varsayılan limit: 100 istek/dakika per IP address. Daha yüksek limitler için lütfen bizimle iletişime geçin.
API Versioning
API versiyonlama, gelecekteki değişiklikler için uyumluluğu garanti eder. Şu an için v1 API kullanılmaktadır.
API Entegrasyonu ve Destek
Akıllı Galeri API dokümantasyonu, entegrasyon desteği ve özel endpoint'ler için bizimle iletişime geçin.