Используйте дополнительные фиды с Content API

Вы можете использовать дополнительные каналы для частичного обновления данных о продуктах, добавляя feedId в качестве параметра запроса при вызове методов products.insert , products.delete , products.custombatch.insert и products.custombatch.delete .

Например, вы можете вызвать метод дополнительного фида products.insert по следующему URL-адресу:

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

продукты.вставка

Метод дополнительного фида products.insert добавляет поля продуктов, которые вы отправляете в тело запроса, перезаписывая эти поля, если они существуют. При использовании дополнительного фида этот метод оставляет все остальные поля товаров без изменений, если только они не были включены в предыдущий запрос того же фида. Хотя данные, добавленные через другие каналы, не затрагиваются, каждый запрос перезаписывает предыдущие запросы для того же канала. Это означает, что если вы добавляете или обновляете поле с помощью дополнительного запроса фида, а затем не включаете поле в последующий запрос, данные для пропущенного поля удаляются из фида. Это поведение отличается от вызова products.insert без дополнительного фида, который удаляет все существующие данные о продуктах и ​​заменяет их полями, которые вы отправляете в теле запроса.

Используйте следующий URL-адрес, чтобы отправить запрос к сервису дополнительного фида Product.insert :

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

В текст запроса необходимо включить поля offerId , feedLabel , channel и contentLanguage . Все остальные поля являются необязательными.

Пример

Чтобы изменить доступность продукта с «в наличии» на «нет в наличии», вы можете использовать следующее тело запроса для вызова метода Product.insert дополнительных фидов:

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

продукты.удалить

Метод products.delete удаляет все дополнительные данные, которые ранее были добавлены вызовами products.insert с использованием указанного дополнительного фида. Вызов этого метода для дополнительного фида не влияет на исходные данные о продукте, добавленные до выполнения вызовов Product.insert дополнительного фида. Вы можете думать об этом как об удалении слоя данных для определенного канала; данные, добавленные через другие каналы, не затрагиваются, и продукт фактически возвращается к прежнему состоянию, существовавшему до добавления слоя дополнительного канала. Это отличается от вызова products.delete без дополнительного фида, который удаляет весь продукт и все его данные.

Используйте следующий URL-адрес, чтобы сделать запрос к службе дополнительного фида products.delete , где productId — это REST ID продукта, представленный как: channel:contentLanguage:feedLabel:offerId :

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

Для дополнительных фидов products.delete не требуется тело запроса. Удаление вызовов методов.

продукты.custombatch

Методы custombatch позволяют insert или delete дополнительные данные фида для нескольких продуктов с помощью одного вызова API, чтобы минимизировать количество вызовов API.

Используйте следующий URL-адрес запроса, чтобы выполнить вызов custombatch :

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

Для всех дополнительных вызовов custombatch фида необходимо включить в текст запроса параметры batchId , merchantID , method и feedId .

продукты.custombatch:вставить

При выполнении дополнительных вызовов фида для метода products.custombatch:insert необходимо включить в текст запроса offerId , feedLabel , channel и contentLanguage в дополнение к обязательным параметрам batchId , merchantID и method . Все остальные поля продукта являются необязательными.

Пример

Чтобы обновить значение price для двух существующих продуктов, вы можете использовать следующий запрос для вызова метода 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"
         },
      },
    }
}

продукты.custombatch:удалить

Чтобы удалить все обновления, сделанные для двух продуктов через указанный дополнительный фид, вы можете использовать следующий запрос для вызова метода 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"
    }
  ]
}