API Referansı

REST API ile stok verilerinize programatik erişim sağlayın.

Kimlik Doğrulama

Tüm API isteklerinde Authorization header'ı ile API anahtarınızı gönderin.

Authorization: Bearer sk_xxxxxxxxxxxxxxxxxxxxxxxx

API anahtarlarınızı Dashboard → API Anahtarları bölümünden yönetebilirsiniz.

Base URL

https://stokdurumu.com/api/v1

Rate Limiting

Planİstek/Gün
Free500
Basic5.000
Pro50.000
EnterpriseSınırsız

Limit aşıldığında 429 Too Many Requests döner. Gece yarısı UTC+3 sıfırlanır.

Ürünler

GET/products

Ürünleri listele

Query Parametreleri

ParametreTipAçıklama
pageintegerSayfa numarası (varsayılan: 1)
limitintegerSayfa başına kayıt (maks: 100, varsayılan: 20)
qstringİsme göre arama
skustringSKU ile filtrele
statusstringactive / inactive
low_stockbooleanSadece düşük stoklu ürünler
curl -X GET "https://stokdurumu.com/api/v1/products?page=1&limit=20" \
  -H "Authorization: Bearer sk_xxxx"

Yanıt

{
  "products": [
    {
      "id": 1,
      "name": "Laptop Çantası",
      "sku": "LPC-001",
      "category": "Aksesuar",
      "price": "299.90",
      "stock_qty": 47,
      "min_stock": 5,
      "unit": "adet",
      "status": "active",
      "updated_at": "2024-01-15 14:30:00"
    }
  ],
  "meta": {
    "total": 150,
    "page": 1,
    "limit": 20,
    "pages": 8
  }
}
GET/products/{id}

Tekil ürün getir

curl -X GET "https://stokdurumu.com/api/v1/products/42" \
  -H "Authorization: Bearer sk_xxxx"
POST/products write

Yeni ürün oluştur

Request Body

AlanTipZorunluAçıklama
namestringÜrün adı
skustringStok kodu
pricenumberFiyat
stock_qtyintegerBaşlangıç stok
min_stockintegerMinimum stok uyarı eşiği
category_idintegerKategori ID
unitstringadet, kg, lt, m...
curl -X POST "https://stokdurumu.com/api/v1/products" \
  -H "Authorization: Bearer sk_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Laptop Çantası",
    "sku": "LPC-001",
    "price": 299.90,
    "stock_qty": 50,
    "min_stock": 5,
    "unit": "adet"
  }'
PUT/products/{id} write

Ürün güncelle

curl -X PUT "https://stokdurumu.com/api/v1/products/42" \
  -H "Authorization: Bearer sk_xxxx" \
  -H "Content-Type: application/json" \
  -d '{"price": 349.90, "status": "active"}'
DELETE/products/{id} delete

Ürün sil

curl -X DELETE "https://stokdurumu.com/api/v1/products/42" \
  -H "Authorization: Bearer sk_xxxx"

Stok

POST/stock write

Stok miktarını güncelle

AlanAçıklama
product_idÜrün ID (zorunlu)
actionadd ekle / sub çıkar / set ayarla
qtyMiktar (zorunlu, ≥0)
reasonAçıklama (opsiyonel)
curl -X POST "https://stokdurumu.com/api/v1/stock" \
  -H "Authorization: Bearer sk_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": 42,
    "action": "sub",
    "qty": 3,
    "reason": "Satış - Sipariş #1234"
  }'

Yanıt

{
  "success": true,
  "product_id": 42,
  "action": "sub",
  "old_qty": 47,
  "new_qty": 44,
  "change_qty": -3
}
GET/stock

Stok geçmişini getir

curl "https://stokdurumu.com/api/v1/stock?product_id=42&limit=10" \
  -H "Authorization: Bearer sk_xxxx"

Kategoriler

GET/categories
curl "https://stokdurumu.com/api/v1/categories" -H "Authorization: Bearer sk_xxxx"
POST/categories
curl -X POST "https://stokdurumu.com/api/v1/categories" \
  -H "Authorization: Bearer sk_xxxx" \
  -H "Content-Type: application/json" \
  -d '{"name": "Elektronik", "color": "#0d6efd"}'

Hata Kodları

KodAnlam
200Başarılı
201Oluşturuldu
400Geçersiz istek
401Yetkisiz — API anahtarı gerekli
402Plan limiti aşıldı
403Bu işlem için izin yok
404Kayıt bulunamadı
422Doğrulama hatası
429Rate limit aşıldı
500Sunucu hatası

Tüm hata yanıtları: {"error": "Hata mesajı"}