Przenoszenie źródeł danych

Ten przewodnik wyjaśnia, jak przenieść integrację z usług datafeeds i datafeedstatuses interfejsu Content API for Shopping do podrzędnego interfejsu API źródeł danych w interfejsie Merchant API. Nowy podrzędny interfejs API źródeł 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 interfejs Merchant API ma 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 interfejsie Content API for Shopping można było korzystać tylko z jednego, automatycznie utworzonego źródła danych „Content API”. Za pomocą interfejsu Merchant API możesz tworzyć wiele źródeł danych typu API i nimi zarządzać.

  • Źródła danych bez etykiety i języka. Interfejs Merchant API umożliwia utworzenie podstawowego źródła danych bez określania feedLabel i contentLanguage. Ten typ źródła danych akceptuje produkty w dowolnej kombinacji 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 miejsca docelowe danych. Każde źródło danych odpowiada teraz pojedynczemu celowi, który jest określony przez unikalną kombinację feedLabel i contentLanguage. Pliki danych kierowane na wiele źródeł danych zostały wycofane w interfejsie Merchant API.

  • Stan przesyłania pliku. Merchant API reprezentuje stan źródeł danych opartych na plikach za pomocą osobnego zasobu fileUploads tylko do odczytu. Aby sprawdzić 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 interfejsowi Merchant API możesz teraz włączać i wyłączać funkcję Automatyczne źródła danych na swoim koncie za pomocą metody autofeedSettings.updateAutofeedSettings w podrzędnym interfejsie API kont. Więcej informacji znajdziesz w artykule Konfigurowanie ustawień automatycznego pliku danych.

Wybieranie strategii dotyczącej źródeł danych

Masz 3 opcje zarządzania źródłami danych:

  • 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 dzięki jednemu źródłu danych, które akceptuje produkty z dowolnym feedLabel i contentLanguage. W starej konfiguracji Content API reguły dla konkretnych etykiet i języków definiuje się za pomocą oddzielnych źródeł danych, a produkty wstawia się do źródła danych, które ma odpowiednie reguły 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 każdego języka. Użyj tej opcji, jeśli chcesz obsługiwać nowe kombinacje 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 wartościach feedLabel i contentLanguage. Musisz utworzyć osobne źródło danych dla każdej używanej pary feedLabel i contentLanguage. Możesz połączyć źródła danych Merchant API ze źródłami danych utworzonymi za pomocą Content API for Shopping.

  • Zachowaj istniejące ź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 wartości 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ą dodawane za pomocą Merchant API. Możesz je połączyć z nowymi źródłami danych Merchant API, które również są kierowane na określone pary feedLabel i contentLanguage.

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

Żądania

Tabela poniżej zawiera porównanie formatów adresów URL żądań w Content API for Shopping i Merchant API.

Opis prośby Content API for Shopping Merchant API
Tworzenie ź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
Aktualizowanie ź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. Użyj atrybutów dataSources.list i fileUploads.get w przypadku każdego źródła danych opartego na plikach.

Identyfikatory

Interfejs Merchant API używa jako identyfikatora nazwy zasobu opartej na 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

Ta tabela porównuje metody z usług 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 plikiem wejściowym.
datafeeds.get dataSources.get Dostępne
datafeeds.insert dataSources.create Dostępne
datafeeds.list dataSources.list Dostępne
datafeeds.update dataSources.update Dostępne Używa semantyki PATCH zamiast PUT.
datafeedstatuses.custombatch Niedostępne Zamiast tego użyj pojedynczych wywołań interfejsu API. Więcej informacji znajdziesz w artykule Wysyłanie wielu żądań jednocześnie.
datafeedstatuses.get fileUploads.get Dostępne w przypadku źródeł danych korzystających z plików. Aby sprawdzić stan ostatniego 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 fileUploads.get z aliasem latest dla każdego źródła danych korzystającego z plików.

Szczegółowe zmiany w polach

Ta tabela przedstawia zmiany na poziomie pola między zasobami Datafeed i DatafeedStatus w interfejsie Content API for Shopping oraz zasobami DataSource i FileUpload w interfejsie Merchant API.

Content API for Shopping Merchant API Opis
Datafeed DataSource Główny zasób konfiguracji źródła danych.
id name Identyfikator zasobu. Zmieniono z identyfikatora numerycznego na nazwę zasobu tekstowego.
name displayName Nazwa źródła danych widoczna dla użytkownika.
attributeLanguage primaryProductDataSource.contentLanguage Dwuliterowy kod języka ISO 639-1 produktów w źródle danych.
fileName fileInput.fileName Nazwa przesłanego pliku. To pole jest teraz zagnieżdżone w sekcji fileInput.
fetchSchedule fileInput.fetchSettings Harmonogram pobierania źródła danych opartego na plikach. Jest teraz zagnieżdżony w sekcji fileInput.
fetchSchedule.paused fileInput.fetchSettings.enabled Logika jest odwrócona. paused: true to odpowiednik enabled: false.
format Niedostępne Pola fileEncoding, columnDelimiter i quotingMode zostaną usunięte. Są one teraz wykrywane automatycznie.
targets primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage, primaryProductDataSource.countries Powtarzane pole targets zostało usunięte. Każde źródło danych ma teraz 1 cel zdefiniowany przez te pola, co odzwierciedla wycofanie plików danych z wieloma celami danych.
DatafeedStatus FileUpload Stan przesyłania pliku jest teraz osobnym zasobem tylko do odczytu.
datafeedId name Identyfikator przesłanego pliku, który odwołuje się do nadrzędnego źródła danych.
processingStatus processingState Stan przetwarzania przesłanego pliku. Wartości ciągu znaków (success, failure, in progress) są zastępowane przez typ wyliczeniowy (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 są już dostępne w zasobie stanu. Są one częścią zasobu DataSource.
targets[].included_destinations, targets[].excluded_destinations primaryProductDataSource.destinations Dwie osobne listy uwzględnionych i wykluczonych miejsc docelowych zostały zastąpione jedną listą destinations. Każdy element na nowej liście to obiekt, który określa miejsce docelowe i jego stan (ENABLED lub DISABLED), co zapewnia bardziej przejrzystą konfigurację.