Senkron için önemli varyant alanları
| REST alanı | GraphQL karşılığı | Açıklama |
|---|---|---|
| id | id (gid://shopify/ProductVariant/…) | Varyant numarası |
| sku | sku | Stok kodu |
| barcode | barcode | Barkod, ör. GTIN |
| price | price | Satış fiyatı, metin |
| compare_at_price | compareAtPrice | Karşılaştırma (üstü çizili) fiyat |
| inventory_item_id | inventoryItem | Stok kaydının numarası |
| inventory_quantity | inventoryQuantity | Tüm lokasyonların toplamı, salt okunur |
| option1, option2, option3 | selectedOptions | Seç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.
| Parametre | Değer |
|---|---|
| limit | Varsayılan 50, en fazla 250 |
| page_info | Link başlığından alınır, değiştirilmeden kullanılır |
| fields | Yalnı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.
| Konu | REST (eski model) | GraphQL (yeni model) |
|---|---|---|
| Ürün başına varyant | En fazla 100 | Varsayılan sınır 2.048 |
| Sayfa başına öğe | En fazla 250 | En fazla 250; tek ürünün varyantları 2.048’e kadar |
| Seçenek | En fazla 3 | Seçenekler ayrı yönetilir |
| Görseller | images dizisi | Medya 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
| Belirti | Neden | Çözüm |
|---|---|---|
| Yalnız 50 ürün geliyor | limit gönderilmedi | limit=250 ve page_info ile sayfaları gezin |
| İkinci sayfa hata veriyor | page_info ile birlikte filtre gönderildi | Sonraki sayfalarda yalnız page_info ve limit |
| Stok beklenenden yüksek | inventory_quantity tüm lokasyonların toplamı | Lokasyon bazında envanter seviyesini okuyun |
| Varyantın SKU’su boş | Shopify SKU’yu zorunlu tutmaz | Her 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ı


