Aplicar convocatoria (1) - [setJobApplicantPerApp]
🧾 Descripción
Registra una nueva solicitud de postulación (Job Applicant) desde la aplicación móvil, validando previamente:
-
Que el usuario autenticado no tenga ya una solicitud creada para el mismo puesto.
-
Que exista un empleado vinculado al email de sesión.
-
Que los campos obligatorios del formulario estén correctamente enviados.
-
Que la información personal del empleado se complemente para generar el registro.
Este servicio crea un documento Job Applicant en el ERP y también registra un Error Log con la data enviada al ERP (para auditoría).
🚀 Endpoint
POST /set-job-applicant-per-app
📥 Parámetros requeridos (Request Body)
🔐 Seguridad
-
Requiere usuario autenticado en la app.
-
La comunicación con el ERP se realiza mediante
apiService(). -
No requiere token específico del usuario final, es un servicio interno controlado.
🧠 Flujo del Servicio (Explicación Detallada)
1️⃣ Validaciones iniciales
-
Verifica que exista
email_logued. -
Verifica que el email del formulario (
email_id) sea válido y contenga “@”. -
Valida campos obligatorios: dirección, documentos, sucursal, CV, grado de instrucción, job_title.
2️⃣ Verifica si ya existe una postulación previa
Consulta en el ERP:
Si ya existe un registro → retorna error.
3️⃣ Obtiene datos del empleado
Busca el empleado vinculado al email logueado:
Si no existe → retorna error.
4️⃣ Calcula la edad del postulante
Usando la fecha de nacimiento del empleado mediante DateTime::diff.
5️⃣ Construye el cuerpo del nuevo Job Applicant
Incluye:
-
Datos del empleado (nombres, apellidos, género, fecha de nacimiento, DNI, nacionalidad).
-
Datos enviados desde la app (CV, copia de documento, email, sucursal, carrera, etc.).
-
Estado inicial del proceso:
"status": "Open" -
Email logueado para relacionarlo a la cuenta APP.
6️⃣ Crea el registro Job Applicant
7️⃣ Registra error interno en Error Log (auditoría)
La respuesta del ERP se envía también a: POST Error Log
8️⃣ Retorna la respuesta al cliente
Si se creó correctamente:
Si falló:
📤 Respuesta 200 – Ejemplo (Éxito)
❌ Respuesta 200 – Ejemplo (Error)
❗ Posibles Errores Comunes
1. Falta email_logued
2. Email sin “@”
3. Empleado no existe
4. Solicitud duplicada
5. Error al crear Job Applicant
🗃 Estructuras usadas (Schemas)
▶ Employee (GET)
Campos consultados:
▶ Job Applicant (POST)
Campos enviados:
No hay comentarios para mostrar
No hay comentarios para mostrar