ikas API · Stok ve fiyat

ikas API ile stok güncelleme: saveProductStockLocations ve saveVariantStocks

ikas'ta stok varyant ve depo bazında yazılır. v1'de saveProductStockLocations, v2'de saveVariantStocks işlemi kullanılır. Her satırda productId, variantId, stockLocationId ve stockCount bulunur; gönderilen sayı o depodaki adedi tanımlar. Tek istekte birçok varyant gönderilebilir. v1 işlemi true ya da false, v2 işlemi ise hatalı satırların listesini döndürür.

GRAPHQLsaveProductStockLocations (v1) / saveVariantStocks (v2)mutation; write_inventories izni

Satır alanları

AlanAçıklamaÖrnek (sahte)
productIdÜrün kimliğiURUN_ID
variantIdVaryant kimliğiVARYANT_ID
stockLocationIdDepo kimliğiDEPO_ID
stockCountO depodaki adet42

v1'de satırlar input içindeki productStockLocationInputs dizisinde, v2'de stockInputs dizisinde gönderilir. ikas açıklamasına göre işlem yeni stok tanımlamak ya da stokları lokasyona göre güncellemek için kullanılır (ikas: Fiyat ve stok).

Yanıtı yorumlama

SürümDönen değerNe yapılmalı
v1 saveProductStockLocationstrue ya da falsefalse ise gruptaki satırları başarısız sayın
v2 saveVariantStockserrors listesiHer hata errorCode ve inputArrayIndex taşır; yalnız o satırları yeniden deneyin

v1'de false yanıtı hangi satırın sorun çıkardığını söylemez. Bu yüzden grupları makul büyüklükte tutmak, sorunlu satırı bulmayı kolaylaştırır.

Pazaryeri senkronu için öneriler

  • Gönderdiğiniz sayı mutlak adettir; fark değil. Satış sonrası yeni adedi hesaplayıp gönderin.
  • Değişen varyantları biriktirip toplu gönderin; tek tek istek 10 saniyede 50 istek sınırına hızla yaklaşır.
  • Hep aynı depoya yazın. Farklı depolara yazmak toplam stoğu beklenmedik biçimde artırır.
  • Negatif adet göndermeyin; stok bittiğinde 0 yazın. Varyantın sellIfOutOfStock alanı false ise ürün 0 adette satılmaz.
  • Başarısız satırları "gönderildi" olarak işaretlemeyin; bir sonraki turda yeniden deneyin.
  • Gönderimden sonra birkaç varyantı geri okuyarak örnek bir doğrulama yapın.

Varyantlı ürünlerde stok takibinin genel mantığı varyantlı ürünlerde stok takibi yazısında anlatılıyor.

İade ve sipariş etkisi

ikas'ın refundOrderLine işlemi, iade gelen ürünü stoğa geri ekler ve bunun için bir stockLocationId ister. Siparişlerde de her satırın bir stockLocationId alanı vardır. Dışarıdan stok yazan bir entegrasyon, ikas'ın kendi sipariş ve iade hareketleriyle aynı depoya yazdığını bilmeli ve okuma ile yazma arasındaki zaman farkını hesaba katmalıdır.

Sık sorulanlar

ikas stok güncellemesinde hangi kimlikler gerekir?

Ürün kimliği (productId), varyant kimliği (variantId) ve depo kimliği (stockLocationId). Yanında yeni adet stockCount olarak gönderilir.

ikas'ta stok 0 yapılabilir mi?

Evet, stockCount 0 gönderilebilir. Varyantın sellIfOutOfStock alanı false ise ürün stok bitince satılmaz.

v1 ve v2 stok işlemi arasındaki fark nedir?

v1 saveProductStockLocations true ya da false döndürür. v2 saveVariantStocks ise hatalı satırları errorCode ve inputArrayIndex ile listeler, diğer satırları işler.

Birden fazla depoya aynı anda yazabilir miyim?

Evet; her satır kendi stockLocationId değerini taşır. Pazaryeri senkronunda ise tek bir depoyu esas almak tutarlılık için daha güvenlidir.

Stok güncellemesinin yapıldığını nasıl doğrularım?

listProduct ile varyantın stocks dizisini ya da listProductStockLocation ile depo kaydını okuyun. stockCount değeri gönderdiğiniz sayıyı göstermelidir.

Kaynaklar

İlgili ikas API konuları

Son güncelleme: 27.10.2026 · ikas API rehberinin tamamı

ikas entegrasyonunu kod yazmadan kurun

Saystok bu API'lerle stok, sipariş ve fiyatı sizin yerinize eşitler. 30 gün ücretsiz.