sale), bir veya birden fazla kalem (tedavi veya ürün) ve opsiyonel olarak bir randevu ile ilişkilendirilir. Ödeme kaydı ayrı bir aksiyondur; tek bir POST ile satış + ödeme birleştirilmez.
Gerekli scope’lar:
sales:write, ödeme eklemek için yine sales:write. Satışı listelemek için sales:read.1. Satış oluştur
Alan açıklamaları
Satışın hangi hastaya olduğunu belirtir. Aynı tenant’ta olmalıdır.
Satışı bir randevuya bağlamak opsiyoneldir ama raporlama için önerilir. Randevu aynı hastaya ait olmalıdır.
Satış para birimi.
GET /v1/account altındaki desteklenen listeden alın.Satış anındaki kur. Ana para birimi cinsinden satış yapıyorsanız
1 gönderin.draft, completed, cancelled, invoiced, pending.En az bir kalem zorunludur.
itemable_type Treatment veya Product olabilir. tax_rate yalnızca 0, 1, 10, 20 değerlerinden biri olabilir.2. Yanıt
3. Tahsilat ekle
Hasta ödeme yaptığında:customer_transaction kaydı yaratır ve satışın balance değerini düşürür.
Alan açıklamaları
Tahsilat tutarı. Para birimi varsayılan olarak satışın para birimidir.
collection (tahsilat) veya payment (iade/geri ödeme). Varsayılan collection.Hangi kasa/hesap. Aynı tenant’ta olmalı.
Satış para birimi dışında bir para biriminde ödeme alınıyorsa belirtilir;
exchange_rate de gönderilmelidir.4. Stok düşümü
Satıştaki bir kalemitemable_type=Product ise, satış oluşturduğunuzda stok düşümü otomatik yapılmaz. Manuel tetiklemek için:
warehouse_id değerini esas alarak stock_movement kaydı oluşturur.
5. Satışı güncelleme
Kalemlerde veya notlarda değişiklik yapmak içinPUT /v1/sales/701 kullanabilirsiniz. Kalem listesini bütün halinde göndermeniz gerekir — eksik kalem silinmiş sayılır.
Yaygın hatalar
| Hata | Sebep | Çözüm |
|---|---|---|
422 — “The selected customer does not belong to this tenant.” | Yanlış tenant | X-Tenant’ı doğrula |
422 — “The selected appointment does not exist or does not belong to the provided customer in this tenant.” | appointment_id farklı hastaya ait | Doğru randevuyu seç veya boş bırak |
422 — “The selected product or treatment does not exist or does not belong to this tenant.” | itemable_id başka tenant’ta | Doğru ID |
422 — “The tax rate must be 0, 1, 10 or 20.” | Geçersiz KDV oranı | Listeden bir değer kullan |
Sonraki adımlar
Randevu oluşturma
Satışı bir randevuya bağlamak için önce randevu açın.
Rate limiting
Toplu satış girişi yaparken limit yönetimi.