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
icontentLanguage
. Ten typ źródła danych akceptuje produkty w dowolnej kombinacjifeedLabel
icontentLanguage
, 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ę
feedLabel
icontentLanguage
. 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 metodyfileUploads.get
z aliasemlatest
.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.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 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 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ż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 , columnDelimiter i quotingMode 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ę. |