Endpoint: Produtos
Visão Geral
O endpoint de produtos permite listar e filtrar produtos do sistema. Suporta paginação, ordenação e diversos filtros.
Base URL: https://api.imobileai.com.br/products
Autenticação
Requer token JWT no header:
Authorization: Bearer seu_token_jwt
Parâmetros
Parâmetros de URL
| Parâmetro | Tipo | Descrição | Exemplo |
|---|---|---|---|
| page | number | Número da página (padrão: 1) | ?page=2 |
| limit | number | Itens por página (1-100, padrão: 100) | ?limit=20 |
| type | string | Tipo do produto (NOVO, SEMINOVO, DIVERSOS) | ?type=NOVO |
| category | string | Categoria (CAPINHA, PELICULA, CARREGADOR, FONE, PECA, OUTROS) | ?category=CAPINHA |
| brand | string | Marca do produto | ?brand=Apple |
| model | string | Modelo do produto | ?model=iPhone 14 |
| color | string | Cor do produto | ?color=branco |
| capacity | string | Capacidade do produto | ?capacity=128GB |
| min_price | number | Preço mínimo | ?min_price=1000 |
| max_price | number | Preço máximo | ?max_price=5000 |
| min_battery | number | Saúde mínima da bateria (%) | ?min_battery=90 |
| in_stock | boolean | Produtos em estoque | ?in_stock=true |
| search | string | Busca geral em todos os campos principais | ?search=iphone branco |
| sort | string | Campo para ordenação (created_at, price, name, brand, model) | ?sort=price |
| order | string | Direção da ordenação (ASC ou DESC, padrão: DESC) | ?order=ASC |
Resposta
A resposta é retornada no formato JSON:
{
"success": true,
"data": [
{
"id": 1,
"store_id": 1,
"type": "NOVO",
"name": "iPhone 14",
"category": "CELULAR",
"brand": "Apple",
"model": "iPhone 14",
"capacity": "128GB",
"color": "Branco",
"battery_health": 100,
"price": 4999.99,
"price_formatted": "R$ 4.999,99",
"quantity": 1,
"description": "iPhone 14 novo, lacrado",
"created_at": "2024-03-14 12:00:00",
"updated_at": "2024-03-14 12:00:00",
"media": [
{
"url": "https://clientes.imobileai.com.br/uploads/products/foto1.jpg",
"type": "image"
}
],
"store": {
"name": "Nome da Loja",
"whatsapp": "11999999999"
}
}
],
"total": 100,
"page": 1,
"limit": 20,
"pages": 5
}
Exemplos de Uso
Listar produtos novos
GET /products?type=NOVO
Buscar iPhones brancos
GET /products?brand=apple&color=branco
Produtos por faixa de preço
GET /products?min_price=1000&max_price=5000
Produtos em estoque ordenados por preço
GET /products?in_stock=true&sort=price&order=ASC
Busca combinada
GET /products?type=SEMINOVO&min_battery=90&brand=apple&sort=price
Erros
| Código | Descrição |
|---|---|
| 401 | Token não fornecido ou inválido |
| 403 | Acesso não autorizado (token válido mas sem permissão) |
| 500 | Erro interno do servidor |
Observações
- Todos os filtros são opcionais
- A busca é case-insensitive
- URLs de mídia são retornadas completas
- Preços são retornados em formato numérico e formatado
- Usuários não SUPER_ADMIN só veem produtos de sua loja