class Iterable::Api

Public Class Methods

new(api_key = nil) click to toggle source

Class constructor @param [String] api_key - Iterable API Key @return

# File lib/iterable/api.rb, line 12
def initialize(api_key = nil)
  Services::BaseService.api_key = api_key || Util::Config.get('auth.api_key')
  if Services::BaseService.api_key.nil? || Services::BaseService.api_key == ''
    raise ArgumentError.new(Util::Config.get('errors.api_key_missing'))
  end
end

Public Instance Methods

list_by_id(list_id) click to toggle source
# File lib/iterable/api.rb, line 48
def list_by_id(list_id)
  Services::ListService.find_by_id(list_id)
end
list_create(list_name) click to toggle source
# File lib/iterable/api.rb, line 44
def list_create(list_name)
  Services::ListService.create(list_name)
end
lists() click to toggle source

List Services

# File lib/iterable/api.rb, line 32
def lists
  Services::ListService.all
end
lists_subscribe(list_id, subscribers) click to toggle source
# File lib/iterable/api.rb, line 36
def lists_subscribe(list_id, subscribers)
  Services::ListService.subscribe(list_id, subscribers)
end
lists_unsubscribe(list_id, subscribers) click to toggle source
# File lib/iterable/api.rb, line 40
def lists_unsubscribe(list_id, subscribers)
  Services::ListService.unsubscribe(list_id, subscribers)
end
message_types() click to toggle source

MessageType Services

# File lib/iterable/api.rb, line 62
def message_types
  Services::MessageTypeService.all
end
send_email(targeted_email_request) click to toggle source

Email Services

# File lib/iterable/api.rb, line 25
def send_email(targeted_email_request)
  Services::EmailService.send_email(targeted_email_request)
end
templates() click to toggle source

Template Services

# File lib/iterable/api.rb, line 55
def templates
  Services::TemplateService.all
end
track_event(track_event_request) click to toggle source

Event Services

# File lib/iterable/api.rb, line 20
def track_event(track_event_request)
  Services::EventService.track(track_event_request)
end
track_purchase(track_purchase_request) click to toggle source

Commerce Services

# File lib/iterable/api.rb, line 111
def track_purchase(track_purchase_request)
  Services::CommerceService.track_purchase(track_purchase_request)
end
unsubscribe_all(email, preloaded_message_types=nil) click to toggle source
# File lib/iterable/api.rb, line 89
def unsubscribe_all(email, preloaded_message_types=nil)
  if !email.blank?
    # Get all message types
    iterable_message_types = preloaded_message_types ? preloaded_message_types : message_types
    if iterable_message_types && iterable_message_types["messageTypes"]
      message_type_ids = iterable_message_types["messageTypes"].collect { |message_type| message_type["id"] }
      channel_ids = iterable_message_types["messageTypes"].collect { |message_type| message_type["channelId"] }
      if !message_type_ids.blank?
        subscription_request = Iterable::Requests::SubscriptionUpdate.new({
          email: email,
          unsubscribedMessageTypeIds: message_type_ids,
          unsubscribedChannelIds: channel_ids
        })
        user_update_subscriptions(subscription_request)
      end
    end
  end
end
user_by_email(email) click to toggle source

User Services

# File lib/iterable/api.rb, line 69
def user_by_email(email)
  Services::UserService.find_by_email(email)
end
user_by_id(id) click to toggle source
# File lib/iterable/api.rb, line 73
def user_by_id(id)
  Services::UserService.find_by_id(id)
end
user_fields() click to toggle source
# File lib/iterable/api.rb, line 81
def user_fields
  Services::UserService.fields
end
user_update(user) click to toggle source
# File lib/iterable/api.rb, line 77
def user_update(user)
  Services::UserService.update(user)
end
user_update_subscriptions(subscription_request) click to toggle source
# File lib/iterable/api.rb, line 85
def user_update_subscriptions(subscription_request)
  Services::UserService.update_subscription(subscription_request)
end