/healthSağlık kontrolü
Yanıtlar
Geliştirici dökümanı
Panelin tükettiği REST uçları. Tüm yanıtlar JSON; hata yanıtları ortak bir formattadır. Base URL: https://cardex.script-app.cloud
Sağlık durumu ve API meta bilgisi.
/healthSağlık kontrolü
Yanıtlar
/api/v1API kökü, endpoint listesi
Yanıtlar
Bir kullanıcıya bağlı (opsiyonel) araç kayıtları.
/api/v1/carsListe
Query parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| firebaseUid | string | Bu Firebase kullanıcısının araçlarını getirir. |
Yanıtlar
/api/v1/carsapplication/jsonYeni araç oluştur
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| plaka* | string | — |
| marka* | string | — |
| model* | string | — |
| yil* | number | 1900–2100 |
| km | number | ≥ 0, varsayılan 0 |
| transmission | string? | — |
| fuelType | string? | — |
| color | string? | — |
| imageUrl | url? | — |
| notes | string? | — |
| brandId | number? | brands tablosuna FK |
| firebaseUid | string? | Sahip Firebase Auth UID |
Yanıtlar
/api/v1/cars/:idTek araç
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Yanıtlar
/api/v1/cars/:idapplication/jsonAracı güncelle (kısmi)
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| plaka | string? | — |
| marka | string? | — |
| model | string? | — |
| yil | number? | — |
| km | number? | — |
| transmission | string? | — |
| fuelType | string? | — |
| color | string? | — |
| imageUrl | url? | — |
| notes | string? | — |
| brandId | number | null? | — |
| firebaseUid | string | null? | — |
Yanıtlar
/api/v1/cars/:idAracı sil
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Yanıtlar
Logo dosyası ile birlikte yönetilir. POST/PATCH multipart/form-data alır; logo dosyası `logo` alanında.
/api/v1/brandsListe (sortOrder, name)
Yanıtlar
/api/v1/brandsmultipart/form-dataYeni marka
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| slug* | string | Otomatik normalize edilir |
| name* | string | — |
| sortOrder | number | Varsayılan 0 |
| logo | file | PNG/JPG/WEBP/SVG, ≤ 5 MB. Disk yolu /uploads/brands/... |
Yanıtlar
/api/v1/brands/:idTek marka
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Yanıtlar
/api/v1/brands/:idmultipart/form-dataMarkayı güncelle
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| slug | string? | — |
| name | string? | — |
| sortOrder | number? | — |
| logo | file? | Yeni dosya: eski logo silinir |
| removeLogo | 1 | 0 | Mevcut logoyu silmek için (yeni dosya yoksa) |
Yanıtlar
/api/v1/brands/:idMarkayı sil (logosu da diskten silinir)
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Yanıtlar
Bir markaya bağlı model kataloğu. (brandId + name) çifti uniq.
/api/v1/modelsListe
Query parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| brandId | number | Sadece bu markanın modelleri |
Yanıtlar
/api/v1/modelsapplication/jsonYeni model
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| brandId* | number | — |
| name* | string | — |
| bodyType | string? | — |
| yearStart | number? | — |
| yearEnd | number? | — |
| notes | string? | — |
Yanıtlar
/api/v1/models/:idTek model
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Yanıtlar
/api/v1/models/:idapplication/jsonModeli güncelle
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| brandId | number? | — |
| name | string? | — |
| bodyType | string? | — |
| yearStart | number? | — |
| yearEnd | number? | — |
| notes | string? | — |
Yanıtlar
/api/v1/models/:idModeli sil
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Yanıtlar
/api/v1/workshopsListe (önce aktifler)
Yanıtlar
/api/v1/workshopsapplication/jsonYeni tamirhane
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| name* | string | — |
| phone | string? | — |
| email? | — | |
| address | string? | — |
| notes | string? | — |
| active | boolean | Varsayılan true |
Yanıtlar
/api/v1/workshops/:idTek kayıt
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Yanıtlar
/api/v1/workshops/:idapplication/jsonGüncelle
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| name | string? | — |
| phone | string? | — |
| email? | — | |
| address | string? | — |
| notes | string? | — |
| active | boolean? | — |
Yanıtlar
/api/v1/workshops/:idSil
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Yanıtlar
/api/v1/insuranceListe
Yanıtlar
/api/v1/insuranceapplication/jsonYeni şirket
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| name* | string | — |
| type | 'insurance' | 'casco' | 'both' | Varsayılan 'both' |
| phone | string? | — |
| email? | — | |
| website | string? | — |
| address | string? | — |
| notes | string? | — |
| active | boolean | Varsayılan true |
Yanıtlar
/api/v1/insurance/:idTek kayıt
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Yanıtlar
/api/v1/insurance/:idapplication/jsonGüncelle
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| name | string? | — |
| type | string? | — |
| phone | string? | — |
| email? | — | |
| website | string? | — |
| address | string? | — |
| notes | string? | — |
| active | boolean? | — |
Yanıtlar
/api/v1/insurance/:idSil
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| id* | number | — |
Yanıtlar
Firebase Admin SDK üzerinden mobil uygulama kullanıcıları. Sunucuda FIREBASE_SERVICE_ACCOUNT_PATH ayarlı olmalı; aksi halde 503 döner.
/api/v1/firebase-users/statusFirebase'in yapılandırılıp yapılandırılmadığı
Yanıtlar
/api/v1/firebase-usersSayfalı kullanıcı listesi
Query parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| limit | number | 1–1000 (vars. 100) |
| pageToken | string | Önceki yanıttan dönen sayfa anahtarı |
Yanıtlar
/api/v1/firebase-users/:uidTek kullanıcı
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| uid* | string | — |
Yanıtlar
/api/v1/firebase-users/:uidapplication/jsonKullanıcıyı güncelle
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| uid* | string | — |
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| email? | — | |
| emailVerified | boolean? | — |
| displayName | string? | — |
| phoneNumber | string? | — |
| photoURL | url? | — |
| disabled | boolean? | — |
| password | string? | ≥ 6 karakter |
Yanıtlar
/api/v1/firebase-users/:uid/disableKullanıcıyı devredışı bırak
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| uid* | string | — |
Yanıtlar
/api/v1/firebase-users/:uid/enableKullanıcıyı tekrar aktifleştir
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| uid* | string | — |
Yanıtlar
/api/v1/firebase-users/:uid/reset-passwordParola sıfırlama linki üret
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| uid* | string | — |
Yanıtlar
/api/v1/firebase-users/:uid/verify-emailE-posta doğrulama linki üret
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| uid* | string | — |
Yanıtlar
/api/v1/firebase-users/:uid/claimsapplication/jsonPanel rolü (custom claim) ata veya kaldır
Verilen role panel için Firebase custom claim olarak kaydedilir. Ardından refresh token'lar iptal edilir; kullanıcı yeniden giriş yaptığında claim aktif olur.
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| uid* | string | — |
Gövde alanları
| Alan | Tip | Açıklama |
|---|---|---|
| role* | 'admin' | 'operator' | 'viewer' | null | null gönderilirse rol kaldırılır |
Yanıtlar
/api/v1/firebase-users/:uid/revoke-tokensTüm refresh token'ları iptal et (zorla logout)
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| uid* | string | — |
Yanıtlar
/api/v1/firebase-users/:uidFirebase kullanıcısını sil
Path parametreleri
| Alan | Tip | Açıklama |
|---|---|---|
| uid* | string | — |
Yanıtlar
Markalar için yüklenen logolar. Statik servis edilir, kimlik doğrulama yok.
/uploads/brands/:filenameMarka logosu
Yanıtlar
Tüm 4xx/5xx yanıtları aşağıdaki şemaya uyar.
{
"error": "Kısa hata özeti",
"detail"?: "Açıklama veya doğrulama mesajları",
"code"?: "BAD_ID | NOT_FOUND | EMPTY | ...",
"debug"?: "Yalnızca dev ortamında postgres ham mesajı"
}