Appearance
Produtos
Gerencie o catálogo de produtos da loja.
Listar produtos
http
GET /api/v1/productsQuery parameters
| Parâmetro | Tipo | Descrição |
|---|---|---|
search | string | Busca por nome, SKU ou código de barras |
brand_id | integer | Filtrar por marca |
category_id | integer | Filtrar por categoria |
active | boolean | Filtrar por status ativo (true/false) |
featured | boolean | Filtrar por produtos em destaque |
type | string | Filtrar por tipo: simple ou variable |
sku | string | Busca exata por SKU |
price_min | number | Preço mínimo |
price_max | number | Preço máximo |
include | string | Incluir relações: variants |
sort | string | Campo de ordenação (padrão: created_at) |
direction | string | Direção: asc ou desc (padrão: desc) |
per_page | integer | Itens por página (máx: 100, padrão: 25) |
Exemplo
bash
curl -X GET "https://sualoja.com.br/api/v1/products?active=true&brand_id=1&include=variants" \
-H "X-API-Key: SUA_CHAVE"Resposta
json
{
"data": [
{
"id": 1,
"type": "variable",
"name": "Camiseta Preta",
"slug": "camiseta-preta",
"sku": "CAM-001",
"barcode": "7891234567890",
"description": "Camiseta 100% algodão",
"price": 79.90,
"sale_price": 59.90,
"promotion_price": null,
"current_price": 59.90,
"is_on_sale": true,
"stock": 150,
"weight": 0.3,
"dimensions": {
"length": 30,
"width": 25,
"height": 3
},
"active": true,
"featured": false,
"is_new": true,
"brand": {
"id": 1,
"name": "Nike"
},
"categories": [
{ "id": 2, "name": "Camisetas" }
],
"images": {
"cover": "https://sualoja.com.br/storage/.../cover.webp",
"gallery": [
"https://sualoja.com.br/storage/.../foto1.webp",
"https://sualoja.com.br/storage/.../foto2.webp"
]
},
"variants": [
{
"id": 10,
"sku": "CAM-001-P",
"price": null,
"sale_price": null,
"stock": 50,
"attributes": { "Tamanho": "P", "Cor": "Preto" }
}
],
"seo": {
"title": "Camiseta Preta | Minha Loja",
"description": "Camiseta preta 100% algodão...",
"keywords": "camiseta, preta, algodão"
},
"rating_avg": 4.5,
"rating_count": 23,
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-03-10T14:22:00Z"
}
],
"meta": {
"current_page": 1,
"last_page": 5,
"per_page": 25,
"total": 120
}
}Buscar produto
http
GET /api/v1/products/{id}Retorna um produto com todas as relações (variantes, categorias, marca, imagens).
Exemplo
bash
curl -X GET https://sualoja.com.br/api/v1/products/1 \
-H "X-API-Key: SUA_CHAVE"Criar produto
http
POST /api/v1/productsCampos
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | ✅ | Nome do produto |
type | string | ✅ | simple ou variable |
price | number | ✅ | Preço (mínimo: 0) |
sale_price | number | Preço promocional | |
sku | string | SKU (deve ser único) | |
barcode | string | Código de barras | |
description | string | Descrição do produto | |
stock | integer | Quantidade em estoque | |
weight | number | Peso em kg | |
length | number | Comprimento em cm | |
width | number | Largura em cm | |
height | number | Altura em cm | |
brand_id | integer | ID da marca | |
category_ids | array | Array de IDs de categorias | |
active | boolean | Ativo na loja (padrão: true) | |
featured | boolean | Produto em destaque | |
is_new | boolean | Lançamento | |
seo_title | string | Título para SEO | |
seo_description | string | Meta description para SEO | |
seo_keywords | string | Palavras-chave para SEO |
Exemplo
bash
curl -X POST https://sualoja.com.br/api/v1/products \
-H "X-API-Key: SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"name": "Camiseta Azul",
"type": "simple",
"price": 89.90,
"sku": "CAM-AZUL-001",
"stock": 100,
"brand_id": 1,
"category_ids": [2, 5],
"active": true,
"featured": true
}'Resposta 201 Created
json
{
"data": {
"id": 2,
"type": "simple",
"name": "Camiseta Azul",
"slug": "camiseta-azul",
"sku": "CAM-AZUL-001",
"price": 89.90,
"stock": 100,
"active": true,
"featured": true,
"brand": { "id": 1, "name": "Nike" },
"categories": [
{ "id": 2, "name": "Camisetas" },
{ "id": 5, "name": "Lançamentos" }
]
}
}Atualizar produto
http
PUT /api/v1/products/{id}Aceita os mesmos campos do POST, todos opcionais. Apenas os campos enviados serão atualizados.
Exemplo
bash
curl -X PUT https://sualoja.com.br/api/v1/products/2 \
-H "X-API-Key: SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"price": 69.90,
"sale_price": 49.90,
"stock": 80
}'Excluir produto
http
DELETE /api/v1/products/{id}Exemplo
bash
curl -X DELETE https://sualoja.com.br/api/v1/products/2 \
-H "X-API-Key: SUA_CHAVE"Resposta
json
{
"message": "Produto removido."
}Tipos de produto
| Tipo | Descrição |
|---|---|
simple | Produto com SKU único, sem variações |
variable | Produto com múltiplas variantes (cor, tamanho, etc.) |
Para gerenciar variantes de um produto variable, veja Variantes.