Login de usuario - Validar
Nombre del servicio
- Módulo: Inicial
- Servicio: Aceptación de Términos y Condiciones
Contexto funcional
-
¿Cuándo se usa? Al iniciar sesión por primera vez.
-
¿Qué hace? Registra la aceptación de los términos.
-
Pantallazo de la app:
Detalles técnicos
- Dominio:
https://erp-git-prod.shalom.com.pe - Endpoint:
api/method/erpnext.hr.doctype.employee.api.validate_user_active - Método:
POST - Headers:
Authorization: Bearer <token>(no aplica)
Request ejemplo:
{
"usr": "61759769@shalomcontrol.com",
"pwd": "61759769"
}
Response ejemplo:
{
"message": {
"success": true,
"message": "Usuario válido y activo (check_password)."
}
}
Servicios relacionados
- Validación de usuario activo (ERP).
- Generación de token de sesión.
📌 Servicio: validate_user_active
🧾 Descripción
Valida si un usuario:
Existe y su contraseña es correctaEstá habilitado (enabled = 1) en el DoctypeUser
Es un servicio simple de autenticación básica, expuesto como endpoint público vía frappe.whitelist(allow_guest=True).
🚀 Endpoint
Nota: El nombre final depende del módulo donde esté definida la función.Ejemplo típico Frappe:/api/method/app.module.doctype.file.validate_user_active
🔐 Seguridad
allow_guest=True→ cualquiera puede llamarlo sin tokenSolo valida credenciales usandocheck_password()
⚠️ Esto implica que el endpoint debe usarse únicamente desde un frontend controlado o un gateway seguro.
📥 Request Body
Formato JSON:
{ "usr": "correo@dominio.com", "pwd": "contraseña" }📤 Responses
✅ 200 – Usuario válido
❌ 401 – Credenciales incorrectas
(Realmente devuelve 200 con success=false, pero semánticamente es un error)
❌ 403 – Usuario deshabilitado
{
"success": false,
"message": "El usuario está deshabilitado."
}🧩 Lógica Interna (resumen)
Ejecutacheck_password(usr, pwd)Si falla → usuario o contraseña incorrectos
Consulta el campoenabled:Devuelve éxito solo si:Contraseña correctaUsuario habilitado

