https://apihml.revvotech.com.br
Revvo CMS - Plataforma Automotiva para Concessionárias
API RESTful completa do Revvo CMS. Gerencie concessionárias, veículos seminovos, marcas e integrações. Autenticação JWT, filtros avançados e suporte a imagens.
Base URL
https://apihml.revvotech.com.br
Versão
v1.0.1
Formato
JSON
Autenticação
JWT Bearer Token
Regras Importantes
application/json para POST e PUT.
Autenticação
Sistema de autenticação baseado em JWT tokens para acesso seguro aos endpoints.
Obter Token JWT
Autentica usuário e retorna token para acessar endpoints protegidos
Parâmetros
| Tipo | Nome | Tipo de Dados | Condição | Descrição |
|---|---|---|---|---|
| BODY | string | Obrigatório | Email do usuário cadastrado | |
| BODY | passWord | string | Obrigatório | Senha do usuário (case-sensitive) |
Retorno
{
"isSuccess": true,
"errors": null,
"type": 200,
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "string",
"expiration": "900s"
}
}
Nota: Campo "expiration" indica tempo de vida do token (s=segundos, m=minutos, h=horas).
{
"isSuccess": false,
"errors": ["Email ou senha inválidos"],
"type": 400
}
Exemplos
Gestão de Empresas
Endpoints para consulta de empresas cadastradas no sistema.
Buscar Empresas
Consulta empresas com filtros e paginação
Body Parameters
| Nome | Tipo | Condição | Descrição |
|---|---|---|---|
| page | integer | Opcional | Número da página |
| pageSize | integer | Opcional | Itens por página |
| filterString | string | Opcional | Busca por nome ou CNPJ |
| active | boolean | Opcional | Filtrar apenas ativas |
| companyId | uuid | Opcional | ID específico |
Exemplos
Gestão de Veículos
Endpoints para CRUD completo de veículos seminovos com filtros avançados e suporte a imagens.
Buscar Veículos com Filtros
Busca veículos aplicando filtros como marca, ano, preço, estilo com paginação
Headers
| Nome | Valor | Condição | Descrição |
|---|---|---|---|
| Authorization | Bearer {token} | Obrigatório | Token JWT obtido no login |
| Content-Type | application/json | Obrigatório | Tipo de conteúdo |
Body Parameters
| Nome | Tipo | Condição | Descrição |
|---|---|---|---|
| page | integer | Opcional | Número da página (padrão: 1) |
| pageSize | integer | Opcional | Itens por página (padrão: 10, max: 100) |
| sortBy | string | Opcional | Campo ordenação: "originalPrice", "model", "mileage" |
| sortDesc | boolean | Opcional | Ordenação decrescente (padrão: false) |
| style | VehicleStyleTypeEnum | Opcional | Estilo do veículo (0-15, ver Enumerações) |
| filterString | string | Opcional | Busca textual (modelo, marca, descrição) |
| brandValue | integer | Opcional | ID numérico da marca |
| initialYear | integer | Opcional | Ano inicial (inclusive) |
| finalYear | integer | Opcional | Ano final (inclusive) |
| initialPrice | double | Opcional | Preço mínimo |
| finalPrice | double | Opcional | Preço máximo |
| companyId | uuid | Opcional | Filtrar por empresa específica |
Exemplo de Requisição
Criar Veículo
Cadastra um novo veículo seminovo no sistema com dados completos
Headers
| Nome | Valor | Condição |
|---|---|---|
| Authorization | Bearer {token} | Obrigatório |
| Content-Type | application/json | Obrigatório |
Body Parameters (Principais)
| Nome | Tipo | Condição | Descrição |
|---|---|---|---|
| model | string | Obrigatório | Modelo do veículo |
| originalPrice | double | Obrigatório | Preço original |
| promotionalPrice | double | Opcional | Preço promocional |
| mileage | integer | Obrigatório | Quilometragem |
| mainColor | string | Obrigatório | Cor principal |
| description | string | Obrigatório | Descrição detalhada |
| plate | string | Obrigatório | Placa (formato: ABC-1234 ou ABC1D23) |
| companyId | uuid | Obrigatório | ID da empresa proprietária |
| images | string[] | Obrigatório | Array de imagens Base64 |
Campos Técnicos Adicionais
A API suporta campos técnicos detalhados como:
- motorType: Tipo do motor (enum)
- refrigerationType: Tipo de refrigeração (enum)
- style: Estilo do veículo (enum)
- starType: Tipo de partida (enum)
- brakeType: Tipo de freio (enum)
- feedType: Tipo de alimentação (enum)
- march: Quantidade de marchas (enum)
- cylinder: Cilindradas (float)
- yearProduction: Ano de fabricação
- modelYear: Ano do modelo
Exemplo Completo
Atualizar Veículo
Atualiza informações de um veículo existente
Headers
| Nome | Valor | Condição |
|---|---|---|
| Authorization | Bearer {token} | Obrigatório |
| Content-Type | application/json | Obrigatório |
Importante
Utiliza os mesmos parâmetros do endpoint de criação, porém sem o campo images. O campo id é obrigatório para identificar o veículo a ser atualizado.
Exemplo Completo
Ativar Veículo
Ativa um veículo previamente desativado
Exemplos
Desativar Veículo
Desativa um veículo sem removê-lo do sistema
Exemplos
Excluir Veículo
Remove permanentemente um veículo do sistema
Exemplos
Gestão de Marcas
Endpoints para consulta de marcas de veículos baseadas na tabela FIPE.
Registros de Marcas
Lista as marcas de veículos disponíveis com seus respectivos IDs baseados na tabela FIPE
Headers
| Nome | Valor | Condição | Descrição |
|---|---|---|---|
| Authorization | Bearer {token} | Obrigatório | Token JWT obtido no login |
| Content-Type | application/json | Obrigatório | Tipo de conteúdo |
Body Parameters
| Nome | Tipo | Condição | Descrição |
|---|---|---|---|
| vehicleType | integer | Obrigatório | Tipo do veículo: 1 = Automóveis, 2 = Motocicletas, 3 = Caminhões e Micro-ônibus |
| monthCode | integer | Obrigatório | Código do mês de referência FIPE (incremental, atualizado dia 10 de cada mês). Exemplo: 326 = Outubro |
Sobre a Tabela FIPE
Este endpoint utiliza a tabela FIPE (Fundação Instituto de Pesquisas Econômicas) como referência para as marcas de veículos:
- Tipo de Veículo:
1- Automóveis (carros de passeio)2- Motocicletas3- Caminhões e Micro-ônibus
- Código do Mês: Valor incremental que representa o período de referência da tabela FIPE
- Atualização: A tabela FIPE é atualizada no dia 10 de cada mês com novos valores e marcas
- Uso: Os IDs retornados devem ser usados no campo
brand.valueao criar/atualizar veículos
Retorno
Exemplo - Motocicletas (vehicleType: 2):
{
"isSuccess": true,
"errors": [],
"type": 200,
"data": [
{ "label": "ADLY", "value": 60 },
{ "label": "AGRALE", "value": 61 },
{ "label": "BMW", "value": 67 },
{ "label": "DUCATI", "value": 74 },
{ "label": "HARLEY-DAVIDSON", "value": 77 },
{ "label": "HONDA", "value": 80 },
{ "label": "KAWASAKI", "value": 85 },
{ "label": "KTM", "value": 87 },
{ "label": "SUZUKI", "value": 99 },
{ "label": "TRIUMPH", "value": 100 },
{ "label": "YAMAHA", "value": 101 },
{ "label": "Royal Enfield", "value": 192 },
...
]
}
Exemplo - Automóveis (vehicleType: 1):
{
"isSuccess": true,
"errors": [],
"type": 200,
"data": [
{ "label": "Acura", "value": 1 },
{ "label": "Audi", "value": 6 },
{ "label": "BMW", "value": 7 },
{ "label": "Fiat", "value": 21 },
{ "label": "Ford", "value": 22 },
{ "label": "GM - Chevrolet", "value": 23 },
{ "label": "Honda", "value": 25 },
{ "label": "Hyundai", "value": 26 },
{ "label": "Jeep", "value": 29 },
{ "label": "Nissan", "value": 43 },
{ "label": "Renault", "value": 48 },
{ "label": "Toyota", "value": 56 },
{ "label": "VW - VolksWagen", "value": 59 },
...
]
}
{
"isSuccess": false,
"errors": ["Parâmetros inválidos"],
"type": 400
}
Exemplos de Requisição
Guia de Marcas Populares
Motocicletas - Marcas Populares
Automóveis - Marcas Populares
Como Usar os IDs de Marca
Após obter a lista de marcas, utilize o campo value retornado ao criar ou atualizar veículos:
// Exemplo ao criar uma motocicleta Honda
{
"model": "CB 600F Hornet",
"brand": {
"label": "HONDA",
"value": 80 // ID obtido do endpoint de marcas para motocicletas
},
...
}
// Exemplo ao criar um automóvel Honda
{
"model": "Civic EXL 2.0",
"brand": {
"label": "Honda",
"value": 25 // ID obtido do endpoint de marcas para automóveis
},
...
}
Importante: Os IDs de marca são diferentes para cada tipo de veículo (motocicletas, automóveis, caminhões). A mesma marca (ex: Honda) possui IDs distintos dependendo do vehicleType. Sempre consulte o endpoint para obter os IDs corretos conforme o tipo de veículo.
Exemplos Práticos
Exemplos completos de uso da API em situações reais.
Fluxo Completo
Exemplo de integração completa: Login → Busca → Criação
Gerenciamento de Veículos
Exemplos de ativação, desativação e exclusão
Schemas de Dados
Estruturas de dados utilizadas pela API.
Result (Base)
{
"isSuccess": boolean,
"errors": string[] | null,
"type": integer (HTTP status code)
}
PagedInfo
{
"page": integer,
"pageSize": integer,
"totalCount": integer,
"totalPages": integer
}
Vehicle (Resume)
{
"id": "uuid",
"model": "string",
"mileage": float,
"originalPrice": double,
"promotionalPrice": double | null,
"formattedOriginalPrice": "string",
"formattedPromotionalPrice": "string",
"style": "string",
"brandLabel": "string",
"active": boolean
}
Company
{
"id": "uuid",
"name": "string",
"cnpj": "string",
"active": boolean
}
Brand
{
"label": "string",
"value": integer
}
Login Response
{
"token": "string (JWT)",
"refreshToken": "string",
"expiration": "string"
}
Enumerações
Valores possíveis para campos enum da API.