class ConstantContact::Services::CampaignScheduleService
Public Instance Methods
Create a new schedule for a campaign @param [Integer] campaign_id - Campaign id to be scheduled @param [Schedule] schedule - Schedule to be created @return [Schedule]
# File lib/constantcontact/services/campaign_schedule_service.rb, line 15 def add_schedule(campaign_id, schedule) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.campaign_schedules'), campaign_id) url = build_url(url) payload = schedule.to_json response = RestClient.post(url, payload, get_headers()) Components::Schedule.create(JSON.parse(response.body)) end
Delete a specific schedule for a campaign @param [Integer] campaign_id - Campaign id to delete a schedule for @param [Integer] schedule_id - Schedule id to delete @return [Boolean]
# File lib/constantcontact/services/campaign_schedule_service.rb, line 61 def delete_schedule(campaign_id, schedule_id) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.campaign_schedule'), campaign_id, schedule_id) url = build_url(url) response = RestClient.delete(url, get_headers()) response.code == 204 end
Get a specific schedule for a campaign @param [Integer] campaign_id - Campaign id to get a schedule for @param [Integer] schedule_id - Schedule id to retrieve @return [Schedule]
# File lib/constantcontact/services/campaign_schedule_service.rb, line 48 def get_schedule(campaign_id, schedule_id) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.campaign_schedule'), campaign_id, schedule_id) url = build_url(url) response = RestClient.get(url, get_headers()) Components::Schedule.create(JSON.parse(response.body)) end
Get a list of schedules for a campaign @param [Integer] campaign_id - Campaign id to be scheduled @return [Array<Schedule>]
# File lib/constantcontact/services/campaign_schedule_service.rb, line 28 def get_schedules(campaign_id) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.campaign_schedules'), campaign_id) url = build_url(url) response = RestClient.get(url, get_headers()) body = JSON.parse(response.body) schedules = [] body.each do |schedule| schedules << Components::Schedule.create(schedule) end schedules end
Send a test send of a campaign @param [Integer] campaign_id - Id of campaign to send test of @param [TestSend] test_send - Test send details @return [TestSend]
# File lib/constantcontact/services/campaign_schedule_service.rb, line 88 def send_test(campaign_id, test_send) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.campaign_test_sends'), campaign_id) url = build_url(url) payload = test_send.to_json response = RestClient.post(url, payload, get_headers()) Components::TestSend.create(JSON.parse(response.body)) end
Update a specific schedule for a campaign @param [Integer] campaign_id - Campaign id to be scheduled @param [Schedule] schedule - Schedule to retrieve @return [Schedule]
# File lib/constantcontact/services/campaign_schedule_service.rb, line 74 def update_schedule(campaign_id, schedule) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.campaign_schedule'), campaign_id, schedule.id) url = build_url(url) payload = schedule.to_json response = RestClient.put(url, payload, get_headers()) Components::Schedule.create(JSON.parse(response.body)) end