Obtener Usuario (1,2,3,4) - [getUser3]

🧾 Descripción

Retorna la información del usuario ingresado en la app (empleado o estudiante).
El servicio consulta primero la tabla Employee del ERP.
Si no existe o no está activo, consulta la tabla Student.
Finalmente, devuelve la información personal, laboral/educativa, permisos y datos complementarios.

Funciona como un servicio maestro de login/datos del usuario para la aplicación móvil.


🚀 Endpoint


POST /get-user3

El nombre real depende del archivo routes/api.php.


🔐 Seguridad


📥 Request Body



{ "username": "string" }

Campos

Campo Tipo Requerido Descripción
username string Email o DNI/pasaporte. Si contiene “@” se asume email, de lo contrario documento.

🧩 Lógica Interna Detallada

1️⃣ Determinar si buscar por email o documento

2️⃣ Consultar información del empleado en ERP

Consulta SQL con múltiples JOIN:

Tablas involucradas:

Si no encuentra empleado → pasa a modo estudiante.


❌ Errores de empleado antes de consultar estudiante:


3️⃣ Consultar información del estudiante (fallback)

Si el usuario no es empleado, consulta en:

Validaciones de estudiante:

{ "valor": false, "msn": "Usuario Deshabilitado...", "data": [...] }

Si todo está correcto → retorna data del estudiante.


4️⃣ Procesamiento final de empleado

Validaciones

Ajustes en la data:


5️⃣ Respuesta final (Empleado o Estudiante)

Retorna la data enriquecida del usuario.


📤 Responses

✔️ 200 – Usuario encontrado



{ "valor": true, "msn": "Si hay data", "data": [ ... ] }

❌ Usuario no es empleado ni estudiante



{ "valor": false, "msn": "Este usuario no es empleado", "data": [] }

❌ Usuario estudiante sin permisos



{ "valor": false, "msn": "Sin Estudiante: Su usuario no tiene permisos para acceder al aplicativo. Contactar con soporte.", "data": [] }

❌ Usuario deshabilitado



{ "valor": false, "msn": "Usuario Deshabilitado: Comuníquese con su administrador", "data": [ ... ] }

❌ Empleado inactivo



{ "valor": false, "msn": "Empleado Inactivo: Comuníquese con su administrador", "data": [ ... ] }

📚 Schemas

Request



{ "username": "string" }

Response (general)



{ "valor": "boolean", "msn": "string", "data": "array" }

🧪 Ejemplo de uso (curl)



curl -X POST https://midominio.com/api/get-user3 \ -H "Content-Type: application/json" \ -d '{"username":"empleado@empresa.com"}'

✔️ Servicios ERP usados internamente

1. send-query-database

Método POST que ejecuta consultas SQL personalizadas en ERPNext.

2. resource/Contrato de Trabajo

Consulta REST para obtener contratos de trabajo.


📝 Observaciones técnicas (reales)


Revisión #2
Creado 2025-11-24 16:57:47 -05 por Elian
Actualizado 2025-11-26 11:43:57 -05 por Elian