send_with_us 1.2.3 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -146,6 +146,19 @@ rescue => e
146
146
  end
147
147
  ```
148
148
 
149
+ ### Customer conversion event
150
+ You can use the Conversion API to track conversion and revenue data events against your sent emails
151
+
152
+ **NOTE:** Revenue is in cents (eg. $100.50 = 10050)
153
+
154
+ ```ruby
155
+ # With Revenue
156
+ obj.conversion_event('customer@example.com', 10050)
157
+
158
+ # Without Revenue
159
+ obj.conversion_event('customer@example.com')
160
+ ```
161
+
149
162
  ### Rails
150
163
 
151
164
  For a Rails app, create `send_with_us.rb` in `/config/initializers/`
@@ -30,7 +30,7 @@ module SendWithUs
30
30
  end
31
31
 
32
32
  payload = { email_id: email_id, recipient: to,
33
- email_data: data }
33
+ email_data: data }
34
34
 
35
35
  if from.any?
36
36
  payload[:sender] = from
@@ -90,45 +90,46 @@ module SendWithUs
90
90
  end
91
91
 
92
92
  def list_drip_campaigns()
93
- SendWithUs::ApiRequest.new(@configuration).get(:drip_campaigns)
93
+ SendWithUs::ApiRequest.new(@configuration).get(:drip_campaigns)
94
94
  end
95
95
 
96
96
  def start_on_drip_campaign(recipient_address, drip_campaign_id, email_data={})
97
97
 
98
- if email_data.nil?
99
- payload = {
100
- recipient_address: recipient_address
101
- }.to_json
102
- else
103
- payload = {
104
- recipient_address: recipient_address,
105
- email_data: email_data
106
- }.to_json
107
- end
108
-
109
- SendWithUs::ApiRequest.new(@configuration).post("drip_campaigns/#{drip_campaign_id}/activate", payload)
98
+ if email_data.nil?
99
+ payload = {
100
+ recipient_address: recipient_address
101
+ }.to_json
102
+ else
103
+ payload = {
104
+ recipient_address: recipient_address,
105
+ email_data: email_data
106
+ }.to_json
107
+ end
108
+
109
+ SendWithUs::ApiRequest.new(@configuration).post("drip_campaigns/#{drip_campaign_id}/activate", payload)
110
110
  end
111
111
 
112
112
  def remove_from_drip_campaign(recipient_address, drip_campaign_id)
113
- payload = {
114
- recipient_address: recipient_address
115
- }.to_json
113
+ payload = {
114
+ recipient_address: recipient_address
115
+ }.to_json
116
116
 
117
- SendWithUs::ApiRequest.new(@configuration).post("drip_campaigns/#{drip_campaign_id}/deactivate", payload)
117
+ SendWithUs::ApiRequest.new(@configuration).post("drip_campaigns/#{drip_campaign_id}/deactivate", payload)
118
118
  end
119
119
 
120
120
  def drip_campaign_details(drip_campaign_id)
121
- SendWithUs::ApiRequest.new(@configuration).get("drip_campaigns/#{drip_campaign_id}")
121
+ SendWithUs::ApiRequest.new(@configuration).get("drip_campaigns/#{drip_campaign_id}")
122
122
  end
123
-
123
+
124
124
  def list_customers_on_campaign(drip_campaign_id)
125
- SendWithUs::ApiRequest.new(@configuration).get("drip_campaigns/#{drip_campaign_id}/customers")
125
+ SendWithUs::ApiRequest.new(@configuration).get("drip_campaigns/#{drip_campaign_id}/customers")
126
126
  end
127
127
 
128
128
  def list_customers_on_campaign_step(drip_campaign_id, drip_campaign_step_id)
129
- SendWithUs::ApiRequest.new(@configuration).get("drip_campaigns/#{drip_campaign_id}/step/#{drip_campaign_step_id}/customers")
129
+ SendWithUs::ApiRequest.new(@configuration).get("drip_campaigns/#{drip_campaign_id}/step/#{drip_campaign_step_id}/customers")
130
130
  end
131
-
131
+
132
+ # DEPRECATED - use customer_conversion now
132
133
  def add_customer_event(customer, event_name, revenue=nil)
133
134
 
134
135
  if revenue.nil?
@@ -138,9 +139,19 @@ module SendWithUs
138
139
  end
139
140
 
140
141
  payload = payload.to_json
141
- endpoint = 'customers/' + customer + '/events'
142
+ endpoint = 'customers/' + customer + '/conversions'
143
+ SendWithUs::ApiRequest.new(@configuration).post(endpoint, payload)
144
+ end
145
+
146
+ def customer_conversion(customer, revenue=nil)
147
+ payload = {}.to_json
148
+
149
+ if revenue
150
+ payload = { revenue: revenue }.to_json
151
+ end
152
+
153
+ endpoint = "customers/#{customer}/conversions"
142
154
  SendWithUs::ApiRequest.new(@configuration).post(endpoint, payload)
143
155
  end
144
156
  end
145
157
  end
146
-
@@ -1,3 +1,3 @@
1
1
  module SendWithUs
2
- VERSION = '1.2.3'
2
+ VERSION = '1.3.3'
3
3
  end
@@ -20,13 +20,13 @@ class TestApiRequest < MiniTest::Unit::TestCase
20
20
  build_objects
21
21
  email_id = 'test_fixture_1'
22
22
  result = @api.send_with(
23
- email_id,
24
- {name: 'Ruby Unit Test', address: 'matt@example.com'},
25
- {name: 'sendwithus', address: 'matt@example.com'},
26
- {},
27
- [],
28
- [],
29
- ['README.md']
23
+ email_id,
24
+ {name: 'Ruby Unit Test', address: 'matt@example.com'},
25
+ {name: 'sendwithus', address: 'matt@example.com'},
26
+ {},
27
+ [],
28
+ [],
29
+ ['README.md']
30
30
  )
31
31
  assert_instance_of( Net::HTTPOK, result )
32
32
  end
@@ -71,15 +71,15 @@ class TestApiRequest < MiniTest::Unit::TestCase
71
71
  build_objects
72
72
  email_id = 'tem_9YvYsaLW2Mw4tmPiLcVvpC'
73
73
  result = @api.send_with(
74
- email_id,
75
- {name: 'Ruby Unit Test', address: 'matt@example.com'},
76
- {name: 'sendwithus', address: 'matt@example.com'},
77
- {},
78
- [],
79
- [],
80
- [],
81
- '',
82
- 'v2'
74
+ email_id,
75
+ {name: 'Ruby Unit Test', address: 'matt@example.com'},
76
+ {name: 'sendwithus', address: 'matt@example.com'},
77
+ {},
78
+ [],
79
+ [],
80
+ [],
81
+ '',
82
+ 'v2'
83
83
  )
84
84
  assert_instance_of( Net::HTTPOK, result )
85
85
  end
@@ -134,7 +134,13 @@ class TestApiRequest < MiniTest::Unit::TestCase
134
134
  def test_add_user_event()
135
135
  build_objects
136
136
  Net::HTTP.any_instance.stubs(:request).returns(Net::HTTPSuccess.new(1.0, 200, "OK"))
137
- assert_instance_of( Net::HTTPSuccess, @request.post(:'customers/test@sendwithus.com/events', @payload))
137
+ assert_instance_of( Net::HTTPSuccess, @request.post(:'customers/test@sendwithus.com/conversions', @payload))
138
+ end
139
+
140
+ def test_conversion_event()
141
+ build_objects
142
+ Net::HTTP.any_instance.stubs(:request).returns(Net::HTTPSuccess.new(1.0, 200, "OK"))
143
+ assert_instance_of( Net::HTTPSuccess, @request.post(:'customers/test@sendwithus.com/conversions', @payload))
138
144
  end
139
145
 
140
146
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: send_with_us
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.3.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-10-24 00:00:00.000000000 Z
14
+ date: 2014-11-12 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rake