Używanie dodatkowych plików danych w Content API

Za pomocą dodatkowych plików danych możesz wprowadzać częściowe aktualizacje danych produktów. Aby to zrobić, dodaj feedId jako parametr zapytania podczas wykonywania wywołań metod products.insert, products.delete, products.custombatch.insert i products.custombatch.delete.

Możesz na przykład wywołać metodę dodatkowego pliku danych products.insert pod tym adresem URL:

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

products.insert

Metoda products.insert w dodatkowym pliku danych dodaje pola produktów wysłane w treści żądania, zastępując te pola, jeśli istnieją. Jeśli korzystasz z dodatkowego pliku danych, wszystkie pozostałe pola produktów pozostaną niezmienione, chyba że pola te zostały uwzględnione w poprzednim żądaniu dotyczącym tego samego pliku danych. Nie ma to wpływu na dane dodane za pomocą innych plików danych, ale każde żądanie zastępuje poprzednie żądania dotyczące tego samego pliku. Oznacza to, że jeśli dodasz lub zaktualizujesz pole za pomocą żądania dodatkowego pliku danych, a później nie dodasz tego pola w kolejnym żądaniu, dane w pominiętym polu zostaną usunięte z pliku danych. Różni się to od wywoływania metody products.insert bez dodatkowego pliku danych, który usuwa wszystkie istniejące dane produktów i zastępuje je polami wysłanymi w treści żądania.

Aby przesłać prośbę o usługę dodatkowego pliku danych Product.insert, użyj tego adresu URL:

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

W treści żądania musisz umieścić pola offerId, feedLabel, channel i contentLanguage. Wszystkie pozostałe pola są opcjonalne.

Przykład

Aby zmienić dostępność produktu z „w magazynie” na „niedostępny”, możesz użyć tej treści żądania, aby utworzyć dodatkowe pliki danych. Wywołanie metody Product.insert:

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

products.delete

Metoda products.delete usuwa wszystkie dodatkowe dane, które zostały wcześniej dodane przez wywołania products.insert przy użyciu określonego dodatkowego pliku danych. Wywołanie tej metody jako dodatkowego pliku danych nie ma wpływu na oryginalne dane produktów dodane przed wykonaniem wywołań Product.insert w dodatkowym pliku danych. Można to potraktować jak usunięcie warstwy danych z konkretnego pliku danych. Nie wpłynie to na dane dodane za pomocą innych plików danych, a produkt przywróci poprzedni stan przed dodaniem warstwy dodatkowego pliku danych. Różni się to od wywoływania metody products.delete bez dodatkowego pliku danych, co powoduje usunięcie całego produktu i wszystkich jego danych.

Użyj tego adresu URL, aby poprosić o usługę dodatkowego pliku danych products.delete, gdzie productId to identyfikator typu REST produktu, który jest przedstawiony w następujący sposób: channel:contentLanguage:feedLabel:offerId:

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

W przypadku wywołań metody products.delete w dodatkowych plikach danych nie jest wymagana treść żądania.

products.custombatch

Metody custombatch umożliwiają insert lub delete pobieranie danych z 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ń dodatkowych plików danych custombatch w treści żądania musisz umieścić parametry batchId, merchantID, method i feedId.

products.custombatch:insert

Przy wywoływaniu metody products.custombatch:insert w dodatkowym pliku danych musisz umieścić w treści żądania offerId, feedLabel, channel i contentLanguage oprócz wymaganych parametrów batchId, merchantID i method. Wszystkie inne 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ą dodatkowego pliku danych, możesz skorzystać z poniższego żądania i 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"
    }
  ]
}