Skip to main content
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

MetotEndpointAçıklamaThrottle
GET/api/v1/accountHesap bilgilerini getirir
PUT/api/v1/accountHesap bilgilerini günceller
PUT/api/v1/account/passwordŞifre güncelleraccount:sensitive
GET/api/v1/account/tenantsBağlı tenant listesini getirir
GET/api/v1/account/rolesAktif tenant’taki rol ve izinleri getirir
GET/api/v1/account/two-factor2FA durumunu getirir
POST/api/v1/account/two-factor2FA’yı etkinleştiriraccount:sensitive
POST/api/v1/account/two-factor/confirm2FA’yı TOTP koduyla onaylaraccount:2fa
POST/api/v1/account/two-factor/disable2FA’yı devre dışı bırakıraccount:sensitive
POST/api/v1/account/two-factor/recovery-codes/regenerateRecovery code’ları yenileraccount:sensitive
GET/api/v1/account/browser-sessionsAktif oturumları listeler
POST/api/v1/account/browser-sessions/logoutDiğer oturumları kapatıraccount:sensitive
Tüm parametreler, alanlar ve örnek istek/yanıtlar için API Referansı sekmesine bakın.

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.
AlanTipAçıklama
namestringMaks. 255 karakter
emailstringE-posta formatı, sistemde benzersiz olmalı
avatar_urlstring|nullGeçerli URL formatı

Ş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.
AlanTipZorunluAçıklama
current_passwordstringevetMevcut şifre
passwordstringevetYeni şifre (min. 8 karakter)
password_confirmationstringevetYeni şifre tekrarı

Roller ve izinler (GET /account/roles)

Bu istekte X-Tenant header’ını göndermek zorunludur. Kullanıcının belirtilen tenant’a erişimi yoksa 403 döner.
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.
{
  "roles": ["doctor", "manager"],
  "permissions": [
    "ViewAny:Customer",
    "Create:Appointment",
    "View:ChatLogPage"
  ]
}
Bu endpoint veri güvenliği sağlamaz — veri güvenliği backend tarafından korunur. Amacı frontend uygulamanızın arayüzünü (UI) şekillendirmektir. Örneğin:
  • permissions listesinde ViewAny:Customer yoksa sol menüdeki Hastalar sekmesini gizlemelisiniz.
  • Create:Appointment yoksa 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.
{
  "is_enabled": false,
  "is_confirmed": false
}

2FA Etkinleştirme (POST /account/two-factor)

recovery_codes yalnızca bu yanıtta döner — güvenli bir yerde saklanmalıdır. Kaybolursa /regenerate endpoint’i ile yenilenir.
current_password alanı zorunludur. İşlem başarılı olursa aktivite logu yazılır.
Başarılı yanıt 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.
AlanTipZorunluAçıklama
codestringevetAuthenticator uygulamasından alınan TOTP kodu
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)

Eski recovery code’lar geçersiz hale gelir. Yeni kodlar yalnızca bu yanıtta döner; güvenli bir yerde saklanmalıdır.
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.
İstek bir Cache lock ile korunur. Lock alınamazsa (eş zamanlı istek) 409 Conflict döner.
İşlem başarılı olursa silinen oturum sayısıyla birlikte aktivite logu yazılır.

Yetkilendirme

Token scope’ları (Passport)

İşlemScope
Okuma (GET)account:read
Yazma (PUT, POST)account:write