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

Endpoint özeti

MetotEndpointAçıklama
GET/api/v1/stocks/overviewÜrün × depo bazlı stok özetini getirir
GET/api/v1/stocks/movementsStok hareketlerini listeler
GET/api/v1/stocks/movements/{id}Tek bir stok hareketini getirir
POST/api/v1/stocks/entryStok girişi (alım) oluşturur
POST/api/v1/stocks/countToplu stok sayımı yapar
POST/api/v1/stocks/adjustmentStok düzeltmesi yapar
POST/api/v1/stocks/transferDepolar arası transfer oluşturur
Tüm parametreler, alanlar ve örnek istek/yanıtlar için API Referansı sekmesine bakın.

Stok kavramı

Stok yönetimi, ürünlerin depo bazında miktarlarını takip eder. Her işlem (giriş, sayım, düzeltme, transfer) bir stok hareketi (StockMovement) kaydı oluşturur.

Stok durumu hesaplama

GET /stocks/overview yanıtında her ürün-depo kombinasyonu için stok durumu şu kurala göre belirlenir:
DurumKoşul
criticalbalance ≤ 0 ve kritik seviye tanımlıysa
low0 < balance ≤ critical_stock_level
normalKritik seviye tanımlı değilse veya balance > critical_stock_level

İş kuralları

Stok girişi (POST /stocks/entry)

type alanı: full modda quantity zorunludur; partial modda boxes, inner_units ve base_units zorunludur (quantity gönderilemez). partial modda bu üç alanın toplamı > 0 olmalıdır.

Stok sayımı (POST /stocks/count)

Davranış: Ürünün o depoda daha önce hareketi yoksa başlangıç stoğu (initialStock) oluşturulur. Hareketi varsa stok sayımı (stockCount) oluşturulur ve gerekirse farkı kapatmak için otomatik bir düzeltme hareketi (adjustmentMovement) eklenir.
items dizisindeki product_id değerleri tekrar edemez (distinct).

Stok düzeltmesi (POST /stocks/adjustment)

correction modu: Hedef miktarı belirtir; sistem mevcut bakiyeyle farkı hesaplar ve yalnızca fark kadar hareket oluşturur. Fark sıfırsa hiçbir hareket oluşturulmaz.
in_out modu: direction alanı zorunludur (in veya out) ve quantity > 0 olmalıdır.

Depolar arası transfer (POST /stocks/transfer)

Kaynak ve hedef depo aynı olamaz.
Kaynak depoda yeterli stok yoksa InsufficientStockException fırlatılır ve 422 döner.

Yetkilendirme

Uygulama izinleri (permissions)

İşlemPermission
Listeleme (overview, movements)ViewAny:StockMovement
Yazma (entry, count, adjustment, transfer)Create:StockMovement

Token scope’ları (Passport)

İşlemScope
Okuma (overview, movements)stocks:read
Yazma (entry, count, adjustment, transfer)stocks:write