Versões
Consulte as versões de um modelo específico de veículo.
Endpoint
GET /catalog/versions/{model_id}
Método
GET
Parâmetros de URL
| Parâmetro | Tipo | Descrição |
|---|---|---|
model_id | integer | ID do modelo de veículo |
Autenticação
Este endpoint requer autenticação via JWT. Inclua o token no header:
Authorization: Bearer {access_token}
Query Parameters
| Parâmetro | Tipo | Descrição |
|---|---|---|
q | string | Busca por nome da versão (busca parcial, case-insensitive) |
page | integer | Número da página (paginação) |
pageSize | integer | Quantidade de itens por página (padrão: definido nas configurações, máximo: 100) |
Exemplo de Resposta
Status Code: 200 OK
{
"count": 15,
"next": "http://api.example.com/v3/catalog/versions/123?page=2",
"previous": null,
"results": [
{
"id": 1001,
"name": "Onix 1.0 MT",
"model": {
"id": 123,
"name": "Onix"
},
"fuel": {
"id": 1,
"name": "Flex"
},
"door": {
"id": 1,
"name": "4 portas"
},
"transmission": {
"id": 1,
"name": "Manual"
},
"body": {
"id": 1,
"name": "Hatchback"
},
"motorcycle_style": null,
"is_still_production": true,
"start_year": 2020,
"end_year": null,
"body_id": 1,
"motorcycle_style_id": null
},
{
"id": 1002,
"name": "Onix 1.4 AT",
"model": {
"id": 123,
"name": "Onix"
},
"year": {
"start": 2021,
"end": 2025
},
"fuel": {
"id": 1,
"name": "Flex"
},
"door": {
"id": 1,
"name": "4 portas"
},
"transmission": {
"id": 2,
"name": "Automático"
},
"body": {
"id": 1,
"name": "Hatchback"
},
"motorcycle_style": null,
"is_still_production": true,
"start_year": 2021,
"end_year": null,
"body_id": 1,
"motorcycle_style_id": null
}
]
}
Estrutura de Dados
Estrutura da Resposta Paginada
| Campo | Tipo | Descrição |
|---|---|---|
count | integer | Total de registros encontrados |
next | string | URL da próxima página (null se não houver) |
previous | string | URL da página anterior (null se não houver) |
results | array | Array com os resultados da página atual |
Estrutura de um Item de Versão
| Campo | Tipo | Descrição |
|---|---|---|
id | integer | Identificador único da versão detalhada |
name | string | Nome da versão (ou nome do modelo se não houver nome específico) |
model | object | Objeto com informações do modelo (id, name) |
fuel | object | Objeto com informações do combustível (id, name) |
door | object | Objeto com informações das portas (id, name) |
transmission | object | Objeto com informações da transmissão (id, name) |
body | object | Objeto com informações da carroceria (id, name) - pode ser null |
motorcycle_style | object | Objeto com informações do estilo de moto (id, name) - pode ser null |
is_still_production | boolean | Indica se o veículo ainda está em produção |
start_year | integer | Ano de início de fabricação |
end_year | integer | Ano de fim de fabricação (null se ainda em produção) |
body_id | integer | ID da carroceria (pode ser null) |
motorcycle_style_id | integer | ID do estilo de moto (pode ser null) |
Exemplos de Uso
Buscar todas as versões de um modelo
GET /catalog/versions/123
Buscar versões com filtro de nome
GET /catalog/versions/123?q=1.0
Buscar versões com paginação
GET /catalog/versions/123?page=2&pageSize=10
Ordenação
Os resultados são ordenados alfabeticamente pelo nome da versão detalhada.
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 o modelo especificado não é encontrado.
{
"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."
}