Przenoszenie źródeł danych

Z tego przewodnika dowiesz się, jak przeprowadzić migrację integracji z usług datafeeds i datafeedstatuses w Content API for Shopping do podrzędnego interfejsu API Źródła danych w Merchant API. Nowy podrzędny interfejs API Źródła danych zapewnia bardziej bezpośrednią kontrolę nad potokami danych i upraszcza zarządzanie źródłami danych.

Więcej informacji o nowych funkcjach znajdziesz w przewodniku Zarządzanie źródłami danych.

Najważniejsze różnice

W porównaniu z Content API for Shopping Merchant API oferuje kilka zalet:

  • Jawne tworzenie źródła danych. Interfejs API nie tworzy już automatycznie źródła danych „Content API” po pierwszym wstawieniu produktu. W Merchant API musisz najpierw utworzyć źródła danych, zanim będziesz w stanie przesłać do nich produkty. Dzięki temu od początku masz większą kontrolę nad organizacją i zarządzaniem potokami danych o produktach.

  • Obsługa wielu źródeł danych interfejsu API. W Content API for Shopping można było używać tylko jednego, automatycznie utworzonego źródła danych „Content API”. Dzięki Merchant API możesz tworzyć wiele źródeł danych typu wejściowego API i nimi zarządzać.

  • Źródła danych bez etykiety i języka. Merchant API umożliwia utworzenie podstawowego źródła danych bez określania parametrów feedLabel i contentLanguage. Ten typ źródła danych akceptuje produkty w dowolnej kombinacji parametrów feedLabel i contentLanguage, co upraszcza przesyłanie produktów w przypadku integracji, które nie wymagają oddzielnych źródeł danych dla różnych regionów.

  • Uproszczone cele danych. Każde źródło danych odpowiada teraz jednemu celowi, który jest określony przez unikalną kombinację parametrów feedLabel i contentLanguage. Pliki danych kierowane na wiele źródeł danych są w Merchant API wycofywane.

  • Osobny stan przesyłania pliku. Merchant API przedstawia stan źródeł danych opartych na plikach za pomocą osobnego zasobu fileUploads tylko do odczytu. Aby pobrać stan przesyłania pliku, użyj metody fileUploads.get z aliasem latest.

  • Nowe typy źródeł danych. Zasób DataSource obsługuje więcej branż, w tym promocje, asortyment lokalny i asortyment regionalny, co zapewnia ujednolicony sposób zarządzania wszystkimi potokami danych.

  • Automatyczne źródła danych. Dzięki Merchant API możesz teraz włączać i wyłączać funkcję Automatyczne źródła danych na swoim koncie za pomocą autofeedSettings.updateAutofeedSettings metody w podrzędnym interfejsie API Konta. Więcej informacji znajdziesz w artykule Konfigurowanie ustawień automatycznego pliku danych.

Wybierz strategię dotyczącą źródeł danych

Źródłami danych możesz zarządzać na 3 sposoby:

  • Utwórz jedno źródło danych Merchant API dla dowolnej etykiety pliku danych i języka. Użyj tej opcji, aby uprościć zarządzanie, korzystając z jednego źródła danych, które akceptuje produkty z dowolnymi parametrami feedLabel i contentLanguage. W starej konfiguracji Content API reguły dla określonych etykiet i języków definiujesz za pomocą oddzielnych źródeł danych, a produkty wstawiasz do źródła danych z odpowiednimi regułami kierowania. Jeśli wybierzesz tę opcję, zalecamy przeniesienie wszystkich produktów do nowego źródła danych i usunięcie źródeł danych Content API po przeniesieniu wszystkich produktów.

  • Utwórz nowe źródła danych Merchant API dla każdej etykiety i języka. Użyj tej opcji, jeśli musisz obsługiwać nowe kombinacje parametrów feedLabel i contentLanguage (i wolisz zachować ścisłe rozdzielenie między nimi) lub jeśli używasz konfiguracji reguł źródła danych, która opiera się na konkretnych parametrach feedLabel i contentLanguage. Musisz utworzyć osobne źródło danych dla każdej używanej pary parametrów feedLabel i contentLanguage. Źródła danych Merchant API możesz łączyć ze źródłami danych utworzonymi za pomocą Content API for Shopping.

  • Zachowaj dotychczasowe źródła danych Content API. Możesz nadal używać źródeł danych utworzonych za pomocą Content API for Shopping, ponieważ są one zgodne z Merchant API. Nazwy zasobów możesz znaleźć za pomocą dataSources.list lub w interfejsie Merchant Center. Podstawowe źródła danych Content API obsługują tylko określone parametry feedLabel i contentLanguage, z którymi zostały utworzone. Źródła danych Content API są wyświetlane w Merchant Center ze źródłem „Content API”, nawet jeśli produkty są wstawiane za pomocą Merchant API. Możesz je łączyć z nowymi źródłami danych Merchant API, które też są kierowane na określone pary parametrów feedLabel i contentLanguage.

Aby uniknąć powtarzających się dataSources.list wywołań, zalecamy uzupełnienie bazy danych produktów lokalnych przez zapisanie nazw wszystkich podstawowych źródeł danych raz dla każdego produktu.

Żądania

W tabeli poniżej porównano formaty adresów URL żądań w Content API for Shopping i Merchant API.

Opis prośby Content API for Shopping Merchant API
Utworzenie źródła danych POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources
Pobieranie źródła danych 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}
Wyświetlanie listy źródeł danych GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources
Zaktualizowanie źródła danych 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}
Usuwanie źródła danych 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}
Pobieranie źródła danych 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
Pobieranie stanu źródła danych 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
Wyświetlanie listy stanów źródeł danych GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses Niedostępne. W przypadku każdego źródła danych opartego na pliku użyj metod dataSources.list i fileUploads.get.

Identyfikatory

Merchant API używa jako identyfikatora nazwy zasobu w postaci ciągu znaków.

Opis identyfikatora Content API for Shopping Merchant API
Identyfikator źródła danych datafeedId (liczbowy) name (ciąg znaków, format: accounts/{account}/dataSources/{datasource})

Metody

W tej tabeli porównano metody z usług w Content API for Shopping datafeeds i datafeedstatuses z ich odpowiednikami w Merchant API.

Metoda Content API for Shopping Metoda Merchant API Dostępność i uwagi
datafeeds.custombatch Niedostępne Zamiast tego użyj pojedynczych wywołań interfejsu API.
datafeeds.delete dataSources.delete Dostępne.
datafeeds.fetchnow dataSources.fetch Dostępne. Ta metoda działa teraz tylko w przypadku źródeł danych z wejściem pliku.
datafeeds.get dataSources.get Dostępne.
datafeeds.insert dataSources.create Dostępne.
datafeeds.list dataSources.list Dostępne.
datafeeds.update dataSources.update Dostępne. Zamiast semantyki PUT używa semantyki PATCH.
datafeedstatuses.custombatch Niedostępne Zamiast tego użyj pojedynczych wywołań interfejsu API. Więcej informacji znajdziesz w artykule Wysyłanie wielu żądań naraz.
datafeedstatuses.get fileUploads.get Dostępne w przypadku źródeł danych opartych na plikach. Aby uzyskać stan najnowszego przesłania, użyj aliasu latest. W przypadku innych typów źródeł danych informacje o stanie są częścią zasobu DataSource.
datafeedstatuses.list Niedostępne Aby uzyskać stan wielu źródeł danych, najpierw wyświetl listę wszystkich źródeł danych za pomocą metody dataSources.list. Następnie wywołaj metodę fileUploads.get z aliasem latest dla każdego źródła danych opartego na pliku.

Szczegółowe zmiany pól

W tej tabeli przedstawiono zmiany na poziomie pól między zasobami Datafeed i DatafeedStatus w Content API for Shopping a zasobami DataSource i FileUpload w Merchant API.

Content API for Shopping Merchant API Opis
Datafeed DataSource Główny zasób do konfigurowania źródła danych.
id name Identyfikator zasobu. Zmieniony z identyfikatora liczbowego na nazwę zasobu w postaci ciągu znaków.
name displayName Nazwa źródła danych widoczna dla użytkownika.
attributeLanguage primaryProductDataSource.contentLanguage Dwuliterowy kod języka ISO 639-1 elementów w źródle danych.
fileName fileInput.fileName Nazwa przesłanego pliku. To pole jest teraz zagnieżdżone w polu fileInput.
fetchSchedule fileInput.fetchSettings Harmonogram pobierania źródła danych opartego na pliku. To pole jest teraz zagnieżdżone w polu fileInput.
fetchSchedule.paused fileInput.fetchSettings.enabled Logika jest odwrócona. paused: true odpowiada enabled: false.
format Niedostępne Pola fileEncoding, columnDelimiter i quotingMode zostały usunięte. Są one teraz wykrywane automatycznie.
targets primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage, primaryProductDataSource.countries Powtarzające się pole targets zostało usunięte. Każde źródło danych ma teraz jeden cel określony przez te pola, co odzwierciedla wycofanie plików danych kierowanych na wiele źródeł danych.
DatafeedStatus FileUpload Stan przesyłania pliku jest teraz osobnym zasobem tylko do odczytu.
datafeedId name Identyfikator przesyłania pliku, który odwołuje się do jego nadrzędnego źródła danych.
processingStatus processingState Stan przetwarzania przesłanego pliku. Wartości ciągu znaków (success, failure, in progress) zostały zastąpione wyliczeniem (SUCCEEDED, FAILED, IN_PROGRESS).
errors, warnings issues Błędy i ostrzeżenia są scalane w jedną listę issues. Każdy problem ma pole severity (ERROR lub WARNING).
lastUploadDate uploadTime Sygnatura czasowa ostatniego przesłania. Format został zmieniony z ciągu znaków na obiekt Timestamp.
country, language, feedLabel Nie dotyczy Te pola nie znajdują się już w zasobie stanu. Są częścią zasobu DataSource.
targets[].included_destinations, targets[].excluded_destinations primaryProductDataSource.destinations Dwie oddzielne listy uwzględnionych i wykluczonych miejsc docelowych zostały zastąpione jedną listą destinations. Każdy element na nowej liście jest obiektem, który określa miejsce docelowe i jego stan (ENABLED lub DISABLED), co zapewnia bardziej jednoznaczną konfigurację.