Pular para o conteúdo principal

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âmetroTipoDescrição
model_idintegerID 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âmetroTipoDescrição
qstringBusca por nome da versão (busca parcial, case-insensitive)
pageintegerNúmero da página (paginação)
pageSizeintegerQuantidade 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

CampoTipoDescrição
countintegerTotal de registros encontrados
nextstringURL da próxima página (null se não houver)
previousstringURL da página anterior (null se não houver)
resultsarrayArray com os resultados da página atual

Estrutura de um Item de Versão

CampoTipoDescrição
idintegerIdentificador único da versão detalhada
namestringNome da versão (ou nome do modelo se não houver nome específico)
modelobjectObjeto com informações do modelo (id, name)
fuelobjectObjeto com informações do combustível (id, name)
doorobjectObjeto com informações das portas (id, name)
transmissionobjectObjeto com informações da transmissão (id, name)
bodyobjectObjeto com informações da carroceria (id, name) - pode ser null
motorcycle_styleobjectObjeto com informações do estilo de moto (id, name) - pode ser null
is_still_productionbooleanIndica se o veículo ainda está em produção
start_yearintegerAno de início de fabricação
end_yearintegerAno de fim de fabricação (null se ainda em produção)
body_idintegerID da carroceria (pode ser null)
motorcycle_style_idintegerID 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."
}