Establecer datos adicionales de usuarios

establecer_datos_adicionales_usuarios (id_usuario as String, id_campo as Integer, valor as Text)

El método permite establecer valores para los datos adicionales de usuarios

Devuelve: 1{id_usuario + id_campo + resultado}n

'resultado' es un valor booleano: "true" si pudo setear el dato o "false" si no se pudo setear , en este caso se muestra también el error correspondiente.


Funcionamiento

  • Si queremos setear valor para un campo de dato adicional para un usuario, debemos correr el WS pasandole como parámetros: el 'id_usuario' de dicho usuario, el 'id_campo' correspondiente al dato adicional al cual se le va a setear el valor, y el 'valor' propiamente dicho.
    • Importante: El valor pasado al parametro id_usuario ahora debe ser el del username
  • La estructura correspondiente(aula:valor_da) debe ser repetida n veces según la cantidad de tuplas usuario-dato_adicional que se quieran setear.
  • El tipo de dato correspondiente a 'valor' depende de cada dato adicional.
    • Para el campo adicional de tipo SELECT, debe llegar el valor en sí, como para el resto de los tipos de campos. La aclaración es pertinente porque en la tabla en cuestión se termina guardando el id.


Ejemplo de Respuesta

Ejemplo de respuesta de la llamada establecer_datos_adicionales_usuarios, que indica setearles valor a datos adicionales para 3 usuarios.


  • Llamada:

     <aula:establecer_datos_adicionales_usuarios>
        <aula:valor_da>
           <aula:id_usuario>educativa</aula:id_usuario>
           <aula:id_campo>15</aula:id_campo>
           <aula:valor>M</aula:valor>
        </aula:valor_da>
       <aula:valor_da>
           <aula:id_usuario>educativa</aula:id_usuario>
           <aula:id_campo>3</aula:id_campo>
           <aula:valor>156042078</aula:valor>
        </aula:valor_da>
        <aula:valor_da>
           <aula:id_usuario>alumno_2</aula:id_usuario>
           <aula:id_campo>18</aula:id_campo>
           <aula:valor>La Pampa</aula:valor>
        </aula:valor_da>
        <aula:valor_da>
           <aula:id_usuario>alumno_3</aula:id_usuario>
           <aula:id_campo>10</aula:id_campo>
           <aula:valor>mvideguren</aula:valor>
        </aula:valor_da>
     </aula:establecer_datos_adicionales_usuarios>

En esta llamada podemos observar que se intenta setear el valor "M" para el dato adicional con 'id_campo' 15 y el valor "156042078" para el dato adicional con 'id_campo' 3 para el usuario educativa, el valor "La Pampa" para el dato adicional con 'id_campo' 18 para el usuario alumno_2 , y el valor "mvideguren" para el dato adicional con 'id_campo' 10 para el usuario alumno_3


  • Respuesta:

  <establecer_datos_adicionales_usuarios_response xmlns="urn:Educativa/Aula/">
        <resultado_da>
           <id_usuario>educativa</id_usuario>
           <id_campo>15</id_campo>
           <resultado>true</resultado>
        </resultado_da>
        <resultado_da>
           <id_usuario>educativa</id_usuario>
           <id_campo>3</id_campo>
           <resultado>true</resultado>
        </resultado_da>
        <resultado_da>
           <id_usuario>alumno_2</id_usuario>
           <id_campo>18</id_campo>
           <resultado>true</resultado>
        </resultado_da>
        <resultado_da>
           <id_usuario>alumno_3</id_usuario>
           <id_campo>10</id_campo>
           <resultado>true</resultado>
        </resultado_da>
     </establecer_datos_adicionales_usuarios_response>


Errores de validación

  • Educativa::Aula::Error::IdUsuarioInvalido - cuando el 'id_usuario' ingresado contiene caracteres inválidos o es vacío.
  • Educativa::Aula::Error::UsuarioInexistente - ocurre cuando el usuario no existe en la plataforma.
  • Educativa::Aula::Error::UsuarioAnonimo - ocurre cuando el usuario que se intenta eliminar es el usuario _anonimo.
  • Educativa::Aula::Error::IdCampoInexistente - cuando el 'id_campo' ingresado no existe en la plataforma.
  • Educativa::Aula::Error::IdCampoInvalido - cuando el 'id_campo' ingresado no es integer.
  • Educativa::Aula::Error::DAValorInvalido - cuando el valor ingresado no es un valor válido para el dato adicional en cuestión.