É possível usar feeds complementares para fazer atualizações parciais nos dados de produtos. Para isso, adicione
o feedId como um parâmetro de consulta ao fazer chamadas para os
products.insert,
products.delete,
products.custombatch.insert,
e
products.custombatch.delete
métodos.
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 de feed complementar products.insert adiciona os campos de produto enviados 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 os campos tenham sido incluídos em uma solicitação anterior para o mesmo feed. Embora os dados adicionados por outros feeds não sejam afetados, cada solicitação substitui as anteriores do mesmo feed. Isso significa que, se você adicionar ou atualizar um campo por meio de 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 de produtos e os substitui pelos campos enviados no corpo da solicitação.
Use o URL a seguir 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 "esgotado", você pode usar 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 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 URL a seguir para fazer uma solicitação ao serviço de feed complementar products.delete
service, 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
Os métodos custombatch permitem insert ou delete dados de feed complementar para vários produtos usando uma única chamada de API para minimizar o número de chamadas de API feitas.
Use o URL da solicitação a seguir 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 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, você pode usar 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, você pode usar 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"
}
]
}