![Deprecated feature](../../base/images/deprecated.png)
URL UserRegistrationUpdate
Este URL actualiza la entrada de registro para un usuario registrado.
Este URL actualiza la entrada de registro para un usuario registrado. Para ejecutar este URL, el usuario debe conectarse primero al sistema HCL Commerce como usuario registrado. Si el usuario actual es un cliente invitado, este mandato llamará al mandatoUserRegistrationAdd para registrar un nuevo usuario. La información para los usuarios se almacena en las tablas de base de datos MEMBER, USERS, USERREG, ADDRESS, ADDRBOOK, MBRREL, USERPROF, BUSPROF, USERDEMO y ADDRESS.
Utilice este URL con SSL (Secure Sockets Layer) para asegurarse de que la información del usuario esté cifrada. Para ello, escriba el mandato con el protocolo seguro HTTPS.
Estructura de URL
- http:// host_name/path/
- El nombre completo de Transaction server y la vía de acceso de configuración.
Valores de parámetros
- langId
- Establece o restablece el idioma preferido durante el tiempo que dura la sesión; los idiomas soportados para una tienda se encuentran en la tabla STORELANG.
- forUser
- El ID de conexión del usuario u organización en cuyo nombre se ejecutará el mandato; este parámetro solo lo puede especificar una persona con autorización para procesar pedidos.
- forUserId
- Igual que forUser, pero el usuario se identifica mediante el ID de usuario interno que aparece en la tabla USERS.
- URL
- Se necesita: El URL al que se debe llamar cuando el mandato se completa satisfactoriamente.
- logonId
- El ID de conexión del usuario que se registra.
Si está utilizando LDAP, no se permite cambiar el logonID de un usuario debido a que requiere eliminar y volver a crear al usuario en LDAP. Este proceso hace que se pierdan todos los atributos de usuario que no son de HCL Commerce como, por ejemplo, la contraseña.
Si no está utilizando LDAP, no se recomienda cambiar el ID de inicio de sesión del usuario porque el subsistema de promoción almacena el ID de inicio de sesión del creador de la promoción en la columna XMLPARAM de la tabla PX_PROMOTION.Nota: Cuando se utiliza el mandato UserRegistrationUpdate para cambiar el logonID, el mandato actualizará automáticamente la columna de base de datos USERS.DN. No presuponga que ADDRESS.NICKNAME también cambiará. En su lugar, debería utilizarse el siguiente buscador para obtener la dirección automática de un usuario: AddressAccessBean.findSelfAddressByMember(Long memberID). logonPassword
- La contraseña del usuario que se registra. En modalidad de base de datos, la contraseña se cifra antes de guardarla en la base de datos. En modalidad LDAP, la contraseña solo se almacena en el servidor LDAP.
logonPasswordVerify
- Será necesario si se utiliza logonPassword: La contraseña del usuario que se registra, escrita por segunda vez.
- preferredCurrency
- La moneda preferida del usuario que se registra para realizar transacciones; una clave externa que hace referencia a la columna SETCCURR de la tabla SETCURR.
- preferredLanguage
- El idioma preferido del usuario que se registra; una clave externa que hace referencia a la columna LANGUAGE_ID de la tabla LANGUAGE.
- userField1, userField2, userField3
- Campos personalizables.
- challengeQuestion
- Pregunta para identificación para la confirmación verbal de la identidad del cliente.
- challengeAnswer
- Respuesta a la pregunta para identificación.
- descripción
- Descripción del usuario que se registra.
- userProfileField1, userProfileField2
- Campos personalizables.
- photo
- El URL o la vía de acceso a una foto del usuario que se registra.
- preferredCommunication
- El teléfono que prefiere el usuario que se registra (está almacenado en la tabla ADDRESS), por ejemplo: P1=teléfono 1 P2=teléfono 2
- preferredDelivery
- La modalidad de entrega preferida del usuario que se registra.
- preferredMeasure
- La unidad de medida preferida del usuario que se registra.
- taxPayerId
- Una serie que se utiliza para identificar al usuario para impuestos; resulta especialmente útil con software de impuestos.
- alternateId
- Un ID especial que la organización o unidad de organización de la empresa del usuario que se registra le ha asignado de forma determinada.
- departmentNumber
- El identificador de departamento para el usuario que se registra.
- employeeId
- El ID asignado por la empresa al usuario que se registra.
- employeeType
- El estado como empleado del usuario que se registra (por ejemplo, fijo, eventual, contratista, a tiempo parcial).
- manager
- El nombre del jefe del usuario que se registra.
- organizationId
- El identificador de la empresa del usuario que se registra; es una clave foránea a la tabla ORGENTITY.
- organizationUnitId
- El identificador de la unidad de organización del usuario que se registra; es una clave externa a la tabla ORGENTITY.
- secretary
- El nombre de la secretaria del usuario que se registra.
- age
- La edad del usuario que se registra.
- children
- El número de hijos que tiene el usuario que se registra.
- companyName
- El nombre de la empresa a la que representa el usuario que se registra, que se obtiene al cumplimentar la información sobre datos estadísticos
- dateOfBirth
- Fecha de nacimiento. El formato es aaaa-mm-dd, por ejemplo: 1980-01-01.
- demographicField1, demographicField2, demographicField3, demographicField4
- Campos personalizables para datos estadísticos; se trata de campos de un solo carácter.
- demographicField5
- Campo personalizable para datos estadísticos; un campo de 254 caracteres.
- demographicField6
- Campo personalizable para datos estadísticos; se trata de un campo de número entero.
- demographicField7
- Campo personalizable para datos estadísticos; se trata de un campo de caracteres variables con una longitud de 64.
- gender
- El sexo del usuario que se registra.
- hobbies
- Las aficiones del usuario que se registra.
- household
- El número de personas de la unidad familiar del usuario que se registra; el valor predeterminado es 1.
- income
- Los ingresos anuales del usuario que se registra.
- incomeCurrency
- La moneda en que cobra el sueldo el usuario que se registra.
- maritalStatus
- El estado civil del usuario que se registra.
- orderBefore
- Si el usuario que se registra ha formalizado anteriormente un pedido. Este valor lo proporciona el usuario que se registra.
- timeZone
- El huso horario en que el usuario que se registra realiza su jornada laboral (se indica como +/- horas GMT).
- address1, address2, address3
- La dirección del usuario que se registra, hasta un máximo de tres líneas de información.
- addressField1, addressField2, addressField3
- Campos personalizables.
- addressType
- La finalidad de la dirección. Los valores válidos son:
- bestCallingTime
- D
- Un indicador de que la mejor hora para llamar al usuario que se registra es durante el día.
- E
- Un indicador de que la mejor hora para llamar al usuario que se registra es durante la tarde.
- billingCode
- El código de la organización del usuario que se registra utilizado para identificar las direcciones de envío o facturación y el centro de costes.
- billingCodeType
- El código que designa el método de la estructura de código que se utiliza para el código de facturación. El valor predeterminado es D y lo asigna el comprador.
- city
- El nombre de la ciudad donde reside el usuario que se registra.
- country
- El nombre del país o región donde reside el usuario que se registra.
- email1
- La dirección de correo electrónico o web primaria del usuario que se registra.
- email2
- La dirección de correo electrónico o web secundaria del usuario que se registra.Nota: De forma predeterminada, no se utiliza para notificaciones para el miembro.
- receiveEmail
- Determina si el registrante desea recibir actividades de correo electrónico de marketing para la tienda actual (o para todas las tiendas si durante la sesión no se ha visitado ninguna tienda):
- true
- El usuario desea recibir actividad de correo electrónico de marketing.
- false
- El usuario no desea recibir actividades de correo electrónico (valor predeterminado).
- receiveSMS
- Especifica si el registrante desea recibir mensajes SMS de marketing para la tienda actual (o para todas las tiendas si durante la sesión no se ha visitado ninguna tienda). Los valores válidos son true o false (valor predeterminado).
- receiveSMSNotification
- Indica si el usuario desea recibir mensajes de texto SMS de notificación de pedidos. Los valores válidos son true o false (valor predeterminado).
- fax1
- El número de fax primario del usuario que se registra.
- fax2
- El número de fax secundario del usuario que se registra.
- firstName
- El nombre del usuario que se registra.
- lastName
- Es necesario si el modo autenticación es LDAP: El apellido del registrante. Si la modalidad de autenticación es LDAP, este parámetro es obligatorio.
- middleName
- El segundo nombre o inicial del usuario que se registra.
- officeAddress
- La dirección interna (por ejemplo, código postal interno).
- organizationName
- El nombre de la organización a la que representa el usuario que se registra.
- organizationUnitName
- El nombre de la unidad dentro de la organización a la que representa el usuario que se registra.
- packageSuppression
- 1
- Un indicador de que se ha de incluir material publicitario cuando se envíe el pedido.
- 0
- Un indicador de que no se ha de incluir material publicitario cuando se envíe el pedido
- personTitle
- El tratamiento que se dará al usuario cuya dirección se va a entrar (por ejemplo, Dr., Rev., Sr. o Sra.)
- phone1
- El número de teléfono primario del usuario que se registra.
- phone1Type
- El tipo de teléfono utilizado para el número de teléfono primario del usuario que se registra, por ejemplo TTY para personas con problemas de audición, PCM para modulación por pulsos codificados o CEL para teléfono móvil. Este campo es de 3 caracteres.
- phone2
- El número de teléfono secundario del usuario que se registra.
- phone2Type
- El tipo de teléfono utilizado para el número de teléfono secundario del usuario que se registra, por ejemplo TTY para personas con problemas de audición, PCM para modulación por pulsos codificados o CEL para teléfono móvil. Este campo es de 3 caracteres.
- publishPhone1
- 1
- Un indicador de que el número de teléfono primario del usuario que se registra aparece en la lista.
- 0
- Un indicador de que el número de teléfono primario del usuario que se registra no aparece en la lista
- publishPhone2
- 1
- Un indicador de que el número de teléfono secundario del usuario que se registra aparece en la lista.
- 0
- Un indicador de que el número de teléfono secundario del usuario que se registra no aparece en la lista
- mobilePhone1
- Número de teléfono móvil del usuario que se registra utilizado para SMS, por ejemplo, 4161235555.
- mobilePhone1Country
- Código de país utilizado para el número de teléfono móvil del que se registra, por ejemplo, CA para Canadá.
- shippingGeoCode
- Un código de envío basado en la región geográfica; resulta especialmente útil con software de impuestos.
- estado
- El nombre de la provincia, estado o equivalente donde reside el usuario que se registra.
- taxGeoCode
- Un código de impuestos basado en la región geográfica; resulta especialmente útil con software de impuestos.
- zipCode
- El código postal de la dirección del usuario que se registra.
- Atributos de miembro personalizados
- Puede conseguir atributos de miembro personalizados (tabla MBRATTRVAL) para este usuario con la siguiente sintaxis: &attributeName_storeId_action_number=value Donde:
- attributeName
- El nombre del atributo personalizado que ya se ha definido en la columna NAME de la tabla MBRATTR.
- storeId
- El ID de tienda de la tienda para la que se aplica el attributeName. Especifique "null" si el atributo no es específico de la tienda.
- acción
- Especifica la acción que se va a realizar con el valor:
- a
- añadir valor
- r
- sustituir valor
- d
- eliminar valor
- number
- En el caso de attributeNames de varios valores, especifique este parámetro para asignar varias entradas que tengan el mismo attributeName, storeId o action.
- value
- El valor que desea asignar al atributo.A continuación se muestran ejemplos de sintaxis para atributos o parámetros personalizados:
- Actualiza la base de datos con el valor rojo para un atributo personalizado definido para el color favorito del usuario en la tienda 10001:
&favoritecolor_10001_r_1=red
- Actualiza dos atributos: En la tienda 10001, el color favorito del usuario es el rojo y en la tienda 10002, el color favorito del usuario es el azul:
&favoritecolor_10001_r_1=red&favoritecolor_10002_r_1=blue
- Suprime un atributo de la tienda 10001:
&favoritecolor_10001_d_1=red
- Actualiza la base de datos con el valor rojo para un atributo personalizado definido para el color favorito del usuario en la tienda 10001:
Ejemplo 1
El ejemplo siguiente actualiza un usuario registrado para que cambie su apellido y ciudad.
https://myhostname/webapp/wcs/stores/servlet/UserRegistrationUpdate?lastName=Thomas&city=Markham&URL=MallFrontView
Comportamiento
- Tenga en cuenta que el miembro padre y el tipo de perfil del usuario no se pueden cambiar.
- Llama a un mandato de tarea vacío denominado PreUserRegistrationUpdateCmd. Los desarrolladores de tiendas pueden sobrescribirlo para cambiar la entrada para el mandato.
- Actualiza el registro del usuario registrado actual en la tabla USERS.
- Si la modalidad de autenticación es 'LDAP', puede que también se actualice información de usuario en el servidor LDAP.
- Si la modalidad de autenticación es 'LDAP', el ID de conexión no se puede cambiar.
- Si se especifica uno o más campos relacionados con las tablas USERPROF, BUSPROF o USERDEMO, actualiza cada una de estas tablas. Si no hay ningún registro, crea un registro nuevo en estas tablas.
- Si se especifica uno o más campos relacionados con la tabla ADDRESS, la dirección automática (también denominada dirección de registro, con el campo selfAddress establecido en '1') también se actualizará. La dirección antigua se marcará como 'T' (temporal) y se creará un nuevo registro en la tabla ADDRESS. Si este usuario no tiene una dirección automática, se creará una dirección automática nueva. Si se ha cambiadologonPassword, llama al mandato de tarea AuthenticationPolicyCmd para verificar o actualizar las credenciales de un usuario.
- Comprueba los parámetros de información de registro obligatorios.
- Llama al mandato de tarea AuditUserRegistrationCmd para comprobar los parámetros adicionales. Los desarrolladores de tiendas deben añadir código nuevo al mandato de tarea AuditUserRegistrationCmd si desean personalizar la comprobación.
- Llama al mandato de tarea SetCurrencyPrefCmd para establecer la moneda preferida en el contexto de mandato.
- Cuando se utiliza LDAP, el usuario se crea en la base de datos y en el servidor LDAP. La información de autenticación se almacena únicamente en la base de datos, pero toda la demás información se copia también en la base de datos.
- Llama a un mandato de tarea vacío denominado PostUserRegistrationUpdateCmd. Los desarrolladores de tiendas pueden sobrescribirlo para realizar operaciones adicionales.
- Si el mandato no se ejecuta correctamente, se llama al mandato de vista UserRegistrationErrorView. Cuando la acción se completa satisfactoriamente, se llama al URL especificado.
- Cuando se crea el usuario utilizando este mandato, el sistema asigna roles basándose en el archivo MemberRegistrationAttributes.xml. Cuando elija los roles que hace falta asignar, el sistema utiliza la siguiente información: El tipo de registro de 'UserRegistration', el árbol de miembros predecesores para el usuario, y la tienda en la que el usuario se está registrando.
Condiciones de excepción
- Si el parámetro URL es nulo, el sistema genera una excepción con la clave de mensaje _ERR_CMD_MISSING_PARAM
- Si la longitud del valor del parámetro URL es igual a 0, el sistema genera una excepción con la clave de mensaje _ERR_CMD_INVALID_PARAM.
- Si el parámetro logonId no es nulo, pero su longitud es igual a 0, el sistema genera una excepción con la clave de mensaje _ERR_CMD_INVALID_PARAM.
- En modalidad LDAP, si logonId no es nulo, el sistema genera una excepción con la clave de mensaje _ERR_CMD_INVALID_PARAM.
- Si la longitud del valor del parámetro logonPassword no es nulo, y es igual a 0 o es mayor que 70, el sistema genera una excepción con la clave de mensaje _ERR_CMD_INVALID_PARAM.
- Si logonPassword no es nulo pero logonPasswordVerify es nulo, el sistema genera una excepción con la clave de mensaje _ERR_CMD_MISSING_PARAM.
- Si logonPassword no es nulo y su valor no es igual que el valor de logonPasswordVerify, el sistema genera una excepción con la clave de mensaje EC_UREG_ERR_PASSWORDS_NOT_SAME.
- Si el valor de preferredCurrency no es nulo, y no es una clave foránea establecida en la tabla SETCURR, el sistema genera una excepción con la clave de mensaje _ERR_CMD_INVALID_PARAM.
- Si el valor de preferredLanguage no es nulo, y no es una clave externa establecida en la tabla LANGUAGE, el sistema genera una excepción con la clave de mensaje _ERR_CMD_INVALID_PARAM.
- Si cualquiera de los siguientes parámetros: age, income, children, household, demographicField6, publishPhone1, publishPhone2 o packageSuppression, no son nulos ni números enteros, el sistema inicia una excepción con el mensaje clave _ERR_CMD_INVALID_PARAM.