Class: ConstantContact::Services::EmailMarketingService
- Inherits:
-
BaseService
- Object
- BaseService
- ConstantContact::Services::EmailMarketingService
- Defined in:
- lib/constantcontact/services/email_marketing_service.rb
Class Method Summary collapse
-
.add_campaign(campaign) ⇒ Campaign
Create a new campaign.
-
.delete_campaign(campaign_id) ⇒ Boolean
Delete an email campaign.
-
.get_campaign(campaign_id) ⇒ Campaign
Get campaign details for a specific campaign.
-
.get_campaign_preview(campaign_id) ⇒ CampaignPreview
Get the preview of the given campaign.
-
.get_campaigns(params = {}) ⇒ ResultSet<Campaign>
Get a set of campaigns.
-
.update_campaign(campaign) ⇒ Campaign
Update a specific email campaign.
Class Method Details
.add_campaign(campaign) ⇒ Campaign
Create a new campaign
15 16 17 18 19 20 21 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 15 def add_campaign(campaign) url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.campaigns') url = build_url(url) payload = campaign.to_json response = RestClient.post(url, payload, get_headers()) Components::Campaign.create(JSON.parse(response.body)) end |
.delete_campaign(campaign_id) ⇒ Boolean
Delete an email campaign
70 71 72 73 74 75 76 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 70 def delete_campaign(campaign_id) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.campaign'), campaign_id) url = build_url(url) response = RestClient.delete(url, get_headers()) response.code == 204 end |
.get_campaign(campaign_id) ⇒ Campaign
Get campaign details for a specific campaign
46 47 48 49 50 51 52 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 46 def get_campaign(campaign_id) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.campaign'), campaign_id) url = build_url(url) response = RestClient.get(url, get_headers()) Components::Campaign.create(JSON.parse(response.body)) end |
.get_campaign_preview(campaign_id) ⇒ CampaignPreview
Get the preview of the given campaign
58 59 60 61 62 63 64 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 58 def get_campaign_preview(campaign_id) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.campaign_preview'), campaign_id) url = build_url(url) response = RestClient.get(url, get_headers()) Components::CampaignPreview.create(JSON.parse(response.body)) end |
.get_campaigns(params = {}) ⇒ ResultSet<Campaign>
Get a set of campaigns
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 27 def get_campaigns(params = {}) url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.campaigns') url = build_url(url, params) response = RestClient.get(url, get_headers()) body = JSON.parse(response.body) campaigns = [] body['results'].each do |campaign| campaigns << Components::Campaign.create_summary(campaign) end Components::ResultSet.new(campaigns, body['meta']) end |
.update_campaign(campaign) ⇒ Campaign
Update a specific email campaign
82 83 84 85 86 87 88 89 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 82 def update_campaign(campaign) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.campaign'), campaign.id) url = build_url(url) payload = campaign.to_json response = RestClient.put(url, payload, get_headers()) Components::Campaign.create(JSON.parse(response.body)) end |