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 - ProductInputkaynağı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- Productkaynağını kullanabilirsiniz.
- Entegre ürün durumu: - productstatuseshizmeti kaldırılır. Ürün doğrulama sorunları ve hedef durumları artık doğrudan- productStatusalanındaki- Productkaynağına dahil ediliyor. Bu sayede veri alma işlemi basitleştiriliyor.
- Öngörülebilir ürün güncellemeleri: Yeni - productInputs.patchyö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- Productkaynağı yerine- ProductInputkaynağına uygulanır.
- Daha temiz veri yönetimi için veri kaynağınızı seçin: Tüm - productInputsyazma işlemleri artık- dataSourcesorgu 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 - idalanı yerine RESTful bir kaynakla- nametanımlanıyor. Biçim şöyledir:- accounts/{account}/products/{product}.
- Özel toplu işlemler yok: - custombatchyö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:offerIdveyachannel:contentLanguage:feedLabel:offerId.Örnek: online:en:US:sku123 | Bir REST kaynağı namedizesi.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. dataSourcegerektirir. | 
| 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. dataSourcegerektirir. | 
| products.custombatch | Kullanılamıyor | Eş zamansız istekler veya HTTP toplu işleme kullanın. | 
| productstatuses.get | products.get | productstatuseshizmeti kaldırılır. Durum bilgileri artıkProductkaynağının bir parçasıdır. | 
| productstatuses.list | products.list | productstatuseshizmeti kaldırılır. Durum bilgileri artıkProductkaynağı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) | productAttributesnesnesi | title,pricevelinkgibi ürün özellikleri artık üst düzey alanlar değildir. Bu öğeler artık hemProducthem deProductInputkaynaklarındakiproductAttributesnesnesi 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 targetCountryyerinefeedLabelkullanıyor. | 
| feedId | dataSource(sorgu parametresi) | dataSourceadı artık tümproductInputsyazma yöntemleri (insert,update,delete) için zorunlu bir sorgu parametresidir. | 
| channel | Yok. Yalnızca yerel ürünler için legacy_localsimgesini kullanın. | channelalanı artık Merchant API'de mevcut değil. Content API for Shopping'deLOCALkanalı olan ürünler bunun yerinelegacy_localalanı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. | 
| stringtürü alanlar (tanımlanmış değer kümesiyle) | enumtü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ıkenumtüründedir. |