Class: ConstantContact::Services::ContactTrackingService

Inherits:
BaseService
  • Object
show all
Defined in:
lib/constantcontact/services/contact_tracking_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

#get_bounces(contact_id, params = {}) ⇒ ResultSet<BounceActivity>

Get bounces for a given contact

Parameters:

  • contact_id (String)
    • Contact id

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

Returns:

  • (ResultSet<BounceActivity>)
    • Containing a results array of BounceActivity



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/constantcontact/services/contact_tracking_service.rb', line 15

def get_bounces(contact_id, params = {})
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.contact_tracking_bounces'), contact_id)
  url = build_url(url, params)

  response = RestClient.get(url, get_headers())
  body = JSON.parse(response.body)

  bounces = []
  body['results'].each do |bounce_activity|
    bounces << Components::BounceActivity.create(bounce_activity)
  end

  Components::ResultSet.new(bounces, body['meta'])
end

#get_clicks(contact_id, params = {}) ⇒ ResultSet<ClickActivity>

Get clicks for a given contact

Parameters:

  • contact_id (String)
    • Contact id

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

Returns:

  • (ResultSet<ClickActivity>)
    • Containing a results array of ClickActivity



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/constantcontact/services/contact_tracking_service.rb', line 36

def get_clicks(contact_id, params = {})
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.contact_tracking_clicks'), contact_id)
  url = build_url(url, params)

  response = RestClient.get(url, get_headers())
  body = JSON.parse(response.body)

  clicks = []
  body['results'].each do |click_activity|
    clicks << Components::ClickActivity.create(click_activity)
  end

  Components::ResultSet.new(clicks, body['meta'])
end

#get_forwards(contact_id, params = {}) ⇒ ResultSet<ForwardActivity>

Get forwards for a given contact

Parameters:

  • contact_id (String)
    • Contact id

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

Returns:

  • (ResultSet<ForwardActivity>)
    • Containing a results array of ForwardActivity



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/constantcontact/services/contact_tracking_service.rb', line 57

def get_forwards(contact_id, params = {})
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.contact_tracking_forwards'), contact_id)
  url = build_url(url, params)

  response = RestClient.get(url, get_headers())
  body = JSON.parse(response.body)

  forwards = []
  body['results'].each do |forward_activity|
    forwards << Components::ForwardActivity.create(forward_activity)
  end

  Components::ResultSet.new(forwards, body['meta'])
end

#get_opens(contact_id, params = {}) ⇒ ResultSet<OpenActivity>

Get opens for a given contact

Parameters:

  • contact_id (String)
    • Contact id

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

Returns:

  • (ResultSet<OpenActivity>)
    • Containing a results array of OpenActivity



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/constantcontact/services/contact_tracking_service.rb', line 78

def get_opens(contact_id, params = {})
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.contact_tracking_opens'), contact_id)
  url = build_url(url, params)

  response = RestClient.get(url, get_headers())
  body = JSON.parse(response.body)

  opens = []
  body['results'].each do |open_activity|
    opens << Components::OpenActivity.create(open_activity)
  end

  Components::ResultSet.new(opens, body['meta'])
end

#get_sends(contact_id, params = {}) ⇒ ResultSet<SendActivity>

Get sends for a given contact

Parameters:

  • contact_id (String)
    • Contact id

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

Returns:

  • (ResultSet<SendActivity>)
    • Containing a results array of SendActivity



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

def get_sends(contact_id, params = {})
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.contact_tracking_sends'), contact_id)
  url = build_url(url, params)

  response = RestClient.get(url, get_headers())
  body = JSON.parse(response.body)

  sends = []
  body['results'].each do |send_activity|
    sends << Components::SendActivity.create(send_activity)
  end

  Components::ResultSet.new(sends, body['meta'])
end

#get_summary(contact_id) ⇒ TrackingSummary

Get a summary of reporting data for a given contact

Parameters:

  • contact_id (String)
    • Contact id

Returns:

  • (TrackingSummary)


140
141
142
143
144
145
146
# File 'lib/constantcontact/services/contact_tracking_service.rb', line 140

def get_summary(contact_id)
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.contact_tracking_summary'), contact_id)
  url = build_url(url)
  response = RestClient.get(url, get_headers())
  Components::TrackingSummary.create(JSON.parse(response.body))
end

#get_unsubscribes(contact_id, params = {}) ⇒ ResultSet<UnsubscribeActivity>

Get unsubscribes for a given contact

Parameters:

  • contact_id (String)
    • Contact id

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

Returns:

  • (ResultSet<UnsubscribeActivity>)
    • Containing a results array of UnsubscribeActivity



120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/constantcontact/services/contact_tracking_service.rb', line 120

def get_unsubscribes(contact_id, params = {})
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.contact_tracking_unsubscribes'), contact_id)
  url = build_url(url, params)

  response = RestClient.get(url, get_headers())
  body = JSON.parse(response.body)

  unsubscribes = []
  body['results'].each do |unsubscribe_activity|
    unsubscribes << Components::UnsubscribeActivity.create(unsubscribe_activity)
  end

  Components::ResultSet.new(unsubscribes, body['meta'])
end