Class: ConstantContact::Services::ActivityService

Inherits:
BaseService
  • Object
show all
Defined in:
lib/constantcontact/services/activity_service.rb

Instance Attribute Summary

Attributes inherited from BaseService

#api_client

Instance Method Summary collapse

Methods inherited from BaseService

#initialize

Constructor Details

This class inherits a constructor from ConstantContact::Services::BaseService

Instance Method Details

#add_clear_lists_activity(lists) ⇒ Activity

Create a Clear Lists Activity

Parameters:

  • lists (Array<lists>)
    • array of list id's to be cleared

Returns:

  • (Activity)


73
74
75
76
77
78
79
80
# File 'lib/constantcontact/services/activity_service.rb', line 73

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) ⇒ Activity

Create an Export Contacts Activity

Parameters:

  • export_contacts (ExportContacts)

Returns:

  • (Activity)


86
87
88
89
90
91
92
93
# File 'lib/constantcontact/services/activity_service.rb', line 86

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) ⇒ Activity

Create a Remove Contacts From Lists Activity

Parameters:

  • email_addresses (<Array>EmailAddress)
  • lists (<Array>RemoveFromLists)

Returns:

  • (Activity)


100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/constantcontact/services/activity_service.rb', line 100

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) ⇒ Activity

Create an Remove Contacts Activity from a file. Valid file types are txt, csv, xls, xlsx

Parameters:

  • file_name (String)
    • The name of the file (ie: contacts.csv)

  • contents (String)
    • The content of the file

  • lists (String)
    • Comma separated list of ContactList id' to add the contacts too

Returns:

  • (Activity)


121
122
123
124
125
126
127
128
129
130
# File 'lib/constantcontact/services/activity_service.rb', line 121

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) ⇒ Activity

Create an Add Contacts Activity

Parameters:

  • add_contacts (AddContacts)

Returns:

  • (Activity)


43
44
45
46
47
48
49
50
# File 'lib/constantcontact/services/activity_service.rb', line 43

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) ⇒ Activity

Create an Add Contacts Activity from a file. Valid file types are txt, csv, xls, xlsx

Parameters:

  • file_name (String)
    • The name of the file (ie: contacts.csv)

  • contents (String)
    • The content of the file

  • lists (String)
    • Comma separated list of ContactList id's to add the contacts to

Returns:

  • (Activity)


58
59
60
61
62
63
64
65
66
67
# File 'lib/constantcontact/services/activity_service.rb', line 58

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 = {}) ⇒ Array<Activity>

Get a set of activities

Parameters:

  • params (Hash) (defaults to: {})
    • query parameters to be appended to the url

Returns:

  • (Array<Activity>)


14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/constantcontact/services/activity_service.rb', line 14

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) ⇒ Activity

Get an array of activities

Parameters:

  • activity_id (String)
    • Activity id

Returns:

  • (Activity)


31
32
33
34
35
36
37
# File 'lib/constantcontact/services/activity_service.rb', line 31

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