Shopify stoğunu başka bir sistemle senkron tutmak
Kısa yanıt
Güvenilir bir stok senkronizasyonu planlamak için her sistemdeki miktarın neyi temsil ettiğini ve hangi sistemin ondan sorumlu olduğunu tanımlayın. Ürünleri ve konumları eşleyin, ardından Shopify’da stok takibinin açık olduğunu doğrulayın. Değişikliğe uyan işlemi seçin (bir miktarı ayarlamak, belirlemek ya da taşımak) ve kayıtları doğrulanmış fiziksel sayımlarla karşılaştıran bir süreçle webhook boşluklarını hesaba katın.
- Shopify stoğu duruma ve konuma göre modeller; bazı miktarlar siparişler, transferler ya da gönderiler için ayrılmıştır (committed).
- Kullanılabilir (available) stok satılabilir stoktur; ayrılmış stoğu ve gelen transferleri kapsamaz.
- Eldeki (on-hand) stok, listelenen kullanılabilir ve kullanılamaz durumlardaki fiziksel miktarları kapsar.
- Gelen (incoming) stok, teslim alınıp kullanılabilir duruma taşındıktan sonra satışa açılır.
- Shopify stok sorguları belgelenmiş durumlardaki miktarları getirebilir; stok seviyelerinin görüntülenebilmesi ya da ayarlanabilmesi için takibin açık olması gerekir.
Hangi miktarın hangi sisteme ait olduğuna karar verin
Sistemleri bağlamadan önce bir miktarın ne anlama geldiğine ve onu doğru tutmaktan hangi sistemin sorumlu olduğuna karar verin. Shopify stoğu duruma ve konuma göre modeller; bu yüzden harici bir sayıyı genel bir stok toplamı saymayın.
Kullanılabilir (available) stok, mağaza sahibinin satabileceği miktardır; ayrılmış (committed) stoğu ve gelen transferleri kapsamaz. Eldeki (on-hand) stok bir konumda fiziksel olarak bulunan toplamdır; kullanılabilir, ayrılmış, rezerve, hasarlı, güvenlik stoğu ve kalite kontrol miktarlarını içerir. Gelen (incoming) stok teslim alınıp durumu kullanılabilir olarak değiştirilene kadar satışa açılmaz. Shopify’ın belgelediği stok durumları birbirini dışlar; bu yüzden harici bir miktarı senkronize etmeden önce hangi durumu temsil ettiğini ayırt edin.
Senkron yönünü seçmeden önce her miktar için sahiplik kararını yazın. Örneğin ekibiniz kullanılabilir miktarların bir sisteme ait olduğuna, gelen stoğu ise başka bir sistemin kaydettiğine karar verebilir; bu bir Shopify kuralı değil, bir entegrasyon politikasıdır. İki sistemin de uygulanacak bir değişikliği olduğunda ne olacağına da karar verin: çakışmalar için bir yetkili sistem seçin, bir değişikliğin reddedileceğini mi yoksa incelemeye mi alınacağını tanımlayın ve kararın nasıl kaydedileceğini belgeleyin. Kuralları, bir uyumsuzluğu araştıran birinin hangi sistemin değerinin korunması gerektiğini anlayabileceği kadar net yazın.
Ürünleri, konumları ve takibi eşleyin
Bir ürün ve konum eşleme tablosu, entegrasyonun okuduğu ya da değiştirdiği her miktar için net bir hedef verir. Her harici ürünü karşılık gelen Shopify ürünü ya da varyantıyla, her harici stok noktasını da ekibinizin kullanmayı planladığı Shopify konumuyla eşleyin. Eşlenmemiş ürün ve konumların nasıl ele alınacağını kaydedin; güncellemeleri sessizce varsayılan bir hedefe göndermeyin.
Bir stok seviyesi (inventory level), bir ürünün belirli bir konumdaki stok miktarlarını temsil eder; Shopify’ın inventoryLevel ve inventoryItem sorguları belgelenmiş stok durumlarındaki miktarları getirebilir. Bir ürünün stok seviyelerinin görüntülenebilmesi ya da ayarlanabilmesi için o üründe Shopify stok takibinin kurulmuş olması gerekir. Okuma ya da yazmaları test etmeden önce kapsamdaki her üründe takibin açık olduğunu doğrulayın; bir ürün entegrasyon görünümünde eksikse miktarının sıfır olduğunu varsaymayın; önce takip durumunu kontrol edin.
Eşleme incelemesinin bir parçası olarak uygulama-konum atamasını kontrol edin. Bir stok uygulaması bir ürünün miktarını takip ettiğinde bu miktar yalnızca uygulamanın konumuna atanır ve ürünlerin konum atamaları değiştirilebilir. Uygulamanın hangi konumu kullanacağı konusunda anlaşın, ürünün atamasını doğrulayın ve diğer sistemin konum eşlemesinin bu seçimi yansıttığından emin olun. Eşlemenin kaydını tutun; böylece atamalarda ileride yapılacak değişiklikler entegrasyonu istenmeyen bir konuma yönlendirmez.
Değişikliğe uyan Shopify işlemini seçin
Miktar sahipliği ve eşlemeler netleştikten sonra Shopify işlemini, harici sistemin bir değişikliği mi, bir hedef miktarı mı, yoksa durumlar arası bir taşımayı mı bildirdiğine göre seçin. Önce ilgili durumu ve konumu sorgulayın, sonra ekibinizin seçtiği senkron politikasına göre harici kayıtla karşılaştırın.
inventoryAdjustQuantities mutation’ı belirli bir ürün, durum ya da konum için stok miktarını verilen bir fark (delta) kadar ayarlar. Bu işlemi harici olay bilinen bir artış ya da azalışı temsil ettiğinde kullanın ve olayın anlamını entegrasyonunuzun kayıtlarında koruyun. inventorySetQuantities mutation’ı eldeki ya da kullanılabilir stok için bir değer belirler. Belirleme (set) işlemini yalnızca kaynak yetkili hedef değeri sağlamak için tasarlanmışsa kullanın; aksi hâlde eskimiş bir hedef değer daha yeni bir miktarın üzerine yazılabilir.
inventoryMoveQuantities mutation’ı miktarları kullanılabilir durum ile belirtilen kullanılamaz durumlar arasında ya da kullanılamaz durumlar arasında taşır. Olay toplamı değiştirmek değil de desteklenen durumlar arasında yeniden sınıflandırma ya da taşıma olduğunda bunu seçin. Ayrılmış (committed) durumdaki stok miktarlarını Admin API ile ayarlayamaz ya da taşıyamazsınız. Ayarlama, belirleme ya da taşımalarda referenceDocumentUri girdisi işlemi başlatan sistemi ve belgeyi kaydedebilir; bu da ekibinizin bir Shopify değişikliğini kaynak kaydına bağlamasına yardımcı olur.
- Kaynak bir artış ya da azalış bildiriyorsa fark (delta) kullanın.
- Kaynak hedef eldeki ya da kullanılabilir miktarı bildirmeye yetkiliyse belirleme (set) kullanın.
- Stok desteklenen kullanılabilir ya da kullanılamaz durumlar arasında değişiyorsa taşıma (move) kullanın.
- Ayrılmış stok için Admin API yazması tasarlamayın; bu durumu ilgili Shopify işleminin yönetmesine bırakın.
Güncellemeleri webhook kapsamına göre planlayın
Webhook işleme senkron tasarımının bir parçasıdır; her stok değişikliğinin bir olay üreteceğini garanti etmez. Shopify, uygulamaların stokla ilgili webhook’lara abone olabileceğini söyler. Uygulamanın hangi konulara ihtiyaç duyduğuna karar verin ve entegrasyonun ilgili bir bildirimi aldıktan sonra ne yapacağını tanımlayın.
Ayrılmış, rezerve, hasarlı, güvenlik stoğu ve kalite kontrol durumlarındaki değişiklikler webhook tetiklemez. Entegrasyonun bu durumları hesaba katması gerekiyorsa yalnızca webhook’a dayanan bir strateji eksik kalır. Shopify ayrılmış stoğu da kendisi yönetir: verilmiş bir sipariş henüz karşılanmamışsa stok ayrılır; ayrılmış miktarlar da Admin API ile değil, sipariş oluşturma ve karşılama gibi işlemlerle değişir.
Birbirine yakın gelen güncellemeler, tekrarlanan güncellemeler ve kaçırılmış ya da işlenmemiş bir bildirim için açık bir politika belirleyin. Örneğin Shopify’ı ne zaman yeniden sorgulayacağınıza, bu sonucu harici sistemle nasıl karşılaştıracağınıza ve bir uyumsuzluğun otomatik mi çözüleceğine yoksa incelemeye mi gönderileceğine karar verin. Bunlar belgelenmiş Shopify çakışma kuralları değil, entegrasyon politikalarıdır. Bildirim işlemeyi bir miktarın hangi sisteme ait olduğu kararından ayrı tutun; böylece bir olay almak o olayın değerini otomatik olarak yetkili kılmaz.
- Entegrasyonla ilgili inventory item ve inventory level konularına abone olun.
- Hangi stok durumlarının webhook değişiklikleri kapsamında olmadığını belgeleyin.
- Bir güncelleme kaçırıldığında ya da başka bir değişiklikle çakıştığında nasıl yeniden sorgulanacağını, karşılaştırılacağını ve üst seviyeye taşınacağını tanımlayın.
Kayıtları fiziksel sayımlarla mutabakata bağlayın
Mutabakatı olağan işleyişin içine yerleştirin; böylece olay işlemenin çözemediği sapmaları fark edebilirsiniz. Shopify, stok kayıtlarını sayım tamamlanıp doğrulandıktan sonra güncellemeyi önerir. Bir sayımı kimin doğrulayacağı ve düzeltilmiş miktarı hangi sistemin uygulayabileceği konusunda anlaşın.
Tekrarlanabilir bir kontrol listesi kullanın: ürünü ve konumu seçin, doğrulanmış fiziksel sayımı ilgili kayıtlarla karşılaştırın, önemli farkları araştırın ve kayıtları yalnızca sayım doğrulandıktan sonra güncelleyin. Seçilen miktarı, stok durumunu, konumunu ve kaynak belgeyi kaydedin; böylece sonraki bir inceleme bir düzeltmeyi olağan bir stok hareketinden ayırt edebilir. Fark çözülmediyse bir sistemi diğerinden tekrar tekrar ezmek yerine araştırma için görünür tutun.
Shopify, stok takibi açık olduğunda mağaza sahiplerinin bir ürünün stok geçmişini 180 güne kadar görüntülemesine izin verir. Bir farkı araştırırken bu geçmişi, diğer sistemin tuttuğu kayıtlar ve ekibin sayım belgeleriyle birlikte kaynaklardan biri olarak kullanın. Mutabakat, düzeltilmiş değerin amaçlanan ürüne, konuma ve duruma uygulandığını teyit etmelidir; her sistemin her zaman Shopify’ın üzerine yazdığı plansız bir kurala dönüşmemelidir.
- Fiziksel sayımları aynı ürün, konum ve stok durumuna ait kayıtlarla karşılaştırın.
- Önemli farkları araştırın ve kayıtları değiştirmeden önce sayımı doğrulayın.
- Düzeltmenin kaynağını kaydedin ve değerleri tekrar tekrar ezmek yerine çözülmemiş farkları inceleyin.
Sık sorulan sorular
- Bir miktarı hangi sistemin yöneteceğine nasıl karar vermeliyiz?
- Miktar sahipliği ve senkron yönü birer entegrasyon politikasıdır. Her miktar için yetkili bir sistem belirleyin ve çakışmaların nasıl inceleneceğini ya da çözüleceğini tanımlayın; bir güncelleme almak tek başına onun değerini yetkili kılmaz.
- Ayrılmış (committed) stok ne demektir?
- Ayrılmış stok, siparişler, transferler ya da gönderiler için ayrılmış stoktur. Harici bir alanı eşlemeden önce ayrılmış stoğu mu, kullanılabilir stoğu mu yoksa başka bir durumu mu temsil ettiğini belirlemek için yazıdaki miktar tanımlarını kullanın.
- Bir güncelleme kaçırılırsa ya da iki güncelleme çakışırsa ne yapmalıyız?
- Entegrasyonun Shopify’ı ne zaman yeniden sorgulayacağını, sonucu diğer sistemle nasıl karşılaştıracağını tanımlayın ve yetkinin belirsiz olduğu durumlarda bir değerin üzerine otomatik yazmak yerine uyumsuzluğu incelemeye gönderin.
- Stok görüntülenemiyor ya da ayarlanamıyorsa neyi kontrol etmeliyiz?
- Üründe takibin açık olduğunu doğrulayın ve konum atamasının entegrasyonun eşlemesiyle uyuştuğunu kontrol edin. Shopify, ürün stok seviyelerinin görüntülenebilmesi ya da ayarlanabilmesi için stok takibini şart koşar.
