class ConstantContact::Services::ActivityService

Public Class Methods

add_clear_lists_activity(lists) click to toggle source

Create a Clear Lists Activity @param [Array<lists>] lists - array of list id’s to be cleared @return [Activity]

# File lib/constantcontact/services/activity_service.rb, line 74
def add_clear_lists_activity(lists)
  url = Util::Config.get('endpoints.base_url') +
        Util::Config.get('endpoints.clear_lists_activity')
  url = build_url(url)
  payload = {'lists' => lists}.to_json
  response = RestClient.post(url, payload, get_headers())
  Components::Activity.create(JSON.parse(response.body))
end
add_export_contacts_activity(export_contacts) click to toggle source

Create an Export Contacts Activity @param [ExportContacts] export_contacts @return [Activity]

# File lib/constantcontact/services/activity_service.rb, line 87
def add_export_contacts_activity(export_contacts)
  url = Util::Config.get('endpoints.base_url') +
        Util::Config.get('endpoints.export_contacts_activity')
  url = build_url(url)
  payload = export_contacts.to_json
  response = RestClient.post(url, payload, get_headers())
  Components::Activity.create(JSON.parse(response.body))
end
add_remove_contacts_from_lists_activity(email_addresses, lists) click to toggle source

Create a Remove Contacts From Lists Activity @param [<Array>EmailAddress] email_addresses @param [<Array>RemoveFromLists] lists @return [Activity]

# File lib/constantcontact/services/activity_service.rb, line 101
def add_remove_contacts_from_lists_activity(email_addresses, lists)
  url = Util::Config.get('endpoints.base_url') +
        Util::Config.get('endpoints.remove_from_lists_activity')
  url = build_url(url)

  payload = { 'import_data' => [], 'lists' => lists }
  email_addresses.each do |email_address|
    payload['import_data'] << { 'email_addresses' => [email_address] }
  end
  payload = payload.to_json

  response = RestClient.post(url, payload, get_headers())
  Components::Activity.create(JSON.parse(response.body))
end
add_remove_contacts_from_lists_activity_from_file(file_name, contents, lists) click to toggle source

Create an Remove Contacts Activity from a file. Valid file types are txt, csv, xls, xlsx @param [String] file_name - The name of the file (ie: contacts.csv) @param [String] contents - The content of the file @param [String] lists - Comma separated list of ContactList id’ to add the contacts too @return [Activity]

# File lib/constantcontact/services/activity_service.rb, line 122
def add_remove_contacts_from_lists_activity_from_file(file_name, contents, lists)
  url = Util::Config.get('endpoints.base_url') +
        Util::Config.get('endpoints.remove_from_lists_activity')
  url = build_url(url)

  payload = { :file_name => file_name, :lists => lists, :data => contents, :multipart => true }

  response = RestClient.post(url, payload, get_headers())
  Components::Activity.create(JSON.parse(response.body))
end
create_add_contacts_activity(add_contacts) click to toggle source

Create an Add Contacts Activity @param [AddContacts] add_contacts @return [Activity]

# File lib/constantcontact/services/activity_service.rb, line 44
def create_add_contacts_activity(add_contacts)
  url = Util::Config.get('endpoints.base_url') +
        Util::Config.get('endpoints.add_contacts_activity')
  url = build_url(url)
  payload = add_contacts.to_json
  response = RestClient.post(url, payload, get_headers())
  Components::Activity.create(JSON.parse(response.body))
end
create_add_contacts_activity_from_file(file_name, contents, lists) click to toggle source

Create an Add Contacts Activity from a file. Valid file types are txt, csv, xls, xlsx @param [String] file_name - The name of the file (ie: contacts.csv) @param [String] contents - The content of the file @param [String] lists - Comma separated list of ContactList id’s to add the contacts to @return [Activity]

# File lib/constantcontact/services/activity_service.rb, line 59
def create_add_contacts_activity_from_file(file_name, contents, lists)
  url = Util::Config.get('endpoints.base_url') +
        Util::Config.get('endpoints.add_contacts_activity')
  url = build_url(url)

  payload = { :file_name => file_name, :lists => lists, :data => contents, :multipart => true }

  response = RestClient.post(url, payload, get_headers())
  Components::Activity.create(JSON.parse(response.body))
end
get_activities(params = {}) click to toggle source

Get a set of activities @param [Hash] params - query parameters to be appended to the url @return [Array<Activity>]

# File lib/constantcontact/services/activity_service.rb, line 15
def get_activities(params = {})
  url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.activities')
  url = build_url(url, params)
  response = RestClient.get(url, get_headers())

  activities = []
  JSON.parse(response.body).each do |activity|
    activities << Components::Activity.create(activity)
  end

  activities
end
get_activity(activity_id) click to toggle source

Get an array of activities @param [String] activity_id - Activity id @return [Activity]

# File lib/constantcontact/services/activity_service.rb, line 32
def get_activity(activity_id)
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.activity'), activity_id)
  url = build_url(url)
  response = RestClient.get(url, get_headers())
  Components::Activity.create(JSON.parse(response.body))
end