Class: Iterable::Users

Inherits:
ApiResource show all
Defined in:
lib/iterable/users.rb

Overview

Interact with /users API endpoints

Examples:

Creating users endpoint object

# With default config
templates = Iterable::Users.new
templates.get

# With custom config
conf = Iterable::Config.new(token: 'new-token')
templates = Iterable::Users.new(config)

Instance Attribute Summary

Attributes inherited from ApiResource

#conf

Instance Method Summary collapse

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 = []) ⇒ Object



60
61
62
# File 'lib/iterable/users.rb', line 60

def bulk_update(users = [])
  Iterable.request(conf, '/users/bulkUpdate').post(users: users)
end

#bulk_update_subscriptions(subscriptions = []) ⇒ Object



108
109
110
111
# File 'lib/iterable/users.rb', line 108

def bulk_update_subscriptions(subscriptions = [])
  attrs = { updateSubscriptionsRequests: subscriptions }
  Iterable.request(conf, '/users/bulkUpdateSubscriptions').post(attrs)
end

#delete(email) ⇒ Object



151
152
153
# File 'lib/iterable/users.rb', line 151

def delete(email)
  Iterable.request(conf, "/users/#{email}").delete
end

#delete_by_id(user_id) ⇒ Object



163
164
165
# File 'lib/iterable/users.rb', line 163

def delete_by_id(user_id)
  Iterable.request(conf, "/users/byUserId/#{user_id}").delete
end

#disable_device(token, email = nil, user_id = nil) ⇒ Object



234
235
236
237
238
239
# File 'lib/iterable/users.rb', line 234

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

#fieldsObject



185
186
187
# File 'lib/iterable/users.rb', line 185

def fields
  Iterable.request(conf, '/users/getFields').get
end

#for_email(email) ⇒ Object



121
122
123
# File 'lib/iterable/users.rb', line 121

def for_email(email)
  Iterable.request(conf, "/users/#{email}").get
end

#for_id(user_id) ⇒ Object



175
176
177
# File 'lib/iterable/users.rb', line 175

def for_id(user_id)
  Iterable.request(conf, "/users/byUserId/#{user_id}").get
end

#forget(email) ⇒ Object



278
279
280
281
# File 'lib/iterable/users.rb', line 278

def forget(email)
  attrs = { email: email }
  Iterable.request(conf, '/users/forget').post(attrs)
end

#register_browser_token(email, token, attrs = {}) ⇒ Object



210
211
212
213
214
# File 'lib/iterable/users.rb', line 210

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 = {}) ⇒ Object



262
263
264
265
266
267
# File 'lib/iterable/users.rb', line 262

def sent_messages(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 = {}) ⇒ Object



35
36
37
38
# File 'lib/iterable/users.rb', line 35

def update(email, attrs = {})
  attrs['email'] = email
  Iterable.request(conf, '/users/update').post(attrs)
end

#update_email(email, new_email) ⇒ Object



138
139
140
141
# File 'lib/iterable/users.rb', line 138

def update_email(email, new_email)
  attrs = { currentEmail: email, newEmail: new_email }
  Iterable.request(conf, '/users/updateEmail').post(attrs)
end

#update_subscriptions(email, attrs = {}) ⇒ Object



82
83
84
85
# File 'lib/iterable/users.rb', line 82

def update_subscriptions(email, attrs = {})
  attrs['email'] = email
  Iterable.request(conf, '/users/updateSubscriptions').post(attrs)
end