class ConstantContact::Services::EmailMarketingService
Public Instance Methods
add_campaign(campaign)
click to toggle source
Create a new campaign @param [Campaign] campaign - Campaign to be created @return [Campaign]
# 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)
click to toggle source
Delete an email campaign @param [Integer] campaign_id - Valid campaign id @return [Boolean]
# 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)
click to toggle source
Get campaign details for a specific campaign @param [Integer] campaign_id - Valid campaign id @return [Campaign]
# 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)
click to toggle source
Get the preview of the given campaign @param [Integer] campaign_id - Valid campaign id @return [CampaignPreview]
# 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 = {})
click to toggle source
Get a set of campaigns @param [Hash] params - query parameters to be appended to the request @return [ResultSet<Campaign>]
# 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)
click to toggle source
Update a specific email campaign @param [Campaign] campaign - Campaign to be updated @return [Campaign]
# 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