Skip to main content
Tüm isteklerde X-Tenant header’ı zorunludur. İşlemler yalnızca belirtilen tenant’a ait satışlar ile sınırlandırılmıştır.

Endpoint özeti

MetotEndpointAçıklama
GET/api/v1/salesSatışları filtreli olarak listeler
GET/api/v1/sales/{id}Tek bir satışı detaylı getirir
POST/api/v1/salesYeni satış oluşturur
PUT/api/v1/sales/{id}Satışı günceller
DELETE/api/v1/sales/{id}Satışı soft delete eder
DELETE/api/v1/sales/{id}/forceSatışı kalıcı olarak siler
POST/api/v1/sales/{id}/paymentsSatışa ödeme ekler
POST/api/v1/sales/{id}/stock-deductSatış için stok düşümü yapar
Tüm parametreler, alanlar ve örnek istek/yanıtlar için API Referansı sekmesine bakın.

Satış kavramı

Satış, bir müşteriye sunulan tedavi veya ürün kalemlerini, uygulanan iskontoları, KDV’yi ve ödeme durumunu bir arada tutan finansal kayıttır. Her satır kalemi (items) bir tedavi (Treatment) veya ürün (Product) olabilir.

İş kuralları

Hesaplanan alanlar: sub_total, total_discount, total_tax, total_price alanları sunucu tarafında hesaplanır. İstek gövdesinde gönderilseler dahi yok sayılır.
invoiced durumundaki satış: Satış invoiced statüsündeyse yalnızca notes alanı güncellenebilir; diğer alanlara yapılan güncelleme reddedilir.
items güncellemesi: PUT isteğinde items gönderilirse mevcut satır kalemleri tamamen silinip yeni gönderilen kalemlerle değiştirilir.
Ödeme varsa işlem: Satışta taksit veya ödeme kaydı mevcutsa PUT isteği updateOrCreateSaleTransaction() çağırmaz.

Ödeme ekleme (POST /sales/{id}/payments)

Satışa yeni bir ödeme/tahsilat kaydı ekler. Yanıt { sale_id, remaining_balance, transaction } yapısında döner.

Stok düşümü (POST /sales/{id}/stock-deduct)

Yalnızca manuel modda çalışır: Stok düşümü yalnızca tenant ayarlarında StockDeductionMode::Never seçiliyse kullanılabilir. Otomatik modda 422 döner.
Aşağıdaki durumlarda da 422 döner:
  • Satış cancelled statüsündeyse
  • Stok daha önce bu satış için zaten düşüldüyse
  • Satışta Product tipi kalem yoksa

Yetkilendirme

Uygulama izinleri (permissions)

İşlemPermission
ListelemeViewAny:Sale
Detay / Tek göstermeView:Sale
OluşturmaCreate:Sale
GüncellemeUpdate:Sale
Silme (soft delete)Delete:Sale
Kalıcı silme (force delete)ForceDelete:Sale

Token scope’ları (Passport)

İşlemScope
Okuma (index, show)sales:read
Yazma (store, update, destroy, forceDelete, payments, stock-deduct)sales:write