3
3
4
4
default_set_id = "default"
5
5
6
+
6
7
class User (Service ):
7
8
def get_user (self , id ):
8
- warn ("This method is deprecated. Use User.get instead." , DeprecationWarning , stacklevel = 2 )
9
+ warn ("This method is deprecated. Use User.get instead." ,
10
+ DeprecationWarning , stacklevel = 2 )
9
11
return self .get (id )
10
12
11
13
def get (self , id ):
@@ -21,7 +23,6 @@ def get(self, id):
21
23
endpoint = '/users/{}' .format (id )
22
24
return self .client .request ('get' , endpoint )
23
25
24
-
25
26
def identify (self , id , data = {}):
26
27
"""
27
28
Identify a user, upserting them
@@ -62,7 +63,7 @@ def delete(self, id):
62
63
"""
63
64
endpoint = '/users/{}' .format (id )
64
65
return self .client .request ('delete' , endpoint )
65
-
66
+
66
67
def bulk_delete (self , user_ids ):
67
68
"""
68
69
Bulk deletes up to 100 users.
@@ -77,7 +78,7 @@ def bulk_delete(self, user_ids):
77
78
data = {'user_ids' : user_ids }
78
79
return self .client .request ('post' , endpoint , payload = data )
79
80
80
- def get_feed (self , user_id , channel_id , options = None ):
81
+ def get_feed (self , user_id , channel_id , options = None ):
81
82
"""
82
83
Gets a feed for the given user
83
84
@@ -92,6 +93,21 @@ def get_feed(self, user_id, channel_id, options = None):
92
93
endpoint = '/users/{}/feeds/{}' .format (user_id , channel_id )
93
94
return self .client .request ('get' , endpoint , payload = options )
94
95
96
+ def merge (self , user_id , from_user_id ):
97
+ """
98
+ Merges the user specified with `from_user_id` into the user specified with `user_id`.
99
+
100
+ Args:
101
+ user_id (str): The ID of the user to merge into
102
+ from_user_id (str): The ID of the user to merge from
103
+
104
+ Returns
105
+ dict: A Knock User response
106
+ """
107
+ endpoint = '/users/{}/merge' .format (user_id )
108
+ data = {'from_user_id' : from_user_id }
109
+ return self .client .request ('post' , endpoint , payload = data )
110
+
95
111
##
96
112
# Channel data
97
113
##
@@ -186,7 +202,7 @@ def set_preferences(self, user_id, channel_types=None, categories=None, workflow
186
202
}
187
203
188
204
return self .client .request ('put' , endpoint , payload = params )
189
-
205
+
190
206
def bulk_set_preferences (self , user_ids = [], preferences = {}, options = {}):
191
207
"""
192
208
Bulk sets the preference set for the users given
0 commit comments