How SuprSend Identifies a User
SuprSend identifies users with immutable distinct_id
. It’s best to map the same identifier in your DB with distinct_id
in SuprSend. Do not use identifiers that can be changed like email or phone number. You can view synced users by searching distinct_id
on Users page.
Create User
To create a new user or to update an existing user, you’ll have to fetch user instance. Call supr_client.user.get_instance
to instantiate user object.
const user = supr_client.user.get_instance("_distinct_id_"); // create user instance
// user methods mentioned in this docs can be attached to user instance if needed
const response = user.save() // IMP: trigger request
response.then((res) => console.log("response", res));
Edit User
To Edit user, you need to first fetch user instance, call all the update methods and save changes using user.save()
method.
// Fetch user instance
const user = supr_client.users.get_edit_instance("_distinct_id_");
// Call user update methods
user.set_timezone("America/Los_Angeles");
user.set("name", "John Doe");
// Save Changes
const response = user.save(); // IMP: trigger request
response.then((res) => console.log("response", res));
Here’s a list of all edit methods:
After calling add*/remove*/unset
methods, don’t forget to call the user.save()
request. the changes will be sent to SuprSend only after calling this method.
Bulk API for Updating Multiple User Profiles
To update multiple user profiles use Bulk API. There isn’t any limit on number-of-records that can be added to bulk_users
instance. Use append()
on bulk_users
instance to add however-many-records to call in bulk.
const { Suprsend } = require("@suprsend/node-sdk");
const supr_client = new Suprsend("workspace_key", "workspace_secret");
const bulk_ins = supr_client.bulk_users.new_instance()
// user1 instance
const user1 = supr_client.user.get_instance("_distinct_id_1")
user1.add_email("u1@example.com")
user1.set_preferred_language("en")
// user2 instance
const user2 = supr_client.user.get_instance("_distinct_id_2")
user2.remove_email("u2@example.com")
//append users instance to bulk instance
bulk_ins.append(user1)
bulk_ins.append(user2)
// OR
bulk_ins.append(user1, user2)
// trigger request
const response = bulk_ins.save()
response.then((res) => console.log("response", res));
Get User Details
const response = await supr_client.users.get(_distinct_id_);
Delete User
const response = await supr_client.users.delete(_distinct_id_);
Get List of Objects Subscribed by User
const response = await supr_client.users.get_objects_subscribed_to(_distinct_id_, {limit:20});
You can pass optional query parameters - limit
,before
,after
.
Get Lists Subscribed by User
const response = await supr_client.users.get_lists_subscribed_to(_distinct_id_, {limit:20});
You can pass optional query parameters - limit
,before
,after
.