Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Update User Profile
Method Objective
The method updates the user's profile or creates a new profile bound to the user's current device if it was not created earlier.
Note |
---|
If you don't have user data, never send bogus data. It'll cause problems in profile handling in the future. For example, don't send a non-existent email, like |
Syntax and parameters
Code Block | ||||
---|---|---|---|---|
| ||||
sdk.setProfileData(params) { callback } |
Name | Type | Requirement | Description |
---|---|---|---|
params | HashMap | required | Object with request parameters. |
callback | function | optionally | Callback Function |
Request Parameters
Name | Type | Description |
---|---|---|
userEmail | string | User Email. |
firstName | string | User First Name. |
gender | string | User Gender (m – male, f – female). |
userLoyaltyId | string | The Loyalty Program user ID (loyalty card). |
lastName | string | User Surname. |
userPhone | string | User Phone. |
userId | string | Store side user ID |
birthday | string | User birthday in the format YYYYY-MM-DD. |
age | string | User age (in years). |
location | string | The user's current location from the list of locations in the product feed. |
customProperties | Dictionary [string: |
Any] | Dictionary of custom properties. The custom property must be created before it can be used. Located there: Account > Settings > Profile Property
|
Example of use
Code Block | ||||
---|---|---|---|---|
| ||||
sdk.setProfileData( userEmail: "john.doe@examplemail.com", userPhone: "4400114527199", userLoyaltyId: "000001234567# custom properties let stringArray = ["item1", "item2", "item3"] let intArray = [1, 2, 3, 4, 5] let floatArray: [Float] = [1.1, 2.2, 3.3] let boolArray = [true, false, true] let dateArray = [Date(),Date(),Date()] let object: [String: Any] = [ "stringKey": "stringValue", "intKey": 123, "floatKey": 45.67, "boolKey": true, "dateKey": Date(), "arrayKey": [1, 2, 3], "nestedObjectKey": [ "nestedStringKey": "nestedValue", "nestedIntKey": 456 ] ] let customProperties: [String: Any] = [ "string_prop": "string_value", birthday: "1990-03-11""integer_prop": 123, "float_prop": 7.62, age"date_prop": "2021-12-31 23:55:00", firstName: "John""stringArray": stringArray, "intArray": intArray, lastName:"floatArray": floatArray, "DoeboolArray": boolArray, location: "NY","dateArray": dateArray, "customObject": object ] sdk.setProfileData( genderuserEmail: "mjohn.doe@examplemail.com", customProperties: [userPhone: "4400114527199", userLoyaltyId: "000001234567", birthday: "property1"1990-03-11", age: "value131", firstName: "John", lastName: "property2"Doe", userId: "value2extID100500", location: "NY", "property3"gender: "value3m", ]customProperties: customProperties ) { (profileDataResp) in print("Profile data callback") } |
Anchor | ||||
---|---|---|---|---|
|
Method Objective
The method allows getting the Device ID of the current profile.
Syntax
Code Block | ||||
---|---|---|---|---|
| ||||
sdk.getDeviceID() |
Example of use
Code Block | ||||
---|---|---|---|---|
| ||||
var deviceId = sdk.getDeviceID() |
Column | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Page Navigation
Related Pages
|