Saltar al contenido principal

Enterprise User Authentication

POST 

/company/auth/login

Endpoint para autenticar usuarios administrativos de empresas registradas. Realiza las siguientes operaciones:

  1. Valida formato de email y contraseña
  2. Busca usuario en base de datos (tanto en company_user como trucker_user como fallback)
  3. Verifica contraseña con hash almacenado
  4. Comprueba estado de la cuenta (activa/bloqueada)
  5. Registra última IP y fecha de acceso
  6. Genera token JWT con claims del usuario
  7. Registra acceso en historial
  8. Verifica/crea cuenta Stripe si no existe
  9. Obtiene estado de suscripción

Flujo detallado:

  1. Cliente envía email y contraseña en formato JSON
  2. Servidor valida campos obligatorios (400 si faltan)
  3. Busca usuario por email (400 si no existe)
  4. Verifica contraseña con bcrypt (400 si no coincide)
  5. Comprueba estado de cuenta (401 si inactiva/bloqueada)
  6. Actualiza últimos datos de acceso (IP, fecha)
  7. Genera token JWT con datos del usuario y empresa
  8. Verifica/crea cuenta Stripe si no existe
  9. Obtiene estado de suscripción del usuario
  10. Devuelve token con datos completos del usuario

Seguridad:

  • Requiere HTTPS
  • Contraseñas se transmiten hasheadas
  • Tokens tienen expiración configurable

Ejemplo de petición:

{
"email": "admin@empresa.com",
"password": "ContraseñaSegura123!"
}

Ejemplo de respuesta exitosa:

{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresIn": 1712345678901,
"_id": "507f1f77bcf86cd799439011",
"role": "admin",
"status": true,
"emailVerified": true,
"refresh_time": 3,
"name": "Juan",
"lastname": "Pérez García",
"country": "esp",
"accountType": "multitennant",
"hasSign": true,
"hasPaymentMethod": true,
"subscriptionStatus": {
"hasSubscription": true,
"subscriptionType": "Basic Plan"
}
}

Códigos de error:

  • 400: Datos faltantes, formato inválido, o credenciales incorrectas
  • 401: Compañía no encontrada, usuario no activo, o cuenta bloqueada
  • 500: Error interno del servidor

Request

Responses

Autenticación exitosa

Response Headers