Class: Iterable::Users
- Inherits:
-
ApiResource
- Object
- ApiResource
- Iterable::Users
- Defined in:
- lib/iterable/users.rb
Overview
Interact with /users API endpoints
Instance Attribute Summary
Attributes inherited from ApiResource
Instance Method Summary collapse
-
#bulk_update(users = []) ⇒ Iterable::Response
Bulk update user data or adds it if does not exist.
-
#bulk_update_subscriptions(subscriptions = []) ⇒ Iterable::Response
Update user subscriptions in bulk.
-
#delete(email) ⇒ Iterable::Response
Delete a user by their email.
-
#delete_by_id(user_id) ⇒ Iterable::Response
Delete a user by their userId.
-
#disable_device(token, email = nil, user_id = nil) ⇒ Iterable::Response
Disable a device.
-
#fields ⇒ Iterable::Response
Get the user fields with mappings from field to type.
-
#for_email(email) ⇒ Iterable::Response
Get a user by their email.
-
#for_id(user_id) ⇒ Iterable::Response
Get a user by their userId.
-
#register_browser_token(email, token, attrs = {}) ⇒ Iterable::Response
Register a browser token for a user.
-
#sent_messages(email, start_time = nil, end_time = nil, params = {}) ⇒ Iterable::Response
Get sent messages for a user.
-
#update(email, attrs = {}) ⇒ Iterable::Response
Update user data or adds a user if missing.
-
#update_email(email, new_email) ⇒ Iterable::Response
Update a user email.
-
#update_subscriptions(email, attrs = {}) ⇒ Iterable::Response
Update user subscriptions.
Methods inherited from ApiResource
#default_config, default_config, #initialize
Constructor Details
This class inherits a constructor from Iterable::ApiResource
Instance Method Details
#bulk_update(users = []) ⇒ Iterable::Response
User fields can be email [String], dataFields [Hash], or userId [String]
Bulk update user data or adds it if does not exist. Data is merged and missing fields are not deleted
39 40 41 |
# File 'lib/iterable/users.rb', line 39 def bulk_update(users = []) Iterable.request(conf, '/users/bulkUpdate').post(users: users) end |
#bulk_update_subscriptions(subscriptions = []) ⇒ Iterable::Response
Refer to [Iterable::Users#update_subscriptions] for what subscription
Update user subscriptions in bulk. Overwrites existing data if the field is provided and not null
information is needed such as email
68 69 70 71 |
# File 'lib/iterable/users.rb', line 68 def bulk_update_subscriptions(subscriptions = []) attrs = { updateSubscriptionsRequests: subscriptions } Iterable.request(conf, '/users/bulkUpdateSubscriptions').post(attrs) end |
#delete(email) ⇒ Iterable::Response
Delete a user by their email
103 104 105 |
# File 'lib/iterable/users.rb', line 103 def delete(email) Iterable.request(conf, "/users/#{email}").delete end |
#delete_by_id(user_id) ⇒ Iterable::Response
Delete a user by their userId
114 115 116 |
# File 'lib/iterable/users.rb', line 114 def delete_by_id(user_id) Iterable.request(conf, "/users/byUserId/#{user_id}").delete end |
#disable_device(token, email = nil, user_id = nil) ⇒ Iterable::Response
An email or userId is required
Disable a device
166 167 168 169 170 171 |
# File 'lib/iterable/users.rb', line 166 def disable_device(token, email = nil, user_id = nil) attrs = { token: token } attrs[:email] = email if email attrs[:userId] = user_id if user_id Iterable.request(conf, '/users/disableDevice').post(attrs) end |
#fields ⇒ Iterable::Response
Get the user fields with mappings from field to type
134 135 136 |
# File 'lib/iterable/users.rb', line 134 def fields Iterable.request(conf, '/users/getFields').get end |
#for_email(email) ⇒ Iterable::Response
Get a user by their email
80 81 82 |
# File 'lib/iterable/users.rb', line 80 def for_email(email) Iterable.request(conf, "/users/#{email}").get end |
#for_id(user_id) ⇒ Iterable::Response
Get a user by their userId
125 126 127 |
# File 'lib/iterable/users.rb', line 125 def for_id(user_id) Iterable.request(conf, "/users/byUserId/#{user_id}").get end |
#register_browser_token(email, token, attrs = {}) ⇒ Iterable::Response
An email or userId is required
Register a browser token for a user
149 150 151 152 153 |
# File 'lib/iterable/users.rb', line 149 def register_browser_token(email, token, attrs = {}) attrs[:email] = email attrs[:browserToken] = token Iterable.request(conf, '/users/registerBrowserToken').post(attrs) end |
#sent_messages(email, start_time = nil, end_time = nil, params = {}) ⇒ Iterable::Response
Get sent messages for a user
183 184 185 186 187 188 |
# File 'lib/iterable/users.rb', line 183 def (email, start_time = nil, end_time = nil, params = {}) params[:email] = email params[:startTime] = start_time.to_s if start_time params[:endTime] = end_time.to_s if end_time Iterable.request(conf, '/users/getSentMessages', params).get end |
#update(email, attrs = {}) ⇒ Iterable::Response
Update user data or adds a user if missing. Data is merged - missing fields are not deleted
24 25 26 27 |
# File 'lib/iterable/users.rb', line 24 def update(email, attrs = {}) attrs['email'] = email Iterable.request(conf, '/users/update').post(attrs) end |
#update_email(email, new_email) ⇒ Iterable::Response
Update a user email
91 92 93 94 |
# File 'lib/iterable/users.rb', line 91 def update_email(email, new_email) attrs = { currentEmail: email, newEmail: new_email } Iterable.request(conf, '/users/updateEmail').post(attrs) end |
#update_subscriptions(email, attrs = {}) ⇒ Iterable::Response
Update user subscriptions. Overwrites existing data if the field is provided and not null
52 53 54 55 |
# File 'lib/iterable/users.rb', line 52 def update_subscriptions(email, attrs = {}) attrs['email'] = email Iterable.request(conf, '/users/updateSubscriptions').post(attrs) end |