Consultar usuarios

consultar_usuarios ( (opcional) id_usuario as String , (opcional) id_grupo as Integer ,(opcional) perfil as String )

El método obtiene el listado con los datos de los usuarios según lo especificado. Hay 5 formas de consulta: sin pasar parámetros, pasando solo perfil, pasando solo grupo, pasando perfil y grupo, y pasando usuario(en este caso si es que adicionalmente se especifican otros parámetros, se hará caso omiso de ellos, es decir si id_usuario esta definido, es el único que se tendrá en cuenta al procesar el WS)

Devuelve: 0{administrador_usuario + id_usuario + nombre + apellido + clave + (codigo_postal) + (dato_adicional_1) + (dato_adicional_2) + (dato_adicional_3) + (direccion) + email + id_idioma + (localidad) + (telefono) + (url) + 1{ administrador_grupo + estado + id_grupo + perfil + fecha_alta + responsable_grupo}n}n

Un conjunto de usuarios (o uno solo) con los datos nominales de ese usuario, además de los datos del usuario para cada uno de los grupos a los que pertenece

  • clave = encriptada tal cual se encuentra en la BD.
  • dato_adicional_1 = corresponde al contenido del campo 'valor' de la tabla 'datos_adicionales_valores', cuyo campo 'id_campo', corresponde al 'id_campo' de la tabla 'datos_adicionales_legacy' para el registro con 'nombre_campo' = "empresa_usuario". Esto no significa que el valor a mostrar sea el correspondiente al dato adicional EMPRESA_ACTUAL, sino que corresponde al valor del dato adicional cuyo 'id_campo', en la tabla 'datos_adicionales_campos', es el mismo que el 'id_campo' para el registro correspondiente al 'nombre_campo' = "empresa_usuario".
  • dato_adicional_2 = corresponde al contenido del campo 'valor' de la tabla 'datos_adicionales_valores', cuyo campo 'id_campo', corresponde al 'id_campo' de la tabla 'datos_adicionales_legacy' para el registro con 'nombre_campo' = "telefono2_usuario". Esto no significa que el valor a mostrar sea el correspondiente al dato adicional TELEFONO_MOVIL, sino que corresponde al valor del dato adicional cuyo 'id_campo', en la tabla 'datos_adicionales_campos', es el mismo que el 'id_campo' para el registro correspondiente al 'nombre_campo' = telefono2_usuario.
  • dato_adicional_3 = corresponde al contenido del campo 'valor' de la tabla 'datos_adicionales_valores', cuyo campo 'id_campo', corresponde al 'id_campo' de la tabla 'datos_adicionales_legacy' para el registro con 'nombre_campo' = "direccion2_usuario". Esto no significa que el valor a mostrar sea el correspondiente al dato adicional OTRO_DOMICILIO, sino que corresponde al valor del dato adicional cuyo 'id_campo', en la tabla 'datos_adicionales_campos', es el mismo que el 'id_campo' para el registro correspondiente al 'nombre_campo' = "direccion2_usuario".


Funcionamiento

  • En todos los casos devolverá datos del usuario = datos nominales del usuario, junto con los datos del usuario para TODOS los grupo a los que pertenece.


El hecho de que los parámetros especificados coincidan con la pertenencia de un usuario a un grupo en particular, no implicara que solo se muestren los
datos del usuario para ese grupo. Sino que si un usuario coincide para alguno de sus grupos con los parámetros especificados, los datos de este usuario
se mostraran íntegros, no limitándose al grupo donde se encontró la coincidencia.


  • Si se especifica el 'id_usuario': se mostraran los datos del usuario ingresado. Si se especifican, además, los parámetros 'id_grupo' y/o 'perfil', éstos no se tendrán en cuenta.
  • Si se especifica solamente el 'id_grupo': se mostraran los datos del usuario que pertenezcan al grupo con el 'id_grupo' indicado
  • Si se especifica solamente el 'perfil': se mostraran los datos del usuario, para los usuarios que tengan el perfil indicado en al menos uno de los grupos a los cuales pertenece.
  • Si se especifica el 'perfil' y el 'id_grupo': se mostraran los datos del usuario, solo para los usuarios con el 'perfil' indicado en el 'grupo' indicado.
  • Si no se especifica parámetro alguno: se mostraran los datos del usuario para todos los usuarios existentes en la plataforma.


Ejemplo de Respuesta

Ejemplo de respuesta de la llamada consultar_usuarios, pasando como parámetros 'id_grupo' y 'perfil', pero sin especificar un 'id_usuario' particular


  • Llamada:

    <aula:consultar_usuarios>
        <aula:id_usuario></aula:id_usuario>
        <aula:id_grupo>69</aula:id_grupo>
        <aula:perfil>M</aula:perfil>
     </aula:consultar_usuarios>

En esta llamada, podemos observar que se solicita consultar TODA la información pertenecientes a los usuarios que tengan el 'perfil'= "M", en el grupo con 'id_grupo'= "69"


  • Respuesta:

   <consultar_usuarios_response xmlns="urn:Educativa/Aula/">
        <usuarios>
           <administrador_usuario>false</administrador_usuario>
           <id_usuario>gmarx</id_usuario>
           <nombre>groucho</nombre>
           <apellido>marx</apellido>
           <clave>a65c992a3e1e743f35128eb6108b7ac1bb9a6861110a5bff138aa6494a0e0bc6</clave>
           <codigo_postal>8975</codigo_postal>
           <direccion>hermanos 123</direccion>
           <email>gmar@gmail.com</email>
           <id_idioma>1</id_idioma>
           <localidad>usa</localidad>
           <url>http://google.com</url>
           <grupos>
              <administrador_grupo>false</administrador_grupo>
              <estado>true</estado>
              <id_grupo>1</id_grupo>
              <perfil>D</perfil>
              <fecha_alta>2014-09-10</fecha_alta>
              <responsable_grupo>false</responsable_grupo>
           </grupos>
           <grupos>
              <administrador_grupo>false</administrador_grupo>
              <estado>true</estado>
              <id_grupo>69</id_grupo>
              <perfil>M</perfil>
              <fecha_alta>2014-09-10</fecha_alta>
              <responsable_grupo>false</responsable_grupo>
           </grupos>
           <grupos>
              <administrador_grupo>false</administrador_grupo>
              <estado>true</estado>
              <id_grupo>102</id_grupo>
              <perfil>A</perfil>
              <fecha_alta>2014-09-10</fecha_alta>
              <responsable_grupo>false</responsable_grupo>
           </grupos>
        </usuarios>
        <usuarios>
           <administrador_usuario>false</administrador_usuario>
           <id_usuario>mbunge</id_usuario>
           <nombre>mario</nombre>
           <apellido>bunge</apellido>
           <clave>5c52614ff505e79a3b73d9167a811d93def0d435aa8f9daa63a4655b3fd8d70b</clave>
           <codigo_postal>2568</codigo_postal>
           <dato_adicional_3>156026598</dato_adicional_3>
           <direccion>calle falsa 123</direccion>
           <email>mbunge@gmail.com</email>
           <id_idioma>1</id_idioma>
           <localidad>montreal</localidad>
           <grupos>
              <administrador_grupo>false</administrador_grupo>
              <estado>true</estado>
              <id_grupo>78</id_grupo>
              <perfil>I</perfil>
              <fecha_alta>2014-09-10</fecha_alta>
              <responsable_grupo>false</responsable_grupo>
           </grupos>
           <grupos>
              <administrador_grupo>false</administrador_grupo>
              <estado>true</estado>
              <id_grupo>69</id_grupo>
              <perfil>M</perfil>
              <fecha_alta>2014-09-10</fecha_alta>
              <responsable_grupo>false</responsable_grupo>
           </grupos>
        </usuarios>
     </consultar_usuarios_response>

En la respuesta podemos observar que hay dos usuarios que cumplen con el criterio de búsqueda, y que ademas pertenecen a otros grupos con otros perfiles.


Errores de validación

  • No existen errores de validación, si no se encuentran valores coincidente con el parámetro especificado, solamente no devuelve resultado