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
- campos:
Especifica que campos opcionales del usuario se incluirán entre los datos a sincronizar, y en que orden se pasarán estos datos. Tipo: array.
Este parámetro es opcional, y puede no ser incluido. Los posibles campos a especificar son los siguientes: - perfiles:
Indica que campos del perfil del usuario serán incluidos en la sincronización. Tipo: array
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.
- campos:
- debug:
Campo opcional. Tipo: true | false. Por defecto se lo considera desactivado (false).
Indica si debe agregar a la respuesta un camporesult
, similar al camporesult
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.
- activo
- admin
- foto_nombre
- foto_base64
- documento
- legajo
- domicilio
- lugar
- telefono
- tel_fijo
- nivel_estudio
- finalizado
- titulo
- fecha_aband
- estado_civil
- hijos
- datos_hijos
- sexo
- fecha_nacim
- superior
- suplente
- auditores
- participa_sgd
- es_gerente
- fecha_ingreso
Opcionalmente, además, se pueden indicar los siguientes campos:- 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.
- usuario
Cada objeto debe contener los siguientes atributos:- nombre
- apellido
- password
- activo
- admin
- foto_nombre
- foto_base64
- documento
- legajo
- domicilio
- lugar
- telefono
- tel_fijo
- nivel_estudio
- finalizado
- titulo
- fecha_aband
- estado_civil
- hijos
- datos_hijos
- sexo
- fecha_nacim
- superior
- suplente
- auditores
- participa_sgd
- es_gerente
- fecha_ingreso
Opcionalmente, además, se pueden indicar los siguientes campos:- 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 loscampos dinámicos del perfil
.
En la lista de loscampos 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.
- Campos de datos básicos del usuario:
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. - Datos básicos de cada 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.
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.