OBJECT Product
Representa um produto da loja com preço, imagens, variações, avaliações e parcelamento.
Usado em: client →
products,
clientProducts,
featuredProducts,
homeProductsByCategory,
productsOnSale,
highlightedProducts
|
product /
products
|
Timer →
componentsAffected.onSaleProduct Campos
| Campo | Tipo | Descrição |
| id | ID! | ID global Relay do produto. |
| title | String! | Título do produto. |
| description | String | Descrição (pode conter HTML). |
| price | Float! | Preço atual em centavos. |
| originalPrice | Float | Preço original (antes do desconto). |
| discountPercentage | Float | Percentual de desconto aplicado. |
| images | [Image] | Imagens do produto. |
| availableQuantity | Int | Quantidade disponível em estoque. |
| isActive | Boolean | Se o produto está ativo e visível. |
| sku | String | Código SKU do produto. |
| weight | Float | Peso em gramas. |
| variations | [Product] | Variações do produto (tamanhos, cores). |
| variationAttributes | [VariationAttribute] | Atributos de variação disponíveis. |
| categories | [Category] | Categorias do produto. |
| installmentsPrice | [InstallmentEntry] | Opções de parcelamento calculadas. |
| reviewSummary | ReviewSummary | Resumo das avaliações (total, média). |
VariationAttribute
| Campo | Tipo | Descrição |
| name | String! | Nome do atributo (ex: "Tamanho", "Cor"). |
| values | [String!] | Valores disponíveis (ex: ["P", "M", "G"]). |
InstallmentEntry
| Campo | Tipo | Descrição |
| installments | Int! | Número de parcelas. |
| value | Float! | Valor de cada parcela (em centavos). |
Paginação: Produtos são retornados via Relay Connection. Use
first/
after para paginar. Veja
PageInfo.
Query
query GetProducts($hostname: String!) {
client(hostname: $hostname) {
products(first: 8, sort: "price_asc") {
edges {
node {
id
title
description
price
originalPrice
discountPercentage
images { url }
availableQuantity
sku
categories { id name }
variations {
id
title
price
variationAttributes { name values }
}
reviewSummary {
averageStars
totalReviews
}
installmentsPrice {
installments
value
}
}
}
pageInfo { hasNextPage endCursor }
}
}
}
Resposta
{
"data": {
"client": {
"products": {
"edges": [
{
"node": {
"id": "UHJvZHVjdDphYmMx",
"title": "Camiseta Premium",
"description": "<p>Algodão 100%</p>",
"price": 8990,
"originalPrice": 12900,
"discountPercentage": 30,
"images": [
{ "url": "https://..." }
],
"availableQuantity": 42,
"sku": "CAM-001",
"categories": [
{ "id": "Q2F0ZWdvcnk6abc1", "name": "Roupas" }
],
"variations": [],
"reviewSummary": {
"averageStars": 4.8,
"totalReviews": 15
},
"installmentsPrice": [
{ "installments": 3, "value": 2997 }
]
}
}
],
"pageInfo": {
"hasNextPage": true,
"endCursor": "Y3Vyc29yOA=="
}
}
}
}
}