![Deprecated feature](../../base/images/deprecated.png)
URL BuyerUserRegistrationUpdate
Este URL se utiliza para registrar a un usuario de B2B o para actualizar el perfil de registro de un usuario de B2B registrado.
Este URL se utiliza para registrar a un usuario de B2B o para actualizar el perfil de registro de un usuario de B2B registrado. Si el usuario actual es un cliente invitado, este mandato llamará al mandato UserRegistrationAddPreApproval para que registre a un usuario nuevo. Si el usuario que está conectado en ese momento es un usuario registrado, se invocará el mandato UserRegistrationUpdate para actualizar el perfil de registro. La información para los usuarios se almacena en las tablas de base de datos MEMBER, USERS, USERREG, 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
- URL
- Se necesita: El URL al que se debe llamar cuando el mandato se completa satisfactoriamente.
- logonId
- Se necesita: El ID de conexión del usuario que se registra.
- logonPassword
- Se necesita: 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.
- parentMember
- Es necesario si se registra un nuevo usuario; no se permite cuando se actualiza un usuario: El ID de miembro de la organización o unidad de organización padre que se va a actualizar; es una referencia de clave externa a la tabla MEMBER. Si parentMember es nulo, establézcalo en la Organización predeterminada (DN). Si parentMember no es nulo, puede adoptar dos tipos de valores diferentes:
- 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 a 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 y 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
- demographicField1 a 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 a address3
- La dirección del usuario que se registra, hasta un máximo de tres líneas de información.
- addressField1 hasta addressField3
- Campos personalizables.
- addressType
- Tipo de dirección, los valores válidos se pueden configurar utilizando un archivo de propiedades: S (shipto), B (billto) y SB (shipto y billt) Una sola dirección puede ser de diferentes tipos. Si no se puede encontrar un archivo de propiedades, se utilizará el valor predeterminado SB.
- 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.
- 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 No hay ningún valor predeterminado para este campo. Si el campo no se utiliza, permanecerá como nulo en la base de datos.
- 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 No hay ningún valor predeterminado para estos campos publishPhone. Si el campo no se utiliza, permanecerá como nulo en la base de datos.
- 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
- 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 definir atributos de miembros o parámetros personalizados para este mandato. Estos atributos de miembro personalizados se pueden añadir, eliminar o modificar. La sintaxis de los parámetros personalizados es & attributeName_ storeName_ action_ number=value
Donde:
- attributeName
- El nombre del atributo o parámetro personalizado que ha definido.
- nombreTienda
- El nombre de la tienda en la que se aplica el nombreAtributo.
- acción
- Especifica si el nombreAtributo se puede sustituir (en cuyo caso, especifique r) o eliminar (en cuyo caso, especifique d).
- number
- En el caso de nombresAtributo de varios valores, especifique este parámetro para asignar varias entradas que tengan el mismo nombreAtributo, nombreTienda o acción.
- value
- El valor que desea asignar al atributo.
A continuación se muestran ejemplos de sintaxis para atributos o parámetros personalizados:
- El ejemplo siguiente 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
- El ejemplo siguiente actualiza los dos atributos de base de datos: en la tienda 10001, el color favorito del usuario es el rojo y, si está en la tienda 10002, el color favorito del usuario es el azul: &favoritecolor_10001_r_1=red&favoritecolor_10002_r_1=blue
- En el siguiente ejemplo se suprime un atributo de la tienda 10001: &favoritecolor_10001_d_1=red
Ejemplo 1
El ejemplo siguiente actualiza un usuario registrado para que cambie su contraseña de inicio de sesión.
https://myhostname/webapp/wcs/stores/servlet/BuyerUserRegistrationUpdate?logonPassword=pass &logonPasswordVerify=pass&URL=MallFrontView
Ejemplo 2
El ejemplo siguiente registra a un usuario B2C:
https://myhostname/webapp/wcs/stores/servlet/BuyerUserRegistrationUpdate?logonId=user1 &logonPassword=pass&logonPasswordVerify=pass&URL=MallFrontView
Ejemplo 3
El ejemplo siguiente registra a un usuario B2B bajo la Organización predeterminada especificando el ID de entidad de organización (orgEntityId) cifrado como el valor del parámetro parentMember:
https://myhostname/webapp/wcs/stores/servlet/BuyerUserRegistrationUpdate?logonId=b2buser2 &logonPassword=pass&logonPasswordVerify=pass&profileType=B &parentMember=fpqG/Uw9Pdw=&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 llamado PreUserRegistrationAddCmd. 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, también se actualizará la dirección automática (también llamada dirección de registro, con el campo selfAddress establecido en '1' y el apodo igual que el logonId). La dirección antigua se marcará como 'T' (temporal) y se creará un nuevo registro en la tabla ADDRESS. Si este usuario no tiene dirección automática, se creará una dirección automática nueva.
- Si se ha cambiado el valor de logonPassword, llama al mandato de tarea AuthenticationPolicyCmd para verificar o actualizar las credenciales del 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 PostUserRegistrationAddCmd. 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 SETCCURR, 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.