Przenoszenie źródeł danych

Ten przewodnik wyjaśnia, jak przeprowadzić migrację integracji z usług datafeeds i datafeedstatuses Content API for Shopping do interfejsu API Data sources w Merchant API. Nowy interfejs API podrzędny Ź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 interfejs Merchant API ma kilka zalet.

  • Jawne tworzenie źródła danych Interfejs API nie tworzy już automatycznie źródła danych „Content API” przy 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żesz korzystać tylko z jednego, automatycznie utworzonego źródła danych „Content API”. Interfejs Merchant API umożliwia tworzenie wielu źródeł danych typu API i zarządzanie nimi.

  • Źródła danych bez etykiety i języka. Interfejs Merchant API umożliwia tworzenie 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 cele danych. Każde źródło danych odpowiada teraz jednemu miejscu docelowemu, które jest określone przez unikalną kombinację feedLabelcontentLanguage. Pliki danych kierowane na wiele źródeł danych zostały wycofane z interfejsu Merchant API.

  • Stan przesyłania pliku. Interfejs Merchant API przedstawia stan źródeł danych opartych na plikach za pomocą oddzielnego zasobu fileUploads tylko do odczytu. Aby pobrać stan przesłanego 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, lokalny asortyment i asortyment regionalny, zapewniając ujednolicony sposób zarządzania wszystkimi potokami danych.

  • Automatyczne źródła danych Za pomocą Merchant API możesz teraz włączać i wyłączać funkcję Automatyczne źródła danych na swoim koncie, korzystając z metody autofeedSettings.updateAutofeedSettings w podrzędnym interfejsie API kont. Więcej informacji znajdziesz w artykule o konfigurowaniu ustawień automatycznego przesyłania.

Żądania

Tabela zawiera porównanie formatów adresów URL żądań w interfejsie 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 metod dataSources.listfileUploads.get w przypadku każdego źródła danych opartego na plikach.

Identyfikatory

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

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

Metody

W tej tabeli porównujemy metody z usług Content API for Shopping datafeedsi 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żywaj 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 plikowym.
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żywaj 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. Użyj aliasu latest, aby uzyskać stan ostatniego przesłania. 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 wymień wszystkie źródła danych za pomocą znaku dataSources.list. Następnie wywołaj fileUploads.get z aliasem latest dla każdego źródła danych opartego na plikach.

Szczegółowe zmiany w polach

Ta tabela zawiera zmiany na poziomie pól między zasobami Datafeed i DatafeedStatus w Content API for Shopping oraz 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. Zmieniono 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 fileInput.
fetchSchedule fileInput.fetchSettings Harmonogram pobierania źródła danych opartego na pliku. Jest on teraz zagnieżdżony w sekcji fileInput.
fetchSchedule.paused fileInput.fetchSettings.enabled Logika jest odwrócona. Funkcja paused: true jest odpowiednikiem funkcji enabled: false.
format Niedostępne Pola fileEncoding, columnDelimiterquotingMode zostaną usunięte. Są one teraz wykrywane automatycznie.
targets primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage, primaryProductDataSource.countries Powtórzone pole targets zostało usunięte. Każde źródło danych ma teraz jeden 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 wyliczenie (SUCCEEDED, FAILED, IN_PROGRESS).
errors, warnings issues Błędy i ostrzeżenia są łączone 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 zostaną zastąpione jedną listą destinations. Każdy element nowej listy jest obiektem, który określa miejsce docelowe i jego stan (ENABLED lub DISABLED), co zapewnia bardziej jednoznaczną konfigurację.