Actualizar vehículo
PUT/vehicles/:id
Propósito
Actualiza los datos de un vehículo existente de la flota.
Objetivo
Permitir modificar los datos de un vehículo (tipo, matrícula, tipo de envío, carga, temperatura) y actualizar sus archivos.
Casos de uso
- Cambiar la matrícula o el tipo de vehículo.
- Actualizar el tipo de envío de seco a refrigerado.
- Subir una nueva foto o documento ITV.
Flujo de actualización
flowchart TD
A[Recibir PUT /vehicles/{id}] --> B{¿Empresa encontrada?}
B -->|No| C[404 NOT_FOUND]
B -->|Sí| D{¿Vehículo en company.vehicles?}
D -->|No| E[404 NOT_FOUND]
D -->|Sí| F{¿Vehículo existe en BD?}
F -->|No| G[404 NOT_FOUND]
F -->|Sí| H[Parsear cargo_type como JSON]
H --> I[Actualizar con Vehicle.updateData]
I --> J[Guardar vehículo]
J --> K[200 OK - Vehículo actualizado]
Detalles técnicos
- Verifica pertenencia del vehículo al array
company.vehicles. - Acepta
multipart/form-datacon archivos opcionales víamulterS3.any(). - El campo
cargo_typese parsea desde JSON string y debe ser un array JSON válido (ejemplo:["back"]). - Actualiza campos con
Vehicle.updateData(). - URL OpenAPI:
/vehicles/{id}(no/vehicles/:id).
Autenticación
Requiere JWT Bearer token o API Key.
Request
Responses
- 200
- 400
- 401
- 404
Vehículo actualizado exitosamente
Response Headers
Error de validación de payload o error al guardar cambios del vehículo
Response Headers
Token JWT o API Key ausente, expirado o inválido
Response Headers
El vehículo no existe o no pertenece a la flota del transportista autenticado.