Bu belgede, en iyi uygulamalarla ilgili yönergeler verilmektedir. Daha fazla bilgi için Performans ipuçları başlıklı makaleye göz atın.
API'yi ne zaman kullanmalısınız?
Programatik olarak istek göndermek için
İş akışınızın her bölümünü otomatikleştirmeyi veya ERP (Kurumsal Kaynak Planlama) sisteminizde bir kanca oluşturmayı tercih etseniz de Content API, envanteriniz değiştiği anda güncellemeleri göndermenize olanak tanır.
Anında geri bildirim almak için
Content API'de, veri feed'leri işlendikten sonra e-posta özeti yerine her isteğe anında yanıt alırsınız. Büyük toplu isteklerde beş ila on saniye gecikme beklenir.
Ürün verilerinizi sık sık değiştirmek için
Content API ile hızlı satılan ürün envanterinizde günde birçok kez kademeli güncellemeler yapabilirsiniz. Ancak her seferinde tüm veri feed'inizi göndermek mümkün değildir. Güncellemeler ayrı ayrı kullanıma sunulursa bunları tek tek gönderin. Toplu olarak göndermek için birden fazla güncelleme yayınlanmasını beklemeyin. Aynı şekilde, güncellemeler toplu olarak kullanılabiliyorsa bunları toplu olarak gönderin, ayrı ayrı istekler halinde göndermeyin.
Birden fazla alt hesabı yönetmek için
Yeni oluşturulan Merchant Center hesapları, kendi ürün verilerini içeren tek hesaplardır. Bu yöntem çoğu durumda iyi sonuç verir ancak hesabınız büyüdükçe ürünleriniz için daha karmaşık bir yönetim sistemine ihtiyacınız olduğunu fark edebilirsiniz. Bu durum sizin için geçerliyse çok müşterili hesap (MM) kullanmayı düşünebilirsiniz. Bir MM hesabının API düzeyinde yönetimi, Hesaplar hizmeti aracılığıyla yapılabilir ve alt hesapların programatik olarak eklenmesine ve yönetilmesine olanak tanır. MCA hesabı edinme hakkında daha fazla bilgiyi burada bulabilirsiniz.
API nasıl kullanılır?
API'yi veri feed'lerini kullandığınız gibi kullanmayın.
products kaynağını kullanırken ürün feed'inizin tamamını günlük olarak güncellemeyin.
Bunun yerine, yalnızca verileri gerçekten değişen ürünleri güncelleyin. Veri feed'inizin tamamını products kaynağı üzerinden göndermek hem Google hem de sizin için daha fazla zaman ve kaynak tüketir.
Yüklediğiniz ürün bilgilerini düzenli olarak almak için API'yi kullanmayın.
Belirli bir Merchant Center hesabındaki ürün bilgilerinin bakımından siz sorumlusunuz. Bu durumda, products.get veya products.list yöntemleriyle Content API'den düzenli olarak ürün bilgisi istemeyin. Bilgi yükleyen müşteriler için bu yöntemler, Content API'yi kullanan çözümler tasarlarken sorunları ayıklamanıza yardımcı olabilir. Ancak bu istemciler tarafından düzenli olarak ürün bilgisi almak için tasarlanmamıştır. Ürün bilgileriniz için yerel ürün veritabanı gibi başka bir kaynağınız olmalı ve Merchant Center'daki ürünler bu kaynağın içeriğini yansıtmalıdır.
Ürün öğelerini göndermek için hem veri feed'lerini hem de Content API'yi kullanmayın.
Öğe gönderme için API'ye geçmeyi düşünüyorsanız ürün öğelerini göndermek için artık veri feed'lerini kullanmadığınızdan emin olun. Her iki ortamda da öğe göndermeye devam ederseniz beklenmedik sonuçlar ortaya çıkabilir.
API ve veri feed'lerini birlikte güvenli bir şekilde kullanabilir miyim?
API'nin Datafeed Service'ini kullanarak veri feed'lerinizi değiştirebilirsiniz. Bu, büyük ölçekte veri feed'i yönetimini çok daha kolay hale getirecek olsa da beklenmedik sonuçlar oluşabileceğinden ürünleri API kullanarak feed'lerle eşzamanlı olarak eklememeniz veya güncellememeniz gerektiğini unutmayın.
Feed'lerin ve API'nin birlikte kullanılmasına ilişkin diğer bazı kabul edilebilir örnekler:
API'den salt okunur istekler (get veya list) yürütme: Bazı satıcılar, ürünleriyle ilgili bilgileri ve durum güncellemelerini getirmek için API'yi kullanmak ister. Ürün bilgileri yalnızca feed'ler tarafından güncellendiği için bu durum kabul edilebilir.
Alt hesaplarınızı (Accounts Service) ve/veya hesap düzeyindeki vergi ve kargo ayarlarınızı (Accounttax Service ve Shippingsettings Service) yönetmek için API'yi kullanma. Bunlar, veri feed'lerinin sağlayabileceği işlevler değildir. Bu nedenle, bu işlevleri yönetmek için API'yi kullanırken herhangi bir çakışma olmaz.
Veri feed'lerini kullanmaktan yalnızca API'yi kullanmaya veya tam tersi şekilde nasıl geçiş yapabilirim?
Şu anda veri feed'lerini kullanıyorsanız ve ürünleri güncellemek için yalnızca API'yi kullanmaya geçmek istiyorsanız ürün verilerinizi API ile yeniden yüklemeniz gerekir. Belirli bir ürünü güncellemek için products service'i kullandığınızda API, ürün bilgilerinin kontrolünü ele alır ve ürünü veri feed'inden silmek veya veri feed'inin kendisini silmek artık ürün bilgilerini Merchant Center hesabınızdan kaldırmaz. Ürünü veri feed'inden veya veri feed'inin kendisinden kaldırmak istiyorsanız veri feed'inde güncelleme olmadığından emin olun. Aksi takdirde veri feed'i tekrar sahipliği alır ve ürünün veri feed'inden kaldırılması, ürünün de kaldırılmasına neden olur.
Şu anda yalnızca ürün bilgileri için API'yi kullanıyorsanız ve ürün bilgilerinizin birincil kaynağı olarak veri feed'lerini kullanmak istiyorsanız yeni veri feed'ini Merchant Center hesabınıza eklemeniz yeterlidir. Bu durumda, listelenen ürünlerin sahipliği yeni veri feed'ine geçer. Yalnızca API'den yüklenen ve süresi dolmadan önce kaldırmak istediğiniz ürünler varsa bunları Merchant Center veya API üzerinden silmeniz gerekir.
Content API for Shopping'i kullanarak ürünlerle birden fazla ülkeyi nasıl hedefleyebilirim?
Content API aracılığıyla gönderilen ürünler için reklamlar ve ücretsiz listelemelerle birden fazla ülkeyi hedeflemek istiyorsanız Merchant Center'daki Content API birincil feed'inde ek ülkeleri yapılandırın veya products kaynağındaki shipping alanı aracılığıyla bu ek ülkeleri ekleyin.
Content API birincil feed ayarlarının nasıl değiştirileceğine dair bir örneği aşağıda bulabilirsiniz.

Daha fazla bilgi için şu makaleyi inceleyin: Alışveriş reklamlarını ve ücretsiz listelemeleri birden fazla ülkede hedefleme.
İstemci kitaplıklarınızın güncel olduğundan emin olun.
Content API ile etkileşim kurmak için bir Google istemci kitaplığı kullanıyorsanız seçtiğiniz programlama dilinin paket yöneticisini kullandığınızdan ve kitaplık sürümünün güncel olduğundan emin olun. Daha fazla bilgi için Örnekler ve Kitaplıklar bölümünde seçtiğiniz dilin geliştirici kılavuzuna bakın.
Farklı alışveriş programlarında hangi ürünlerin görüneceğini kontrol etmek için hedef özelliklerini kullandığınızdan emin olun.
Content API, Merchant Center'da yapılandırıldığı şekliyle Content API feed'inizin varsayılan ayarlarını otomatik olarak kullanır. Feed'deki veya Content API aracılığıyla program katılımını ürün düzeyinde kontrol etmek için includedDestinations veya excludedDestinations ürün özelliklerini kullanabilirsiniz.
API feed'iniz bir programa (ör. Google ile Satın Al, eski adıyla Shopping Actions) kaydedildiyse ancak belirli ürünleri hariç tutmak istiyorsanız excludedDestinations özelliğini kullanın ve değer olarak Shopping Actions belirtin. Hata olmaması koşuluyla bu işlem, Merchant Center'daki varsayılan feed ayarlarının üzerine yazar ve söz konusu öğe, Google ile Satın Al'da (eski adıyla Shopping Actions) gösterilmez. Bunun aksine, feed'iniz bir programa (ör. Alışveriş) kaydedilmediyse includedDestinations özelliğini ve değer olarak Shopping_ads kullanarak tek tek öğeler ekleyebilirsiniz. Bu durumda öğe, Alışveriş reklamlarında gösterilir.
includedDestinations ve excludedDestinations ürün özellikleri hakkında daha fazla bilgi için Yardım Merkezi'ne bakın.
Öğeleri geçerlilikleri sona ermeden önce güncellediğinizden emin olun.
Bir öğe, son güncellemeden 30 gün sonra veya belirtilen geçerlilik bitiş tarihinde (hangisi daha önceyse) geçerliliği dolmadan önce değişmezse devre dışı bırakılmasını önlemek için öğeyi güncelleyin. Hiçbiri değişmediği veya son güncellenme zamanlarını takip edemediğiniz için birçok öğeyi güncellemeniz gerekiyorsa tüm öğeleri aynı anda güncellemeyin. Bunun yerine, yükü birden fazla güne eşit şekilde yayın.
Content API feed'ini silmeyin. Aksi takdirde ürünleriniz kaybolabilir.
Content API aracılığıyla channel:online içeren bir ürünü ilk kez yüklediğinizde Merchant Center'da Content API başlıklı yeni bir feed görünür. Content API aracılığıyla channel:local içeren bir ürünü ilk kez yüklediğinizde Merchant Center'da Content API başlıklı ve Yerel Ürünler alt başlıklı yeni bir feed görünür. Online veya yerel Content API feed'ini yanlışlıkla silmediğinizden emin olun. Sildiğiniz feed'e bağlı olarak, Content API aracılığıyla Merchant Center'a eklediğiniz online veya yerel ürünler kaldırılır.
custombatch yöntemini kullanarak aynı hizmete yönelik birden fazla isteği toplu olarak gönderme
Aynı hizmete birçok sıralı veya paralel istekte bulunmak yerine, istenen tüm istekleri içeren tek bir custombatch isteğinde bulunun. Bu sayede, API uç noktasına istek gönderme gecikmesi her bir istekte değil, yalnızca custombatch çağrısı için bir kez gerçekleşir. Bu durum, özellikle sıralı istekler gönderiyorsanız önemlidir.
Tek bir öğeye tek bir toplu işlemde birden fazla güncelleme göndermeyin.
Bu durum, güncellemelerin sırası belirsiz olduğundan beklenmedik sonuçlara yol açar ve çakışma hatasına neden olabilir.
Değişmeyen öğeler için güncellemeleri gönderme
Öğelerin süresi aksi takdirde dolmayacaksa yalnızca yeni, değiştirilmiş veya silinmiş ürün öğeleri için istek gönderdiğinizden emin olun.
Fiyatlar ve/veya stok durumu hızla değişiyorsa ek feed'leri kullanın
Bir ürünün fiyat, stok durumu veya indirim bilgilerini güncel tutmakta zorlanıyorsanız yalnızca bu özelliklerle ilgili güncellemeleri göndermek için products kaynağındaki ek feed'leri kullanabilirsiniz. Ek feed güncellemeleri küçük olduğundan, belirli bir dönemde tam ürün güncellemelerine kıyasla çok daha fazla ek feed güncellemesi yapabilirsiniz. Bu sayede ürünlerinizin fiyatları ve stok durumu, açılış sayfalarınızla uyumlu kalır.
Ürün fiyatını ve stok durumunu güncellemenin bir diğer yolu da otomatik öğe güncellemelerini kullanmaktır. Bu özellik, Merchant Center'daki bilgiler ile ürün açılış sayfalarındaki bilgiler arasında uyuşmazlıkları önlemek için API güncellemelerine ek olarak kullanılabilir. Ancak bu özelliğin, ürün fiyatı ve stok durumu bilgilerinin doğruluğuyla ilgili küçük sorunları düzeltmek için tasarlandığını unutmayın. Bu nedenle, otomatik öğe güncellemeleri, API aracılığıyla doğru bilgileri sağlamanın yerini almaz.
Yenileme jetonu ne zaman kullanılır?
Yenileme jetonu, yetkilendirme isteklerinin HTTP başlığında döndürülür. Yenileme jetonu, kimlik doğrulama ile ilgili birçok başka bilgi içerir. Ancak erişim jetonlarının süresi dolmadan önce yalnızca 60 dakika geçerli olması nedeniyle, geliştiriciler genellikle yenileme jetonunu kullanmak ister. Yenileme jetonu, kullanıcıdan kimlik doğrulama için tekrar tekrar istemde bulunma ihtiyacını ortadan kaldırır.