Este método sincroniza un lote de usuarios dando de alta 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 operación 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. Los posibles campos a especificar son los siguientes:
    • password
    • email
    • 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
    • evaluadores
    • participa_sgd
    • es_gerente
    • fecha_ingreso
    • fecha_egreso


  • 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 perfiles 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 ejemplo 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 opcional 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.


  • 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>,..., <perfil1>, <extra1>, etc... ]


Donde los cuatro primeros campos deben ser: usuario, operación, nombre, apellido


Se agregarán los datos especificados en el atributo campo, 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.




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 JSON es correcto, y la respuesta para cada usuario estará contenida en el array result

ERROR: En caso de que haya algún error en el formato JSON enviado o problemas de conexión.


  • error_mssg: Indicará la causa por la cuál no se pudo 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 indicados en el campo valores 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 sincronización de usuario.