Objeto Produto
Formato do produto retornado por Listar produtos, Detalhe do produto e Buscar produtos. Todos usam a mesma estrutura.
Exemplo
JSON
{
"id": "101",
"productId": "101",
"handle": "101",
"title": "Camiseta Azul",
"description": "Camiseta de algodão azul",
"image": "https://loja.exemplo.com.br/storage/camiseta.jpg",
"images": ["https://loja.exemplo.com.br/storage/camiseta.jpg"],
"sku": "SKU123",
"barcode": null,
"productType": "physical",
"availableForSale": true,
"priceInCents": 5000,
"compareAtPriceInCents": 7000,
"inventoryQuantity": 12,
"variants": [
{
"id": "102",
"variantId": "102",
"title": "Camiseta Azul M",
"sku": "SKU123-M",
"barcode": null,
"image": null,
"availableForSale": true,
"priceInCents": 5000,
"compareAtPriceInCents": null,
"inventoryQuantity": 5
}
],
"createdAt": "2026-07-01T12:00:00-03:00",
"updatedAt": "2026-07-01T12:00:00-03:00"
}
Campos do Produto
| Campo | Tipo | Descrição |
|---|---|---|
id / productId / handle |
string | Identificador público do produto (o mesmo valor nos três campos) |
title |
string | Nome do produto |
description |
string|null | Descrição do produto |
image |
string|null | URL da imagem principal (absoluta) |
images |
array | URLs de todas as imagens (absolutas) |
sku |
string|null | Código SKU |
barcode |
string|null | Código de barras |
productType |
string | physical ou digital |
availableForSale |
boolean | Produto ativo e com estoque (quando há controle de estoque) |
priceInCents |
integer | Preço efetivo em centavos (usa o promocional quando existir) |
compareAtPriceInCents |
integer|null | Preço original em centavos quando há preço promocional; null caso contrário |
inventoryQuantity |
integer|null | Estoque; null quando a loja não controla estoque |
variants |
array | Variantes ativas do produto (ver abaixo). Produto sem variações retorna a si mesmo como única variante |
createdAt / updatedAt |
string | Datas em ISO 8601 |
Campos da Variante
| Campo | Tipo | Descrição |
|---|---|---|
id / variantId |
string | Identificador público da variante — use este valor no checkout |
title |
string | Nome da variante |
sku |
string|null | Código SKU da variante |
barcode |
string|null | Código de barras da variante |
image |
string|null | URL da imagem da variante |
availableForSale |
boolean | Variante ativa e com estoque |
priceInCents |
integer | Preço efetivo em centavos |
compareAtPriceInCents |
integer|null | Preço original quando há promoção |
inventoryQuantity |
integer|null | Estoque; null quando não há controle de estoque |