📱 Mobile API Dokümantasyonu
Tüm mobil endpoint'ler /api/v1/mobile/* prefix'i ile çalışır.
⚙️ Genel Kurallar
Zorunlu Header'lar (tüm istekler)
Versiyon Kontrolü Mantığı
Her istekte AppVersionMiddleware çalışır.
HARD UPDATE (426): Sürüm minimum sürümün altındaysa istek reddedilir, kullanıcı zorla güncellemeye yönlendirilir.
SOFT UPDATE: Sürüm latest'in altındaysa response'a updateStatus: "soft" eklenir.
Versiyon sınırları: DB (admin panelden anlık değiştirilebilir) → ENV VAR → default 1.0.0
🚫 Hard Update Response (HTTP 426)
{
"success": false,
"updateStatus": "hard",
"message": "Bu uygulama sürümü artık desteklenmiyor. Lütfen uygulamayı güncelleyin."
}🔔 Soft Update — Normal Response (HTTP 200)
Normal response'un içine updateStatus alanı eklenir:
{
"success": true,
"data": {
"updateStatus": "soft",
... // asıl data
}
}🔐 Auth
📲 Cihaz
📁 Projeler
⚡ Generation
🪙 Krediler
💳 Satın Alma (IAP)
🎨 Tasarım Stilleri
🎁 Özel Günler (Gift Sites)
💘 Date Invite (Date Teklifi)
📈 Analytics (Event Tracking)
🔢 Versiyon Sınırı Konfigürasyonu
Öncelik sırası: DB (AppSetting) > ENV VAR > default 1.0.0
ENV VAR'lar (backend .env)
DB Key'leri (anlık değişiklik için)
📊 Generation Status Akışı
Hata durumunda: failed — errorLog alanı dolu olur
Polling önerisi: status completed veya failed gelene kadar her 4 saniyede bir /status çağır
❌ Hata Kodları
| HTTP | Durum | Sebep |
|---|---|---|
| 400 | Bad Request | Eksik veya geçersiz body parametresi |
| 401 | Unauthorized | JWT token eksik veya süresi dolmuş |
| 402 | Payment Required | Yetersiz kredi (generation başlatılamadı) |
| 403 | Forbidden | Başka kullanıcının kaynağına erişim girişimi |
| 404 | Not Found | Proje veya generation bulunamadı |
| 409 | Conflict | Email zaten kayıtlı (register) |
| 426 | Upgrade Required | Hard update — minimum sürüm altında |
| 429 | Too Many Requests | Rate limit aşıldı |