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
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
        }
      ]
    }
  }
}