Definition of flexible and dynamic, but usable user profile attributes.
The solution provides application administrators under the Developer Console, a simple UI to define the user profile attributes and to present them in different languages.
The Advanced User Profile API can be used to define / store / query identities, user attributes, and other data available on an Advanced User Profile, anywhere you can make an HTTPS request.
Advanced User Profile API can be used to drive one-to-one personalized experiences for your users.
Workflow
As a best practice, your app frontend should never directly query the Advanced User Profile API. Instead, to successfully implement personalization using the Advanced User Profile API, you should create a backend personalization service. This can be built into your backend framework or can be a simple standalone service. This service can act as a broker between your frontend and the Advanced User Profile API.
Actual implementation of Advanced User Profile API allows you to access it from your frontend application once you have the access_token of that particular user.
Your app client asks your personalization service for specific personalization information, such as product recommendations, providing an identity for the current user.
Your personalization service queries the Advanced User Profile API and determines the desired behavior in the app, based on information in the profile.
Your personalization service returns only the information necessary to implement the desired personalization to your app’s frontend. For example, an array of products.
Authentication
You need the access_token of that particular user, that is obtained using the Developer Console API.
Profile builder
The Advanced User Profile is available, just use the user profile builder.
First you need to decide what is the taxonomy supported for user profile on that specific application.
End user profile can look like this:
A group is represented for example by “Social Status”, where the user selects values (on bold) from each option:
- Option name: Level , values : good, medium, bad
- Option name: Hobby , values : bike, playing cards, reading
- Option name: Target, values : …..
A User Profile is defined by Groups of options and their values.
For example, maybe different categories / values that define the user profile in your application.
For that you need to access the “Manage Profile” action on top right.
Manage Profile
This feature – Advanced User Profile – is an API collection intended to speed up your application development offering ready-to-use infrastructure.
Language
Manage profile gives you the options to define the user profile supported languages. Maybe your mobile application will interact with users from different countries, right?
For convenience one language must be default. This is useful to be selected the last one form the list, as seen in the picture above.
Groups and options
It allows you to define the taxonomy that will be used to define the user profile.
If you select the Location option from our example, you can define 2 options : urban / rural.
We can add a Location Group. The Name can be defined on the languages defined before.
Then different options can be defined, in our case, Living area that refer Urban / Rural.
Different values are supported and using this hierarchy a full taxonomy can be defined for your application.
All these operations can be realized using the API.
Sample
A new option can be created by editing a group.
The flow is similar to the group creation, the only difference being structure and type properties.
The structure can be Array, Range, Boolean.
The type is based on the structure.
Structure | Type | Example |
Array |
Integer | [1,2,3] |
Double | [1.2,2.4,3.4] | |
String | [”good”,”medium”,”bad”] | |
Range | Integer | [1,5] |
Double | [1.1,5.1] | |
Boolean | Boolean | no value needed |
API endpoints used (see options and option_translations endpoints in Profile API collection).
Usage of Advance User Profile
Once the taxonomy is defined your application can capture / evolve the end user profile using API.
Here it is an example for a user associated profile.
Of course, the UI of Developer Console is not the main section of your application users, this UI is offering the basic tools to check the values of a specific user and learn how it work.
Now you need to integrate the API with your own mobile or web application.