Module: MailchimpAPI::Campaigns::APIs

Includes:
Pagination::ListEachItemHelper
Included in:
MailchimpAPI::Campaigns, MailchimpAPI::Campaigns
Defined in:
lib/mailchimp-api/resources/campaigns.rb

Overview

Module with endpoints for Campaigns APIs

Instance Method Summary collapse

Instance Method Details

#action_send(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Send campaign For RSS Campaigns, the campaign will send according to its schedule. All other campaigns will send immediately.

Examples:

Send campaign

campaigns.action_send('campaign789')

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional body parameters

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response with no content (204)



116
117
118
119
# File 'lib/mailchimp-api/resources/campaigns.rb', line 116

def action_send(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}/actions/send"
  client.post(path, query: query, body: body, headers: headers)
end

#cancel_send(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Cancel campaign [Mailchimp Pro] Cancel a campaign after you send, before all of your recipients receive it.

Examples:

Cancel sending campaign

campaigns.cancel_send('campaign789')

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional body parameters

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response with no content (204)



100
101
102
103
# File 'lib/mailchimp-api/resources/campaigns.rb', line 100

def cancel_send(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}/actions/cancel-send"
  client.post(path, query: query, body: body, headers: headers)
end

#create(query: nil, body: nil, headers: nil) ⇒ Response

Create a new campaign

Examples:

Create a new folder

campaigns.create(body: {name: 'Product Updates'})

Parameters:

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Audience attributes

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response containing the created folder



30
31
32
33
# File 'lib/mailchimp-api/resources/campaigns.rb', line 30

def create(query: nil, body: nil, headers: nil)
  path = "/campaigns"
  client.post(path, query: query, body: body, headers: headers)
end

#delete(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Delete a campaign

Examples:

Delete a campaign

campaigns.delete('campaign789')

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional request body

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:



56
57
58
59
# File 'lib/mailchimp-api/resources/campaigns.rb', line 56

def delete(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}"
  client.delete(path, query: query, body: body, headers: headers)
end

#each(query: nil, body: nil, headers: nil) {|Hash| ... } ⇒ Object

Iterate through all campaigns

Examples:

Iterate through all campaigns

campaigns.each do |campaign|
  puts campaign[:name]
end

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional request body

  • headers (Hash) (defaults to: nil)

    Optional request headers

Yields:

  • (Hash)

    Each campaign



86
87
88
# File 'lib/mailchimp-api/resources/campaigns.rb', line 86

def each(query: nil, body: nil, headers: nil, &block)
  list_each_item(:campaigns, query: query, body: body, headers: headers, &block)
end

#list(query: nil, body: nil, headers: nil) ⇒ Response

List campaigns

Examples:

Get campaigns

campaigns.list

Parameters:

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional request body

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response containing campaigns



18
19
20
21
# File 'lib/mailchimp-api/resources/campaigns.rb', line 18

def list(query: nil, body: nil, headers: nil)
  path = "/campaigns"
  client.get(path, query: query, body: body, headers: headers)
end

#pause(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Pause RSS campaign

Examples:

Pause campaign

campaigns.pause('campaign789')

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional body parameters

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response with no content (204)



161
162
163
164
# File 'lib/mailchimp-api/resources/campaigns.rb', line 161

def pause(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}/actions/pause"
  client.post(path, query: query, body: body, headers: headers)
end

#replicate(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Replicate campaign Replicate a campaign in saved or send status.

Examples:

Replicate campaign

campaigns.replicate('campaign789')

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional body parameters

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response with new campaign details



190
191
192
193
# File 'lib/mailchimp-api/resources/campaigns.rb', line 190

def replicate(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}/actions/replicate"
  client.post(path, query: query, body: body, headers: headers)
end

#resend(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Resend campaign Replicates campaign and resends it to non-openers, new subscribers, non-clickers or non-purchasers

Examples:

Resend campaign to new subscribers

campaigns.resend('campaign789', body: { shortcut_type: 'to_new_subscribers' })

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional body parameters

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response with new campaign details



219
220
221
222
# File 'lib/mailchimp-api/resources/campaigns.rb', line 219

def resend(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}/actions/create-resend"
  client.post(path, query: query, body: body, headers: headers)
end

#resume(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Resume RSS campaign

Examples:

Resume campaign

campaigns.resume('campaign789')

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional body parameters

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response with no content (204)



175
176
177
178
# File 'lib/mailchimp-api/resources/campaigns.rb', line 175

def resume(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}/actions/resume"
  client.post(path, query: query, body: body, headers: headers)
end

#schedule(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Schedule campaign Schedule a campaign for delivery. If you’re using Multivariate Campaigns to test send times or sending RSS Campaigns, use the send action instead.

Examples:

Schedule campaign

campaigns.schedule('campaign789')

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional body parameters

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response with no content (204)



132
133
134
135
# File 'lib/mailchimp-api/resources/campaigns.rb', line 132

def schedule(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}/actions/schedule"
  client.post(path, query: query, body: body, headers: headers)
end

#show(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Show details for a specific campaign

Examples:

Get details for a campaign

campaigns.show('campaign789')

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional request body

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response containing campaign details



43
44
45
46
# File 'lib/mailchimp-api/resources/campaigns.rb', line 43

def show(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}"
  client.get(path, query: query, body: body, headers: headers)
end

#test(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Send test email

Examples:

Send test email

campaigns.test('campaign789', body: { test_emails: ["[email protected]"], send_type: "html" })

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional body parameters

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response with no content (204)



204
205
206
207
# File 'lib/mailchimp-api/resources/campaigns.rb', line 204

def test(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}/actions/test"
  client.post(path, query: query, body: body, headers: headers)
end

#unschedule(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Unschedule campaign Unschedule a scheduled campaign that hasn’t started sending.

Examples:

Unschedule campaign

campaigns.unschedule('campaign789')

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Optional body parameters

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response with no content (204)



147
148
149
150
# File 'lib/mailchimp-api/resources/campaigns.rb', line 147

def unschedule(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}/actions/unschedule"
  client.post(path, query: query, body: body, headers: headers)
end

#update(campaign_id, query: nil, body: nil, headers: nil) ⇒ Response

Update campaign settings

Examples:

Update a campaign title

campaigns.update('campaign789', body: {
  settings: { title: 'Updated Title' }
})

Parameters:

  • campaign_id (String)

    The ID of the campaign

  • query (Hash) (defaults to: nil)

    Optional query parameters

  • body (Hash) (defaults to: nil)

    Updated campaign attributes

  • headers (Hash) (defaults to: nil)

    Optional request headers

Returns:

  • (Response)

    API response containing updated campaign



71
72
73
74
# File 'lib/mailchimp-api/resources/campaigns.rb', line 71

def update(campaign_id, query: nil, body: nil, headers: nil)
  path = "/campaigns/#{campaign_id}"
  client.patch(path, query: query, body: body, headers: headers)
end