Usar feeds complementares com a API Content

Você pode usar feeds complementares para fazer atualizações parciais nos dados do produto adicionando feedId como um parâmetro de consulta ao fazer chamadas para os métodos products.insert, products.delete, products.custombatch.insert e products.custombatch.delete.

Por exemplo, você pode fazer uma chamada de método de feed complementar products.insert para o seguinte URL:

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

products.insert

O método products.insert do feed complementar adiciona os campos do produto enviados no corpo da solicitação, substituindo esses campos, se houver. Ao usar um feed complementar, esse método deixa todos os outros campos do produto inalterados, a menos que os campos tenham sido incluídos em uma solicitação anterior para o mesmo feed. Os dados adicionados usando outros feeds não são afetados, mas cada solicitação substitui as anteriores pelo mesmo feed. Isso significa que, se você adicionar ou atualizar um campo por meio de uma solicitação de feed complementar e não o incluir em uma solicitação subsequente, os dados do campo omitido serão removidos do feed. Esse comportamento é diferente de chamar products.insert sem um feed complementar, que exclui todos os dados do produto existentes e os substitui pelos campos enviados no corpo da solicitação.

Use o seguinte URL para fazer uma solicitação ao serviço do feed complementar Product.insert:

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

Inclua os campos offerId, feedLabel, channel e contentLanguage no corpo da solicitação. Todos os outros campos são opcionais.

Exemplo

Para mudar a disponibilidade de um produto de "em estoque" para "esgotado", use o seguinte corpo da solicitação para fazer uma chamada de método Product.insert de feeds complementares:

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

products.delete

O método products.delete remove todos os dados complementares que foram adicionados anteriormente por chamadas products.insert usando o feed complementar especificado. Chamar esse método para um feed complementar não afeta os dados originais do produto adicionados antes das chamadas Product.insert do feed complementar. É como remover uma camada de dados de um feed específico. Os dados adicionados usando outros feeds não são afetados, e o produto é revertido ao estado anterior à adição da camada do feed complementar. Isso é diferente de chamar products.delete sem um feed complementar, que exclui todo o produto e todos os dados dele.

Use o URL a seguir para fazer uma solicitação ao serviço products.delete do feed complementar, em que productId é o ID REST do produto, representado como: channel:contentLanguage:feedLabel:offerId:

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

Nenhum corpo de solicitação é necessário para chamadas de método products.delete de feeds complementares.

products.custombatch

Os métodos custombatch permitem que você insert ou delete dados do feed complementar para vários produtos usando uma única chamada de API para minimizar o número de chamadas de API realizadas.

Use o seguinte URL de solicitação para fazer uma chamada custombatch:

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

Para todas as chamadas custombatch de feed complementar, inclua os parâmetros batchId, merchantID, method e feedId no corpo da solicitação.

products.custombatch:insert

Ao fazer chamadas de feed complementar para o método products.custombatch:insert, você precisa incluir offerId, feedLabel, channel e contentLanguage no corpo da solicitação, além dos parâmetros batchId, merchantID e method obrigatórios. Todos os outros campos do produto são opcionais.

Exemplo

Para atualizar o valor de price de dois produtos existentes, use a seguinte solicitação para fazer uma chamada de método 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

Para remover todas as atualizações feitas em dois produtos por meio de um feed complementar especificado, use a seguinte solicitação para chamar o método 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"
    }
  ]
}