Tüm isteklerde X-Tenant header’ı zorunludur. İşlemler ve listelemeler sadece belirtilen tenant’a ait tedaviler ile sınırlandırılmıştır.
Endpoint özeti
| Metot | Endpoint | Açıklama |
|---|
GET | /api/v1/treatments | Tedavileri filtreli olarak listeler |
GET | /api/v1/treatments/{id} | Tek bir tedaviyi detaylı getirir |
POST | /api/v1/treatments | Yeni tedavi oluşturur |
PUT | /api/v1/treatments/{id} | Tedaviyi kısmi günceller |
DELETE | /api/v1/treatments/{id} | Tedaviyi soft delete eder |
DELETE | /api/v1/treatments/{id}/force | Tedaviyi kalıcı olarak siler |
Tüm parametreler, alanlar ve örnek istek/yanıtlar için API Referansı sekmesine bakın.
Tedavi kavramı
Treatment API’de “tedavi”, klinikte uygulanan bir hizmeti/işlemi temsil eder.
Her tedavi; adı, fiyatı, KDV oranı, seans sayısı, aktiflik durumu ve opsiyonel olarak bağlı ürünler ile seans planı ile birlikte yönetilir.
İş kuralları
tax_rate: Sadece şu değerleri alabilir: 0, 1, 10, 20.
Seans planı (sessions): session > 1 ise sessions alanı zorunludur ve tam olarak session kadar eleman içermelidir.
Seans planı, çok seanslı tedavilerde (örneğin ameliyat + kontrol seansları) her seansın sırasını, tipini ve aradaki gün farklarını tarif eder.
session_order = 1 için seans tipi her zaman operation olmalıdır. Bu kural değiştirilemez.Hata mesajı: The first session (session_order = 1) must always be of type "operation".
Güncelleme: session değeri değişmiş ve sessions gönderilmemişse 422 hata döner.Mesaj: When changing session count, the sessions plan must be provided.
Silme kuralları
Soft delete (DELETE /api/v1/treatments/{id})
Özel kural: Tedavi herhangi bir randevu ile ilişkiliyse silme reddedilir (422).Hata mesajı: This treatment cannot be deleted because it is associated with one or more appointments. Please remove the treatment from all appointments before deleting.
Force delete (DELETE /api/v1/treatments/{id}/force)
Geri alınamaz.Özel kural: Tedavi herhangi bir randevu ile ilişkiliyse (soft delete edilmiş randevular dahil) kalıcı silme reddedilir (422).Hata mesajı: This treatment cannot be permanently deleted because it is associated with one or more appointments. Please remove the treatment from all appointments before deleting.
Yetkilendirme
Uygulama izinleri (permissions)
| İşlem | Permission |
|---|
| Listeleme | ViewAny:Treatment |
| Detay / Tek gösterme | View:Treatment |
| Oluşturma | Create:Treatment |
| Güncelleme | Update:Treatment |
| Silme (soft delete) | Delete:Treatment |
| Kalıcı silme (force delete) | ForceDelete:Treatment |
Token scope’ları (Passport)
| İşlem | Scope |
|---|
Okuma (index, show) | treatments:read |
Yazma (store, update, delete, forceDelete) | treatments:write |