Shopify API · Stok

Shopify stok güncelleme API: inventorySetQuantities ve inventory_levels/set

Shopify’da stok, varyantın envanter kalemi ve bir lokasyon için yazılır. GraphQL’de kesin değeri inventorySetQuantities, artış ya da azalışı inventoryAdjustQuantities mutasyonu yazar; ikisi de write_inventory kapsamı ister. REST’teki karşılığı POST /admin/api/SURUM/inventory_levels/set.json’dur. 2026-04 sürümünden itibaren set mutasyonu karşılaştırma değeri ve tekrar koruma anahtarı zorunlu tutar.

GRAPHQL/admin/api/2026-10/graphql.jsoninventorySetQuantities; REST karşılığı POST /inventory_levels/set.json.

inventorySetQuantities girdisi

Belgedeki örneğe dayanan girdi yapısı şöyledir; numaralar sahtedir.

  • name: available (ya da on_hand)
  • reason: correction
  • referenceDocumentUri: değişikliği başlatan belgenin adresi, isteğe bağlı denetim izi
  • quantities öğesi: inventoryItemId gid://shopify/InventoryItem/111, locationId gid://shopify/Location/222, quantity 42, changeFromQuantity 40
  • Tekrar koruma: @idempotent yönergesiyle benzersiz bir anahtar, ör. bir UUID
KuralSürüm
changeFromQuantity her miktarda zorunlu2026-04 ve sonrası
Kalıcı değer eşleşmezse CHANGE_FROM_QUANTITY_STALE hatası2026-04 ve sonrası
Kontrolden çıkmak için changeFromQuantity: null2026-04 ve sonrası
Eski karşılaştırma: compareQuantity ve ignoreCompareQuantity2026-04 öncesi
Tekrar koruma anahtarı isteğe bağlı2026-01
Tekrar koruma anahtarı zorunlu2026-04 ve sonrası

Kesin değer mi, fark mı?

Shopify belgesi inventorySetQuantities’i yalnız stok miktarının asıl kaynağı olan bir sistem adına çağırmanızı önerir; diğer durumlarda inventoryAdjustQuantities’i işaret eder.

DurumÖnerilen mutasyon
ERP ya da depo yazılımı stoğun asıl kaynağıinventorySetQuantities
Pazaryerinde 1 adet satıldı, Shopify stoğundan düşülecekinventoryAdjustQuantities, fark -1
Depo sayımı sonrası düzeltmeinventorySetQuantities, reason correction

Karşılaştırma kontrolünü kapatmak, aynı anda gelen isteklerde yanlış adete yol açabilir. Belge, beklenen güncel değeri changeFromQuantity olarak göndermenizi ve kontrolü yalnız gerçekten gerekiyorsa kapatmanızı önerir.

REST yolu: inventory_levels/set.json

ParametreZorunluAçıklama
location_idEvetLokasyon numarası
inventory_item_idEvetEnvanter kalemi numarası
availableEvetSatılabilir adet
disconnect_if_necessaryHayır, varsayılan falseSipariş karşılama hizmeti lokasyonu varsa diğer bağlantıları kes

Lokasyon bağlı değilse istek önce bağlantıyı kurar. Artış ya da azalış için POST /inventory_levels/adjust.json vardır. REST’te tek istekte tek kalem ve tek lokasyon yazılır; toplu yazma yoktur.

Sık hatalar

BelirtiNedenÇözüm
CHANGE_FROM_QUANTITY_STALESiz okuduktan sonra stok değiştiGüncel değeri okuyup yeniden deneyin
Tekrar koruma anahtarı hatası2026-04 ve sonrasında anahtar gönderilmedi@idempotent ile anahtar ekleyin
403write_inventory kapsamı yokKapsamı ekleyin
Stok başka lokasyonda değiştiYanlış lokasyon numarasıLokasyonu kontrol edin
Stok yazıldı ama vitrinde görünmüyorVaryantta stok takibi kapalıEnvanter kaleminde takibi açın

Pazaryeri satışını Shopify’a yansıtmak

Pazaryerinde satış olduğunda Shopify stoğunu düşmenin iki yolu vardır. Fark yazmak, aynı anda gelen Shopify siparişleriyle çakışma riskini azaltır.

YöntemNasılRisk
Fark yazmakinventoryAdjustQuantities ile -1Aynı satış iki kez işlenirse çift düşüm; tekrar koruma anahtarı kullanın
Kesin değer yazmakGüncel değeri okuyup inventorySetQuantities ile yeni değeri yazmakchangeFromQuantity eşleşmezse yeniden okumak gerekir

Her iki yolda da değişikliği hangi siparişin başlattığını referenceDocumentUri ile kaydetmek, sonradan farkları incelemeyi kolaylaştırır.

Sık sorulanlar

Shopify stok API ile nasıl güncellenir?

GraphQL’de inventorySetQuantities ile envanter kalemi ve lokasyon için kesin adet yazılır. REST’te karşılığı POST /inventory_levels/set.json’dur.

changeFromQuantity zorunlu mu?

2026-04 ve sonraki sürümlerde evet. Kontrolden çıkmak için açıkça null gönderirsiniz; alanı hiç göndermemek hata verir.

Satış sonrası stok düşmek için hangi mutasyon uygun?

inventoryAdjustQuantities. Belge, stoğun asıl kaynağı olmayan sistemlerin set yerine fark yazmasını önerir.

Varyantın inventory_quantity alanıyla stok yazabilir miyim?

Hayır. Shopify belgesine göre uygulamalar artık bu alanla stok yazamaz.

Kaynaklar

İlgili Shopify API konuları

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

Shopify entegrasyonunu kod yazmadan kurun

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