NotifyVisitors API endpoints enable you to create and update users whenever they perform any actions on your site. But before you know how to create and update the users, it is important to identify the users to make the tracking process more feasible.
DIFFERENT API ENDPOINTS
NotifyVisitors provides different API endpoints for creating users :
Upload user profile
- This endpoint enables you to create and update user profiles. You can create single or multiple users by this API. Upload a maximum of 100 users at an API call.
https://analytics.notifyvisitors.com/api/v1/user/create
List of a user profile by events
- This endpoint helps you in getting the list of user profiles. You simply have to specify the event name, date range and batch size required.
https://analytics.notifyvisitors.com/api/v1/user/profile
Total no. of profiles matching event query
- The following API endpoint is used to get the total number of profiles that match an event query.
https://analytics.notifyvisitors.com/api/v1/user/count
Delete a user profile
- This endpoint enables you to delete a user profile.
https://analytics.notifyvisitors.com/api/v1/user/delete
Individual user profile data from user id
- Get user profile data through this API.
https://analytics.notifyvisitors.com/api/v1/user/userData
API RATE LIMIT
- The API rate limit is the number of times the API can be requested per minute.
- You can make up to 500 API requests per minute on an API.
- If the limit exceeds, the app will throw an error in Response. All API requests are
subject to rate limits.
How to pass the user attributes while creating or updating a user
Refer to the below example for the same
curl --request POST \
--url https://analytics.notifyvisitors.com/api/v1/user/create \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'x-brand-id: YOUR_BRAND_ID' \
--data '{
"userId": "michaelclark",
"firstName": "Michael",
"lastName": "Clark",
"birthDate": "1986-08-19T15:45:00-0800",
"gender":"male",
"email":"[email protected]",
"phone":"+551155256325",
"company":"Alphabet Inc.",
"attributes": {
"Age":"31",
"Twitter username": "@michaelclark86",
"Dollars spent": 461.93,
"Points earned": 78732
}}
Note:
You can select parameters from the given table on the right to send user attributes in request body.
POINTS TO REMEMBER WHILE SETTING ATTRIBUTES:
-
The User attribute names must be less than 50 characters and string attribute
values must be less than 1000 characters. -
The JSON object customer value cannot be used to create segments.
-
The data type must be consistent and firm with the value you want to save against an attribute.
PARAMETER | TYPE | ATTRIBUTE DESCRIPTION | MANDATORY |
---|---|---|---|
user_id | String | Either user id or anonymous id is mandatory.( identifier for a known user) User id can be of 100 characters. | Yes |
name | String | ||
first Name | String | First name of the user | No |
last Name | String | Last name of the user | No |
birth_date | String | Birth date in YYYY-MM-DD format | No |
gender | String | Gender - value can only be one of male, female, other | No |
String | Email ID | No | |
mobile | String | Phone number of the user in E.164 format eg. +551155256325, +917850009678 | No |
email_opt_in | integer | 1 -> reachable on email 0 -> not available , 2 -> bounced | No |
sms_opt_in | integer | 1 -> reachable on sms , 0 -> not available , 2 -> invalid | No |
whatsapp_opt_in | integer | 1 -> opt in for whatsapp , 0 -> no, 2 -> invalid | No |
company | String | Name of the company in which user works | No |
hashed_email | String | Encrypted email address for use with a private ESP | No |
hashed_mobile | String | Encrypted phone number for use with a private ESP | No |
attributes | Object | Custom attributes of the user as key-value pairs. For example: { "userPlan": "Premium" } | No |
RETURNS:
- When you call API to send the users’ data, you can receive the response. i..e status of the request
as “success, queued or error.
{
"response": {
"status": "queued"
}
}
- You also get the reason if the status is shown as “ERROR” as given below :
{
"response": {
"message":"Error: userId and anonymousId cannot be empty.",
"status":"error"
}
}