Registrar Usuario

registrar_usuario ( (opcional) administrador_usuario as Boolean, id_usuario as Integer, nombre as String, apellido as String, clave as String, (opcional) id_idioma as String,(opcional) codigo_postal as String, (opcional) dato_adicional_1(opcional) dato_adicional_2(opcional) dato_adicional_3(opcional) direccion as String, (opcional) email as String, (opcional) localidad as String, (opcional) telefono as String, (opcional)url as String, (opcional) foto_nombre as String, (opcional) foto_base64 as Base64, (opcional) ( (opcional) administrador_grupo as String, (opcional) estado as String, id_grupo as Integer, (opcional) perfil as String))

El método crea un usuario en el campus, asociándolo a un grupo y estableciendo los valores por defecto de un aula.

Devuelve: estado

Indica si el usuario fue creado correctamente o no.


Funcionamiento

  • Si queremos crear un usuario debemos especificar minimamente valores para los siguientes campos obligatorios:'id_usuario', 'nombre', 'apellido', 'clave', y valor para el campo 'id_grupo' correspondiente al grupo al cual se agrega el usuario.
    • El 'id_usuario' ingresado esta sujeto a las mismas validaciones a las que he sometido al ingresarlo desde la administración.
    • El 'nombre' ingresado no puede superar los 50 caracteres.
    • El 'apellido' ingresado no puede superar los 50 caracteres.
    • El valor ingresado para el campo 'clave' esta sujeto a las restricciones definidas en la configuración.
      • La clave establecida es siempre permanente.
    • El valor ingresado para el campo 'id_idioma' debe corresponder con un valor de 'id_idioma' existente en la tabla idiomas.
    • El valor ingresado para el campo 'id_grupo' debe corresponder con un valor existente para 'id_curso' en la tabla cursos.
  • Si queremos que el usuario este desactivo en el grupo, debemos especificar el valor 0 para el campo 'estado', con cualquier otro valor que especifiquemos, el usuario va a registrarse como activo.
  • El valor ingresado para el campo 'perfil' debe corresponderse con un valor de 'IdCategoria' existente en la tabla perfiles_.
  • Si no se especifican valores para los campos no obligatorios, estos permanecen vacíos, es decir no existen valores por defecto definidos para ellos. Excepto para los campos 'administrador_usuario', 'id_idioma', 'perfil', 'estado' y 'administrador_grupo' , si no se especifican valores para ellos (borrando los tags correspondientes) se setean los siguientes valores por defecto:
    • 'administrador_usuario' se seteará "-".
    • 'id_idioma' se seteará "1".
    • 'perfil' se seteará "A".
    • 'estado' se seteará "A".
    • 'administrador_grupo' se seteará "-".
  • Los campos 'administrador_usuario' y 'administrador_grupo' son de tipo booleano, por lo tanto deberían pasarse valores 0 o 1, o "true" o "false".
  • Si queremos crear un usuario webmaster(administrador_usuario debe ser cualquier valor distinto de vació, false, 0), no hace falta especificar valores para el bloque usuario_grupo, ya que se creará un registro de ese usuario para cada grupo existente en la plataforma.
    • En 'perfil' se seteará "I".
    • En 'estado' se seteará "A".
    • En 'administrador_grupo' se seteará "-".
  • dato_adicional_1 = indica el 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 en cuestión 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 = indica el 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 en cuestión 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 = indica el 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 en cuestión 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.
  • Si queremos establecer la foto para el usuario, debemos completar dos parámetros: 'foto_nombre' y 'foto_base64'.
    • 'foto_nombre':
      • en dicho parámetro se especificará el [nombre].[extension] de la foto subida.
      • estan permitidas las siguientes extensiones:.gif, .jpg, .jpeg, .png, .bmp.
    • '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.
      • los tipos de mime types válidos son: image/gif, image/jpeg, image/png, image/bmp.
      • Ejemplo de conversor de imagenes a base64 online: http://emiliocobos.net/demos/conversor-de-imagenes-a-base64/
    • La posibilidad de subir la foto del usuario será opcional, pero si se hace, es obligatorio completar ambos parámetros.
    • Lo que se hará es crear la imagen con el [nombre].[extension] especificado en 'foto_nombre' y con el contenido especificado en 'foto_base64'.


Ejemplo de Respuesta

Ejemplo de respuesta de la llamada registrar_usuario con un nuevo usuario y un grupo en donde crearlo, que indica registrar el nuevo usuario en el grupo especificado


  • Llamada:

    <aula:registrar_usuario>
       <aula:usuario>
          <aula:administrador_usuario>false</aula:administrador_usuario>
          <aula:id_usuario>f_manes</aula:id_usuario>
          <aula:nombre>facundo</aula:nombre>
          <aula:apellido>manes</aula:apellido>
          <aula:clave>asdasd</aula:clave>
          <aula:id_idioma>1</aula:id_idioma>
          <aula:codigo_postal>2000</aula:codigo_postal>
          <aula:dato_adicional_1>32910834</aula:dato_adicional_1>
          <aula:dato_adicional_2></aula:dato_adicional_2>
          <aula:dato_adicional_3></aula:dato_adicional_3>
          <aula:direccion>lisboa 277</aula:direccion>
          <aula:email>f_manes@hotmail.com</aula:email>
          <aula:localidad>Rosario</aula:localidad>
          <aula:telefono>156203654</aula:telefono>
          <aula:url>http://fmanes.com</aula:url>
          <aula:foto_nombre>lisa.jpg</aula:foto_nombre>
          <aula:foto_base64>data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAkGBwgHBgkICAgKCgkLDhcPDg0NDhwUFREXIh4jIyEeI....</aula:foto_base64>
       </aula:usuario>
       <aula:usuario_grupo>
          <aula:administrador_grupo>true</aula:administrador_grupo>
          <aula:estado>1</aula:estado>
          <aula:id_grupo>42</aula:id_grupo>
          <aula:perfil>I</aula:perfil>
       </aula:usuario_grupo>
    </aula:registrar_usuario>

En esta llamada, podemos observar que:

  • se solicita crear un usuario con 'id_usuario'= "f_manes" en el grupo con 'id_grupo'= "24" con 'perfil'= "Invitado".


  • Respuesta:

<registrar_usuario_response xmlns="urn:Educativa/Aula/">
       <estado>1</estado>
    </registrar_usuario_response>


Errores de validación


Educativa::Aula::Error::IdUsuarioInvalido - ocurre cuando la identificación del usuario contiene caracteres inválidos.

Educativa::Aula::Error::UsuarioExistente - ocurre cuando el usuario ya se encuentra registrado en la plataforma.

Educativa::Aula::Error::GrupoInexistente - ocurre cuando se intenta inscribir el usuario a un grupo no existente en la plataforma.

Educativa::Aula::Error::PerfilUsuarioInvalido - ocurre cuando el perfil ingresado no corresponde a uno de los perfiles existentes en la plataforma.

Educativa::Aula::Error::UsuarioExistenteSistema - ocurre cuando el usuario existe en otro producto, en un entorno con login centralizado.

Educativa::Error::InvalidEmailAddress - ocurre cuando el mail ingresado no es una dirección válida.

Educativa::Aula::Error::InvalidNombreApellidoUsuario - cuando el nombre o apellido ingresado contienen caracteres no permitidos.

Educativa::Error::ClaveUsuarioInvalida - cuando la clave ingresada no cumple con la política de claves definida en la plataforma.

Educativa::Error::IdiomaInvalido -

cuando el id_idioma ingresado no esta definido en la plataforma.

Educativa::Aula::Error::UrlUsuario - cuando la url ingresada no contiene http:// o https:// al inicio.

Educativa::Aula::Error::DAValorInvalido - cuando uno de los valores asignados a los campos de la forma dato_adicional_[n] no cumple con las validaciones definidas, si es que estos apuntan a uno de los datos adicionales con validaciones: SITIO_WEB, DOCUMENTO, SEXO.

Educativa::Aula::Error::NombreArchivoInvalido - cuando el [nombre].[extension], ingresados en 'foto_nombre', supera los 250 caracteres.También ocurre cuando las tags del parámetro fueron borradas o se paso el valor vacío, siendo que que el párametro 'foto_base64' si fue especificado.

Educativa::Aula::Error::ExtensionInvalida - cuando la [extension] del nombre ingresado en 'foto_nombre' no esta dentro de las siguientes: .gif, .jpg, .jpeg, .png, .bmp.

Educativa::Aula::Error::TipoMimeInvalido - el tipo de mime definido en la cabecera de la cadena, especificada en 'foto_base64', no corresponde a uno de los tipos de mimes definidos para los tipos de archivos permitidos.

Educativa::Aula::Error::Base64Invalido - cuando habiendo especificado valor para el parámetro 'foto_nombre', el parámetro 'foto_base64' fue especificado vacío, o sus tags fueron borradas directamente.