É possível usar feeds complementares para fazer atualizações parciais dos 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, é possível 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 que você envia no corpo da solicitação, substituindo-os, se houver. Ao usar um feed complementar, esse método não altera os outros campos do produto, a menos que os campos tenham sido incluídos em uma solicitação anterior para o mesmo feed. Os dados adicionados por outros feeds não são afetados, mas cada solicitação substitui as anteriores para o mesmo feed. Isso significa que, se você adicionar ou atualizar um campo por uma solicitação de feed complementar e não incluir o campo 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 que você envia no
corpo da solicitação.
Use o seguinte URL para fazer uma solicitação ao serviço Product.insert
do feed complementar:
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 corpo da solicitação a seguir para fazer uma chamada de método Product.insert
para 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 do produto original adicionados antes das chamadas Product.insert
do feed complementar. Você pode considerar isso como remover uma camada de dados de um feed específico. Os dados adicionados por meio de outros feeds não são afetados, e o produto é revertido ao estado anterior antes da adição da camada do feed complementar. Isso
é diferente de chamar products.delete
sem um feed complementar, que
exclui todo o produto e 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 da solicitação é necessário para chamadas de método products.delete
de feeds complementares.
products.custombatch
Com os métodos custombatch
, é possível incluir insert
ou delete
nos dados do feed complementar para vários produtos usando uma única chamada de API para minimizar o número de chamadas de API.
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, você precisa incluir 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 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 fazer uma chamada de 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"
}
]
}