Ir al contenido principal

Lista de convocatorias internas (1) - [getInternalCalls]

🧾 Descripción

Obtiene todas las convocatorias internas vigentes dentro del ERP, incluyendo información del puesto, sede y su archivo adjunto (PDF u otro documento del Job Opening).
El servicio cruza información entre:

  • Job Opening

  • File (archivos adjuntos al Job Opening)

Solo trae convocatorias internas activas (status = "Open") y marcadas como convocatoria interna = 1.


🚀 Endpoint

GET /get-internal-calls

No recibe parámetros.
Toda la información se obtiene mediante apiService() hacia el ERP.


🔐 Seguridad

Requiere conexión autorizada vía apiService(), usando token interno del ERP.


🧠 Flujo del Servicio (Resumen)

  1. Obtener todos los Job Openings internos activos

    GET Job Opening?limit=None &fields=["name","designation","sucursal"] &filters=[ ["convocatoria_interna","=",1], ["status","=","Open"] ]

  2. Obtener todos los archivos relacionados al Job Opening

    GET File?limit=None &fields=["name","attached_to_name","file_url"] &filters=[["attached_to_doctype","=","Job Opening"]]

  3. Si alguno de los endpoints devuelve error, se retorna:

    { "valor": false, "msn": "Error al buscar las convocatorias internas." }

  4. Si no hay convocatorias abiertas:

    { "valor": true, "msn": "En este momento no hay convocatorias internas..." }

  5. Para cada convocatoria se agrega:

    • La descripción de la sede: "PARA LA SEDE {sucursal}"

    • El archivo correspondiente (file_url), si existe.

  6. Se retorna listado de convocatorias internas enriquecidas.


📥 Request Body

No tiene body.


{}

📤 Response 200 – Ejemplo

{ "valor": true, "msn": "Convocatorias internas encontradas", "data": [ { "name": "JOB-0001", "designation": "Analista de Operaciones", "sucursal": "LIMA", "sede": "PARA LA SEDE LIMA", "file": "https://dominio.com/files/job_0001.pdf" } ] }


❗ Posibles Errores

1. Error en consulta de Job Opening

{ "valor": false, "msn": "Error al buscar las convocatorias internas.", "data": {} }

2. Error en consulta de archivos File

{ "valor": false, "msn": "Error al buscar las convocatorias internas.", "data": {} }

3. No existen convocatorias internas activas

{ "valor": true, "msn": "En este momento no hay convocatorias internas, Estar atento a las proximas convocatorias", "data": [] }

4. Error inesperado del servidor

{ "valor": false, "msn": "Error del servidor", "data": "<error completo>" }


📚 Esquemas (estructuras utilizadas)

Job Opening

Campos usados:

{ "name": "string", "designation": "string", "sucursal": "string" }

File

Campos usados:

{ "name": "string", "attached_to_name": "string", "file_url": "string" }


🗃 Pseudo-código de la lógica

jobs = GET Job Opening internas y abiertas if jobs vacío → return no hay convocatorias files = GET File adjuntos a Job Opening for job in jobs: job.sede = "PARA LA SEDE " + job.sucursal job.file = "" for file in files: if file.attached_to_name == job.name: job.file = BASE_CAPACITACION + file.file_url return lista de jobs con su archivo si existe