Bu gruptaki endpoint’ler tenant bağımsızdır — oturum açmış kullanıcının kendi hesabını yönetmek için kullanılır.
/account/roles endpoint’i tek istisnadır: X-Tenant header’ı zorunludur.Endpoint özeti
Hesap kavramı ve akış
Sisteme başarılı bir şekilde giriş yapıp bir Access Token (Bearer token) aldığınızda ilk yapmanız gereken/api/v1/account endpoint’ine istek atarak kullanıcının kim olduğunu öğrenmektir.
Sistemimiz Multi-Tenant (çoklu kiracı / klinik) yapısında olduğu için bir kullanıcı birden fazla kliniğe üye olabilir. Doğru verilerle çalışabilmek için uygulamanızın aşağıdaki akışı izlemesi önerilir:
1
Profili ve klinikleri al
GET /account ile kullanıcının profili ve bağlı olduğu klinikler (tenants) alınır.2
Klinik seçtir
Kullanıcıya bir klinik (tenant) seçtirilir; tek klinik varsa otomatik seçilir.
3
X-Tenant header'ı olarak gönder
Seçilen kliniğin ID’si uygulamanın hafızasına alınır ve bundan sonraki tüm veri isteklerinde
X-Tenant: {id} header’ı olarak gönderilir.4
Yetkileri kontrol et
UI/menü görünürlüğünü ayarlamak için
X-Tenant header’ı ile birlikte GET /account/roles isteği atılır ve kullanıcının o klinikte neleri görmeye yetkili olduğu öğrenilir.Profil güncelleme (PUT /account)
Tüm alanlar isteğe bağlıdır; sadece gönderilen alanlar güncellenir.
Şifre değiştirme (PUT /account/password)
Şifre değiştirme
account:sensitive throttle kapsamındadır. İşlem başarılı olursa aktivite logu yazılır.Roller ve izinler (GET /account/roles)
Kullanıcının, X-Tenant header’ında belirttiği klinik içerisinde sahip olduğu rolleri ve ince yetkileri (permissions) liste olarak döndürür.
permissionslistesindeViewAny:Customeryoksa sol menüdeki Hastalar sekmesini gizlemelisiniz.Create:Appointmentyoksa takvim ekranındaki Yeni Randevu Ekle butonunu gizlemelisiniz.
İki Faktörlü Doğrulama (2FA)
2FA Durumu (GET /account/two-factor)
Kullanıcının 2FA etkin ve onaylı olup olmadığını döndürür.
2FA Etkinleştirme (POST /account/two-factor)
current_password alanı zorunludur. İşlem başarılı olursa aktivite logu yazılır.qr_code_url (TOTP URI) ve tek seferlik recovery_codes listesi içerir. Etkinleştirme sonrası 2FA is_confirmed: false durumundadır — /confirm endpoint’i ile onaylanması gerekir.
2FA Onaylama (POST /account/two-factor/confirm)
account:2fa throttle kapsamındadır (şifre throttle’ından daha kısıtlı). İşlem başarılı olursa aktivite logu yazılır.
2FA etkin değilse veya kod geçersizse
422 döner. Başarılı yanıt is_confirmed: true içerir.
2FA Devre Dışı Bırakma (POST /account/two-factor/disable)
current_password alanı zorunludur. İşlem başarılı olursa aktivite logu yazılır.Recovery Code Yenileme (POST /account/two-factor/recovery-codes/regenerate)
current_password alanı zorunludur. 2FA etkin değilse 422 döner. İşlem başarılı olursa aktivite logu yazılır.Tarayıcı Oturumları
Oturum Listesi (GET /account/browser-sessions)
Aktif tüm oturumları listeler. Her oturum için ip_address, user_agent, last_active_at, is_current_device ve cihaz bilgisi (browser, platform, desktop, mobile, tablet) döner.
is_current_device: true olan oturum şu an kullanılan cihazdır.
Diğer Oturumları Kapatma (POST /account/browser-sessions/logout)
current_password alanı zorunludur. Mevcut oturum korunur — sadece diğer tüm oturumlar silinir.