Skip to main content

Update Profile with Extended Data

PUT 

/client/users/:correlation_id/profile

This request provides extended member data, including attribute values, to be included with the member profile.

Path Variables

  • Identifier
    • The identifier that points to the account the session is being opened for.

Request

  • This call is used to update an account's primary attributes.

  • This call can also be used to add extendedData attributes to an account for reporting/analytics purposes. An extendedDataSource may be specified as well to support multi-source EMD.

  • If the profile information already includes extended data and is being updated (including changes to extended member data, or EMD), all extendedData should be sent, but if the EMD should not change, then the extendedData object should be omitted.

  • The Update Profile call can be used for both Loyalty and Non-Loyalty accounts.

  • To update an account, the correct x-identifier-type must be passed into the Customer Experience Start Session call.

Body

AttributeDefinitionFormatNotes
dateOfBirthDate on which the member was bornString.Optional. "YYYY-MM-DD"
genderSelf-identified gender of the memberEnum: "M", "F", "Other", "PreferNotToSay"Optional. M = 'MALE', F = 'FEMALE', Other = 'Other', PreferNotToSay = 'PreferNotToSay'
firstNameThe first name of the memberStringRequired field. Can be empty.
lastNameThe last name of the memberStringRequired field. Can be empty.
emailThe email address of the memberString. Must be in standard email format.Required field. Validation requires the '@' symbol and the '.' with characters
businessNameName of the B2B customer businessString
postalZipCodeCustomer's Postal Code (Canada) or Zip Code (United States)StringRequired field. Validation requires that the postalCode is formatted correctly.

Example (Postal Code): "H0H 0H0"
Example (Zip Code): "00000"
postalCodeThe postal code of the memberStringThis attribute is deprecated.
streetFirst line of street addressString
street2Additional line of street addressString
provinceStateCustomer's province or stateEnum

Canada provinces: "NL", "PE", "NS", "NB", "QC", "ON", "MB", "SK", "AB", "BC", "YT", "NT", or "NU"

American states: "AL", "AK", "AS", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FM", "FL", "GA", "GU", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MH", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "MP", "OH", "OK", "OR", "PW", "PA", "PR", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VI", "VA", "WA", "WV", "WI", "WY"

American military states: "AE", "AP", "AA"
Provinces and territories in Canada or states and military states on United States
provinceProvince of residence for the memberEnum: "NL", "PE", "NS", "NB", "QC", "ON", "MB", "SK", "AB", "BC", "YT", "NT", or "NU"This attribute is deprecated.
phoneNumberPhone number of the memberStringFormat should be: "(nnn) nnn-nnnn"
languagePreferenceSpecifies English or French language preference for the memberStringConforms to the ISO 639 standard (en-CA, fr-CA)
cityCity of residence for the memberString
extendedDataSourceUsed with multi-source EMD to identify the source of the EMD provided.StringOptional, used only with multi-source EMD. For example: "MARKETING", "PARTNERSHIP", "PPN", "SALESFORCE", or "BANKING_INFO"
channelIdentify the source of EMD provided as a channelStringFor instance: "APP", "WEB", "STORE", etc.
extendedDataAdditional data about the member. Additional data can be added for reporting or analytics. The client can determine the information they want to add to reporting using value pairs.StringExtended data objects can also contain targetable attributes for offers. For example, for bank account information, the attributes could be: "bankName", "institutionNumber", "accountNumber", "transitNumber", and "accountHolderType".
Note: The following attributes are an example only and would be used to set marketing communications statuses for a member.
caslWhether Canada's Anti-Spam Legislation (CASL) is applicable to this member.Boolean: true or falseRequired
doNotEmailWhether the member has opted in to receiving marketing emails.Boolean: true or falseRequired
doNotPhoneWhether the member has opted in to receiving marketing phone calls.Boolean: true or falseRequired
doNotTextWhether the member has opted in to receiving marketing SMS messages.Boolean: true or falseRequired
enrollmentChannelChannel through which enrollment took place.StringOptional. Source of member opt-in information such as "web" or "ES Loyalty" system
retailIdClient-specific key for the retail store or location.StringRequired only for specific client.

Response

AttributeDefinitionFormatNotes
debugMessageMessage specifies result of update with extended dataEnum: "Profile Updated"

Error Responses

statusCodeerrorMessageerrorCodeDefinition
400 Bad RequestThe following missing fields are mandatory: dateOfBirth gender email postalCodeINVALID_REQUESTAll mandatory fields are not included in request body: dateOfBirth, gender, email, and postalCode
400 Bad RequestSorry, that email address is already in useEMAIL_ALREADY_EXISTSmail address used in request is already in the database
400 Bad RequestProvided business name is not validINVALID_REQUESTWhen provided business name has more than 100 characters
400 Bad RequestInvalid Extended data: Exceeded data size limit for extended data: {dataSize} BytesINVALID_REQUESTWhen extendedData size exceeds the size limit. See the limit on ConfigType='EXTENDED_DATA', attribute Platform.DataSizeLimitInKb in configuration file.
400 Bad RequestInvalid Extended data: Exceeded root level key limit for extended data {numberOfKeys} keysINVALID_REQUESTWhen extendedData exceeds number of attributes/keys limit. See the limit on ConfigType='EXTENDED_DATA', attribute Platform.TopLevelKeysLimit in configuration file.
400 Bad RequestAttribute(s) {att1}, {att-x} are already used in another source.INVALID_REQUESTAttributes must be unique to this EMD source.
400 Bad RequestINTERNAL cannot be used as extended data source.INVALID_REQUESTINTERNAL is not a valid EMD data source value.
400 Bad Request{value} is not valid extended data source.INVALID_REQUESTData source name provided is not valid.
400 Bad RequestInvalid PostalZipCode: {postalZipCode}INVALID_REQUESTInvalid Postal Code or Zip Code
400 Bad RequestInvalid provinceState: {provinceState}INVALID_REQUESTInvalid Province or State

Request

Responses

200 - Profile Updated