Shopify API · Ürün ve varyant

Shopify ürün ve varyant API: ürünleri okuma, sayfalama ve varyant alanları

Shopify’da satılabilir her birim bir varyanttır; tek seçenekli ürünlerde bile bir varsayılan varyant bulunur. Ürünleri REST’te GET /admin/api/SURUM/products.json, GraphQL’de products sorgusuyla okursunuz. Senkron için asıl önemli olan varyant alanlarıdır: SKU, barkod, fiyat ve stoğa bağlanan inventory_item_id. REST’te sayfalama Link başlığındaki page_info ile yapılır.

GET/admin/api/2026-10/products.jsonREST (legacy); GraphQL karşılığı products sorgusu.

Senkron için önemli varyant alanları

REST alanıGraphQL karşılığıAçıklama
idid (gid://shopify/ProductVariant/…)Varyant numarası
skuskuStok kodu
barcodebarcodeBarkod, ör. GTIN
pricepriceSatış fiyatı, metin
compare_at_pricecompareAtPriceKarşılaştırma (üstü çizili) fiyat
inventory_item_idinventoryItemStok kaydının numarası
inventory_quantityinventoryQuantityTüm lokasyonların toplamı, salt okunur
option1, option2, option3selectedOptionsSeçenek değerleri

Her varyantın tek bir envanter kalemi (inventory item) vardır ve bu ilişki birebirdir. Stok yazarken varyant numarası değil inventory_item_id kullanılır. Envanter kaleminin kendisinde de SKU ve stok takibinin açık olup olmadığını gösteren tracked alanı bulunur.

REST’te sayfalama

REST listeleri imleçle sayfalanır. Yanıtta bir sonraki sayfa varsa Link başlığında rel=“next” adresi gelir.

ParametreDeğer
limitVarsayılan 50, en fazla 250
page_infoLink başlığından alınır, değiştirilmeden kullanılır
fieldsYalnız istenen alanlar, bazı uç noktalarda

page_info içeren istekte limit dışında başka parametre eklenemez; eklenirse istek başarısız olabilir. Bu yüzden status gibi filtreler yalnız ilk istekte gönderilir. Yanıtta yalnız rel=“previous” kalırsa son sayfaya ulaşmışsınızdır.

Eski ve yeni ürün modeli

REST’te ürün ve varyantları listeleme, oluşturma, güncelleme ve silme 2024-04 sürümünde kullanımdan kalktı. Eski modelde bir üründe en fazla üç seçenek ve 100 varyant bulunabiliyordu.

KonuREST (eski model)GraphQL (yeni model)
Ürün başına varyantEn fazla 100Varsayılan sınır 2.048
Sayfa başına öğeEn fazla 250En fazla 250; tek ürünün varyantları 2.048’e kadar
SeçenekEn fazla 3Seçenekler ayrı yönetilir
Görsellerimages dizisiMedya ayrı yüklenir, ürün ve varyanta bağlanır

Bir ürünün kaç varyantı olduğunu hızlıca görmek için GraphQL’de variantsCount alanını sorgulayabilirsiniz.

Sık hatalar

BelirtiNedenÇözüm
Yalnız 50 ürün geliyorlimit gönderilmedilimit=250 ve page_info ile sayfaları gezin
İkinci sayfa hata veriyorpage_info ile birlikte filtre gönderildiSonraki sayfalarda yalnız page_info ve limit
Stok beklenenden yüksekinventory_quantity tüm lokasyonların toplamıLokasyon bazında envanter seviyesini okuyun
Varyantın SKU’su boşShopify SKU’yu zorunlu tutmazHer varyanta benzersiz SKU verin

Pazaryeriyle eşleştirme SKU ya da barkod üzerinden yapılacaksa bu alanları baştan doldurun. Ayrıntı: ürün eşleştirme rehberi.

Sık sorulanlar

Shopify’da tüm ürünleri API ile nasıl çekerim?

REST’te GET /products.json?limit=250 ile başlayıp Link başlığındaki rel=“next” adresini izlersiniz. GraphQL’de products sorgusunu imleçle sayfalarsınız.

Stok yazmak için hangi numara gerekir?

Varyantın inventory_item_id değeri ve lokasyon numarası. Varyant numarası stok yazmada doğrudan kullanılmaz.

inventory_quantity neden lokasyondaki stoktan farklı?

Belgeye göre bu alan tüm lokasyonların toplamıdır ve salt okunurdur. Tek lokasyonun stoğu için envanter seviyesi okunur.

Bir üründe en fazla kaç varyant olabilir?

Eski REST modelinde 100, GraphQL’deki yeni modelde varsayılan sınır 2.048’dir.

Taslak ve arşivlenmiş ürünler de gelir mi?

Ürünün durumu active, draft ya da archived olabilir. Senkronda hangilerini isteyeceğinizi baştan belirleyin; arşivlenmiş ürünleri pazaryerinde satışa açmamak için durumu ayrıca kontrol edin.

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.