Pular para o conteúdo principal

Opcionais

Consulte os opcionais disponíveis para veículos no sistema.

Endpoint

GET /catalog/feature
GET /catalog/feature/{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 Opcionais

Status Code: 200 OK

[
{
"id": 1,
"name": "Ar Condicionado",
"category": 1
},
{
"id": 2,
"name": "Direção Hidráulica",
"category": 1
},
{
"id": 3,
"name": "Vidros Elétricos",
"category": 1
},
{
"id": 4,
"name": "Airbag",
"category": 1
},
{
"id": 5,
"name": "ABS",
"category": 1
}
]

Detalhe de um Opcional

Status Code: 200 OK

{
"id": 1,
"name": "Ar Condicionado",
"category": 1
}

Estrutura de Dados

A resposta é um array de objetos (lista) ou um objeto único (detalhe), onde cada objeto contém:

CampoTipoDescrição
idintegerIdentificador único do opcional
namestringNome do opcional
categoryintegerID da categoria de veículo à qual o opcional pertence (1=Automóvel, 2=Motocicleta, 3=Caminhão, 4=Implemento)

Filtros

Este endpoint suporta o seguinte filtro através de query parameters:

ParâmetroTipoDescrição
categoryintegerFiltra opcionais por categoria de veículo

Exemplos de Uso de Filtros

Filtrar opcionais de automóveis:

GET /catalog/feature?category=1

Filtrar opcionais de motocicletas:

GET /catalog/feature?category=2

Filtrar opcionais de caminhões:

GET /catalog/feature?category=3

Observações

  • Apenas opcionais marcados como exibir=True são retornados na lista
  • Cada opcional está associado a uma categoria específica de veículo
  • O campo category indica a qual categoria o opcional pertence

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 opcional específico não é encontrado (ao acessar /catalog/feature/{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."
}