Ejecutiva Web Services

Versión: 1.8 - Compatible desde: v14.05.00-2 - Actualizado: 05/01/2022

Índice

Métodos

Sincronizar usuarios

Este método sirve para sincronizar un lote de usuarios que serán sincronizados dando de alta, baja, o modificando sus datos según lo especificado.

HTTP request

POST https://<URL_EJECUTIVA>/restpub/

Content-Type

application/json;charset=utf-8

Ejemplo de request-content

{
  "accion": "sincronizar_usuarios",
  "data": {
    "campos": [
      "password", "superior", "suplente", "email", "nivel_estudio", "fecha_ingreso"
    ],
    "perfiles": [
      "area", "division"
    ],
    "valores": [
      [
        "rgomez", "SYNC", "Roberto","Gomez", "xxx", "ccastro", "rgomez",
        "rgomez@example.com", "PRIMARIO", "18/09/2009",
        "comercial", "compras"
      ],
      [
        "ccastro", "SYNC", "Claudio", "Castro", "xxx", null, "rgomez",
        "ccastro@example.com", "TERCIARIO", "18/10/2005",
        "comercial", "gerencia"
      ]
    ]
  }
}

Formato del request

El body del request debe estar codificado en JSON y ser un objeto con los siguientes atributos:

  • accion:
    Indica la acción del servicio web. Tipo: string
    Se debe indicar el valor "sincronizar_usuarios" para realizar la sincronización de usuarios.

  • data:
    Datos de la operacion a realizar. Tipo: object


  • debug:
    Campo opcional. Tipo: true | false. Por defecto se lo considera desactivado (false).
    Indica si debe agregar a la respuesta un campo result, similar al campo result de las respuesta de la alta y modificación de usuarios, que contenga el resultado de operación de sincronización.

  • extra:
    Este atributo puede ser utilizado si se desea enviar datos extras al gestor, que el mismo ignorará, pero que podrían ser procesados por un plugin.
    En el mismo se debe especificar una lista de nombres de campos, los cuales serán agregados luego de los perfiles en el atributo valores. Tipo: array. Opcional.

  • valores:
    Aquí se especifican los datos de los usuarios a sincronizar. Tipo: array
    Los datos de cada usuario serán contenidos en un array, con el siguente orden:

    [ <usuario>, <operación>, <nombre>, <apellido>, <campo1>, etc..., <perfil1>, <extra1>, etc... ]

    Donde los cuatro primeros campos deben ser: usuario, operacion, nombre, apellido

    A continuación se agregarán los datos especificados en el atributo campos, siguiendo el orden en que fueron especificados los mismos, en caso de haber alguno.

    Luego se agregarán los datos especificados en el atributo perfiles, siguiendo el orden en que fueron especificados, en caso de haber alguno.

    Finalmente se agregarán los datos especificados en el atributo extra, siguiendo el orden en que fueron especificados, en caso de haber alguno.

    Observación: En caso de que en la operación se especifique en una baja, solo es necesario completar el campo usuario

Respuesta

Se responderá un documento en formato JSON, el cual contará con los siguientes atributos:

  • status: Indica si la operación fue exitosa o hubo error mediante el uso de uno de los siguientes valores. Tipo: string
    • OK: En caso de que el request esté siendo procesado. El procesamiento se hará en forma asíncrona y podrá consultarse en la aplicación web el estado del mismo.
    • ERROR: En caso de que haya algún error.

  • error_mssg: Indicará la causa de que no se haya podido procesar el request. Tipo: string
    Solo estará presente en caso de que el status sea ERROR.

Alta usuarios

Este método sirve para dar de alta uno o más usuarios.

HTTP request

POST https://<URL_EJECUTIVA>/restpub/

Content-Type

application/json;charset=utf-8

Ejemplo de request-content

{
    "accion": "alta_usuarios",
    "data": [
        {
            "usuario": "rgomezi",
            "apellido": "Gomez",
            "nombre": "Roberto",
            "password": "xxxxxx",
            "email": "rgomez@example.com",
            "perfil": {
                "division": "Compras",
                "area": "Comercial"
            }
        }
    ]
}

Formato del request

El body del request debe estar codificado en JSON y ser un objeto con los siguientes atributos:

  • accion:
    Indica la acción del servicio web. Tipo: string
    Se debe indicar el valor "alta_usuarios" para realizar el alta de uno o más usuarios.

  • data:
    Datos de los usuarios a dar de alta. Tipo: array
    El mismo contendrá uno o más objetos con los datos de los usuarios.

    • perfil:
      Indica que campos del perfil del usuario serán incluidos en el alta. Tipo: object
      Los posibles valores dependen de la implementación en particular. Puede consultarse el listado de los mismos en la siguiente pantalla de la aplicación:
      Administración > Organización > Perfil, en la columna "Código interno"
      En caso de que se indique un valor no significativo (como por ej. string vacío o null) para un campo de perfil obligatorio, se indicará el mensaje de error correspondiente.
      Para campos de perfil no obligatorios se admiten tanto string vacío como null para indicar que no se quiere establecer valor alguno para ese campo.

    • extra:
      Este atributo puede ser utilizado si se desea enviar datos extras al gestor, que el mismo ignorará, pero que podrían ser procesados por un plugin.
      En el mismo se debe especificar una lista de nombres de campos, los cuales serán agregados luego de los perfiles en el atributo valores. Tipo: array. Opcional.

Respuesta

Se responderá un documento en formato JSON, el cual contará con los siguientes atributos:

  • status: Indica si la operación fue exitosa o hubo error mediante el uso de uno de los siguientes valores. Tipo: string
    • OK: Indica que el formato es correcto, y la respuesta para cada usuario estará contenida en el array result
    • ERROR: En caso de que haya algún error.

  • error_mssg: Indicará la causa de que no se haya podido procesar el request. Tipo: string
    Solo estará presente en caso de que el status sea ERROR.

  • result: En caso de que el status sea OK, se devolverá en este campo un array compuesto por la misma cantidad de usuarios pasados en el campo data del request, y en el mismo orden, en el cual se informará mediante los atributos status y error_mssg los resultados individuales para cada operación de alta de usuario.

Modificar usuarios

Este método sirve para modificar uno o más usuarios.

HTTP request

POST https://<URL_EJECUTIVA>/restpub/

Content-Type

application/json;charset=utf-8

Ejemplo de request-content

{
   "accion": "modificar_usuarios",
   "data": [
      {
          "usuario": "rgomez",
          "apellido": "Gomez",
          "nombre": "Roberto",
          "email": "rgomez@example.com",
          "superior": "lcastro",
          "perfil": {
              "division": "Compras",
              "area": "Comercial"
          }
      }
   ]
}

Formato del request

El body del request debe estar codificado en JSON y ser un objeto con los siguientes atributos:

  • accion:
    Indica la acción del servicio web. Tipo: string
    Se debe indicar el valor "modificar_usuarios" para modificar de uno o más usuarios.

  • data:
    Datos de los usuarios a modificar. Tipo: array
    El mismo contendrá uno o más objetos con los datos de los usuarios.

      Cada objeto debe contener los siguientes atributos:
    • usuario

    • perfil:
      Indica que campos del perfil del usuario serán modificados. Tipo: object
      Los posibles valores dependen de la implementación en particular. Puede consultarse el listado de los mismos en la siguiente pantalla de la aplicación:
      Administración > Organización > Perfil, en la columna "Código interno"
      En caso de que se indique un valor no significativo (como por ej. string vacío o null) para un campo de perfil obligatorio, se indicará el mensaje de error correspondiente.
      Para campos de perfil no obligatorios se admiten tanto string vacío como null para indicar que no se quiere establecer valor alguno para ese campo.

    • extra:
      Este atributo puede ser utilizado si se desea enviar datos extras al gestor, que el mismo ignorará, pero que podrían ser procesados por un plugin.
      En el mismo se debe especificar una lista de nombres de campos, los cuales serán agregados luego de los perfiles en el atributo valores. Tipo: array. Opcional.

Respuesta

Se responderá un documento en formato JSON, el cual contará con los siguientes atributos:

  • status: Indica si la operación fue exitosa o hubo error mediante el uso de uno de los siguientes valores. Tipo: string
    • OK: Indica que el formato es correcto, y la respuesta para cada usuario estará contenida en el array result
    • ERROR: En caso de que haya algún error.

  • error_mssg: Indicará la causa de que no se haya podido procesar el request. Tipo: string
    Solo estará presente en caso de que el status sea ERROR.

  • result: En caso de que el status sea OK, se devolverá en este campo un array compuesto por la misma cantidad de usuarios pasados en el campo data del request, y en el mismo orden, en el cual se informará mediante los atributos status y error_mssg los resultados individuales para cada operación de modificación de usuario.

Baja usuarios

Actualmente la baja de usuarios no está disponible en el sistema, por tanto no se puede ofrecer un servicio para efectuar la misma.

Se recomienda simplemente desactivar los usuarios que se quieran dar de baja utilizando el método modificar_usuarios

Ejemplo de request-content

{
   "accion": "modificar_usuarios",
   "data": [
       {
           "usuario": "rgomez",
           "activo" : false
       },
       {
           "usuario": "vabatacliani",
           "activo" : false
       }
   ]
}

Consultar usuarios

Este método sirve para obtener el listado de todos los usuarios con sus datos.

HTTP request

GET https://<URL_EJECUTIVA>/restpub/?accion=consultar_usuarios

Respuesta

Se responderá un documento en formato JSON, el cual contará con los siguientes atributos:

  • status: Indica si la operación fue exitosa o hubo error mediante el uso de uno de los siguientes valores. Tipo: string
    • OK: Indica que el formato es correcto, y la respuesta para cada usuario estará contenida en el array result
    • ERROR: En caso de que haya algún error.

  • error_mssg: Indicará la causa de que no se haya podido procesar el request. Tipo: string
    Solo estará presente en caso de que el status sea ERROR.

  • result: En caso de que el status sea OK, se devolverá en este campo un array que contendrá un objeto por cada usuario del sistema con los siguientes datos:

    • Campos de datos básicos del usuario:
      usuario, nombre, apellido, email, activo, admin, suplente

    • Un campo "datos_adicionales", que será un objeto con los datos adicionales si es que los tiene definidos:
      documento, legajo, domicilio, lugar, telefono, tel_fijo, nivel_estudio, finalizado, titulo, fecha_aband, estado_civil, hijos, datos_hijos, sexo, fecha_nacim

    • Un campo "datos_perfil", que será un objeto con los datos del perfil en caso de que el usuario esté definido como Empleado en el sistema:
      superior, participa_sgd, es_gerente, fecha_ingreso, mas la lista de los campos dinámicos del perfil.

      En la lista de los campos dinámicos del perfil solo figurarán aquellos campos en los cuales el empleado tenga un valor significativo. Si no tiene valor asignado para cierto campo, el mismo no aparecerá.

      Los posibles valores dependen de la implementación en particular. Puede consultarse el listado de los mismos en la siguiente pantalla de la aplicación:
      Administración > Organización > Perfil, en la columna "Código interno"
      En caso de que se indique un valor no significativo (como por ej. string vacío o null) para un campo de perfil obligatorio, se indicará el mensaje de error correspondiente.
      Para campos de perfil no obligatorios se admiten tanto string vacío como null para indicar que no se quiere establecer valor alguno para ese campo.

Consultar cursos y ediciones

Este método sirve para obtener el listado de todos los cursos con sus ediciones y cierta información sobre los mismos.

HTTP request

GET https://<URL_EJECUTIVA>/restpub/?accion=consultar_cursos_ediciones

Respuesta

Se responderá un documento en formato JSON, el cual contará con los siguientes atributos:

  • status: Indica si la operación fue exitosa o hubo error mediante el uso de uno de los siguientes valores. Tipo: string
    • OK: Indica que el formato es correcto, y la respuesta para cada usuario estará contenida en el array result
    • ERROR: En caso de que haya algún error.

  • error_mssg: Indicará la causa de que no se haya podido procesar el request. Tipo: string
    Solo estará presente en caso de que el status sea ERROR.

  • result: En caso de que el status sea OK, se devolverá en este campo un array que contendrá un objeto por cada curso existente con la siguiente información:

    • Datos básicos de cada curso:
      • id - Id numérico que identifica al curso. Tipo: integer
      • nombre - Nombre del curso. Tipo: string
      • horas - Cantidad de horas teóricas del curso. Tipo: string | null
      • autoasistido - Indica si el curso tiene configurada dicha opción. Tipo: true | false

    • Un campo ediciones que contendrá un array con un objeto por cada edición que tenga definida dicho curso, con la siguiente información:
      • id - Id numérico que identifica a la edición. Tipo: integer
      • nombre - Nombre de la edición. Tipo: string
      • horas - Cantidad de horas teóricas de la edición. Tipo: string | null
      • autoasistido - Indica si la edición tiene configurada dicha opción. Tipo: true | false
      • fecha_ini - Fecha de inicio de la edición. Tipo: string
      • fecha_fin - Fecha de fin de la edición. Tipo: string

    • En caso de que el curso no tenga ediciones definidas no aparecerá este campo para ese curso.

Consultar información de cursado

Este método sirve para obtener información sobre el estado de cursado de todos los usuarios que estén inscriptos en al menos un curso.

HTTP request

GET https://<URL_EJECUTIVA>/restpub/?accion=consultar_informacion_cursado

Respuesta

Se responderá un documento en formato JSON, el cual contará con los siguientes atributos:

  • status: Indica si la operación fue exitosa o hubo error mediante el uso de uno de los siguientes valores. Tipo: string
    • OK: Indica que el formato es correcto, y la respuesta para cada usuario estará contenida en el array result
    • ERROR: En caso de que haya algún error.

  • error_mssg: Indicará la causa de que no se haya podido procesar el request. Tipo: string
    Solo estará presente en caso de que el status sea ERROR.

  • result: En caso de que el status sea OK, se devolverá en este campo un array conteniendo un objeto por cada usuario que esté inscripto en al menos un curso, con la siguiente información:

    • Datos del alumno:

    • Datos del curso:
      • id_curso - Id numérico que identifica al curso. Tipo: integer
      • nombre_curso - Nombre del curso. Tipo: string
      • estado - Estado del alumno en el curso. Tipo: string. Contiene uno de los siguientes valores:
        • EN_CURSO - Cursando actualmente.
        • INSC - Está inscripto pero aún no cursa. No tiene edición asignada.
        • APR - Aprobado.
        • NO_APROBADO - No aprobado.

    • Datos de la edición, pueden no existir si aún no tiene edición asignada:
      • id_edicion - Id numérico que identifica a la edición. Tipo: integer
      • nombre_edicion - Nombre de la edición. Tipo: string
      • avance - Porcentaje de avance en el Campus. Tipo: string
      • fecha_inscripcion - Fecha de inicio de la edición. Tipo: string
      • fecha_finalizado - Fecha de fin de la edición. Tipo: string

    • En caso de que el curso no tenga ediciones definidas no aparecerán estos campos para ese curso.

Autenticar usuario confiable

Este método sirve para generar un link de login para un determinado usuario.

HTTP request

POST https://<URL_EJECUTIVA>/restpub/

Content-Type

application/json;charset=utf-8

Ejemplo de request-content

{
    "accion": "autenticar_usuario_confiable",
    "data": {
        "usuario": "rgomezi"
    }
}

Respuesta

Se responderá un documento en formato JSON, el cual contará con los siguientes atributos:

  • status: Indica si la operación fue exitosa o hubo error mediante el uso de uno de los siguientes valores. Tipo: string
    • OK: Indica que el formato es correcto, y la respuesta para el usuario estará contenida en el campo result
    • ERROR: En caso de que haya algún error se podrá ver el detalle del mismo en el campo error_mssg.

  • error_mssg: Indicará la causa de que no se haya podido procesar el request. Tipo: string
    Solo estará presente en caso de que el status sea ERROR.

  • result: En caso de que el status sea OK, se devolverá en este campo el link para loguear al usuario. Tipo: string

Referencia campos

Campos comunes

operacion

Indica el tipo de operación a realizar sobre el usuario en una sincronización. Obligatorio. Tipo: string | null

El mismo es útil sobre todo para explicitar la baja de usuarios.

El mismo puede contener los siguientes valores:

  • SYNC: En dicho caso se procederá a un alta en caso de que no exista un usuario, o una modificación en caso de que exista. Es la opción recomendada.
  • ALTA: Se trata de un alta. En caso de ya existir el usuario, se ignorará ese bloque de datos.
  • MODIFICACION: Se trata de una modificación. En caso de no existir el usuario, se ignorará ese bloque de datos.
  • BAJA: El usuario será dado de baja. (No implementado aún)

Campos de datos básicos del usuario

usuario

Identificador del usuario en el sistema. Obligatorio. Tipo: string

Debe contener un mínimo de 3 caracteres y un máximo de 30. Los caracteres válidos son:

  • letras minúsculas de la "a" a la "z" (a-z)
  • números (0-9)
  • el símbolo arroba (@)
  • el símbolo guión bajo (_)
  • el símbolo guión medio (-)
  • el símbolo punto (.)

nombre

Indica el nombre de pila del usuario. Obligatorio. Tipo: string

Puede contener un máximo de 30 caracteres. Debe contener letras (no se permiten signos de puntuación), y no puede comenzar con espacios en blanco.

apellido

Indica el apellido del usuario. Obligatorio. Tipo: string

Puede contener un máximo de 30 caracteres. Debe contener letras (no se permiten signos de puntuación), y no puede comenzar con espacios en blanco.

password

Indica la clave plana del usuario. Es obligatorio para todas las altas. Tipo: string

Se puede utilizar cualquier tipo de caracteres siendo como mínimo 3 y como máximo 128.

En caso de la misma estar vacía (string vacío), se mantendrá la clave existente para el usuario.

email

Dirección de correo electrónico del usuario. Opcional. Tipo: string

Debe ser un formato de dirección de email válida.

activo

Indica el estado del usuario. Opcional. Tipo: true | false

admin

Indica si el usuario es Administrador (is_superuser). Opcional. Tipo: true | false

foto_nombre

En dicho parámetro se especificará el [nombre].[extension] de la foto a subir. Están permitidas las siguientes extensiones: .png, .jpg, .jpeg, .gif

foto_base64

En dicho parámetro se especificará la codificación en base64 correspondiente a la foto en cuestión. Tener en cuenta que el contenido base64 especificado puede o no incluir el MIME, se debería poder procesar de las dos maneras.

La posibilidad de subir la foto del usuario será opcional, pero si se hace, es obligatorio completar ambos parámetros. Si el parámetro foto_nombre se envía vacío, esto indica borrado de la foto actual, si es que existe.

Lo que se hará es crear la imagen con el [nombre].[extension] especificado en foto_nombre y con el contenido especificado en foto_base64

Campos de datos adicionales del usuario

documento

Número de documento del usuario. Opcional. Tipo: string

El mismo puede contener un máximo de 12 caracteres.

legajo

Legajo del usuario. Opcional. Tipo: string

Puede contener letras, números y los signos punto y guión medio y bajo y hasta un máximo de 50 caracteres en total.

domicilio

Indica el domicilio de la persona. Opcional. Tipo: string

Puede contener un máximo de 255 caracteres.

lugar

Indica el lugar (localidad) del usuario. Opcional. Tipo: string

Puede contener un máximo de 255 caracteres.

telefono

Teléfono del usuario. Opcional. Tipo: string

Puede contener un máximo de 15 caracteres.

tel_fijo

Teléfono fijo del usuario. Opcional. Tipo: string

Puede contener un máximo de 50 caracteres.

nivel_estudio

Indica el nivel de estudio del usuario. Opcional. Tipo: string | null

Valores permitidos:

  • null
  • "N/A"
  • "PRIMARIO"
  • "SECUNDARIO"
  • "TERCIARIO"
  • "UNIVERSITARIO"
  • "MASTER/POSGRADO"

finalizado

Indica si ha finalizado o no el nivel de estudio indicado en el campo anterior. Opcional. Tipo: true | false

titulo

Titulo obtenido. Opcional. Tipo: string

Puede contener un máximo de 200 caracteres.

fecha_aband

Fecha en la que el usuario abandonó sus estudios. Opcional. Tipo: string | null

El formato de la fecha debe ser el siguiente: "DD/MM/YYYY". En la cual se indica día, mes y año. Utilizando dos dígitos para el día al igual que el mes y cuatro dígitos para el año.

Ejemplo: "01/12/2017".

En caso de especificar el valor null o un formato inválido la fecha se considerará vacía.

estado_civil

Indica si el usuario está casado o no. Opcional. Tipo: true | false

hijos

Indica si el usuario tiene hijos o no. Opcional. Tipo: true | false

datos_hijos

Datos sobre los hijos. Opcional. Tipo: string

Puede contener un máximo de 255 caracteres.

sexo

Indica el sexo del usuario. Opcional. Tipo: string | null

Valores permitidos:

  • null
  • "NO ESPECIFICADO"
  • "FEMENINO"
  • "MASCULINO"

fecha_nacim

Fecha de nacimiento del usuario. Opcional. Tipo: string | null

El formato de la fecha debe ser el siguiente: "DD/MM/YYYY". En la cual se indica día, mes y año. Utilizando dos dígitos para el día al igual que el mes y cuatro dígitos para el año.

Ejemplo: "01/12/2017".

En caso de especificar el valor null o un formato inválido la fecha se considerará vacía.

Campos de datos relacionados al rol de empleado

superior

Indica el superior de el usuario. Opcional. Tipo: string | null

Debe ser el username de un usuario existente, o bien, el username de un usuario que se esté dando de alta en el mismo lote que se está procesando.

En caso de no existir un superior, se especifica null

suplente

Indica el suplente para ese usuario. Opcional. Tipo: string | null

Debe ser el username de un usuario existente, o bien, el username de un usuario que se esté dando de alta en el mismo lote que se está procesando.

En caso de no existir un suplente, se especifica null

En una respuesta puede que este campo no aparezca en caso de que no aplique para un usuario en particular.

auditores

Indica los auditores para ese usuario. Opcional. Tipo: string | null

Puede ser un string que contiene 1 o mas username separados por coma. Estos username corresponden a usuarios existentes, o bien usuarios que se estén dando de alta en el mismo lote que se está procesando.

En caso de especificar el valor null o string vacío se van desasociar todos los auditores de ese empleado.

participa_sgd

Indica si el usuario participa en el Sistema de Gestión del Desempeño. Opcional. Tipo: true | false

es_gerente

Indica si el usuario es Gerente. Opcional. Tipo: true | false

fecha_ingreso

Fecha de ingreso del usuario. Opcional. Tipo: string | null

El formato de la fecha debe ser el siguiente: "DD/MM/YYYY". En la cual se indica día, mes y año. Utilizando dos dígitos para el día al igual que el mes y cuatro dígitos para el año.

Ejemplo: "01/12/2017".

En caso de especificar el valor null o un formato inválido la fecha se considerará vacía.