Veri kaynaklarını taşıma

Bu kılavuzda, entegrasyonunuzu Content API for Shopping'in datafeeds ve datafeedstatuses hizmetlerinden Merchant API'deki Veri Kaynakları alt API'sine nasıl taşıyacağınız açıklanmaktadır. Yeni Data Sources alt API'si, Data Pipelines'ınız üzerinde daha doğrudan kontrol sağlar ve veri kaynakları yönetimini basitleştirir.

Yeni özellikler hakkında daha fazla bilgi için Veri kaynaklarınızı yönetme kılavuzunu inceleyin.

Temel farklar

Merchant API, Content API for Shopping'e kıyasla çeşitli avantajlar sunar:

  • Açık veri kaynağı oluşturma. API artık ilk ürün eklemenizde otomatik olarak "Content API" veri kaynağı oluşturmaz. Merchant API'de, ürünleri yükleyebilmek için veri kaynaklarını açıkça oluşturmanız gerekir. Bu sayede, sürecin başından itibaren, ürün verileri Data Pipelines'ınızın düzenlenmesi ve yönetilmesi üzerinde daha fazla kontrol sahibi olursunuz.

  • Birden fazla API veri kaynağı desteği Content API for Shopping'de, otomatik olarak oluşturulan tek bir "Content API" veri kaynağıyla sınırlıydınız. Merchant API ile API giriş türünde birden fazla veri kaynağı oluşturup yönetebilirsiniz.

  • Etiketi ve dili olmayan veri kaynakları. Merchant API, feedLabel ve contentLanguage belirtmeden birincil veri kaynağı oluşturmanıza olanak tanır. Bu tür veri kaynakları, feedLabel ve contentLanguage dillerinin herhangi bir kombinasyonundaki ürünleri kabul eder. Bu sayede, farklı bölgeler için ayrı veri kaynakları gerektirmeyen entegrasyonlarda ürün yükleme işlemi basitleşir.

  • Basitleştirilmiş veri hedefleri. Her veri kaynağı artık benzersiz bir feedLabel ve contentLanguage kombinasyonuyla tanımlanan tek bir hedefe karşılık gelir. Çok verili hedef feed'ler, Merchant API'de kullanımdan kaldırıldı.

  • Özel dosya yükleme durumu. Merchant API, dosya tabanlı veri kaynaklarının durumunu ayrı ve salt okunur bir fileUploads kaynağı kullanarak gösterir. Dosya yükleme durumunu almak için latest takma adıyla fileUploads.get yöntemini kullanın.

  • Yeni veri kaynağı türleri. DataSource kaynağı; promosyonlar, yerel envanter ve bölgesel envanter dahil olmak üzere daha fazla sektörü destekleyerek tüm Data Pipelines'ınızı yönetmek için birleşik bir yöntem sunar.

  • Otomatik veri kaynakları. Merchant API ile artık Accounts alt API'sindeki autofeedSettings.updateAutofeedSettings yöntemini kullanarak hesabınız için Otomatik veri kaynakları özelliğini etkinleştirebilir veya devre dışı bırakabilirsiniz. Daha fazla bilgi için Otomatik feed ayarlarını yapılandırma başlıklı makaleyi inceleyin.

Veri kaynağı stratejinizi seçme

Veri kaynaklarınızı yönetmek için üç seçeneğiniz vardır:

  • Herhangi bir feed etiketi ve dil için tek bir Merchant API veri kaynağı oluşturun. Herhangi bir feedLabel ve contentLanguage içeren ürünleri kabul eden tek bir veri kaynağı kullanarak yönetiminizi basitleştirmek için bu seçeneği kullanın. Eski Content API kurulumunda, belirli etiketler ve diller için kuralları ayrı veri kaynakları aracılığıyla tanımlar ve ürünleri, ilgili hedeflenen kurallara sahip veri kaynağına eklersiniz. Bu seçeneği tercih ederseniz tüm ürünlerinizi yeni veri kaynağına taşımanızı ve tüm ürünleriniz taşındıktan sonra Content API veri kaynaklarınızı kaldırmanızı öneririz.

  • Her etiket ve dil için yeni Merchant API veri kaynakları oluşturun. Yeni feedLabel ve contentLanguage kombinasyonlarını desteklemeniz gerekiyorsa (ve aralarında kesin bir ayrım olmasını tercih ediyorsanız) ya da belirli feedLabel ve contentLanguage'ye dayalı veri kaynağı kuralları kurulumunu kullanıyorsanız bu seçeneği kullanın. Kullandığınız her feedLabel ve contentLanguage çifti için ayrı bir veri kaynağı oluşturmanız gerekir. Merchant API veri kaynaklarını, Content API for Shopping ile oluşturulan veri kaynaklarıyla birleştirebilirsiniz.

  • Mevcut Content API veri kaynaklarını koruyun. Content API for Shopping ile oluşturulan veri kaynakları Merchant API ile uyumlu olduğundan bunları kullanmaya devam edebilirsiniz. Kaynak adlarını dataSources.list kullanarak veya Merchant Center kullanıcı arayüzünde bulabilirsiniz. Content API birincil veri kaynakları, yalnızca oluşturuldukları belirli feedLabel ve contentLanguage değerlerini destekler. Ürünler Merchant API kullanılarak eklenmiş olsa bile Content API veri kaynakları, Merchant Center'da "Content API" kaynağıyla gösterilir. Bunları, belirli feedLabel ve contentLanguage çiftlerini hedefleyen yeni Merchant API veri kaynaklarıyla birleştirebilirsiniz.

Tekrarlanan dataSources.list çağrılarından kaçınmak için her bir ürününüz için tüm birincil veri kaynaklarının adlarını bir kez depolayarak yerel ürün veritabanınızı doldurmanızı öneririz.

İstekler

Aşağıdaki tabloda, Content API for Shopping ve Merchant API'nin istek URL'si biçimleri karşılaştırılmaktadır.

İstek açıklaması Content API for Shopping Merchant API
Veri kaynağı oluşturma POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources
Veri kaynağı alma GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}
Veri kaynaklarını listeleme GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources
Veri kaynağını güncelleme PUT https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} PATCH https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}
Veri kaynağını silme DELETE https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} DELETE https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}
Veri kaynağı getirme POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID}/fetchNow POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}:fetch
Veri kaynağı durumunu alma GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses/{DATAFEED_ID} GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}/fileUploads/latest
Veri kaynağı durumlarını listeleme GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses Yok. Dosya tabanlı her veri kaynağı için dataSources.list ve fileUploads.get kullanın.

Tanımlayıcılar

Merchant API, tanımlayıcı olarak dize tabanlı bir kaynak adı kullanır.

Tanımlayıcı açıklaması Content API for Shopping Merchant API
Veri kaynağı tanımlayıcısı datafeedId (sayısal) name (string, biçim: accounts/{account}/dataSources/{datasource})

Yöntemler

Bu tabloda, Content API for Shopping datafeeds ve datafeedstatuses hizmetlerindeki yöntemler, Merchant API'deki eşdeğerleriyle karşılaştırılmaktadır.

Content API for Shopping yöntemi Merchant API yöntemi Kullanılabilirlik ve notlar
datafeeds.custombatch Kullanılamıyor Bunun yerine ayrı API çağrıları kullanın.
datafeeds.delete dataSources.delete Mevcut.
datafeeds.fetchnow dataSources.fetch Mevcut. Bu yöntem artık yalnızca dosya girişi olan veri kaynaklarında çalışır.
datafeeds.get dataSources.get Mevcut.
datafeeds.insert dataSources.create Mevcut.
datafeeds.list dataSources.list Mevcut.
datafeeds.update dataSources.update Mevcut. PUT yerine PATCH semantiğini kullanır.
datafeedstatuses.custombatch Kullanılamıyor Bunun yerine ayrı API çağrıları kullanın. Daha fazla bilgi için Aynı anda birden fazla istek gönderme başlıklı makaleyi inceleyin.
datafeedstatuses.get fileUploads.get Dosya tabanlı veri kaynakları için kullanılabilir. En son yüklemenin durumunu öğrenmek için latest takma adını kullanın. Diğer veri kaynağı türleri için durum bilgileri DataSource kaynağının bir parçasıdır.
datafeedstatuses.list Kullanılamıyor Birden fazla veri kaynağının durumunu öğrenmek için önce dataSources.list ile tüm veri kaynaklarını listeleyin. Ardından, her dosya tabanlı veri kaynağı için latest takma adıyla fileUploads.get işlevini çağırın.

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

Bu tabloda, Content API for Shopping'deki Datafeed ve DatafeedStatus kaynakları ile Merchant API'deki DataSource ve FileUpload kaynakları arasındaki alan düzeyindeki değişiklikler gösterilmektedir.

Content API for Shopping Merchant API Açıklama
Datafeed DataSource Veri kaynağı yapılandırması için ana kaynak.
id name Kaynak tanımlayıcısı. Sayısal kimlikten dize kaynak adına değiştirildi.
name displayName Veri kaynağının kullanıcılara yönelik adı.
attributeLanguage primaryProductDataSource.contentLanguage Veri kaynağındaki öğelerin iki harfli ISO 639-1 dil kodu.
fileName fileInput.fileName Yüklenen dosyanın adı. Bu alan artık fileInput altına yerleştirilmiştir.
fetchSchedule fileInput.fetchSettings Dosya tabanlı bir veri kaynağını getirme planı. Bu öğe artık fileInput altında yer alıyor.
fetchSchedule.paused fileInput.fetchSettings.enabled Mantık tersine çevrilir. paused: true, enabled: false değerine eşdeğerdir.
format Kullanılamıyor fileEncoding, columnDelimiter ve quotingMode alanları kaldırılır. Bunlar artık otomatik olarak algılanıyor.
targets primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage ve primaryProductDataSource.countries Yinelenen targets alanı kaldırıldı. Artık her veri kaynağının bu alanlar tarafından tanımlanan tek bir hedefi vardır. Bu, çoklu veri hedefi feed'lerinin kullanımdan kaldırıldığını gösterir.
DatafeedStatus FileUpload Dosya yükleme durumu artık ayrı ve salt okunur bir kaynaktır.
datafeedId name Üst veri kaynağına referans veren, dosya yükleme tanımlayıcısı.
processingStatus processingState Yüklemenin işleme durumu. Dize değerleri (success, failure, in progress) bir enum (SUCCEEDED, FAILED, IN_PROGRESS) ile değiştirilir.
errors, warnings issues Hatalar ve uyarılar tek bir issues listesinde birleştirilir. Her sorunun bir severity alanı (ERROR veya WARNING) vardır.
lastUploadDate uploadTime Son yüklemenin zaman damgası. Biçim, dizeden Timestamp nesnesine değiştirildi.
country, language ve feedLabel Geçerli değil Bu alanlar artık durum kaynağında yer almıyor. DataSource kaynağının bir parçasıdır.
targets[].included_destinations, targets[].excluded_destinations primaryProductDataSource.destinations Dahil edilen ve hariç tutulan hedefler için iki ayrı liste yerine tek bir destinations listesi kullanılır. Yeni listedeki her öğe, hedefi ve durumunu (ENABLED veya DISABLED) belirten bir nesnedir ve daha net bir yapılandırma sağlar.