Product
A query product retorna informações necessárias para a montagem de uma página de produto, especificado por ID.
Requisição
Parâmetros
Parâmetro | Tipo | Obrigatório | Descrição |
---|---|---|---|
productId | Long | Sim | ID do produto a ser buscado |
partnerAccessToken | String | Não | Token de parceiro, utilizado para filtrar produtos exibidos ao parceiro |
Campos
Além dos mesmos campos retornados da query Products, a query product retorna alguns campos extras, específicos para a utilização da construção de uma página de produto:
Campo | Descrição |
---|---|
attributeSelection | Informações sobre os atributos selecionáveis do produto |
breadcrumbs | Lista de breadcrumbs relativas ao produto |
buyTogether | Lista de produtos configurados para a feature "compre junto" |
customizations | Lista de personalizações disponíveis para o produto |
reviews | Lista de avaliações de clientes |
seo | Informações sobre o SEO do produto |
urlVideo | URL do Vídeo do produto |
Exemplos
Exemplo 1
Requisição de informações do produto de ID 1:
query {
product(productId:1) {
variantName
productVariantId
prices {
price
}
customizations {
cost
groupName
name
order
type
}
attributes {
attributeId
name
type
value
}
seo{
content
httpEquiv
name
scheme
type
}
buyTogether{
addToCartFromSpot
alias
available
averageRating
condition
createdAt
}
}
}
Mostrar resposta
{
"data": {
"product": {
"variantName": "Kit Prático Maxton Vermelho Acaju 5.5",
"productVariantId": 29,
"prices": {
"price": 254.74
},
"customizations": [
{
"cost": 2,
"groupName": "Sim ou Não",
"name": "Nome",
"order": 2,
"type": "Texto Livre"
}
],
"attributes": [
{
"attributeId": 1,
"name": "COR",
"type": "Seleção",
"value": "Kit Prático Maxton Vermelho Acaju 5.5"
}
],
"seo": [
{
"content": "Maxton",
"httpEquiv": null,
"name": null,
"scheme": null,
"type": "TAG Canonical"
},
{
"content": "Kit Prático",
"httpEquiv": null,
"name": "description",
"scheme": null,
"type": "Meta"
}
],
"buyTogether": [
{
"addToCartFromSpot": true,
"alias": "tinta-acrilica-fosca-decora-branco-18l-coral-70163",
"available": true,
"averageRating": 0,
"condition": "Novo",
"createdAt": "2019-04-10T15:22:39.000-03:00"
},
{
"addToCartFromSpot": true,
"alias": "tinta-acrilica-semi-brilho-decora-branco-18l-coral-70164",
"available": true,
"averageRating": 0,
"condition": "Novo",
"createdAt": "2019-04-10T15:45:35.000-03:00"
}
]
}
}
}
Exemplo 2
Requisição de informações utilizando seletor de atributos attributeSelections, selecionando valores dentre os disponíveis para o atributo "COR" e "TAMANHO".
No campo selectedVariant, são retornadas as informações de atributos do variante selecionado na página.
query {
product(productId:1) {
attributeSelections(selected:[{attributeId:1, value:"Kit Prático Maxton Vermelho Acaju 5.5"},
{attributeId:310, value:"123"}]) {
selectedVariant {
productVariantId
attributes{
id
attributeId
displayType
name
type
value
}
}
selections {
attributeId
name
values {
value
}
}
canBeMatrix
matrix{
column{
displayType
name
values{
printUrl
value
}
}
data{
available
stock
productVariantId
}
row{
displayType
name
values{
printUrl
value
}
}
}
}
}
}
Mostrar resposta
{
"data": {
"product": {
"attributeSelections": {
"selectedVariant": {
"productVariantId": 29,
"attributes": [
{
"id": "eyJFbnRpdHkiOiJQcm9kdWN0QXR0cmlidXRlIiwiSWQiOjF9",
"attributeId": 1,
"displayType": "Combo",
"name": "COR",
"type": "Seleção",
"value": "Kit Prático Maxton Vermelho Acaju 5.5"
},
{
"id": "eyJFbnRpdHkiOiJQcm9kdWN0QXR0cmlidXRlIiwiSWQiOjMxMH0=",
"attributeId": 310,
"displayType": "Combo",
"name": "Capacidade",
"type": "Seleção",
"value": "123"
}
]
},
"selections": [
{
"attributeId": 310,
"name": "Capacidade",
"values": [
{
"value": "123"
}
]
},
{
"attributeId": 1,
"name": "COR",
"values": [
{
"value": "Maxton Louro Cinza Pérola 12.81"
},
{
"value": "Maxton Louro Clariss Cinza Suave 10.01"
},
{
"value": "Maxton Ruivo Cobre Dourado Médio 7.43"
},
{
"value": "Kit Prático Maxton Louro Cinza Intenso Platinada 12.11"
},
{
"value": "Kit Prático Maxton Louro Claro Dourado 8.3"
},
{
"value": "Kit Prático Maxton Louro Escuro Acaju Acobreado 6.54"
},
{
"value": "Kit Prático Maxton Vermelho Acaju 5.5"
},
{
"value": "Maxton Louro Super Claro Prata 11.11"
},
{
"value": "Prático Maxton Chocolate 6.7"
},
{
"value": "Prático Maxton Louro Cinza Claríssimo 10.1R"
},
{
"value": "Prático Maxton Louro Claríssimo 10.0"
},
{
"value": "Prático Maxton Louro Claro Energia 8.0"
},
{
"value": "Prático Maxton Louro Mel 7.3"
},
{
"value": "Prático Maxton Marrom Perfeito 7.71"
},
{
"value": "Prático Maxton Maxton Preto 1.0"
},
{
"value": "Prático Maxton Preto Azulado 1.7"
},
{
"value": "Prático Maxton Púrpura Sedução 3.66"
},
{
"value": "Prático Maxton Ruivo Acobreado 8.43"
},
{
"value": "Prático Maxton Ruivo Cobre Avermelhado 7.46"
},
{
"value": "Prático Maxton Vermelho Cereja 6.66"
}
]
}
],
"canBeMatrix": true,
"matrix": {
"column": {
"displayType": "Combo",
"name": "COR",
"values": [
{
"printUrl": "https://sualoja.fbitsstatic.net/img/p/moletom-vans-classic-zip-hoodie-athletic-heather-vn-0j6kgrh-30/184.jpg?w=50&h=50&v=no-value",
"value": "Athletic Heather"
},
{
"printUrl": "https://sualoja.fbitsstatic.net/img/p/moletom-vans-classic-zip-hoodie-black-vn-0j6kblk-31/179.jpg?w=50&h=50&v=no-value",
"value": "Black"
}
]
},
"data": [
[
{
"available": true,
"stock": 500,
"productVariantId": 185
},
{
"available": true,
"stock": 500,
"productVariantId": 180
}
],
[
{
"available": true,
"stock": 500,
"productVariantId": 186
},
{
"available": true,
"stock": 500,
"productVariantId": 181
}
],
[
{
"available": true,
"stock": 500,
"productVariantId": 187
},
{
"available": true,
"stock": 500,
"productVariantId": 182
}
],
[
{
"available": true,
"stock": 500,
"productVariantId": 188
},
{
"available": true,
"stock": 500,
"productVariantId": 183
}
],
[
{
"available": true,
"stock": 500,
"productVariantId": 184
},
{
"available": true,
"stock": 500,
"productVariantId": 179
}
]
],
"row": {
"displayType": "DIV",
"name": "Tamanho",
"values": [
{
"printUrl": "https://sualoja.fbitsstatic.net/img/p/moletom-vans-classic-zip-hoodie-athletic-heather-vn-0j6kgrh-30/184.jpg?w=50&h=50&v=no-value",
"value": "P"
},
{
"printUrl": "https://sualoja.fbitsstatic.net/img/p/moletom-vans-classic-zip-hoodie-athletic-heather-vn-0j6kgrh-30/184.jpg?w=50&h=50&v=no-value",
"value": "M"
},
{
"printUrl": "https://sualoja.fbitsstatic.net/img/p/moletom-vans-classic-zip-hoodie-athletic-heather-vn-0j6kgrh-30/184.jpg?w=50&h=50&v=no-value",
"value": "G"
},
{
"printUrl": "https://sualoja.fbitsstatic.net/img/p/moletom-vans-classic-zip-hoodie-athletic-heather-vn-0j6kgrh-30/184.jpg?w=50&h=50&v=no-value",
"value": "GG"
},
{
"printUrl": "https://sualoja.fbitsstatic.net/img/p/moletom-vans-classic-zip-hoodie-athletic-heather-vn-0j6kgrh-30/184.jpg?w=50&h=50&v=no-value",
"value": "PP"
}
]
}
}
}
}
}
}
Exemplo 3
Caso o produto possua uma seleção de atributo com imagem, a url pode ser acessada na query através do campo printUrl, que possui parâmetros opcionais de largura e altura, retornando a resolução escolhida da imagem para apresentação em tela. Caso não seja informado valor, os campos tem padrão de 10px.
{
product(productId: 95) {
attributeSelections {
selections {
attributeId
name
values {
value
printUrl(height: 50, width: 50)
}
}
}
}
}
Mostrar resposta
{
"data": {
"product": {
"attributeSelections": {
"selections": [
{
"attributeId": 7,
"name": "QUERO COMPRAR",
"values": [
{
"value": "1 Unidade(s)",
"printUrl": "https://lojacss.fbitsstatic.net/img/p/macarrao-instantaneo-predilecta-galinha-85g-95/260-2.jpg?w=50&h=50&v=no-value"
},
{
"value": "50 Unidade(s)",
"printUrl": "https://lojacss.fbitsstatic.net/img/p/macarrao-instantaneo-predilecta-galinha-85g-95/267-1.jpg?w=50&h=50&v=no-value"
}
]
}
]
}
}
}
}
Informações de BuyBox de produto
Abaixo temos o exemplo de informações BuyBox de um produto:
query {
product(productId: 123014) {
productName
attributeSelections {
selectedVariant {
productId
productVariantId
stock
offers {
name
productVariantId
prices {
installmentPlans {
displayName
installments {
value
number
fees
}
}
}
}
}
}
}
}
Mostrar resposta
{
"data": {
"product": {
"productName": "Jogo de Taças",
"attributeSelections": {
"selectedVariant": {
"productId": 123014,
"productVariantId": 310532,
"stock": 2,
"offers": [
{
"name": "LojaCSS",
"productVariantId": 310532,
"prices": {
"installmentPlans": [
{
"displayName": "Cartão Sem Desconto",
"installments": [
{
"value": 450,
"number": 1,
"fees": false
}
]
}
]
}
},
{
"name": "Loja Canais",
"productVariantId": 613011,
"prices": {
"installmentPlans": [
{
"displayName": "Cartão Sem Desconto",
"installments": [
{
"value": 197.99,
"number": 1,
"fees": false
}
]
}
]
}
}
]
}
}
}
}
}
URL Vídeo do produto
Abaixo temos o exemplo do retorno da URL Vídeo um produto:
query {
product(productId: 70149) {
productName
productId
alias
urlVideo
}
}
Mostrar resposta
{
"data": {
"product": {
"productName": "LEGO Movie 2 - Casa dos Sonhos do Emmet",
"productId": 70149,
"alias": "lego-movie-2-casa-dos-sonhos-do-emmet-70149",
"urlVideo": "https://www.youtube.com/watch?v=rEAtVNyu1r4"
}
}
}
Opção Paralela do Produto
Abaixo temos o exemplo do retorno das opções paralelas de um produto:
query {
product(productId: 241) {
productName
productId
parallelOptions
}
}
Mostrar resposta
{
"data": {
"product": {
"productName": "Lentes de Contato Lifecolor Tricolor - Com Grau",
"productId": 241,
"parallelOptions": [
{
"Olho Esquerdo (OE)",
"Olho Direito (OD)"
}
]
}
}
}
Promoções específicas de produto variante
Abaixo temos o exemplo do retorno das promoções específicas por variante:
query {
product(productId:234) {
productName
promotions {
content
disclosureType
title
}
attributeSelections(selected:[{attributeId:1, value:"PÚRPURA"},{attributeId:2, value:"M"}]) {
selectedVariant {
productVariantId
promotions {
content
disclosureType
title
}
}
}
}
}
Mostrar resposta
{
"data": {
"product": {
"productName": "CAPITOLLIUM EXCLUSIVE - VESTIDO MALHA RECORTES MANGA LONGA - PÚRPURA",
"promotions": [
{
"content": "selo de promoção da página de produto",
"disclosureType": "Página Produto",
"title": "Frete grátis para região sul"
}
],
"attributeSelections": {
"selectedVariant": {
"productVariantId": 412,
"promotions": [
{
"content": "Super promoção de vestidos por tempo limitado",
"disclosureType": "Página Produto",
"title": "Promoção de vestido M"
}
]
}
}
}
}
}
Atacarejo no produto
Abaixo temos o exemplo do retorno do cadastro de atacarejo em um determinado produto:
query {
product(productId: 70162) {
productId
productVariantId
prices {
listPrice
price
wholesalePrices {
price
quantity
}
}
}
}
Mostrar resposta
{
"data": {
"product": {
"productId": 70162,
"productVariantId": 256704,
"prices": {
"listPrice": 200,
"price": 150,
"wholesalePrices": [
{
"price": 140,
"quantity": 2
},
{
"price": 130,
"quantity": 3
},
{
"price": 120,
"quantity": 4
}
]
}
}
}
}
Data término de uma determinada promoção vinculada a um produto
Abaixo temos o exemplo do retorno da data de término de uma determinada promoção de um produto:
query {
product(productId: 90123) {
promotions {
id
title
endDate
}
}
}
Mostrar resposta
{
"data": {
"product": {
"promotions": [
{
"id": 20340,
"title": "Desconto teste",
"endDate": "2023-12-31T00:00:00.000-03:00"
},
{
"id": 20340,
"title": "teste",
"endDate": "2023-12-31T00:00:00.000-03:00"
}
]
}
}
}
Tipo de compre junto conforme cadastrado no painel administrativo
Abaixo temos o exemplo do retorno do tipo de compre junto, como Carrossel ou Produto, conforme cadastro no painel administrativo:
query {
product(productId: 73224) {
productId
productName
buyTogetherGroups {
name
type
products {
productId
productName
}
}
}
}
Mostrar resposta
{
"data": {
"product": {
"productId": 73224,
"productName": "Bola de Futebol Americano Nike All-Field 3.0 FB 9 Official - Marrom",
"buyTogetherGroups": [
{
"name": "Bola",
"type": "PRODUCT",
"products": [
{
"productId": 282,
"productName": "Bola Adidas Euro Copa"
},
{
"productId": 64,
"productName": "Cabeçada para Cavalo Modelo Testeira Nó em Couro"
}
]
},
{
"name": "Carrossel",
"type": "CAROUSEL",
"products": [
{
"productId": 124268,
"productName": "Blusa de Crepe Fiolurex Offwhite"
},
{
"productId": 124270,
"productName": "Blusa de Lurex Lastex Ombro"
},
{
"productId": 124267,
"productName": "Blusa de Crepe Fiolurex"
}
]
}
]
}
}
}
Campos de alertas de prazos conforme cadastrado no painel administrativo
Abaixo temos o exemplo do retorno dos campos de alertas de prazos, conforme cadastrado no produto no painel administrativo:
query {
product(productId: 300) {
productName
deadlineAlert {
deadline
description
secondDeadline
secondDescription
secondTitle
title
}
productCategories{
id
}
}
}
Mostrar resposta
{
"data": {
"product": {
"productName": "Câmara de Ar Pirelli MTB 26\" Bico Fino 48mm",
"deadlineAlert": {
"deadline": 0,
"description": "Para produto em estoque: Entre 1 e 2 dias úteis ou se \r\nNecessário Encomendar: Entre 3 e 15 dias úteis.",
"secondDeadline": null,
"secondDescription": null,
"secondTitle": null,
"title": "Disponibilidade do Produto"
},
"productCategories": [
{
"id": 573
}
]
}
}
}
Obter atributos sem considerar produtos do mesmo parent
Na query temos o campo attributeSelections que através dele, poderá enviar o input includeParentIdVariants, no qual irá determinar se apresentará os atributos dos produtos irmãos, caso sejam vinculados por parentId. Esse input é do tipo booleano e por padrão possui valor=true, caso não seja informado na query.
query{
product(productId: 13456){
productId
parentId
attributeSelections (includeParentIdVariants: true){
selections{
attributeId
name
values{
value
}
}
}
}
}
Mostrar resposta
{
"data": {
"product": {
"productId": 13456,
"parentId": 146527,
"attributeSelections": {
"selections": [
{
"attributeId": 258,
"name": "Tamanho",
"values": [
{
"value": "34"
},
{
"value": "35"
},
{
"value": "36"
},
{
"value": "37"
}
]
},
{
"attributeId": 257,
"name": "Cor",
"values": [
{
"value": "Preto"
},
{
"value": "Vermelho"
}
]
}
]
}
}
}
}
Informação se a personalização é ou não obrigatória
Abaixo temos o exemplo que mostra através do campo required se a personalização é ou não obrigatória:
query {
product(productId: 70127) {
customizations {
required
}
}
}
Mostrar resposta
{
"data": {
"product": {
"productName":"Produto Exemplo 4",
"customizations": [
{
"required": false,
"customizationId": 35
}
]
}
}
}
Retornando o campo aliasComplete relacionado ao produto
Abaixo temos um exemplo do retorno do campo aliasComplete, onde traz o alias relacionado ao produto e que leva em consideração a configuração Configuração de URL de Produto dentro do painel administrativo.
query {
product(productId: 265860) {
alias: aliasComplete
variantName
}
}
Mostrar resposta
{
"data": {
"product": {
"alias":"produto/e-tudo-novo-de-novo-265860",
"variantName": "\"É tudo novo\", de novo"
}
}
}
Consultando a avaliação de um determinado produto
Abaixo temos um exemplo do retorno da avaliação do produto, através dos campos averageRating
que retorna um valor inteiro e averageRatingFloat
que retorna o valor com duas casas decimais após o ponto. Poderá ser utilizado um ou até mesmo os dois campos.
query {
product(productId: 44) {
productName
averageRating
averageRatingFloat
}
}
Mostrar resposta
{
"data": {
"product": {
"productName":"Bota Melissa Preto",
"averageRating":3,
"averageRatingFloat": 3.83
}
}
}
Updated 2 months ago