registrar_usuario
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) administrador_grupo as String,
(opcional) estado as String,
id_grupo as Integer,
(opcional) perfil as String
(opcional) enviar_aviso as Boolean
)
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.
- Importante: El valor pasado al parámetro id_usuario ahora debe ser el del username
- 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.
- 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.
- 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'.
- El valor ingresado en el campo 'enviar_aviso' indica si se quiere enviar un mail al usuario inscripto con sus datos de cuenta y al curso al que pertenece.
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>
<!--Optional:-->
<aula:enviar_aviso>1</aula:enviar_aviso>
</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.