Fabricantes
Consulte os fabricantes (marcas) de veículos disponíveis no sistema.
Endpoint
GET /catalog/brand
GET /catalog/brand/{id}
Método
GET
Autenticação
Este endpoint requer autenticação via JWT. Inclua o token no header:
Authorization: Bearer {access_token}
Exemplo de Resposta
Lista de Fabricantes
Status Code: 200 OK
[
{
"id": 1,
"name": "Chevrolet"
},
{
"id": 2,
"name": "Fiat"
},
{
"id": 3,
"name": "Ford"
},
{
"id": 4,
"name": "Volkswagen"
},
{
"id": 5,
"name": "Toyota"
}
]
Detalhe de um Fabricante
Status Code: 200 OK
{
"id": 1,
"name": "Chevrolet"
}
Estrutura de Dados
A resposta é um array de objetos (lista) ou um objeto único (detalhe), onde cada objeto contém:
| Campo | Tipo | Descrição |
|---|---|---|
id | integer | Identificador único do fabricante |
name | string | Nome do fabricante (marca) |
Filtros
Este endpoint suporta os seguintes filtros através de query parameters:
| Parâmetro | Tipo | Descrição |
|---|---|---|
category | integer | Filtra fabricantes por categoria de veículo |
in_production | boolean | Filtra fabricantes que estão em produção |
Exemplos de Uso de Filtros
Filtrar por categoria:
GET /catalog/brand?category=1
Filtrar por categoria e produção:
GET /catalog/brand?category=1&in_production=true
Filtrar apenas por produção:
GET /catalog/brand?in_production=true
Ordenação
Os resultados são ordenados alfabeticamente pelo nome do fabricante.
Possíveis Retornos de Erro
401 Unauthorized
Retornado quando o token de autenticação não foi fornecido ou é inválido.
{
"detail": "As credenciais de autenticação não foram fornecidas."
}
ou
{
"detail": "Token inválido ou expirado."
}
403 Forbidden
Retornado quando o usuário autenticado não tem permissão para acessar este recurso.
{
"detail": "Você não tem permissão para executar essa ação."
}
404 Not Found
Retornado quando um fabricante específico não é encontrado (ao acessar /catalog/brand/{id}).
{
"detail": "Não encontrado."
}
405 Method Not Allowed
Retornado quando um método HTTP não permitido é utilizado (ex: DELETE, POST, PUT, PATCH).
{
"detail": "Método \"DELETE\" não é permitido."
}