DriveB

40. Veículos

Este módulo é responsável pelo gerenciamento dos veículos cadastrados na plataforma. Ele permite consultar, atualizar e excluir informações dos veículos, além de realizar operações relacionadas à associação de motoristas, atualização de quilometragem, importação e exportação de dados.

O módulo de Veículos centraliza todas as informações cadastrais da frota, possibilitando o gerenciamento completo dos veículos, seus condutores e integrações com processos de manutenção e telemetria.


Consultar entidade específica por Id

Retorna os dados completos de um veículo específico, incluindo informações cadastrais, modelo, cliente, bloco, localização e configurações relacionadas.

Endpoint: /api/vehicles/{id}

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body (schema mestre Vehicle, reutilizado por diversos endpoints deste módulo):

{
"id": 0,
"modelYear": 0,
"chassisNumber": "string",
"licensePlate": "string",
"initialMileage": 0,
"firstMileage": 0,
"vtvExpiration": "string",
"modelId": 0,
"blockId": 0,
"clientId": 0,
"cityId": 0,
"city": {},
"district": "string",
"registrationDate": "2024-01-01T00:00:00Z",
"brandId": 0,
"model": {},
"block": {},
"client": {},
"businessArea": 0,
"businessLine": 0,
"marketSegment": 0,
"useClass": 0,
"expenseGroup": "string",
"costCenter": "string",
"version": 0,
"telemetryCapable": true,
"documentDate": "2024-01-01",
"kbaNumber": "string",
"driversName": [
"string"
],
"lastMileageUpdated": 0,
"displayModelBrand": "string",
"typeId": 0,
"tcdTypeId": 0,
"integrationType": "DIANA_MUNICIO",
"lastTelemetryStatus": "CAPABLE",
"haveMaintenancePlan": true,
"havePriceTable": true,
"notificationClientId": 0,
"notificationCarWorkshopId": 0,
"notificationDriverIds": [
0
],
"serverUrl": "string"
}

Atualizar entidade específica

Atualiza as informações cadastrais de um veículo existente.

Endpoint: /api/vehicles/{id}

Método: PUT

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body: Mesmo schema Vehicle do endpoint "Consultar entidade específica por Id".


Excluir entidade específica

Remove um veículo cadastrado na plataforma.

Endpoint: /api/vehicles/{id}

Método: DELETE

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

{
"message": "string",
"payLoad": true,
"warning": true
}

Associar motorista ao veículo

Associa um motorista específico a um veículo.

Endpoint: /api/vehicles/{id}/drivers/{driverId}

Método: POST

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.
  • driverId (path, obrigatório, integer) — Identificador do motorista.

Response body:

{
"message": "string",
"payLoad": {
"vehicleId": 0,
"driverId": 0
},
"warning": true
}

Remover associação de motorista

Remove a associação entre um motorista e um veículo.

Endpoint: /api/vehicles/{id}/drivers/{driverId}

Método: DELETE

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.
  • driverId (path, obrigatório, integer) — Identificador do motorista.

Response body:

{
"message": "string",
"payLoad": "string",
"warning": true
}

Adicionar quilometragem ao veículo

Registra uma nova quilometragem para um veículo específico.

Endpoint: /api/vehicles/{id}/add-mileage

Método: POST

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

{
"id": 0,
"createdAt": "2024-01-01T00:00:00Z",
"username": "string",
"vehicleId": 0,
"mileage": 0,
"latitude": 0,
"longitude": 0,
"city": "string"
}

Importar veículos

Importa veículos em lote por meio de um arquivo ou atualiza a quilometragem utilizando uma planilha.

Endpoint: /api/vehicles/import

Método: POST

Parâmetros:

  • Não especificados na documentação de origem (endpoint provavelmente recebe um arquivo via multipart/form-data).

Response body:

[
{
"linePosition": 0,
"rowValues": "string",
"errorMessage": "string"
}
]

Gerar relatório de veículos

Cria uma mensagem na fila para geração do relatório de veículos.

Endpoint: /api/vehicles/export

Método: POST

Response body (payload de exemplo vazio na documentação de origem):

{}

Importar motoristas dos veículos

Importa associações entre veículos e motoristas por meio de um arquivo.

Endpoint: /api/vehicles/drivers/import

Método: POST

Parâmetros:

  • Não especificados na documentação de origem (endpoint provavelmente recebe um arquivo via multipart/form-data).

Response body:

[
"string"
]

Consultar dados de telemetria do veículo

Retorna as informações de telemetria disponíveis para um veículo, incluindo quilometragem, nível de combustível, pressão dos pneus, indicadores do painel, localização e demais dados coletados pelo sistema.

Endpoint: /api/vehicles/{id}/telemetry_data

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

{
"telemetryDate": "string",
"nextServiceDistance": "string",
"nextServiceDistanceUnit": "string",
"nextServiceDate": "string",
"nextLegalInspectionDate": "string",
"fuelLevel": "string",
"fuelLevelUnit": "string",
"tirePressureFrontLeft": "string",
"tirePressureFrontLeftUnit": "string",
"tirePressureFrontLeftStatus": "string",
"tirePressureFrontRight": "string",
"tirePressureFrontRightUnit": "string",
"tirePressureFrontRightStatus": "string",
"tirePressureRearLeft": "string",
"tirePressureRearLeftUnit": "string",
"tirePressureRearLeftStatus": "string",
"tirePressureRearRight": "string",
"tirePressureRearRightUnit": "string",
"tirePressureRearRightStatus": "string",
"lastUpdateTimestamp": "string",
"telemetryCapable": true,
"mileage": "string",
"mileageUnit": "string",
"coolantTemperature": "string",
"ignitionStatus": "string",
"gearLeverPosition": "string",
"relativeRemainingOilLife": "string",
"excessiveIdle": "string",
"harshBraking": "string",
"harshAcceleration": "string",
"vehicleSpeed": "string",
"absIndicatorLight": "string",
"brakeWarningIndicatorLight": "string",
"checkFuelFilterIndicatorLight": "string",
"engineMalfunctionIndicatorLight": "string",
"lightningSystemFailureIndicatorLight": "string",
"lowWasherFluidIndicatorLight": "string",
"powertrainMalfunctionIndicatorLight": "string",
"restraintsIndicatorWarningLight": "string",
"tirePressureMonitorSystemWarningLight": "string",
"tractionMotorTemperatureWarningLight": "string",
"waterInFuelIndicatorLight": "string",
"lowEngineOilPressureIndicatorLight": "string",
"engineCoolantOverTempIndicatorLight": "string",
"bateryLowWarningIndicator": "string",
"breakFluidWarningIndicatorLight": "string",
"breakLiningWearWarningIndicatorLight": "string",
"engineCoolantLevelWarningIndicatorLight": "string",
"preBreakLiningLiningWearWarningIndicatorLight": "string",
"batteryVoltage": "string",
"batteryVoltageUnit": "string",
"telemetryStatus": "string",
"powerTrainRange": "string",
"powerTrainRangeUnit": "string",
"row1WheelLeftTirePressureNominal": "string",
"row1WheelRightTirePressureNominal": "string",
"row2wheelLeftTirePressureNominal": "string",
"row2wheelRightTirePressureNominal": "string",
"serviceOilToService": "string",
"powerTrainCombustionEngineRelativeOilLifeRemaining": "string",
"wheelBrakeFluidChangeDate": "string",
"lastLocationDateTime": "string",
"lastLocationLatitude": "string",
"lastLocationLongitude": "string",
"gpsEnabled": true,
"lastRequestDate": "string",
"lastTelemetryStatus": "CAPABLE"
}

Consultar solicitações de serviço do veículo

Retorna uma lista paginada das solicitações de serviço associadas ao veículo informado.

Endpoint: /api/vehicles/{id}/service-requests

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.
  • filterDTO (query, obrigatório, tipo não especificado)
  • page (query, obrigatório, tipo não especificado)

Response body:

{
"totalElements": 0,
"totalPages": 0,
"size": 0,
"content": [
{
"id": 0,
"requestId": "string",
"serviceType": "string",
"status": "string",
"budgetStatus": "string",
"clientPrice": 0,
"date": "2024-01-01T00:00:00Z",
"endedIn": "2024-01-01T00:00:00Z",
"approvalCode": 0,
"carWorkshopId": 0,
"carWorkshop": "string"
}
],
"number": 0,
"sort": {},
"pageable": {},
"numberOfElements": 0,
"first": true,
"last": true,
"empty": true
}

Verificar solicitação de serviço em andamento

Verifica se o veículo possui uma solicitação de serviço em andamento com validações ativas.

Endpoint: /api/vehicles/{id}/service-requests/in-progress

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

true

Consultar perfil do veículo

Retorna as principais informações do perfil do veículo, incluindo dados do modelo, cliente, quilometragem e informações cadastrais.

Endpoint: /api/vehicles/{id}/profile

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

{
"modelDescription": "string",
"modelMotor": "string",
"modelVersion": "string",
"modelInitialYear": "string",
"modelEndYear": "string",
"modelBrand": "string",
"licensePlate": "string",
"modelYear": "string",
"chassisNumber": "string",
"clientName": "string",
"documentDate": "2024-01-01",
"blockName": "string",
"clientStateName": "string",
"clientCountryCode": "string",
"registrationDate": "2024-01-01T00:00:00Z",
"monthsUntilToday": 0,
"totalOdometer": 0,
"averageOdometer": 0,
"latestOdometerUpdate": "2024-01-01T00:00:00Z",
"telemetryCapable": true,
"lastRequestDate": "string",
"vehiclePicture": "string"
}

Consultar histórico de quilometragem

Retorna o histórico paginado das quilometragens registradas para o veículo.

Endpoint: /api/vehicles/{id}/mileage-history

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.
  • filterDTO (query, obrigatório, tipo não especificado)
  • page (query, obrigatório, tipo não especificado)

Response body:

[
{
"id": 0,
"createdAt": "2024-01-01T00:00:00Z",
"username": "string",
"vehicleId": 0,
"mileage": 0,
"latitude": 0,
"longitude": 0,
"city": "string"
}
]

Verificar status de manutenção do veículo

Retorna se o veículo está com a manutenção em dia.

Endpoint: /api/vehicles/{id}/maintenance-status

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

true

Consultar informações de manutenção do veículo

Retorna informações de manutenção do veículo de acordo com os tipos de serviço disponíveis.

Endpoint: /api/vehicles/{id}/maintenance-info

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body (payload de exemplo vazio na documentação de origem):

{}

Consultar motoristas do veículo

Retorna todos os motoristas associados ao veículo informado.

Endpoint: /api/vehicles/{id}/drivers

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

[
{
"id": 0,
"sub": "string",
"name": "string",
"email": "string",
"username": "string",
"...": "Demais propriedades conforme documentação da API."
}
]

⚠️ O payload original inclui um campo literal "..." indicando propriedades adicionais não detalhadas na fonte.


Consultar perfil dos motoristas do veículo

Retorna o perfil resumido dos motoristas vinculados ao veículo.

Endpoint: /api/vehicles/{id}/drivers/profile

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

[
{
"id": 0,
"name": "string",
"telephoneNumber": "string",
"email": "string",
"vehicleAssociationDate": "2024-01-01T00:00:00Z",
"lastAccessDate": "2024-01-01T00:00:00Z"
}
]

Consultar histórico de associação de motoristas

Retorna o histórico de associações e remoções de motoristas realizadas para o veículo.

Endpoint: /api/vehicles/{id}/drivers/history

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

[
{
"actionDate": "2024-01-01T00:00:00Z",
"action": "ASSOCIATED",
"name": "string",
"telephoneNumber": "string",
"email": "string"
}
]

Consultar histórico de oficinas utilizadas

Retorna o histórico das oficinas que já realizaram serviços para o veículo informado, permitindo acompanhar os atendimentos anteriores.

Endpoint: /api/vehicles/{id}/car-workshops/history

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.
  • carWorkshopHistoryFilterDTO (query, obrigatório, tipo não especificado)
  • page (query, obrigatório, tipo não especificado)

Response body:

[
{
"id": 0,
"tradingName": "string",
"address": {
"id": 0,
"district": "string",
"street": "string",
"number": "string",
"city": "string",
"state": "string",
"country": "string",
"countryCode": "string",
"complement": "string",
"zipCode": "string",
"stateRegistration": "string"
},
"serviceCompletionDate": "2024-01-01T00:00:00Z",
"distance": 0,
"provideDesiredServices": true,
"acceptVehicleBrand": true,
"provideServiceType": true,
"latitude": 0,
"longitude": 0,
"networkName": "string",
"maintenancePrice": 0,
"email": "string",
"phone": "string",
"name": "string",
"favorite": true,
"selected": true,
"workshopGroupIds": [
0
],
"conversations": [
{
"id": 0,
"active": true,
"status": "FINISHED",
"conversations": [],
"proposedDates": []
}
],
"negotiationId": 0,
"taxIdentifier": "string",
"corporateName": "string"
}
]

Consultar oficina sugerida para o veículo

Retorna o histórico das oficinas que já realizaram serviços para o veículo informado, permitindo acompanhar os atendimentos anteriores.

⚠️ Esta descrição é idêntica à do endpoint anterior ("Consultar histórico de oficinas utilizadas") na documentação de origem — mantida fielmente, mesmo que pareça uma inconsistência de conteúdo.

Endpoint: /api/vehicles/{id}/car-workshop-suggestion

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

{
"id": 0,
"sapId": 0,
"corporateName": "string",
"tradingName": "string",
"taxIdentifier": "string",
"phone": "string",
"email": "string",
"address": {
"id": 0,
"street": "string",
"zipCode": "string",
"number": "string",
"district": "string",
"complement": "string",
"cityId": 0,
"city": {
"id": 0,
"name": "string",
"state": null
},
"cityName": "string",
"stateName": "string",
"countryName": "string",
"ibgeCode": "string"
},
"regionServiceId": 0,
"regionPartId": 0,
"defaultRegionServiceId": 0,
"defaultRegionPartId": 0,
"purchaseOrder": 0,
"isBlocked": true,
"employeeContacts": [
{
"id": 0,
"name": "string",
"email": "string",
"username": "string",
"responsability": "CONSULTANT",
"active": true
}
],
"stateRegistration": "string",
"latitude": 0,
"longitude": 0,
"modelCategories": [],
"ownerName": "string",
"ownerMobilePhone": "string",
"ownerEmail": "string",
"concept": "NETWORK",
"serviceTypes": [],
"category": {
"id": 0,
"code": "string"
},
"network": {
"id": 0,
"name": "string",
"concept": "NETWORK",
"concessionary": true
},
"blockedBrands": [],
"version": 0,
"subsidiaryCorporateName": "string",
"subsidiaryTaxIdentifier": "string",
"subsidiarySapId": 0,
"subsidiaryPurchaseOrder": 0,
"isParent": true,
"parent": {
"id": 0,
"corporateName": "string",
"tradingName": "string"
},
"subsidiaries": [],
"isOffline": true,
"isFee": true,
"checkoutType": "YES",
"isMargin": true,
"googleMapsId": "string",
"bcsAccountId": "string",
"bcsExternalId": "string",
"isFavorite": true,
"carWorkshopOriginId": 0,
"franchiseId": 0,
"noIntermediation": true,
"isPrimaryOrigin": true,
"municipalRegistration": "string",
"taxRegime": "SIMPLE_NATIONAL",
"franchiseName": "string",
"priceTypes": [
"FEE"
],
"fee_workshop_settings": {
"fee01Tire": 0,
"fee02Tire": 0,
"client_increase_fee_percent": 0,
"workshop_discount_fee_percent": 0,
"has_client_admin_fee": true,
"client_fee_type": "PERCENT",
"client_fee_value": 0,
"has_application_cap": true,
"application_cap_value": 0,
"model_fee": "DEFAULT"
}
}

Consultar veículos para agendamento

Retorna os veículos que possuem solicitações de serviço relacionadas ao processo de agendamento.

Endpoint: /api/vehicles/scheduling

Método: GET

Parâmetros:

  • vehicleServiceRequestFilterDTO (query, obrigatório, tipo não especificado)

Response body:

[
{
"id": 0,
"modelDisplayName": "string",
"licensePlate": "string",
"serviceRequest": {
"id": 0,
"date": "2024-01-01T00:00:00Z",
"period": "string",
"displayPeriod": "string",
"status": "string",
"stepStatus": "string",
"vehicleArrived": true,
"checkList": true,
"serviceRequestRating": {},
"carWorkshop": {}
}
}
]

Consultar veículos da minha frota

Retorna uma lista paginada contendo todos os veículos pertencentes à frota do usuário.

Endpoint: /api/vehicles/fleet

Método: GET

Parâmetros:

  • filter (query, obrigatório, tipo não especificado)
  • page (query, obrigatório, tipo não especificado)

Response body:

{
"totalElements": 0,
"totalPages": 0,
"size": 0,
"content": [
{
"vehicleId": 0,
"licensePlate": "string",
"motor": "string",
"version": "string",
"initialYear": 0,
"endYear": 0,
"modelDescription": "string",
"modelYear": 0,
"category": "RIDE",
"city": "string",
"state": "string",
"totalFinishedMaintenancePrice": 0,
"totalMaintenance": 0,
"dateOfLastPreventive": "2024-01-01T00:00:00Z",
"dateOfLastCompletePreventive": "2024-01-01T00:00:00Z",
"mileage": 0,
"dateMileage": "2024-01-01T00:00:00Z",
"lastMileageHistoryId": 0,
"lastServiceRequestFinishedPreventiveId": 0,
"modelId": 0,
"nextMaintenancePlanPackage": 0,
"nextMaintenancePlanPackageDate": "2024-01-01T00:00:00Z",
"isPreventiveUpToDate": true,
"nextMaintenancePlanPackageMonthYear": "string",
"nextPreventiveTimeBased": "2024-01-01",
"nextPreventiveMileageBased": "2024-01-01",
"activeDamageReports": true,
"warning": true,
"danger": true,
"telemetryCapable": true,
"lastMileageUpdated": 0,
"clientId": 0,
"clientName": "string",
"serviceNeedReminder": "string",
"serviceNeedTypeReminder": "string",
"serviceNeedDescriptionReminder": "string",
"nextServicePredictions": [],
"telemetryEventCount": 0,
"telemetryEventStatus": "string",
"damageReportEventCount": 0,
"damageReportEventStatus": "string",
"scheduledServices": [],
"serviceSummary": []
}
],
"number": 0,
"sort": {},
"pageable": {},
"numberOfElements": 0,
"first": true,
"last": true,
"empty": true
}

Consultar indicadores da frota

Retorna os indicadores utilizados no painel de saúde da frota, incluindo percentual de veículos com manutenção em dia, quilometragem atualizada e quantidade de veículos por situação.

Endpoint: /api/vehicles/fleet/infographics

Método: GET

Parâmetros:

  • filter (query, obrigatório, tipo não especificado)

Response body:

{
"percentageOfVehiclesWithUpToDateMaintenance": 0,
"percentageOfVehiclesWithOutdateMileage": 0,
"totalOfVehiclesBasedOnFilters": 0,
"immediateMaintenance": 0,
"nearMaintenance": 0,
"damageReport": 0,
"totalOfVehiclesWithOutdateMileage": 0,
"totalImmediateMaintenance": 0,
"totalNearMaintenance": 0,
"totalDamageReport": 0
}

Pesquisar veículos por filtros

Retorna uma lista paginada de veículos com base nos filtros informados.

Endpoint: /api/vehicles/filters

Método: GET

Parâmetros:

  • vehicleFilterDTO (query, obrigatório, tipo não especificado)
  • page (query, obrigatório, tipo não especificado)

Response body: Lista paginada (totalElements, totalPages, size, number, sort, pageable, numberOfElements, first, last, empty) cujo content utiliza o mesmo schema Vehicle detalhado no endpoint "Consultar entidade específica por Id".


Consultar grupos de despesas

Retorna todos os grupos de despesas (Expense Groups) disponíveis para utilização nos veículos.

Endpoint: /api/vehicles/expense-group

Método: GET

Parâmetros:

  • vehicleFilterDTO (query, obrigatório, tipo não especificado)
  • page (query, obrigatório, tipo não especificado)

Response body:

[
{
"name": "string",
"value": "string"
}
]

Consultar status de orçamento

Retorna todos os status de orçamento disponíveis no sistema.

Endpoint: /api/vehicles/budget-status

Método: GET

Parâmetros:

  • vehicleFilterDTO (query, obrigatório, tipo não especificado)
  • page (query, obrigatório, tipo não especificado)

Response body:

[
{
"name": "string",
"value": "string"
}
]

Listar veículos

Retorna uma lista paginada contendo todos os veículos cadastrados de acordo com os filtros informados.

Endpoint: /api/vehicles

Método: GET

Parâmetros:

  • vehicleFilterDTO (query, obrigatório, tipo não especificado)
  • page (query, obrigatório, tipo não especificado)

Response body: Lista paginada cujo content utiliza o mesmo schema Vehicle detalhado no endpoint "Consultar entidade específica por Id" (idêntico ao retorno do endpoint "Pesquisar veículos por filtros").


Remover última quilometragem do veículo

Remove o último registro de quilometragem cadastrado para o veículo informado.

Endpoint: /api/vehicles/{id}/remove-mileage

Método: DELETE

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

true

Excluir veículo de forma forçada

Realiza a exclusão forçada de um veículo, ignorando validações convencionais quando permitido pelo sistema.

Endpoint: /api/vehicles/{id}/force

Método: DELETE

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do veículo.

Response body:

{
"message": "string",
"payLoad": "string",
"warning": true
}