Create a new vehicle in the fleet
POST/company/vehicles/
Registra um novo veículo na frota da empresa com metadados associados e uploads de arquivos opcionais.
Objetivo
Permitir que empresas adicionem veículos à sua frota com especificações detalhadas, incluindo tipos de carga, capacidades de transporte e documentação (imagens e certificados de ITV).
Casos de Uso
- Registrar um veículo recém-adquirido com todas as especificações
- Fazer upload da documentação do veículo (imagem, certificado de ITV)
- Definir um veículo como padrão do usuário para operações de assinatura digital
- Migrar dados da frota de sistemas externos
Fluxo de Validação
flowchart TD
A[Receber Solicitação] --> B{Limite de Pagamento OK?}
B -->|Não| C[402 Pagamento Necessário]
B -->|Sim| D{Usuário Tem Empresa?}
D -->|Não| E[401 CIA_NOT_FOUND]
D -->|Sim| F{Campos Obrigatórios Presentes?}
F -->|Não| G[400 Erro de Validação]
F -->|Sim| H{shipping_type = fresh?}
H -->|Sim| I{fresh_cargo_temp Válido?}
I -->|Não| J[400 Temperatura Obrigatória]
I -->|Sim| K[Criar Veículo]
H -->|Não| K
K --> L{default_vehicle = true?}
L -->|Sim| M[Atualizar Padrão do Usuário]
L -->|Não| N[Registrar Uso de Cobrança]
M --> N
N --> O[Retornar Veículo Criado]
Limites de Pagamento
Este endpoint está sujeito aos limites do plano de pagamento através do middleware isPaymentUpdate.
Se a empresa atingiu seu limite de veículos, a solicitação falhará com erro 402.
Validação Condicional
- Se
shipping_type = 'fresh', o campofresh_cargo_tempé OBRIGATÓRIO (intervalo: -20 a 40
Request
Responses
- 201
- 400
- 401
- 402
- 404
Veículo criado com sucesso.
Response Headers
Pedido inválido - validação falhou
- CANT_CREATE: Erro geral de criação
- Campos obrigatórios ausentes
- Valores inválidos para cargo_type
- Tipo de veículo inválido
- Campo fresh_cargo_temp ausente quando shipping_type='fresh'
O usuário não tem uma empresa associada.
Pagamento Necessário - Limite de veículos excedido para o plano atual. Atualize seu plano para criar mais veículos.
Usuário não encontrado (ao usar o recurso default_vehicle)