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.