Class: Iterable::Campaigns

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

Overview

Interact with /campaigns API endpoints

Examples:

Creating campaigns endpoint object

# With default config
campaigns = Iterable::Campaigns.new
campaigns.all

# With custom config
conf = Iterable::Config.new(token: 'new-token')
campaigns = Iterable::Campaigns.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

#allObject



23
24
25
# File 'lib/iterable/campaigns.rb', line 23

def all
  Iterable.request(conf, '/campaigns').get
end

#create(name, template_id, list_ids = [], attrs = {}) ⇒ Object



45
46
47
48
# File 'lib/iterable/campaigns.rb', line 45

def create(name, template_id, list_ids = [], attrs = {})
  body = attrs.merge(name: name, templateId: template_id, listIds: list_ids)
  Iterable.request(conf, '/campaigns/create').post(body)
end

#metrics(campaign_ids = [], start_time = nil, end_time = nil) ⇒ Object



78
79
80
81
82
83
# File 'lib/iterable/campaigns.rb', line 78

def metrics(campaign_ids = [], start_time = nil, end_time = nil)
  params = { campaignId: campaign_ids }
  params[:startTime] = start_time.to_date.strftime(Iterable::DATE_FORMAT) if start_time
  params[:endTime] = end_time.to_date.strftime(Iterable::DATE_FORMAT) if end_time
  Iterable.request(conf, '/campaigns/metrics', params).get
end

#recurring(campaign_id) ⇒ Object



58
59
60
# File 'lib/iterable/campaigns.rb', line 58

def recurring(campaign_id)
  Iterable.request(conf, "/campaigns/recurring/#{campaign_id}/childCampaigns").get
end