UserRegistrationUpdate 指令
這個指令會更新使用者的登錄記錄。
請搭配 SSL(安全 Sockets 層次)使用此指令,以確保客戶的登入密碼與個人資訊皆經過加密。其做法是鍵入指令與 HTTPS 安全通信協定。
參數值
- http://host_name/path/
- (必要)WebSphere Commerce Server 和架構路徑的完整名稱。
- langId
- 設定或重設在階段作業期間的屬意語言;
有關商店的支援語言可在 STORELANG 表格中找到。
- URL
- (必要)當指令順利完成時所要呼叫的 URL。
- storeId
- 這個指令之相關商店的參考號碼。
- logonId
- 登錄者的登錄 ID。
- logonPassword
- 登錄者的密碼。密碼儲存到資料庫之前,會經由這個指令的加密。
- logonPasswordVerify
- (如果使用 logonPassword 的話,這是必要的)第二次輸入的登錄者密碼。
- userStatus
- 有沒有啟用登錄者的帳號:
1=啟用(預設值)
0=停用
- passwordExpired
- 登錄者的密碼有沒有過期:
1=沒有過期(這是預設值)
0 = 過期
- challengeQuestion
- 口頭確認購物者身份的檢核。
- challengeAnswer
- 對檢核問題的回答。
- profileType
- 指示登錄類型:
<Null>=沒有設定檔資料,只有鑑別資料;只有 USERREG 表格的資料
C=大眾消費型商務登錄設定檔資料;鑑別資料及 USERPROF 表格的資料(預設值)。
B=企業消費型商務登錄設定檔資料;鑑別資料及 BUSPROF 表格的資料。
- preferredCurrency
- 登錄者在交易時偏好使用的貨幣;它是參照 SETCURR 表格中之 SETCCURR 直欄的外來鍵。
- preferredLanguage
- 登錄者偏好的語言;它是參照 LANGUAGE 表格中之 LANGUAGE_ID 直欄的外來鍵。
- userField1 到 userField3
- 可自訂的欄位。
- displayName
- 在摘要清單中顯示登錄者名稱時所用的名稱。
- photo
- 登錄者照片的 URL 或路徑。
- preferredCommunication
- 登錄者偏好的電話(儲存在 ADDRESS 表格中),比方說:
P1=電話 1
P2=電話 2
- preferredDelivery
- 登錄者偏好的遞送模式。
- 說明
- 登錄者的說明。
- userProfileField1 和 userProfileField2
- 可自訂的欄位。
- organizationId
- 登錄者公司的識別碼;它是參照 ORGENTITY 表格的外來鍵。
- organizationUnitId
- 登錄者組織單位的識別碼;它是參照 ORGENTITY 表格的外來鍵。
- employeeId
- 內含雇主的登錄者員工 ID。
- alternateId
- 登錄者的商業組織或組織單位指派給這個特定客戶的特殊 ID。
- employeeType
- 登錄者的員工狀態(如正式員工、永久員工、約聘人員、兼職人員)。
- departmentNumber
- 登錄者的部門識別碼。
- manager
- 登錄者的經理姓名。
- secretary
- 登錄者的秘書姓名。
- gender
- 登錄者的性別。
- age
- 登錄者的年齡。
- income
- 登錄者的年收入。
- incomeCurrency
- 登錄者的收入貨幣。
- maritalStatus
- 登錄者的婚姻狀態。
- children
- 登錄者所擁有的小孩人數。
- household
- 登錄者的家庭成員人數;預設值為 1。
- companyName
- 登錄者所代表之組織的公司名稱,在填入個人背景資訊時取得。
- hobbies
- 登錄者的嗜好。
- orderBefore
- 登錄者以往是否曾下過單。這個值是登錄者所提供的。
- timeZone
- 登錄者營業所在時區(以 GMT +/- 小時顯示)。
- demographicField1 至 demographicField4
- 個人背景資訊的可自訂欄位;這些是單字元欄位。
- demographicField5
- 個人背景資訊的可自訂欄位;這是 254 字元的欄位。
- demographicField6
- 個人背景資訊的可自訂欄位;這是整數欄位。
- demographicField7
- 個人背景資訊的可自訂欄位;這是類型為 varchar、長度為 64 的欄位。
- personTitle
- 登錄者的職稱(如博士、先生或小姐)。
- lastName
- 登錄者的姓氏。
- firstName
- 登錄者的名字。
- middleName
- 登錄者的別名或姓名的起始字母。
- address1
- 登錄者地址的第一行。
- address2
- 登錄者地址的第二行。
- address3
- 登錄者地址的第三行。
- city
- 登錄者所在的城市名稱。
- state
- 登錄者所在的州/省(縣/市)或同等名稱
- zipCode
- 登錄者地址的郵遞區號。
- country
- 登錄者所在的國家(或地區)名稱。
- bestCallingTime
- D - 此指示碼表示白天是最佳聯絡時間
E - 此指示碼表示晚上是最佳聯絡時間
- phone1
- 登錄者的主要電話號碼。
- phone2
- 登錄者的次要電話號碼。
- phone1Type
-
登錄者主要電話號碼所用的電話類型,比方說,供聽障人士使用的 TTY、用於脈衝碼調變的 PCM,或行動電話的 CEL。這個欄位可有 3 個字元。
- phone2Type
-
登錄者次要電話號碼所用的電話類型,比方說,供聽障人士使用的 TTY、用於脈衝碼調變的 PCM,或行動電話的 CEL。這個欄位可有 3 個字元。
- publishPhone1
- 1=表示列出登錄者主要電話號碼的指示碼
- 0=表示不列出登錄者主要電話號碼的指示碼
這些 publishPhone 欄位沒有預設值。如果欄位維持沒有使用,資料庫中會保留空值。
- publishPhone2
- 1=表示列出登錄者次要電話號碼的指示碼
- 0=表示不列出登錄者次要電話號碼的指示碼
- fax1
- 登錄者的主要傳真號碼。
- fax2
- 登錄者的次要傳真號碼。
- email1
- 登錄者的主要電子郵件位址或網址。
- email2
- 登錄者的次要電子郵件位址或網址。
- businessTitle
- 登錄者的公司職稱。
- organizationName
- 登錄者所代表的組織名稱。
- organizationUnitName
- 登錄者所代表的組織內的單位名稱。
- officeAddress
- 內部地址(如收發中心)。
- billingCode
- 登錄者組織的代碼,用以識別出貨或帳單地址以及成本中心。
- billingCodeType
- 代表帳單代碼所用之代碼結構方法的代碼。
預設值為 D(由買方指定)。值 02 表示由 Ariba 指定。
- packageSuppression
- 1=表示在訂單出貨時要在包裝中夾帶廣告傳單的指示碼。
0=表示在訂單出貨時不要在包裝中夾帶廣告傳單的指示碼。
這個欄位沒有預設值。如果欄位維持沒有使用,資料庫中會保留空值。
- addressfield1 到 addressfield3
- 可自訂的欄位。
- taxPayerId
- 用來識別課稅使用者的字串,在搭配稅金軟體時尤其有用。
- shippingGeoCode
- 視地理區域而定的出貨代碼,對稅金軟體特別有用。
- taxGeoCode
- 視地理區域而定的稅金代碼,對於稅金軟體特別有用。
範例
下列範例會建立購物者的登錄記錄,其中包括預設作業指令所需要的所有參數,之後,再呼叫 InterestItemDisplay 指令。
https://myhostname/webapp/wcs/stores/servlet/UserRegistrationUpdate?
&URL=/webapp/wcs/stores/servlet/InterestItemDisplay
&logonId=jennyk&logonPassword=butter&logonPasswordVerify=butter
&lastName=Kohl&Address1=255+Consumers+Road&City=Toronto
&State=Ontario&Country=Canada
規則
- 從指令上下文中取得現行使用者的使用者 ID。
- 更新下列表格中的使用者記錄:USERREG、USERPROF、USERDEMO 及 ADDRESS。
另外:
-
如果這位使用者是商業使用者 (profileType = 'B'),則會同時更新 BUSPROF 表格。
-
如果這位使用者沒有通訊錄,則會同時在 ADDRBOOK 表格中建立一項記錄。
- 如果改變 logonId,請將登錄地址的暱稱更新至新的 logonId。
- 無法更新 profileType 參數。
- 檢查必要的登錄資訊參數。
- 呼叫 AuditUserRegistrationCmd 作業來檢查其它參數。
如果客戶想自訂檢查作業,就必須在 AuditAddressCmd 作業指令中新增新的程式碼。
- 如果 preferredCurrency 參數不是空值,請呼叫 SetCurrencyPrefCmd 作業。
- 如果鑑別模式是 LDAP,則在 LDAP 伺服器中更新這位使用者的資訊。
- 更新傳回給瀏覽器以指出使用者之階段作業的 cookie。 cookie 包含下列資訊:
- SESSION_ID
- 指出購物者是否已登錄的旗號
- 購物者登入的日期與時間(時間戳記)
- 一個數位化簽章
- 若登入失敗,則會呼叫 UserRegistrationErrorView。
- 當順利完成時,則會呼叫指定的重新導向 URL。
異常狀況
- URL 參數不得為空值,且其長度必須大於 0。
- logonId 參數必須是空值、長度大於 0、等於舊 logonId,否則,不能存在於 WebSphere Commerce 中。
如果鑑別模式是 LDAP,則 logonId 參數也不應存在於 LDAP 中。
- logonPassword 參數必須是空值或和 logonPasswordVerify 相同。對 logonPasswordVerify 而言,反之亦然。這些參數的長度必須大於 0,且小於或等於 70。
- userStatus 和 passwordExpired 參數必須是空值,或者必須等於 0 或 1。
- preferredCurrency 參數必須是空值,或必須設為 SETCCURR 表格的外來鍵。
- preferredLanguage 參數必須是空值,或必須設為 LANGUAGE 表格的外來鍵。
- age、income、children、household、demographicField6、
publishPhone1、publishPhone2 與 packageSupression 參數必須是空值或者整數。如果 profileType 參數是 'B',則必須符合下列狀況:
-
如果 organizationId 參數不是空值,它必須是一個外來鍵,指向 ORGENTITY 表格中類型為 O 的列。
- 如果 organizationUnitId 參數不是空值,則 organizationUnitId 必須是一個外來鍵,指向 ORGENTITY 表格中類型為 OU 的列。