Tüm isteklerde X-Tenant header’ı zorunludur. İşlemler yalnızca belirtilen tenant’a ait müşteriler ile sınırlandırılmıştır.
Endpoint özeti
| Metot | Endpoint | Açıklama |
|---|
GET | /api/v1/customers | Müşterileri filtreli olarak listeler |
GET | /api/v1/customers/{id} | Tek bir müşteriyi detaylı getirir |
POST | /api/v1/customers | Yeni müşteri oluşturur |
PUT | /api/v1/customers/{id} | Müşteriyi kısmi günceller |
DELETE | /api/v1/customers/{id} | Müşteriyi soft delete eder |
DELETE | /api/v1/customers/{id}/force | Müşteriyi kalıcı olarak siler |
GET | /api/v1/customers/{customerId}/form | Müşteriye ait formları listeler |
GET | /api/v1/customers/{customerId}/form/{customerFormId} | Tek bir müşteri formunu getirir |
GET | /api/v1/customers/{id}/files | Müşteriye ait dosyaları gruplanmış olarak listeler |
Tüm parametreler, alanlar ve örnek istek/yanıtlar için API Referansı sekmesine bakın.
Müşteri kavramı
Customer API’de “müşteri”, klinik tarafından kayıt altına alınmış gerçek kişiyi temsil eder. Customer API, müşteriyle ilişkili tüm bu verilerin merkezi erişim noktasıdır.
İş kuralları
user_id başka bir tenant’a ait bir kullanıcıyı işaret ediyorsa hata döner: The selected user does not belong to this tenant.
Yaş filtresi davranışı: Sistem yaş bilgisini doğum tarihine çevirerek filtreleme yapar (bugünün tarihi - yaş).
Müşteri dosyaları
Müşteriye ait dosyalar GET /api/v1/customers/{id}/files ile çekilir. Dosyalar group_id alanına göre gruplanır — aynı işlem veya yükleme oturumuna ait dosyalar tek başlık altında listelenir.
Yetkilendirme
Uygulama izinleri (permissions)
| İşlem | Gerekli izin(ler) |
|---|
| Müşteri listesi | ViewAny:Customer |
| Müşteri detayı | View:Customer |
| Müşteri oluşturma | Create:Customer |
| Müşteri güncelleme | Update:Customer |
| Soft delete | Delete:Customer |
| Force delete | ForceDelete:Customer |
| Formları listeleme | ViewAny:Customer VE ViewAny:CustomerForm |
| Tek form görüntüleme | View:Customer VE View:CustomerForm |
| Dosyaları görüntüleme | View:Customer VE View:File |
Token scope’ları (Passport)
Müşteri ana endpoint’leri
| İşlem | Gerekli Scope |
|---|
| Listeleme / Detay | customers:read |
| Oluşturma / Güncelleme / Silme | customers:write |
| İşlem | Gerekli Scope’lar |
|---|
| Listeleme / Detay | customers:read, customer_forms:read |
Müşteri dosyaları
| İşlem | Gerekli Scope |
|---|
| Listeleme | customers:read |
Dosyalar için ayrıca ayrı bir scope tanımlı değildir; müşteri okuma (customers:read) izni yeterlidir.
Müşteri notları
| İşlem | Gerekli Scope’lar |
|---|
| Okuma | customers:read, notes:read |
| Yazma | customers:write, notes:write |