A query products retorna informações de produtos cadastrados na loja. Diferente das outras queries que também retornam produtos, pode ser utilizada com diferentes tipos de filtros para montar, por exemplo, uma vitrine com os produtos mais vendidos (ordenação por SALES) ou uma vitrine de lançamentos (ordenação por *RELEASE_DATE).

Requisição

Parâmetros

ParâmetroTipoObrigatórioDescrição
Parâmetros de paginaçãoSimParâmetros utilizados na paginação por cursor
filtersProductExplicitFiltersInputNãoObjeto de filtros específicos para produtos
partnerAccessTokenStringNãoToken de parceiro, utilizado para filtrar produtos exibidos ao parceiro
sortDirectionEnum SortDirectionNãoDireção de ordenação. Por padrão é ASC
sortKeyEnum ProductSortKeysNãoChave de ordenação. Por padrão é NAME

ProductExplicitFiltersInput

FiltroDescrição
attributesFiltro de produtos por atributos (ID, nome, tipo ou valor)
availableSe deve retornar apenas produtos disponíveis
brandIdLista de IDs de fabricantes
categoryIdLista de IDs de categorias
eanFiltro de produtos por EAN
hasImagesSe deve retornar apenas produtos com imagens
mainVariantSe deve retornar apenas a variante principal do produto
pricesFiltro de produtos por preço (com desconto, maior que ou menor que)
productIdLista de IDs de produtos
productVariantIdLista de IDs de produtos variantes
sameParentAsRetorno de produtos com mesmo ParentId
skuFiltro de produtos por SKU
stock_gteRetorno de produtos com estoque maior que
stock_lteRetorno de produtos com estoque menor que
subscriptionGroupIdLista de IDs de grupos de assinatura
updatedAt_gteRetorno de produtos que foram atualizados depois de
updatedAt_lteRetorno de produtos que foram atualizados antes de

Campos

CampoDescrição
addToCartFromSpotSe é possível adicionar o produto diretamente do spot (configurado no Admin da loja)
aliasAlias do produto
attributesLista de atributos do produto
availableSe o produto está disponível
averageRatingAvaliação média do produto
buyBoxInformações adicionais caso o produto seja do tipo Buy Box
conditionCondição do produto
createdAtData de cadastro do produto
deadlinePrazo de entrega do produto
displaySe o produto deve ser exibido
displayOnlyPartnerSe o produto deve ser exibido apenas a parceiros
displaySearchSe o produto deve ser exibido em buscas
eanCódigo EAN do produto
freeShippingSe o produto possui frete grátis
imagesLista de imagens do produto
informationsLista de informações associadas ao produto
mainVariantSe o produto é a variante principal
minimumOrderQuantityQuantidade mínima em um pedido
newReleaseSe o produto é um lançamento
numberOfVotesNúmero de avaliações do produto
parentIdID do produto pai, se existente
pricesObjeto de preços do produto
productBrandObjeto de marca do produto
productCategoriesLista de categorias às quais o produto pertence
productIdID de cadastro do produto
productNameNome do produto
productSubscriptionInformações de assinatura, se existente
productVariantIdID do produto variante
promotionsLista de promoções associadas ao produto
similarProductsLista de produtos similares
sellerRelação dos nomes de vendedores do produto
skuSKU do produto
spotAttributesLista de atributos mostrados no spot do produto, se existentes
spotInformationInformações extras a serem exibidas no spot do produto
spotlightSe o produto é um destaque
stockEstoque disponível no centro de distribuição padrão
stocksLista de estoques em diferentes centros de distribuição, se existentes
subscriptionGroupsLista de grupos de assinatura aos quais o produto pertence
telesalesSe o produto possui televenda
updatedAtData da última atualização do produto
variantNameNome do produto variante
urlVideoURL do vídeo do produto

BuyBox

CampoDescrição
installmentPlansOpções de parcelamento
maximumPricePreço máximo do produto dos vendedores
minimumPriceMelhor valor do produto em um dos vendedores
quantityOffersQuantidade de vendedores do produto
sellersRelação dos nomes de vendedores do produto

Exemplo

Neste exemplo são pedidas informações dos 2 primeiros produtos da categoria Moda (ID 801), filtrados pelo variante principal de cada produto:

query {
  products(first:2, filters:{categoryId:[801], mainVariant:true}) {
    nodes {
      productId
      productName
      prices {
        price
      }
      productBrand {
        name
      }
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [
        {
          "productId": 70231,
          "productName": "AGASALHO DUO FEMININO",
          "prices": {
            "price": 367.19
          },
          "productBrand": {
            "name": "SPEEDO"
          }
        },
        {
          "productId": 123055,
          "productName": "Bolsa Feminina",
          "prices": {
            "price": 1095.34
          },
          "productBrand": {
            "name": "Adidas"
          }
        }
      ]
    }
  }
}

Filtro por Porcentagem de desconto dos produtos

Abaixo temos o exemplo de filtro por porcentagem de desconto:

{
  products(first:10, filters:{prices: {discount_gte:0.3, discount_lte:0.4}}) {
    nodes {
      productId
      productVariantId
      prices {
        price
        discountPercentage
      }
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [
        {
          "productId": 203056,
          "productVariantId": 578953,
          "prices": {
            "price": 299.9,
            "discountPercentage": 0.39
          }
        },
        {
          "productId": 203117,
          "productVariantId": 579012,
          "prices": {
            "price": 129.9,
            "discountPercentage": 0.32
          }
        },
        {
          "productId": 203051,
          "productVariantId": 578948,
          "prices": {
            "price": 129.9,
            "discountPercentage": 0.32
          }
        },
        {
          "productId": 203049,
          "productVariantId": 578946,
          "prices": {
            "price": 1199,
            "discountPercentage": 0.4
          }
        },
        {
          "productId": 221682,
          "productVariantId": 599080,
          "prices": {
            "price": 50,
            "discountPercentage": 0.38
          }
        },
        {
          "productId": 221680,
          "productVariantId": 599079,
          "prices": {
            "price": 50,
            "discountPercentage": 0.38
          }
        },
        {
          "productId": 222,
          "productVariantId": 446,
          "prices": {
            "price": 15000,
            "discountPercentage": 0.33
          }
        },
        {
          "productId": 222,
          "productVariantId": 445,
          "prices": {
            "price": 15000,
            "discountPercentage": 0.32
          }
        },
        {
          "productId": 222580,
          "productVariantId": 602094,
          "prices": {
            "price": 219.99,
            "discountPercentage": 0.33
          }
        },
        {
          "productId": 203329,
          "productVariantId": 579132,
          "prices": {
            "price": 99.9,
            "discountPercentage": 0.33
          }
        }
      ]
    }
  }
}

Filtro de Produtos com mesmo ParentId

Abaixo temos um exemplo de filtro de produtos com o mesmo ParentId:

query {
  products(first:30, 
   	   filters:{
            sameParentAs:[67890]
          }) {
    nodes {
      productName
      productId
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [
        {
          "productName": "Camiseta Esporte Branco",
          "productId": 123456
        },
        {
          "productName": "Camisa Esporte Vermelha",
          "productId": 123444
        },
        {
          "productName": "Camisa Esporte Azul",
          "productId": 123445
        }
      ]
    }
  }
}

Estoque vinculado do produto e de um variante

Abaixo temos um exemplo de estoque vinculado do produto e do variante específico.

query {
  products (first:10, filters:{productVariantId: [613007, 612967] }){
    nodes{
      productId
      productName
      productVariantId
      alias
      sku
      stock
      variantStock
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [
        {
          "productId": 248307,
          "productName": "Escova para Piscina",
          "productVariantId": 612967,
          "alias": "escova-para-piscina",
          "sku": "00252",
          "stock": 15,
          "variantStock": 15
        },
        {
          "productId": 248344,
          "productName": "UNIFORME SPORTS",
          "productVariantId": 613007,
          "alias": "uniforme-sports",
          "sku": "UNIFORMENBA",
          "stock": 20,
          "variantStock": 10
        }
      ]
    }
  }
}

Quantidade mínima e máxima de compra de um produto

Abaixo temos um exemplo de quantidade mínima e máxima de compra de um produto.

query {
  products(first: 1, filters: { productVariantId: [613007] }) {
    nodes {
      productId
      productName
      minimumOrderQuantity
      maximumOrderQuantity
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [
        {
          "productId": 248307,
          "productName": "Escova para Piscina",
          "minimumOrderQuantity": 3,
          "maximumOrderQuantity": 6
        }
      ]
    }
  }
}

Informações de Autor, Editora, Gênero e Coleção

Abaixo temos um exemplo de retorno das informações de autor, editora, gênero e coleção que estão cadastrados nos produtos.

query {
  products(first: 50, filters: {}) {
    nodes {
      productName
      publisher
      author
      gender
      collection
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [  
        {
          "productName": "A Arte da Negociação",
          "publisher": "Citadel Editora",
          "author": "Donald J. Trump",
          "gender": null,
          "collection": null
        },
        {
          "productName": "A Ciência do Sucesso - Versão de Bolso",
          "publisher": "Citadel Editora",
          "author": "Napoleon Hill",
          "gender": null,
          "collection": null
        },
        {
          "productName": "A Coragem Para Liderar",
          "publisher": "BestSeller",
          "author": "Brené Brown",
          "gender": null,
          "collection": null
        }
      ]
    }
  }
}

Obter produtos independente das regras de exibição

Um produto poderá ficar indisponível por vários motivos, como por exemplo: sem estoque, ou quando é alterado a exibição do mesmo no admin, neste caso, ao realizar a consulta na query ele não será retornado.
Agora, ao informar o filtro ignoreDisplayRules na query, o produto será retornado independente de ser de assinatura e de estar visível ou não.

query {
  products(first:30, filters:{ignoreDisplayRules: true, productVariantId: 256500}){
    nodes {
      productName
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [
        {
          "productName": "Bio Magnésio"
        }
      ]
    }
  }
}

Informações de Peso, Altura, Comprimento e Largura

Abaixo temos um exemplo de retorno das informações de medidas cadastradas nos produtos.

query {
  products(first: 10, filters: { productVariantId: [615674] }){
    nodes {
      productId
      productName
      length
      height
      weight
      width
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [
        {
          "productId": 252175,
          "productName": "Produto 1",
          "length": 5,
          "height": 3,
          "weight": 10,
          "width": 5
        }
      ]
    }
  }
}

Informação se o produto possui contra proposta

Abaixo temos um exemplo de retorno se o produto apresenta contra proposta, conforme cadastrado no admin.

query {
  products(first: 10, filters: { available: true }) {
    nodes {
      id
      productName
      productId
      productVariantId
      aliasComplete
      counterOffer
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [
        {
          "id": "eyJFbnRpdHkiOiJQcm9kdWPPPIiwiSWQiOjI3NjYzOX0=",
          "productName": "Caderno Espiral Capa Dura Preto",
          "productId": 90120,
          "productVariantId": 276639,
          "aliasComplete": "produto/caderno-espiral-capa-dura-preto-90120",
          "counterOffer": true
        },
        {
          "id": "eyJFbnRpdHkiOiJQcm9kdWN0ITTiSWQiOjI2NjY0M30=",
          "productName": "Estojo Escolar",
          "productId": 80112,
          "productVariantId": 266643,
          "aliasComplete": "produto/estojo-escolar-80112",
          "counterOffer": true
        }
      ]
    }
  }
}

Busca de produtos com palavras específicas

Abaixo temos um exemplo de uma consulta para facilitar a busca de produtos com base em palavras-chave específicas. Essa consulta é realizada através do parâmetro search que permite que sejam passados mais de um termo para a busca, sendo eles dentro do mesmo contexto.

query {
  products(first: 30 filters: {search : ["Tenis", "All star"]}){
    nodes{
      productName
      productId
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [
        {
          "productName":"Tênis All Star Vermelho",
          "productId": 130130
        },
        {
          "productName":"Tênis All Star Vermelho",
          "productId": 130130
        }
      ]
    }
  }
}

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 {
  products(filters: {}, first: 10) {
    nodes {
      productId
      productName
      alias: aliasComplete
      similarProducts {
        alias
      }
    }
  }
}
Mostrar resposta
{
  "data": {
    "products": {
      "nodes": [
        {
          "productId": 265860,
          "productName": "\"É tudo novo\", de novo",
          "alias": "produto/e-tudo-novo-de-novo-265860",
          "similarProducts": []
        },
        {
          "productId": 265860,
          "productName": "\"É tudo novo\", de novo",
          "alias": "produto/e-tudo-novo-de-novo-265860",
          "similarProducts": []
        }
      ]
    }
  }
}