Bulk create truckers from CSV
POST/company/truckers/bulk/
Crea múltiples transportistas de forma masiva mediante importación de archivo CSV.
Flujo de importación:
- Usuario sube archivo CSV con datos de transportistas
- Sistema valida headers obligatorios
- Procesa cada línea validando datos
- Verifica unicidad de email, taxid y teléfono
- Genera contraseñas automáticas si no se proporcionan
- Crea transportistas exitosos
- Devuelve reporte con éxitos y errores
Validaciones por línea:
- Email: Único en sistema y formato válido
- Taxid: Único y formato válido según país
- Phone: Formato válido según regex
- Default_vehicle: Existe en la compañía (por matrícula)
- Role: Valor válido (se normaliza automáticamente)
Headers obligatorios CSV:
- name, lastname, email, phone, taxid
- Opcional: default_vehicle (matrícula del vehículo)
Generación de credenciales:
- Si no se proporciona password: Se genera automáticamente
- Se envía email de bienvenida con credenciales
- Email personalizado con nombre de la compañía
Formato del CSV:
- Separador: coma (,)
- Codificación: UTF-8
- Primera línea: headers
- Ejemplo: name,lastname,email,phone,taxid,default_vehicle
Respuesta detallada:
ok: Array de transportistas creados exitosamenteko: Array de errores con línea, razón y datos
Estructura de errores:
{
"line": 5,
"reason": "EMAIL_ALREADY_IN_USE",
"data": {...},
"details": "john@example.com"
}
Códigos de error comunes:
- MIN_HEADERS: Faltan headers obligatorios
- EMAIL_ALREADY_IN_USE: Email duplicado
- TAXID_ALREADY_IN_USE: Taxid duplicado
- EMAIL_NOT_VALID: Formato de email inválido
- TAXID_NOT_VALID: Formato de taxid inválido
- PHONE_NOT_VALID: Formato de teléfono inválido
- CANNOT_SAVE_TRUCKER: Error al guardar en BD
Límites:
- Verificación de plan de suscripción activo
- Límite de transportistas según plan
Respuestas HTTP:
- 200 OK: Proceso completado (revisa ok/ko en body)
- 400 Bad Request: Headers inválidos o datos vacíos
- 401 Unauthorized: Compañía no encontrada
- 404 Not Found: Archivo CSV no encontrado
Request
Responses
- 200
- 400
- 401
- 404
Proceso de importación completado
Headers inválidos o datos vacíos
Compañía no encontrada
Archivo CSV no encontrado