Saltar al contenido principal

Crear vehículo

POST 

/vehicles/

Propósito

Registra un nuevo vehículo en la flota del transportista autenticado.

Objetivo

Permitir que los transportistas añadan vehículos a su flota para poder asignarlos a eCMRs de transporte.

Casos de uso

  • Dar de alta un nuevo vehículo con su matrícula y tipo.
  • Subir la foto del vehículo y el documento ITV al registrarlo.
  • Registrar un vehículo refrigerado con temperatura de carga.

Flujo de creación

flowchart TD
A[Recibir POST /vehicles/] --> B{¿Empresa encontrada?}
B -->|No| C[404 COMPANY_NOT_FOUND]
B -->|Sí| D[Parsear cargo_type como JSON]
D --> E[Crear vehículo con Vehicle.createData]
E --> F{¿Se enviaron archivos?}
F -->|Sí| G[Asignar keys S3 a image/itv]
F -->|No| H[Sin archivos]
G --> I[Guardar vehículo en BD]
H --> I
I --> J[Añadir a company.vehicles]
J --> K[200 OK - Vehículo creado]

Detalles técnicos

  • Acepta multipart/form-data con archivos opcionales image e itv.
  • Los archivos se suben a S3 mediante multerS3.any().
  • El campo cargo_type se envía como JSON string en el form-data, debe ser un array JSON válido (ejemplo: ["back"]).
  • El vehículo se añade al array company.vehicles de la empresa.
  • URL OpenAPI: /vehicles/ (alta de vehículo).

Autenticación

Requiere JWT Bearer token o API Key.

Request

Responses

Vehículo creado y añadido a la flota de la empresa

Response Headers