Class: LoopsSdk::Campaigns

Inherits:
Base
  • Object
show all
Defined in:
lib/loops_sdk/campaigns.rb

Class Method Summary collapse

Class Method Details

.create(name:, campaign_group_id: nil, mailing_list_id: nil, audience_segment_id: nil, audience_filter: nil, scheduling: nil) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/loops_sdk/campaigns.rb', line 10

def create(name:, campaign_group_id: nil, mailing_list_id: nil, audience_segment_id: nil, audience_filter: nil, scheduling: nil)
  body = {
    name: name,
    campaignGroupId: campaign_group_id,
    mailingListId: mailing_list_id,
    audienceSegmentId: audience_segment_id,
    audienceFilter: audience_filter,
    scheduling: scheduling
  }.compact
  make_request(method: :post, path: "v1/campaigns", body: body)
end

.get(campaign_id:) ⇒ Object



22
23
24
# File 'lib/loops_sdk/campaigns.rb', line 22

def get(campaign_id:)
  make_request(method: :get, path: "v1/campaigns/#{campaign_id}")
end

.list(perPage: 20, cursor: nil) ⇒ Object



6
7
8
# File 'lib/loops_sdk/campaigns.rb', line 6

def list(perPage: 20, cursor: nil)
  make_request(method: :get, path: "v1/campaigns", params: { perPage: perPage, cursor: cursor })
end

.update(campaign_id:, name: nil, campaign_group_id: nil, mailing_list_id: nil, audience_segment_id: nil, audience_filter: nil, scheduling: nil) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/loops_sdk/campaigns.rb', line 26

def update(campaign_id:, name: nil, campaign_group_id: nil, mailing_list_id: nil, audience_segment_id: nil, audience_filter: nil, scheduling: nil)
  body = {
    name: name,
    campaignGroupId: campaign_group_id,
    mailingListId: mailing_list_id,
    audienceSegmentId: audience_segment_id,
    audienceFilter: audience_filter,
    scheduling: scheduling
  }.compact
  make_request(method: :post, path: "v1/campaigns/#{campaign_id}", body: body)
end