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âmetroTipoObrigatórioDescrição
productIdLongSimID do produto a ser buscado
partnerAccessTokenStringNãoToken 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:

CampoDescrição
attributeSelectionInformações sobre os atributos selecionáveis do produto
breadcrumbsLista de breadcrumbs relativas ao produto
buyTogetherLista de produtos configurados para a feature "compre junto"
customizationsLista de personalizações disponíveis para o produto
reviewsLista de avaliações de clientes
seoInformações sobre o SEO do produto
urlVideoURL 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 } } }