Używanie dodatkowych plików danych w Content API

Za pomocą dodatkowych plików danych możesz częściowo aktualizować dane produktów, dodając atrybut feedId jako parametr zapytania podczas wywoływania metod products.insert, products.delete, products.custombatch.insertproducts.custombatch.delete.

Możesz na przykład wykonać wywołanie metody products.insertsupplemental feed na ten adres URL:

POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId

products.insert

Metoda products.insert w dodatkowym pliku danych dodaje pola produktu, które wysyłasz w treści żądania, zastępując te pola, jeśli istnieją. W przypadku korzystania z dodatkowego pliku danych ta metoda pozostawia wszystkie inne pola produktu bez zmian, chyba że pola te zostały uwzględnione w poprzedniej prośbie dotyczącej tego samego pliku danych. Dane dodane za pomocą innych plików danych nie są modyfikowane, ale każde żądanie zastępuje poprzednie żądania dotyczące tego samego pliku danych. Oznacza to, że jeśli dodasz lub zaktualizujesz pole za pomocą żądania pliku danych dodatkowych, a następnie nie uwzględnisz go w kolejnym żądaniu, dane pominiętego pola zostaną usunięte z pliku danych. To zachowanie różni się od wywołania products.insert bez dodatkowego pliku danych, które usuwa wszystkie istniejące dane produktów i zastępuje je polami wysyłanymi w treści żądania.

Aby wysłać żądanie do usługi dodatkowego pliku danych, użyj tego adresu URL:Product.insert

POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId

W treści żądania musisz uwzględnić pola offerId, feedLabel, channelcontentLanguage. Wszystkie pozostałe pola są opcjonalne.

Przykład

Aby zmienić dostępność produktu z „dostępny” na „niedostępny”, możesz użyć tej treści żądania, aby wywołać metodę Product.insert w dodatkowych plikach danych:

{
 "offerId": "1111111111",
 "contentLanguage": "en",
 "feedLabel": "US",
 "channel": "online",
 "availability": "out of stock",
}

products.delete

Metoda products.delete usuwa wszystkie dane dodatkowe, które zostały wcześniej dodane przez wywołania products.insert przy użyciu określonego pliku danych dodatkowych. Wywołanie tej metody w przypadku dodatkowego pliku danych nie ma wpływu na oryginalne dane o produktach dodane przed wywołaniem funkcji Product.insert w dodatkowym pliku danych. Możesz to sobie wyobrazić jako usunięcie warstwy danych z konkretnego pliku danych. Nie ma to wpływu na dane dodane za pomocą innych plików danych, a produkt skutecznie wraca do stanu sprzed dodania warstwy dodatkowego pliku danych. Różni się to od wywołania products.delete bez dodatkowego pliku danych, które usuwa cały produkt i wszystkie jego dane.

Aby wysłać żądanie do usługi dodatkowego pliku danych, użyj tego adresu URL: products.delete, gdzie productId to identyfikator REST produktu w formacie channel:contentLanguage:feedLabel:offerId:

DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId

W przypadku wywołań metod w dodatkowych plikach danych products.delete nie jest potrzebny żaden tekst żądania.

products.custombatch

Metody custombatch umożliwiają insert lub delete dane dodatkowego pliku danych dla wielu produktów za pomocą jednego wywołania interfejsu API, aby zminimalizować liczbę wywołań interfejsu API.

Aby wykonać wywołanie custombatch, użyj tego adresu URL żądania:

https://shoppingcontent.googleapis.com/content/v2.1/products/batch

W przypadku wszystkich wywołań dodatkowego pliku danych custombatch w treści żądania musisz uwzględnić parametry batchId, merchantID, methodfeedId.

products.custombatch:insert

Podczas wywoływania metody products.custombatch:insert w przypadku dodatkowych plików danych w treści żądania musisz uwzględnić parametry offerId, feedLabel, channel i contentLanguage, a także wymagane parametry batchId, merchantID i method. Wszystkie pozostałe pola produktu są opcjonalne.

Przykład

Aby zaktualizować wartość price w przypadku 2 dotychczasowych produktów, możesz użyć tego żądania, aby wywołać metodę products.custombatch:insert:

{
  "entries": [
    {
      "batchId": 1111,
      "merchantId": 1234567,
      "method": "insert",
      "feedId": "7654321",
      "product": {
         "offerId": "1111111111",
         "contentLanguage": "en",
         "targetCountry": "US",
         "feedLabel": "US",
         "channel": "online",
         "price": {
          "value": "30.99",
          "currency": "USD"
         }
      }
    },
    {
      "batchId": 1112,
      "merchantId": 1234567,
      "method": "insert",
      "feedId": "7654321",
      "product": {
         "offerId": "2222222222",
         "contentLanguage": "en",
         "targetCountry": "US",
         "feedLabel": "US",
         "channel": "online",
         "price": {
          "value": "33.99",
          "currency": "USD"
         },
      },
    }
}

products.custombatch:delete

Aby usunąć wszystkie aktualizacje wprowadzone w 2 produktach za pomocą określonego dodatkowego pliku danych, możesz użyć tego żądania, aby wywołać metodę products.custombatch:delete:

{
  "entries": [
    {
      "batchId": 1115,
      "merchantId": 1234567,
      "method": "delete",
      "feedId": "7654321",
      "productId": "online:en:US:1111111111"
    },
    {
      "batchId": 1116,
      "merchantId": 1234567,
      "method": "delete",
      "feedId": "7654321",
      "productId": "online:en:US:2222222222"
    }
  ]
}