User Profile
In the first chapter when you learned to initialize the Engagespot front-end SDK, you passsed a unique identifier to the userId parameter. What if you want to specify more details about your user such as their name, email, location etc?
Engagespot allows you to add more attributes to a user's profile as key-value pairs. This helps you to use those attributes in your email provider's template or for any other purposes.
Adding attributes to user's profile.
You can add attributes as key-value pairs to your user's profile either via REST API or our client SDKs (For example - ReactJS or Core Javascript).
Using Javascript Core SDK
You should use the setProfileAttributes method to store key value pairs to your user's profile
const engagespotClient = new Engagespot('API_KEY', {
userId: '123e4567-e89b-12d3-a456-426614174000',
});
engagespotClient.setProfileAttributes({
email: 'myuser@myexamplesite.com',
phone: '+19876543210',
name: 'Anand',
});
This will add three profile attributes - email, phone and name to your user's (123e4567-e89b-12d3-a456-426614174000) profile.
Using REST API
You can use the PUT method on /users end point or PUT method of /profile endpoint in the REST API to update your user's profile.
Read API Docs for more information.
- Node
- cURL
import { EngagespotClient } from '@engagespot/node';
const client = EngagespotClient({
apiKey: 'ENGAGESPOT_API_KEY',
apiSecret: 'ENGAGESPOT_API_SECRET',
});
client.createOrUpdateUser('identifier', {
email: 'xxx@xxx.com',
phoneNumber: '+xxxxxxxxx',
});
curl --location --request PUT 'https://api.engagespot.co/v3/users/{identifier}' \
--header 'X-ENGAGESPOT-API-KEY: ENGAGESPOT_API_KEY' \
--header 'X-ENGAGESPOT-API-SECRET: ENGAGESPOT_API_SECRET' \
--header 'Content-Type: application/json' \
--data-raw '{
"email":"xxx@xxx.com",
"phoneNumber":"+xxxxxxxxx"
}'
Alternatively, you can use PATCH method on /profile endpoint which uses JSON Patch syntax to do complex operations on your Profile object.