Documentação › Loja e Catálogo › Objeto Produto

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