Class: ConstantContact::Services::EmailMarketingService
- Inherits:
-
BaseService
- Object
- BaseService
- ConstantContact::Services::EmailMarketingService
- Defined in:
- lib/constantcontact/services/email_marketing_service.rb
Instance Attribute Summary
Attributes inherited from BaseService
Instance 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.
Methods inherited from BaseService
Constructor Details
This class inherits a constructor from ConstantContact::Services::BaseService
Instance Method Details
#add_campaign(campaign) ⇒ Campaign
Create a new campaign
14 15 16 17 18 19 20 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 14 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
69 70 71 72 73 74 75 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 69 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
45 46 47 48 49 50 51 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 45 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
57 58 59 60 61 62 63 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 57 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
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 26 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
81 82 83 84 85 86 87 88 |
# File 'lib/constantcontact/services/email_marketing_service.rb', line 81 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 |