Çıkış Özel

Araç ve veri girişlerinizi ekibimiz sizin yerinize yapıyor! Arkanıza yaslanın ve dijitalleşmenin tadını çıkarın.

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.