Ürünleri taşıma

Merchant API, ürün verilerinizi yönetmek için daha sağlam ve sezgisel bir yöntem sunar. Temel değişiklik, ürün verilerinin iki ayrı kaynağa ayrılmasıdır: ProductInput verilerinizi göndermek için, Product ise ürün durumu ve sorunlar dahil olmak üzere son, işlenmiş sürümü görüntülemek için kullanılır. Bu yeni yapı, daha öngörülebilir ve şeffaf bir deneyim sunar.

Bu kılavuz, entegrasyonunuzu Content API for Shopping'den taşımanıza yardımcı olmak için temel farklılıkları adım adım açıklar. Yeni özellikleri kullanmayla ilgili ayrıntılı kılavuz için Ürünlerinizi yönetme başlıklı makaleyi inceleyin.

Temel farklılıklar

Merchant API'de ürünleri yönetme şeklinizle ilgili, Content API for Shopping'e kıyasla en önemli değişiklikler şunlardır:

  • Giriş ve işlenmiş veriler için özel kaynaklar: Merchant API, ürün yönetimini iki kaynağa ayırır. Ürün verilerinizi eklemek, güncellemek ve silmek için ProductInput kaynağını kullanabilirsiniz. Google, girişlerinizi işledikten, kuralları uyguladıktan ve ek kaynaklardaki verileri birleştirdikten sonra nihai ürünü görüntülemek için salt okunur Product kaynağını kullanabilirsiniz.

  • Entegre ürün durumu: productstatuses hizmeti kaldırılır. Ürün doğrulama sorunları ve hedef durumları artık doğrudan productStatus alanındaki Product kaynağına dahil ediliyor. Bu sayede veri alma işlemi basitleştiriliyor.

  • Öngörülebilir ürün güncellemeleri: Yeni productInputs.patch yöntemi, belirli bir ürün girişini doğrudan değiştirir. Bu, güncellemelerin diğer feed yüklemeleriyle beklenmedik şekilde üzerine yazılabildiği Content API for Shopping'e kıyasla önemli bir gelişmedir. Merchant API'de, belirli bir ürün girişi tekrar güncellenene veya silinene kadar güncelleme devam eder. Ürün güncellemeleri, işlenen Product kaynağı yerine ProductInput kaynağına uygulanır.

  • Daha temiz veri yönetimi için veri kaynağınızı seçin: Tüm productInputs yazma işlemleri artık dataSource sorgu parametresi gerektiriyor. Bu sayede, hangi veri kaynağını değiştirdiğiniz açıkça belirtiliyor. Bu özellik, özellikle veri sağlayan birden fazla kaynağınız varsa yararlıdır.

  • Yeni kaynak tanımlayıcıları: Ürünler artık id alanı yerine RESTful bir kaynakla name tanımlanıyor. Biçim şöyledir: accounts/{account}/products/{product}.

  • Özel toplu işlemler yok: custombatch yöntemi artık kullanılamıyor. Tek bir HTTP çağrısında birden fazla istek göndermek için eşzamansız istekleri veya HTTP toplu işleme özelliğini kullanabilirsiniz.

  • Herhangi bir feed etiketi ve dil için veri kaynakları: Merchant API, feed etiketi ve dil belirtmeden veri kaynağı oluşturmayı mümkün kılar. Bu nedenle, herhangi bir feed etiketi ve dilde ürün eklemeye olanak tanır.

İstekler

Bu bölümde, Content API for Shopping ve Merchant API'nin istek biçimleri karşılaştırılmaktadır.

İstek açıklaması Content API for Shopping Merchant API
Ürün edinme GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product}
Ürünleri listeleme GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products
Ürün ekle POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products POST https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs:insert
Ürünü güncelleme PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} PATCH https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput}
Ürün silme DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} DELETE https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput}
Ürün durumunu alma GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses/{productId} GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product}
Ürün durumlarını listeleme GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products
Birden fazla isteği toplu olarak işleme POST https://shoppingcontent.googleapis.com/content/v2.1/products/custombatch Asenkron istekler, HTTP toplu istekleri

Tanımlayıcılar

Merchant API'de ürün tanımlayıcıların biçimi standart bir REST kaynak adı olarak değiştirildi.

Tanımlayıcı açıklaması Content API for Shopping Merchant API
Ürün kimliği İki nokta üst üste işaretiyle (:) ayrılmış segmentlerden oluşan bir dize.
Biçim: channel:contentLanguage:targetCountry:offerId veya channel:contentLanguage:feedLabel:offerId.
Örnek: online:en:US:sku123
Bir REST kaynağı name dizesi.
Biçim: accounts/{account}/products/{product}. Burada {product}, contentLanguage~feedLabel~offerId'dir.
Örnek: accounts/12345/products/en~US~sku123

Yöntemler

Bu tabloda, Content API for Shopping yöntemleri ve bunların Merchant API'deki karşılıkları gösterilmektedir.

Content API for Shopping yöntemi Merchant API yöntemi Kullanılabilirlik ve notlar
products.get products.get İşlenmiş son ürünü alır.
products.list products.list Son, işlenmiş ürünleri listeler.
products.insert productInputs.insert Ürün girişi ekler. dataSource gerektirir.
products.update productInputs.update Davranış önemli ölçüde farklıdır. Belirli bir ürün girişini günceller ve kalıcıdır.
products.delete productInputs.delete Belirli bir ürün girişini siler. dataSource gerektirir.
products.custombatch Kullanılamıyor Eş zamansız istekler veya HTTP toplu işleme kullanın.
productstatuses.get products.get productstatuses hizmeti kaldırılır. Durum bilgileri artık Product kaynağının bir parçasıdır.
productstatuses.list products.list productstatuses hizmeti kaldırılır. Durum bilgileri artık Product kaynağının bir parçasıdır.
productstatuses.custombatch Kullanılamıyor [asynchronous

istekleri](/merchant/api/samples/insert-product-input-async) veya HTTP toplu işleme. |

Ayrıntılı alan değişiklikleri

Bu tabloda, Merchant API'de değiştirilen, eklenen veya kaldırılan önemli alanlar vurgulanmaktadır.

Content API for Shopping Merchant API Açıklama
id name Bir ürünün birincil tanımlayıcısı artık REST kaynağı name'dır.
Üst düzey ürün verileri spesifikasyonu özellikleri (ör. title, price, link) productAttributes nesnesi title, price ve link gibi ürün özellikleri artık üst düzey alanlar değildir. Bu öğeler artık hem Product hem de ProductInput kaynaklarındaki productAttributes nesnesi içinde gruplandırılıyor. Bu, daha temiz ve düzenli bir kaynak yapısı sağlar.
targetCountry feedLabel Kaynak adı, Merchant Center işlevleriyle uyumlu olması için artık targetCountry yerine feedLabel kullanıyor.
feedId dataSource (sorgu parametresi) dataSource adı artık tüm productInputs yazma yöntemleri (insert, update, delete) için zorunlu bir sorgu parametresidir.
channel Yok. Yalnızca yerel ürünler için legacy_local simgesini kullanın. channel alanı artık Merchant API'de mevcut değil. Content API for Shopping'de LOCAL kanalı olan ürünler bunun yerine legacy_local alanını doğru olarak ayarlamalıdır.
Kullanılamıyor versionNumber ProductInput üzerinde, birincil veri kaynaklarına sırasız eklemeleri önlemek için kullanılabilecek yeni bir isteğe bağlı alan.
string türü alanlar (tanımlanmış değer kümesiyle) enum türü alanlar (tanımlanmış değer kümesiyle) Belirli bir değer kümesi tanımlanmış ürün özelliklerindeki alanlar (ör. excluded_destinations, availability) artık enum türündedir.