Skip to main content

Crear conductor

POST 

/drivers/

Propósito

Crea un nuevo conductor asociado a la empresa del usuario autenticado.

Objetivo

Permitir que los gestores de flotas añadan nuevos conductores a su empresa para asignarlos a eCMRs y gestionar entregas.

Casos de uso

  • Dar de alta un nuevo conductor en la empresa.
  • Registrar un conductor con sus datos personales y vehículo por defecto.

Flujo de creación

flowchart TD
A[Recibir POST /drivers/] --> B{¿Email proporcionado?}
B -->|No| C[400 FORM_DATA_NOT_VALID]
B -->|Sí| D{¿Email ya registrado?}
D -->|Sí| E[406 USER_ALREADY_EXIST]
D -->|No| F[Validar datos con validateData]
F -->|Error| G[400 Error de validación]
F -->|OK| H[Crear usuario con contraseña auto-generada]
H --> I[Guardar imagen si se envió]
I --> J[Guardar conductor en BD]
J --> K[Enviar email con credenciales]
K --> L[Añadir a cia.truckers]
L --> M[200 OK - Conductor creado]

Detalles técnicos

  • Valida unicidad del email en la colección CompanyUser.
  • Los datos se validan con TruckerUser.validateData().
  • Se genera una contraseña aleatoria con tools.generatePass().
  • El usuario se crea con status: true (activo inmediatamente).
  • Se envía un email con las credenciales al nuevo conductor (mail.createNewTrucker).
  • El ID del conductor se añade al array cia.truckers.
  • El idioma del email se hereda del usuario que crea el conductor.

Campos obligatorios: al menos email. El resto depende de validateData() (name, lastname).

Autenticación

Requiere JWT Bearer token o API Key.

Request

Responses

Conductor creado exitosamente. Se envía email con credenciales al nuevo conductor

Response Headers