Mandato UserRegistrationAdd
Este mandato crea una entrada de registro para un usuario.
Utilice este mandato con SSL (Secure Sockets Layer) para asegurarse de
que la contraseña de conexión y la información personal del cliente están
cifradas. Para ello, escriba el mandato con el protocolo
seguro HTTPS.
Los datos de registro que recopila este mandato están dentro de las
siguientes categorías:
- Datos sobre autorización
- Perfil de empresa a consumidor (B2C)
- Perfil de empresa a empresa (B2B)
- Información sobre datos estadísticos
B2B es una extensión de B2C. Un usuario que se registre que sea un
cliente B2C tendrá normalmente un perfil B2C. Un usuario que se registre
que sea un cliente B2B tendrá normalmente un perfil B2C y un perfil B2B.
Valores de parámetros
- http://nombre_sistpral/vía de acceso/
-
(Obligatorio) El nombre totalmente calificado del servidor WebSphere Commerce
y la vía de acceso de configuración.
- langId
- Establece o restaura el idioma preferido para la duración de la sesión;
los idiomas soportados para una tienda se encuentran en la tabla
STORELANG.
- forUser
- El ID de conexión del usuario en cuyo nombre se ejecutará el
mandato; este parámetro sólo lo puede especificar una persona con
autorización para procesar pedidos.
- forUserId
- Igual que forUser, pero identifica al usuario mediante el ID de usuario interno, como se encuentra en la
tabla USERS.
- URL
- (Obligatorio) El URL al que se debe llamar cuando el mandato se completa satisfactoriamente.
- storeId
- El número de referencia de la tienda asociada a este mandato.
- logonId
- (Obligatorio) El ID de conexión del usuario que se registra.
- logonPassword
- (Obligatorio) La contraseña del usuario que se registra. La contraseña
la cifra el mandato UserRegistrationAdd antes de guardarla en la base de datos.
- logonPasswordVerify
- (Obligatorio) La contraseña del usuario que se registra, escrita por segunda vez.
- parentMember
- Si parentMember es nulo, establézcalo en Organización por omisión.
Si parentMember no es nulo, puede adoptar dos tipos de valores diferentes:
ID de entidad de organización cifrado (utilizando "nc_crypt -e <ID entidad organización>")
DN de la entidad de organización (por ejemplo, "o=Organización por omisión, o=Organización raíz")
- userStatus
- Si la cuenta del usuario que se registra está o no habilitada:
1=habilitada (es el valor por omisión)
0=inhabilitada
- passwordExpired
- Si la contraseña del usuario que se registra ha caducado:
0=no ha caducado (este es el valor por omisión)
1= ha caducado
- challengeQuestion
- Pregunta para identificación con la que se confirma verbalmente la identidad del usuario que se registra.
- challengeAnswer
- Respuesta a la pregunta para identificación.
- registerType
- El tipo de usuario:
G=Usuario invitado, un usuario que no proporciona ninguna información
de perfil.
R=Usuario registrado, un usuario que sí proporciona información de
perfil.
A=Administrador, un usuario registrado que también es un administrador.
S=Administrador de sitio, un usuario registrado
que también es un Administrador de sitio.
- profileType
- Indica el tipo de registro:
<Nulo>= no hay datos de perfil, únicamente datos de autenticación; sólo hay datos para la
tabla USERREG
C=datos de perfil de registro de empresa a consumidor; datos de autenticación y también datos para
la tabla USERPROF (este es el valor por
omisión).
B=datos de perfil de registro de empresa a empresa; datos de autenticación y también datos para
la tabla BUSPROF.
- preferredCurrency
- La moneda que el usuario que se registra prefiere utilizar para las transacciones;
es una clave externa que hace referencia a la columna SETCURR 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.
- displayName
- El nombre que se utiliza cuando se visualiza el nombre del usuario que se registra en una lista de resumen.
- 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.
- description
- Una descripción del usuario que se registra.
- userProfileField1 y userProfileField2
- Campos personalizables.
- organizationId
- El identificador de la empresa del usuario que se registra; es una clave externa 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.
- employeeId
- El ID asignado por la empresa al usuario que se registra.
- 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.
- employeeType
- El estado como empleado del usuario que se registra (por ejemplo, fijo,
eventual, contratista, a tiempo parcial).
- departmentNumber
- El identificador de departamento para el usuario que se registra.
- manager
- El nombre del jefe del usuario que se registra.
- secretary
- El nombre de la secretaria del usuario que se registra.
- gender
- El sexo del usuario que se registra.
- age
- La edad del usuario que se registra.
- 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.
- children
- El número de hijos que tiene el usuario que se registra.
- household
- El número de personas de la unidad familiar del usuario que se registra; el valor por omisión es 1.
- 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
- hobbies
- Las aficiones 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)
- 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
- personTitle
- El tratamiento para el usuario que se registra (por ejemplo, Dr., Sr. o Sra).
- lastName
- (Obligatorio si la modalidad de autenticación es LDAP) El apellido del usuario que se registra. Si
la modalidad de autenticación es LDAP, este parámetro es obligatorio.
- firstName
- El nombre del usuario que se registra.
- middleName
- El segundo nombre o inicial del usuario que se registra.
- address1
- La primera línea de la dirección postal del usuario que se registra.
- address2
- La segunda línea de la dirección postal del usuario que se registra.
- address3
- La tercera línea de la dirección postal del usuario que se registra.
- city
- El nombre de la ciudad donde reside el usuario que se registra.
- state
- El nombre de la provincia, estado o equivalente donde reside el usuario que se registra.
- zipCode
- El código postal de la dirección del usuario que se registra.
- country
- El nombre del país o región donde reside el usuario que se registra.
- phone1
- El número de teléfono primario del usuario que se registra.
- phone2
- El número de teléfono secundario 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 o CEL para teléfono móvil. Este campo es de 3
caracteres.
- 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 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
Para los campos publishPhone no existe un valor por omisión. 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
- 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.
- fax1
- El número de fax primario del usuario que se registra.
- fax2
- El número de fax secundario del 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.
- businessTitle
- El cargo en la empresa del usuario que se registra.
- 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.
- officeAddress
- La dirección interna (por ejemplo, código postal interno).
- 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 por omisión es D, e indica que lo asigna el comprador. El
valor 02 indica que lo asigna Ariba.
- 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 valor por omisión para este campo. Si este campo no se
utiliza, permanecerá como nulo en la base de datos.
- addressfield1 hasta addressfield3
- Campos personalizables.
- taxPayerId
- Una serie que se utiliza para identificar al usuario para impuestos; resulta
especialmente útil con software de impuestos.
- shippingGeoCode
- Un código de envío basado en la región geográfica; resulta especialmente útil con
software de impuestos.
- taxGeoCode
- Un código de impuestos basado en la región geográfica; resulta especialmente útil con
software de impuestos.
Ejemplo 1
El ejemplo siguiente crea una entrada de registro para el usuario, incluyendo
todos los parámetros que necesita el mandato de tarea por omisión, y luego llama al mandato
InterestItemDisplay:
https://misistpral/webapp/wcs/stores/servlet/UserRegistrationAdd?
&URL=/webapp/wcs/stores/servlet/InterestItemDisplay&logonId=jennyk
&logonPassword=butter&logonPasswordVerify=butter
&lastName=Kohl&Address1=255+Consumers+Road&City=Toronto
&State=Ontario&Country=Canada
Ejemplo 2
El ejemplo siguiente llena una entrada con un conjunto completo de datos para un cliente
tipo consumidor:
https://misistpral/webapp/wcs/stores/servlet/UserRegistrationAdd?storeId=31
&langId=-1&URL=basemall.jsp&logonId=msur1&logonPassword=msur1
&logonPasswordVerify=msur1&userStatus=1&passwordExpired=0
&challengeQuestion=question&challengeAnswer=answer
&profileType=C&preferredCurrency=CAD&preferredLanguage=1
&userField1=field1&userField2=field2&userField3=field3
&displayName=displayname&photo=photo&preferredMeasure=metric
&preferredCommunication=P1&preferredDelivery=preferreddelivery
&description=description&userProfileField1=field1
&userProfileField2=field2&taxPayerId=taxpayerid&gender=M&age=3
&income=3&incomeCurrency=1&maritalStatus=S&children=3
&household=3&companyName=IBM&hobbies=hobbies&orderBefore=Y
&timeZone=EST&demographicField1=1&demographicField2=2
&demographicField3=3&demographicField4=4&demographicField5=5
&demographicField6=6&demographicField7=7&personTitle=Dr
&lastName=last&firstName=first&middleName=middle&address1=address1
&address2=address2&address3=address3&city=Toronto&state=Ontario
&country=Canada&zipCode=A1A1A1&phone1=111-111-1111
&phone2=222-222-2222&phone1Type=PHN&phone2Type=TTY&publishPhone1=1
&publishPhone2=0&bestCallingTime=E&fax1=333-333-3333
&fax2=444-444-4444&email1=msur1@email1.com&email2=msur1@email2.com
&businessTitle=bustitle&organizationName=organization
&organizationUnitName=oraganizationunit&officeAddress=officeaddress
&billingCode=BillingCode&billingCodeType=BT&packageSuppression=1
&addressField1=field1&addressField2=field2&addressField3=field3
&shippingGeoCode=shippinggeocode&taxGeoCode=taxgeocode
Comportamiento
- Actualiza la tabla USERS y cambia el tipo de
registro de 'G' (invitado) a 'R' (registrado).
- Crea una entrada en cada una de estas tablas: USERREG,
USERPROF, USERDEMO y
ADDRESS.
Si este usuario es un usuario de empresa (profileType = 'B'), también se creará una entrada en la tabla
BUSPROF.
Si este usuario no tiene un listín, también se creará un listín en la tabla ADDRBOOK.
- Crea una dirección denominada dirección de registro, cuyo apodo es igual que el logonId especificado.
El campo selfAddress de esta dirección se establecerá en "1".
- Si no se especifica el parámetro profileType, por omisión se establece en "C" (Cliente).
- Si no se especifica passwordExpired, por omisión se establece en 0 (no ha caducado).
- Si no se especifica userStatus, por omisión se establece en 1 (habilitada).
- Si no se establece preferredLanguage, se ha de obtener del contexto del mandato.
- Comprueba los parámetros de información de registro obligatorios.
- Llama a la tarea AuditUserRegistrationCmd para
comprobar los parámetros adicionales. Los desarrolladores de la tienda deben añadir código nuevo
al mandato de tarea AuditAddressCmd si desean personalizar la comprobación.
- Si el parámetro preferredCurrency no es nulo, llama a la tarea SetCurrencyPrefCmd.
- Si la modalidad de autenticación es LDAP, se ha de crear un usuario en el
servidor LDAP.
Conecta al cliente creando un cookie firmado digitalmente que se devuelve
al navegador para identificar la sesión del usuario. Ahora el cliente
está en una sesión autenticada. El cookie contiene la información siguiente:
- El SESSION_ID
- Un distintivo que indica si el comprador está registrado o no
- La fecha y hora (indicación de la hora) en la que se ha registrado el comprador
- Una firma digital
- Llama al mandato de tarea UserRegistrationRoleAssignCmd para asignar roles durante
el autoregistro. Actualmente este mandato de tarea no efectúa ninguna acción y los
clientes tendrán que modificarlo si desean asignar roles durante el autoregistro.
- Si la conexión no se realiza satisfactoriamente, llama a UserRegistrationErrorView.
- Una vez completado satisfactoriamente, llama al URL de redirección especificado.
Condiciones de excepción
- El parámetro URL no puede ser nulo y su longitud debe ser mayor que 0.
- El parámetro logonId no puede ser nulo y su longitud debe ser
mayor que 0.
- El parámetro logonId no puede existir ya en la base de datos de WebSphere Commerce. Si la modalidad de autenticación es LDAP,
el parámetro logonId tampoco debería existir en LDAP.
- El parámetro logonPassword no puede ser nulo y su longitud debe ser
superior a 0 y menor que o igual a 70.
- El parámetro logonPassword es igual a logonPasswordVerify.
- El parámetro profileType debe ser nulo o igual a "B" o "C".
- Los parámetros userStatus y passwordExpired deben ser nulos o igual a
0 ó 1.
- El parámetro preferredCurrency debe ser nulo o debe ser una clave
externa establecida en la tabla SETCCURR.
- El parámetro preferredLanguage debe ser nulo o debe ser una clave externa establecida
en la tabla LANGUAGE.
- Los parámetros age, income, children, household, demographicField6,
publishPhone1, publishPhone2 y packageSupression deben ser nulos o un entero.
- Si el parámetro profileType es "B", se deben cumplir las siguientes condiciones:
- Si el parámetro organizationId no es nulo, entonces debe ser una clave
externa establecida en las filas de tipo O de la tabla ORGENTITY.
- Si el parámetro organizationUnitId no es nulo, organizationUnitId debe
ser una referencia de clave externa a las filas de tipo OU de la tabla
ORGENTITY.