Reference > Shop flow URLs > Member subsystem URLs > Registration


UserRegistrationAdd URL

This URL is related to UserRegistrationAdd URL.

Once an unregistered user (that is, a guest or generic user) requests registration with a store, the user becomes a registered customer to that store. If the parent organization of the user requires user registration, the user is not permitted to log on to the store until the registration is approved. If the parent organization does not require registration approval, the user automatically logs onto the store. By default, only the Default Organization does not require user registration approval. Information for new users is stored in the MEMBER, USERS, USERREG, MBRREL, MBRROLE, USERPROF, BUSPROF, USERDEMO, ADDRESS, and ADDRBOOK database tables.

Use this URL with SSL (Secure Sockets Layer) to ensure that the user's information is encrypted.

To do so type the URL with the HTTPS secure protocol.


URL structure

http:// host_name/path/

The fully qualified name of the WebSphere Commerce Server and the configuration path.

Diagram of the URL structure: The URL starts with the fully qualified name of the WebSphere Commerce Server and the configuration path, followed by the URL name, UserRegistrationAdd , and the ? character. End the URL with a list of parameters in the form of name-value pairs. Separate each <a href=name-value pair with the & character. For a detailed description of the parameters and their values, see the list entitled Parameter values." />


Parameter values

URL

Required: The URL to be called when the command completes successfully.

logonId

Required: The registrant's logon ID.

Leading and trailing spaces will be trimmed. When the system is configured with LDAP, the following characters are not allowed since the logonId will be part of the distinguished name:

  • The # character occurring at the beginning of the logon ID.

  • Any of the following characters: = , + " \ < > ;

logonPassword

Required: The registrant's password. In database mode, the password is encrypted before it is saved in the database. In LDAP mode, the password is only stored on the LDAP server.

logonPasswordVerify

Required: The registrant's password, entered a second time.

parentMember

The parent organization of the new user. If parentMember is null, the parent will be Default Organization. If parentMember is not null, it is one of the following types of values:

  • Encrypted orgEntityId (using "wcs_encrypt orgentityId") See Generate encrypted data (wcs_encrypt) for the command syntax.

  • DN of orgEntity (for example "o=default organization,o=root organization")

profileType

Indicates the type of registration:

  • C=business-to-consumer registration profile data, authentication data and also data for the USERPROF table (this is the default). If the profileType is null and the parentMember is the Default Organization, by default, the profileType is "C". A user of this type will be visible from the Accelerator, in the store where the user registers.

  • B=business-to-business registration profile data, authentication data and also data for the BUSPROF table. If the profileType is null and the parentMember is not the Default Organization, by default, the profileType is "B". A user of this type will be visible from the Organization Administration Console.

preferredCurrency

The registrant's preferred currency for transactions; a foreign key that references the SETCCURR column of the SETCURR table.

preferredLanguage

The registrant's preferred language; a foreign key that references the LANGUAGE_ID column of the LANGUAGE table.

userField1, userField2, userField3

Customizable fields.

challengeQuestion

Challenge question for verbal confirmation of the registrant's identity.

challengeAnswer

Answer to the challenge question.

description

A description of the registrant.

displayName

Name used when displaying the name of the registrant in a summary list.

userProfileField1, userProfileField2

Customizable fields.

photo

URL or path to a photo of the registrant.

preferredCommunication

The preferred phone for the registrant (stored in the ADDRESS table), for example:

  • P1=phone 1

  • P2=phone 2

preferredDelivery

The registrant's preferred mode of delivery.

preferredMeasure

The registrant's preferred unit of measure.

taxPayerId

A string used to identify the user for taxation, especially useful with tax software.

alternateId

A special ID assigned by the registrant's business organization or organizational unit to this particular registrant.

departmentNumber

The department identifier for the registrant.

employeeId

The registrant's ID with his or her employer.

employeeType

The registrant's status as an employee (for example, regular, permanent, contractor, or part time).

manager

The name of the registrant's manager.

secretary

The name of the registrant's secretary.

age

The registrant's age.

children

The number of children the registrant has.

companyName

The company name of the organization that the registrant represents, obtained when filling in demographic information .

demographicField1, demographicField2, demographicField3, demographicField4

Customizable fields for demographic information; these are single-character fields.

demographicField5

Customizable field for demographic information; a field of 254 characters.

demographicField6

Customizable field for demographic information; an integer field.

demographicField7

Customizable field for demographic information; a field varchar, length 64.

gender

The registrant's gender.

hobbies

The registrant's hobbies.

household

The number of people in the registrant's household; the default is 1.

income

The registrant's annual income.

incomeCurrency

The currency in which the registrant's income is paid.

maritalStatus

The registrant's marital status.

orderBefore

Whether the registrant has previously placed an order. This value is supplied by the registrant.

timeZone

The time zone in which the registrant does business (report as GMT +/- hours) .

address1, address2, address3

The registrant's street address, to a maximum of three lines of information.

addressField1, addressField2, addressField3

Customizable fields.

addressType

The purpose of the address. Valid values are:

S

shipto

B

billto

SB

shipto and billto (The default value.)

bestCallingTime

  • D=An indicator that daytime is the best time to call the registrant.

  • E=An indicator that evening is the best time to call the registrant.

billingCode

The registrant's organization's code to identify the shipping or billing addresses and cost center.

billingCodeType

Code designating the method of code structure used for the billing code. The default value is D, assigned by buyer.

city

The name of the city where the registrant resides.

country

The name of the country or region where the registrant resides.

email1

The registrant's primary e-mail or Web address.

email2

The registrant's secondary e-mail or Web address. By default, this parameter is not used for notifications to the member.

receiveEmail

Determines whether the registrant wants to receive e-mail activities for the current store (or all stores if no stores have been visited during the session):

  • true=the user wants to receive e-mail activities

  • false=the user does not want to receive e-mail activities (the default)

fax1

The registrant's primary facsimile number.

fax2

The registrant's secondary facsimile number.

firstName

The first name of the registrant.

lastName

Required if the authentication mode is LDAP: The last name of the registrant. If the authentication mode is LDAP, this parameter is mandatory.

middleName

The middle name of the registrant.

organizationName

The name of the organization that the registrant represents.

organizationUnitName

The name of the unit within the organization that the registrant represents.

packageSuppression

  • 1=An indicator to include package inserts when the order is shipped

  • 0=An indicator to not include package inserts when the order is shipped There is no default for this field. If the field is left unused, it remains null in the database.

personTitle

The title of the user whose address is being entered (for example, Dr., Rev., Mr. or Ms.).

phone1

The registrant's primary phone number.

phone1Type

The type of phone used for the registrant's primary phone number, for example TTY for hearing impaired, PCM for pulse-coded modulation, or CEL for mobile. This is a field of 3 characters.

phone2

The registrant's secondary phone number.

phone2Type

The type of phone used for the registrant's secondary phone number, for example TTY for hearing impaired, PCM for pulse-coded modulation, or CEL for mobile. This is a field of 3 characters.

publishPhone1

  • 1=An indicator that the registrant's primary phone number is listed

  • 0=An indicator that the registrant's primary phone number is unlisted There is no default for these publishPhone fields. If the field is left unused, it remains null in the database.

publishPhone2

  • 1=An indicator that the registrant's secondary phone number is listed

  • 0=An indicator that the registrant's secondary phone number is unlisted

shippingGeoCode

A shipping code based on geographical region, especially useful with tax software.

state

The name of the state, province, or equivalent where the registrant resides.

taxGeoCode

A tax code based on geographical region, especially useful with tax software.

zipCode

The ZIP or postal code of the registrant's address.

Custom member attributes

You can manage custom member attributes (MBRATTRVAL table) for this user using the following syntax: &attributeName_storeId_action_number=value

Where:

attributeName

The name of the custom attribute that has already been defined in the NAME column of the MBRATTR table.

storeId

The store ID of the store for which the attributeName applies. Specify "null" if the attribute is not store specific

action

Specifies the action to perform with the value:

a

add value

r

replace value

d

delete value

number

In the case of multi-valued attributeNames, specify this parameter to assign multiple entries with the same attributeName, storeId, or action.

value

The value that to assign to the attribute.

The following are examples of syntax for customer attributes or parameters:

  • Updates the database with the value of red for a defined customer attribute for the user's favorite color within store 10001: &favoritecolor_10001_r_1=red

  • Updates two attributes: In store 10001, the user's favorite color is red, and in store 10002, the user's favorite color is blue: &favoritecolor_10001_r_1=red&favoritecolor_10002_r_1=blue

  • Deletes an attribute from store 10001: &favoritecolor_10001_d_1=red


Example 1

The following example registers a B2C user

https://myhostname/webapp/wcs/stores/servlet/UserRegistrationAdd?
   
logonId=user1&logonPassword=pass&logonPasswordVerify=pass&URL=MallFrontView


Example 2

The following example registers a B2B user under the Default Organization by specifying the DN as the value for the parentMember parameter.

https://myhostname/webapp/wcs/stores/servlet/UserRegistrationAdd?
   
logonId=b2buser1&logonPassword=pass&logonPasswordVerify=pass&profileType=B
    &parentMember=o=Default Organization,o=Root
Organization&URL=MallFrontView


Example 3

The following example registers a B2B user under the Default Organization by specifying the encrypted orgEntityId as the value of the parentMember parameter.

https://myhostname/webapp/wcs/stores/servlet/UserRegistrationAdd?logonId=b2buser1
   
&logonPassword=pass&logonPasswordVerify=pass&profileType=B
    &parentMember=fpqG/Uw9Pdw=&URL=MallFrontView


Behavior

Note: WebSphere Commerce does not support the concurrent login of two or more users that log in using the same user ID. For example, consider the scenario where two users at a company regularly share an account at a store. Suppose the first user is on the store's payment page, and just before submitting his or her order, the second user logs in. The following is what will take place:

  1. Browser one ... User 1 logs in as user "xyz"; adds an item to the shopping cart.

  2. Browser two ... User 2 logs in as user "xyz" as well, and goes to the shopping cart page and then proceeds to checkout.

  3. Browser one ... User 1 clicks on checkout, but is informed that he or she has been logged off.

  4. Browser two ... User 2 completes the checkout, as normal.

Another scenario is when businesses use a common user ID for their employees to shop at a B2B store. Either only one user should use the common user ID at a given time, or each user should be setup with their own user ID, or else one of the users will likely not complete their transactions.


Exception conditions

Condition Messsage Key Error Code Value Class where exception handling is done
Missing URL _ERR_CMD_MISSING_PARAM - UserRegistrationCmdImpl.java
Length of URL value is 0 _ERR_CMD_INVALID_PARAM - UserRegistrationCmdImpl.java
Missing logonId _ERR_CMD_MISSING_PARAM ECMemberConstants.EC_UREG_ERR_MISSING_LOGONID (2010) UserRegistrationCmdImpl.java
Length of logonId value is 0 OR If WebSphere Commerce is configured to use LDAP, and the logonId value contains "=" or "," _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_UREG_ERR_BAD_LOGONID (2020) UserRegistrationCmdImpl.java
logonId value already exists _ERR_LOGONID_ALREDY_EXIST ECMemberConstants.EC_UREG_ERR_LOGONID_EXISTS (2030) UserRegistrationCmdImpl.java
Missing logonPassword _ERR_CMD_MISSING_PARAM ECMemberConstants.EC_UREG_ERR_MISSING_LOGONPASSWORD (2040) UserRegistrationCmdImpl.java
Length of logonPassword value is 0 _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_UREG_ERR_BAD_LOGONPASSWORD (2050) UserRegistrationCmdImpl.java
Length of logonPassword value is greater than 70 _ERR_CMD_INVALID_PARAM - UserRegistrationCmdImpl.java
Missing logonPasswordVerify when logonPassword is specified _ERR_CMD_MISSING_PARAM ECMemberConstants.EC_UREG_ERR_MISSING_LOGONPASSWORDVERIFY (2060) UserRegistrationCmdImpl.java
Length of logonPasswordVerify is 0 when logonPassword is specified _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_UREG_ERR_BAD_LOGONPASSWORDVERIFY (2070) UserRegistrationCmdImpl.java
logonPassword and logonPasswordVerify are not the same _ERR_PASSWORDS_NOT_SAME ECMemberConstants.EC_UREG_ERR_PASSWORDS_NOT_SAME (2080) UserRegistrationCmdImpl.java
Length of logonPassword is less than minimum specified by password policy _ERR_AUTHENTICATION_MINIMUMLENGTH_PASSWORD ECSecurityConstants.ERR_MINIMUMLENGTH_PASSWORD (2200) AuthenticationPolicyCmdImpl.java
logonPassword is being changed to a previously used password that is not allowed according to the password policy _ERR_AUTHENTICATION_REUSEOLD_PASSWORD ECSecurityConstants.ERR_REUSEOLD_PASSWORD (2260) AuthenticationPolicyCmdImpl.java
logonPassword is the same as logonId, which is not allowed based on the password policy _ERR_AUTHENTICATION_USERIDMATCH_PASSWORD ECSecurityConstants.ERR_USERIDMATCH_PASSWORD (2250) AuthenticationPolicyCmdImpl.java
logonPassword has too many occurences of a consecutive character, as specified by the password policy _ERR_AUTHENTICATION_MAXCONSECUTIVECHAR_PASSWORD ECSecurityConstants.ERR_MAXCONSECUTIVECHAR_PASSWORD (2210) AuthenticationPolicyCmdImpl.java
logonPassword has too many occurrences of the same character, as specified by the password policy _ERR_AUTHENTICATION_MAXINTANCECHAR_PASSWORD ECSecurityConstants.ERR_MAXINTANCECHAR_PASSWORD (2220) AuthenticationPolicyCmdImpl.java
logonPassword has too few alphabetic characters, as specified by the password policy _ERR_AUTHENTICATION_MINIMUMLETTERS_PASSWORD ECSecurityConstants.ERR_MINIMUMLETTERS_PASSWORD (2230) AuthenticationPolicyCmdImpl.java
logonPassword has too few digits, as specified by the password policy _ERR_AUTHENTICATION_MINIMUMDIGITS_PASSWORD ECSecurityConstants.ERR_MINIMUMDIGITS_PASSWORD (2240) AuthenticationPolicyCmdImpl.java
Parent organization is not of type "O" or "OU" _ERR_CMD_INVALID_PARAM - ProcessParentMemberCmdImpl.java
Parent organization is rejected _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ORG_ERR_PARENT_REJECTED (7160) ProcessParentMemberCmdImpl.java
parentMember is neither a DN nor an encrypted organization ID value _ERR_CMD_INVALID_PARAM - ProcessParentMemberCmdImpl.java
profileType is specified but not equal to  'B' nor 'C' _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_USER_ERR_BAD_PROFILETYPE (1010) ProcessProfileTypeCmdImpl.java
The user's parent organization or one of its ancestor organizations is locked. _ERR_PARENT_ORGANIZATION_LOCKED ECMemberConstants.EC_ORG_PARENT_LOCKED (7150) UserRegistrationCmdImpl.java
policyAccountId is specified but not a number or is invalid _ERR_CMD_INVALID_PARAM - UserRegistrationCmdImpl.java
userStatus is specified but unequal to 1 or 0 _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_UREG_ERR_BAD_USERSTATUS (2090) UserRegistrationCmdImpl.java
passwordExpired is specified but unequal to 1 or 0 _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_UREG_ERR_BAD_PASSWORDEXPIRED (2100) UserRegistrationCmdImpl.java
passwordRetries is specified but is not a number _ERR_CMD_INVALID_PARAM - UserRegistrationCmdImpl.java
preferredCurrency is specified but is not a foreign key to the SETCCURR table _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_USER_ERR_INVALID_PREFERREDCURRENCY (1020) UserRegistrationCmdImpl.java
preferredLanguage is specified but is not a foreign key to the LANGUAGE table _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_USER_ERR_INVALID_PREFERREDLANGUAGE (1030) UserRegistrationCmdImpl.java
publishPhone1 is specified but is not an integer _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_PUBLISHPHONE1 (5170) UserRegistrationCmdImpl.java
publishPhone2 is specified but is not an integer _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_PUBLISHPHONE2 (5180) UserRegistrationCmdImpl.java
packageSuppression is specified but is not an integer _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_PACKAGESUPPRESSION (5190) UserRegistrationCmdImpl.java
income is specified but is not an integer _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_DEMO_ERR_BAD_INCOME (6020) UserRegistrationCmdImpl.java
age is specified but is not an integer _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_DEMO_ERR_BAD_AGE (6010) UserRegistrationCmdImpl.java
children is specified but is not an integer _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_DEMO_ERR_BAD_CHILDREN  (6030) UserRegistrationCmdImpl.java
household is specified but is not an integer _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_DEMO_ERR_BAD_HOUSEHOLD (6040) UserRegistrationCmdImpl.java
demographicField6 is specified but is not an integer _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_DEMO_ERR_BAD_FIELD6 (6050) UserRegistrationCmdImpl.java
receiveEmail is specified but does not equal "true" or "false" _ERR_CMD_INVALID_PARAM - UserRegistrationCmdImpl.java
The specified or derived distinguished name already exists _ERR_RDN_ALREADY_EXIST - UserRegistrationCmdImpl.java
Missing lastName when WebSphere Commerce is configured to use LDAP _ERR_CMD_MISSING_PARAM ECMemberConstants.EC_UP_LOGONID ("logonId") WMMAuthenticationCmdImpl.java
lastName is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_LASTNAME (5060) AuditBaseCmdImpl.java
firstName is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_FIRSTNAME (5066) AuditBaseCmdImpl.java
address1 is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_ADDRESS1 (5080) AuditBaseCmdImpl.java
city is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_CITY (5100) AuditBaseCmdImpl.java
state is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_STATE (5120) AuditBaseCmdImpl.java
zipCode is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_ZIPCODE (5140) AuditBaseCmdImpl.java
country is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_COUNTRY (5160) AuditBaseCmdImpl.java
email1 is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_EMAIL1 (5210) AuditBaseCmdImpl.java
email2 is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_EMAIL2 (5230) AuditBaseCmdImpl.java
phone1 is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_PHONE1 (5250) AuditBaseCmdImpl.java
phone2 is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_PHONE2 (5270) AuditBaseCmdImpl.java
fax1 is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_FAX1 (5290) AuditBaseCmdImpl.java
fax2 is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_ADDR_ERR_BAD_FAX1 (5310) AuditBaseCmdImpl.java
employeeId is specified but with length of 0, and is required by AuditUserRegistrationCmd _ERR_CMD_INVALID_PARAM ECMemberConstants.EC_BPROF_ERR_BAD_EMPLOYEEID (4060) AuditBaseCmdImpl.java


Related concepts

Member subsystem


Related tasks

Define custom attributes for member URLs

Related reference

UserRegistrationUpdate URL

Member subsystem URLs

Sample: Member subsystem properties files

Authentication data model


+

Search Tips   |   Advanced Search