Ejecutiva Web Services

Versión: 1.6 - Actualizado: 20/06/2019

Í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 <url_gestor>/restpub

Content-Type

application/json

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:
    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. Campo opcional. Tipo: true | false. Por defecto se lo considera desactivado (false).

  • 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 <url_gestor>/restpub

Content-Type

application/json

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:

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 <url_gestor>/restpub

Content-Type

application/json

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:

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 <url_gestor>/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:

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 <url_gestor>/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 <url_gestor>/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 <url_gestor>/restpub

Content-Type

application/json

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

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 de empleado del usuario

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.

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.