É possível usar feeds complementares para fazer atualizações parciais nos dados de produtos adicionando
o 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 de produto que você envia no corpo da solicitação, substituindo os campos, se eles existirem. Ao usar um feed complementar, esse método deixa todos os outros campos de produto inalterados, a menos que eles 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 do mesmo feed. Isso significa que, se você adicionar ou atualizar um campo usando uma
solicitação de feed complementar e não incluir o campo em uma solicitação
posterior, 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 de produtos atuais e os substitui pelos campos enviados no corpo da solicitação.
Use o seguinte URL para fazer uma solicitação ao serviço de feed complementar
Product.insert
:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId
Você precisa incluir 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 "sem estoque", você
pode usar o corpo da solicitação a seguir 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 de produtos originais adicionados antes das chamadas Product.insert
do feed complementar. É como remover uma camada de dados de um feed específico. Os dados adicionados por outros feeds não são afetados, e o produto volta ao estado anterior, antes da adição da camada de feed complementar. Isso é diferente de chamar products.delete
sem um feed complementar, que exclui todo o produto e todos os dados dele.
Use o seguinte URL para fazer uma solicitação ao serviço de feed complementar products.delete
, 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
Com os métodos custombatch
, é possível insert
ou delete
dados de feed complementar para vários produtos usando uma única chamada de API e minimizar o número de chamadas feitas.
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 de feed complementar custombatch
, 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
,
inclua offerId
, feedLabel
, channel
e
contentLanguage
no corpo da solicitação, além dos parâmetros obrigatórios batchId
,
merchantID
e method
. Todos os outros campos de produto são opcionais.
Exemplo
Para atualizar o valor de price
de dois produtos, use a
solicitação a seguir 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 usando 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"
}
]
}