O products
oferece grande flexibilidade e controle sobre
de 60 atributos do produto.Há vários campos obrigatórios,
e precisam ser incluídos para serem aprovados para exibição no Google Shopping.
Há diversos campos opcionais que podem se tornar obrigatórios com base em diferentes
condições como local, tipo de produto, variantes do produto e
pacotes. Para mais detalhes sobre os mais de 60 parâmetros opcionais que podem ser
configurados para produtos, consulte a página Dados do produto
Especificações.
O recurso products
permite usar insert
, get
, update
e delete
, um
produto por vez e list
todos os produtos no banco de dados do Merchant Center.
A
productstatuses
pode ser usado para verificar o status de aprovação ou reprovação de um
para um destino. Consulte o status do produto
para mais detalhes sobre quais
produtos podem ter problemas de qualidade de dados e quais são esses problemas.
Em nossos exemplos de API, usamos três produtos: duas camisetas do Google e uma
Limite do Google. Usamos um conjunto mínimo de dados do produto mostrado na tabela abaixo para
fazer chamadas de recurso products
para inserir, receber, atualizar, listar e excluir
produtos individuais
e lotes de produtos.
Recomendamos que você configure as informações fiscais e de frete da conta nível, em vez de no nível do produto.
Para subcontas de vários vendedores de
Mercados, todos os produtos precisam
inclua o campo external_seller_id
. Consulte
IDs do produto para mais detalhes.
id | online:en:US:1111111111 | online:en:US:2222222222 | online:en:US:3333333333 |
---|---|---|---|
offerId | 1111111111 | 2222222222 | 3333333333 |
título | Camiseta preta do Google | Camiseta Google verde | Boné de sarja do Google |
descrição | Camiseta preta do Google | Camiseta Google 100% algodão | Limite clássico do Google |
ID do grupo de itens | google_tee | google_tee | |
link | http://my.site.com/blacktee | http://my.site.com/greentee | http://my.site.com/blackhat |
transição | Novo | Novo | Novo |
preço | 21.99 BRL | 21.99 BRL | 10.99 BRL |
disponibilidade | Em estoque | Em estoque | Em estoque |
imageLink | https://shop.example.com/ |
https://shop.example.com/ |
https://shop.example.com/ |
gtin | 9504000059422 | 9504000059446 | 9504000059452 |
mpn | 00638NIC | 00638ANG | 00638ABC |
marca | |||
Categoria Google do produto | Vestuário e Acessórios > Roupa | Vestuário e Acessórios > Roupa | Vestuário e Acessórios > Acessórios para roupas > Chapéus |
cor | preto | verde | preto |
tamanho | L | M | M |
age_group | adulto | adulto | adulto |
gênero | masculino | masculino | unissex |
included_destination | Shopping Actions e anúncios do Shopping | Shopping Actions e anúncios do Shopping | Shopping Actions |
products.insert
Para inserir um único produto, use o seguinte URL de solicitação, especificando o seu
ID do comerciante e um corpo JSON de exemplo. Uma inserção cria o novo produto. Valores "if"
existem para os atributos channel
, contentLanguage
, offerId
e
feedLabel
para um determinado produto, este método atualiza essa entrada e substitui
todos os dados de chamadas de API anteriores para o produto especificado.
Os produtos excluídos de todos os destinos por mais de 7 dias são excluídos automaticamente.
O exemplo mostrado insere uma nova "camiseta preta do Google". aos produtos disponíveis.
POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products
Exemplo de chamada de corpo de solicitação para products.insert
:
{
"kind": "content#product",
"offerId": "1111111111",
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"link": "http://my.site.com/blacktee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531656",
"itemGroupId": "google_tee",
"mpn": "608802531656",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Large"
]
}
Um produto também pode ter atributos personalizados definidos no corpo JSON. Por exemplo:
podemos definir um purchase_quantity_limit
para um único produto a fim de limitar
o número de itens que um cliente pode encomendar:
"customAttributes": [
{
"name": "purchase_quantity_limit",
"value": "4"
}
]
O atributo personalizado purchase_quantity_limit
define um limite de compra.
por pedido do cliente até a definição do produto e também é suportado por feeds. A
está na versão Beta até ser totalmente compatível com a API. Qualquer um
atributo personalizado adicional pode ser adicionado por um comerciante, mas não resulta
qualquer processamento específico pelas APIs.
Uma chamada bem-sucedida retorna um código HTTP 200
e um corpo de resposta contendo
o recurso do produto inserido com apenas id
, offerId
, contentLanguage
feedLabel
e channel
preenchidos:
{
"kind": "content#product",
"id": "online:en:US:1111111111",
"offerId": "1111111111",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online"
}
products.get
Para acessar informações sobre um produto específico no banco de dados do Merchant Center, use
products.get
: Pode levar alguns minutos para um produto recém-inserido ser
disponíveis nesta chamada.
Use os seguintes parâmetros e URL de solicitação HTTP, seu ID do comerciante e os ID do produto (formato de ID REST) do produto que você quer receber:
GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Uma chamada bem-sucedida retorna um HTTP 200
e o "recurso do produto" no
corpo da resposta. Estes são um exemplo de dados do produto recuperados de um produto com ID
online:en:US:1111111111
:
{
"kind": "content#product",
"id": "online:en:US:1111111111",
"offerId": "1111111111",
"source": "api",
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"link": "http://my.site.com/blacktee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531656",
"itemGroupId": "google_tee",
"mpn": "608802531656",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Large"
]
}
products.update
Para atualizar um único produto, use o seguinte URL de solicitação com o método PATCH:
especificando seu ID do comerciante, o ID do produto e um corpo JSON contendo os dados que você
gostaria de atualizar para o produto. Ao contrário de products.insert
, isso exige
todos os campos aplicáveis a serem fornecidos, o products.update
exige apenas que você
especifique os campos que você quer mudar.
Para adicionar ou modificar um atributo, especifique o campo com o novo valor no JSON
corpo O exemplo mostrado vai atualizar o title
e o description
de um
"Camiseta preta do Google" com os dados do produto fornecidos no corpo da solicitação, deixando
todos os outros campos permanecem intocados.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Exemplo de chamada de corpo de solicitação para products.update
:
{
"title": "Google Tee Black Limited Edition",
"description": "The Limited Edition Tee is available in unisex sizing and features a retail fit."
}
Somente campos de nível superior podem ser atualizados com uma solicitação products.update
.
Se você quiser atualizar campos aninhados, será necessário fornecer todo o objeto de nível superior.
O exemplo mostrado vai atualizar o objeto salePrice
de nível superior, incluindo o
campos de um produto existente, com os dados do produto fornecidos nos
corpo da solicitação, deixando todos os outros campos inalterados.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
{
"salePrice": {
"value": "17.99",
"currency": "USD"
}
}
Para selecionar determinados campos para atualizar sem fazer alterações nos outros incluídos
No corpo da solicitação, é possível especificar um updateMask
. Essa string de consulta
deve ser uma lista separada por vírgulas dos campos que você quer modificar.
Um updateMask
é útil quando você quer declarar que apenas os campos nomeados
serão atualizados. Não especificar um updateMask
equivale a marcar todos
na solicitação a serem atualizados, conforme mostrado no exemplo acima.
O exemplo mostrado vai atualizar apenas os parâmetros description
e availability
de uma "camiseta preta do Google" existente com os respectivos dados do produto fornecidos nas
o corpo da solicitação, deixando todos os outros campos, incluindo o title
, intactos.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=description,availability
Exemplo de chamada de corpo de solicitação para products.update
:
{
"title": "Google Tee Black",
"description": "This Limited Edition is out of print.",
"availability": "out of stock"
}
Se um campo estiver na lista do updateMask
, mas não no corpo da solicitação,
esse campo será excluído do recurso Product
, se houver.
O exemplo mostrado usará updateMask
para remover o valor do campo
salePrice
.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=salePrice
O corpo da solicitação de amostra não deve incluir o campo salePrice
para
excluí-la. Você também pode não fornecer nenhum corpo ou um corpo vazio. Outros campos vão
permanecem intactas desde que não apareçam no updateMask
.
Para usar updateMask
em uma solicitação products.custombatch
, o updateMask
deve ser especificado no corpo da solicitação.
O exemplo mostrado vai atualizar o price
e o availability
de um
"Camiseta preta do Google" usando products.custombatch
com os dados do produto fornecidos
na entrada em lote, deixando todos os outros campos, incluindo title
e description
intocados.
POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch
{
"entries": [{
"batchId": 1,
"merchantId": "MERCHANT_ID",
"productId": "online:en:US:1111111111",
"method": "update",
"product": {
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"availability": "in stock",
"price": {
"value": "19.99",
"currency": "USD"
}
},
"updateMask": "availability,price"
}]
}
products.delete
Para excluir um único produto, use products.delete
com o exemplo de solicitação HTTP
URL, seu ID do comerciante e o ID do produto (no formato de ID REST, como
online:en:US:1111111111
) do produto que você quer excluir:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Uma resposta bem-sucedida retorna uma HTTP Status 204
sem corpo de resposta.
products.list
products.list
: lista todos os produtos que um comerciante tem no Merchant Center.
no seu banco de dados. Use o seguinte URL de solicitação:
GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products
Uma chamada bem-sucedida retorna dados HTTP 200
e JSON para os produtos na
"recursos" de dados.
Os três exemplos de produtos a seguir são retornados:
{
"kind": "content#productsListResponse",
"resources": [
{
"kind": "content#product",
"id": "online:en:US:1111111111",
"offerId": "1111111111",
"source": "api",
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"link": "http://my.site.com/blacktee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531656",
"itemGroupId": "google_tee",
"mpn": "608802531656",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Large"
]
},
{
"kind": "content#product",
"id": "online:en:US:2222222222",
"offerId": "2222222222",
"source": "api",
"title": "Google Tee Green",
"description": "100% cotton jersey fabric sets this Google t-shirt above the crowd.
Features the google logo across the chest. Unisex sizing.",
"link": "http://my.site.com/greentee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX0906.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "green",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531649",
"itemGroupId": "google_tee",
"mpn": "608802531649",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Medium"
]
},
{
"kind": "content#product",
"id": "online:en:US:3333333333",
"offerId": "3333333333",
"source": "api",
"title": "Google Twill Cap",
"description": "Classic urban styling distinguishes this Google cap.
Retains its shape, even when not being worn.",
"link": "http://my.site.com/blackhat/",
"imageLink": "https://shop.example.com/.../images/GGOEGHPB071610.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-07T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "173",
"gtin": "689355417246",
"mpn": "689355417246",
"price": {
"value": "10.99",
"currency": "USD"
},
"sizes": [
"Medium"
]
}
]
}