createsend 4.1.2 → 5.0.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1cf72a678bbce9cf631fe045d080307019a8a3a7
4
- data.tar.gz: 8b7691c4d61ab08e46c544cd41ce994cd79ae819
3
+ metadata.gz: e4281f173aaf06254761ef8bde5b7da4233f18c7
4
+ data.tar.gz: 36e0b3673d514f1619cc2d1bb26f9721afdaa79b
5
5
  SHA512:
6
- metadata.gz: 570b370adad853e0f9491e00758b7e989c4d3db98207e385d7c08bf765a29342e16e9893369527867593961b637c84f0c7f2944a560c46f8ac9bfe44e95b1b4f
7
- data.tar.gz: d46d8888041d1a92ce412440821b46769a0d9cc56cda85f79fd4b2700aa11ebc1a90f4093adc04fe969349f8f521595575819e08ff6374ff8e7be0425b1d2424
6
+ metadata.gz: e7a4b1cfa6bcea21ebc3d6b0c27063d3053784ff3cc6fd85bc111b632fa27a18b9cbf2a133384accb7e9877ee8ce8d368150f340b8931f89ae56b2e3d6332f64
7
+ data.tar.gz: '0032093a7da459b0d6f58cbbc478d13b779aacacc839dbc12d4d8296ffc2feae4664541dd1a627e886f29fb6e78f19dc64a3745840acbc0591c6af7c08b7d4e5'
data/HISTORY.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # createsend-ruby history
2
2
 
3
+ ## v5.0.0 - 19 Jun, 2018
4
+ * Upgrades to Createsend API v3.2 which includes new breaking changes
5
+ * Breaking: 'Consent to track' field is now mandatory for sending smart and classic transactionl emails
6
+ * Breaking: 'Consent to track' field is now mandatory when adding or updating subscribers
7
+ * Optional 'Include tracking preference' field when retrieving lists of subscribers
8
+
3
9
  ## v4.1.2 - 27 Nov, 2017
4
10
  * Fix for the GZip compression issue: https://github.com/jnunemaker/httparty/issues/562
5
11
 
@@ -109,7 +109,7 @@ module CreateSend
109
109
  end
110
110
  end
111
111
 
112
- @@base_uri = "https://api.createsend.com/api/v3.1"
112
+ @@base_uri = "https://api.createsend.com/api/v3.2"
113
113
  @@oauth_base_uri = "https://api.createsend.com/oauth"
114
114
  @@oauth_token_uri = "#{@@oauth_base_uri}/token"
115
115
  headers({
@@ -116,37 +116,37 @@ module CreateSend
116
116
 
117
117
  # Gets the active subscribers for this list.
118
118
  def active(date="", page=1, page_size=1000, order_field="email",
119
- order_direction="asc")
119
+ order_direction="asc", include_tracking_preference=false)
120
120
  paged_result_by_date("active", date, page, page_size, order_field,
121
- order_direction)
121
+ order_direction, include_tracking_preference)
122
122
  end
123
123
 
124
124
  # Gets the unconfirmed subscribers for this list.
125
125
  def unconfirmed(date="", page=1, page_size=1000, order_field="email",
126
- order_direction="asc")
126
+ order_direction="asc", include_tracking_preference=false)
127
127
  paged_result_by_date("unconfirmed", date, page, page_size, order_field,
128
- order_direction)
128
+ order_direction, include_tracking_preference)
129
129
  end
130
130
 
131
131
  # Gets the bounced subscribers for this list.
132
132
  def bounced(date="", page=1, page_size=1000, order_field="email",
133
- order_direction="asc")
133
+ order_direction="asc", include_tracking_preference=false)
134
134
  paged_result_by_date("bounced", date, page, page_size, order_field,
135
- order_direction)
135
+ order_direction, include_tracking_preference)
136
136
  end
137
137
 
138
138
  # Gets the unsubscribed subscribers for this list.
139
139
  def unsubscribed(date="", page=1, page_size=1000, order_field="email",
140
- order_direction="asc")
140
+ order_direction="asc", include_tracking_preference=false)
141
141
  paged_result_by_date("unsubscribed", date, page, page_size, order_field,
142
- order_direction)
142
+ order_direction, include_tracking_preference)
143
143
  end
144
144
 
145
145
  # Gets the deleted subscribers for this list.
146
146
  def deleted(date="", page=1, page_size=1000, order_field="email",
147
- order_direction="asc")
147
+ order_direction="asc", include_tracking_preference=false)
148
148
  paged_result_by_date("deleted", date, page, page_size, order_field,
149
- order_direction)
149
+ order_direction, include_tracking_preference)
150
150
  end
151
151
 
152
152
  # Updates this list.
@@ -225,13 +225,14 @@ module CreateSend
225
225
  private
226
226
 
227
227
  def paged_result_by_date(resource, date, page, page_size, order_field,
228
- order_direction)
228
+ order_direction, include_tracking_preference)
229
229
  options = { :query => {
230
230
  :date => date,
231
231
  :page => page,
232
232
  :pagesize => page_size,
233
233
  :orderfield => order_field,
234
- :orderdirection => order_direction } }
234
+ :orderdirection => order_direction,
235
+ :includetrackingpreference => include_tracking_preference } }
235
236
  response = get resource, options
236
237
  Hashie::Mash.new(response)
237
238
  end
@@ -35,13 +35,14 @@ module CreateSend
35
35
 
36
36
  # Gets the active subscribers in this segment.
37
37
  def subscribers(date="", page=1, page_size=1000, order_field="email",
38
- order_direction="asc")
38
+ order_direction="asc", include_tracking_preference=false)
39
39
  options = { :query => {
40
40
  :date => date,
41
41
  :page => page,
42
42
  :pagesize => page_size,
43
43
  :orderfield => order_field,
44
- :orderdirection => order_direction } }
44
+ :orderdirection => order_direction,
45
+ :includetrackingpreference => include_tracking_preference } }
45
46
  response = get "active", options
46
47
  Hashie::Mash.new(response)
47
48
  end
@@ -11,23 +11,27 @@ module CreateSend
11
11
  end
12
12
 
13
13
  # Gets a subscriber by list ID and email address.
14
- def self.get(auth, list_id, email_address)
15
- options = { :query => { :email => email_address } }
14
+ def self.get(auth, list_id, email_address, include_tracking_preference=false)
15
+ options = { :query => {
16
+ :email => email_address,
17
+ :includetrackingpreference => include_tracking_preference }
18
+ }
16
19
  cs = CreateSend.new auth
17
20
  response = cs.get "/subscribers/#{list_id}.json", options
18
21
  Hashie::Mash.new(response)
19
22
  end
20
23
 
21
24
  # Adds a subscriber to a subscriber list.
22
- def self.add(auth, list_id, email_address, name, custom_fields, resubscribe,
23
- restart_subscription_based_autoresponders=false)
25
+ def self.add(auth, list_id, email_address, name, custom_fields, resubscribe,
26
+ consent_to_track, restart_subscription_based_autoresponders=false)
24
27
  options = { :body => {
25
28
  :EmailAddress => email_address,
26
29
  :Name => name,
27
30
  :CustomFields => custom_fields,
28
31
  :Resubscribe => resubscribe,
29
- :RestartSubscriptionBasedAutoresponders =>
30
- restart_subscription_based_autoresponders }.to_json }
32
+ :RestartSubscriptionBasedAutoresponders =>
33
+ restart_subscription_based_autoresponders,
34
+ :ConsentToTrack => consent_to_track }.to_json }
31
35
  cs = CreateSend.new auth
32
36
  response = cs.post "/subscribers/#{list_id}.json", options
33
37
  response.parsed_response
@@ -65,8 +69,8 @@ module CreateSend
65
69
 
66
70
  # Updates any aspect of a subscriber, including email address, name, and
67
71
  # custom field data if supplied.
68
- def update(new_email_address, name, custom_fields, resubscribe,
69
- restart_subscription_based_autoresponders=false)
72
+ def update(new_email_address, name, custom_fields, resubscribe,
73
+ consent_to_track, restart_subscription_based_autoresponders=false)
70
74
  options = {
71
75
  :query => { :email => @email_address },
72
76
  :body => {
@@ -74,8 +78,9 @@ module CreateSend
74
78
  :Name => name,
75
79
  :CustomFields => custom_fields,
76
80
  :Resubscribe => resubscribe,
77
- :RestartSubscriptionBasedAutoresponders =>
78
- restart_subscription_based_autoresponders }.to_json }
81
+ :RestartSubscriptionBasedAutoresponders =>
82
+ restart_subscription_based_autoresponders,
83
+ :ConsentToTrack => consent_to_track }.to_json }
79
84
  put "/subscribers/#{@list_id}.json", options
80
85
  # Update @email_address, so this object can continue to be used reliably
81
86
  @email_address = new_email_address
@@ -1,3 +1,3 @@
1
1
  module CreateSend
2
- VERSION = "4.1.2" unless defined?(CreateSend::VERSION)
2
+ VERSION = "5.0.0" unless defined?(CreateSend::VERSION)
3
3
  end
@@ -0,0 +1,22 @@
1
+ {
2
+ "EmailAddress": "subscriber@example.com",
3
+ "Name": "Subscriber One",
4
+ "Date": "2010-10-25 10:28:00",
5
+ "State": "Active",
6
+ "CustomFields": [
7
+ {
8
+ "Key": "website",
9
+ "Value": "http://example.com"
10
+ },
11
+ {
12
+ "Key": "age",
13
+ "Value": "24"
14
+ },
15
+ {
16
+ "Key": "subscription date",
17
+ "Value": "2010-03-09"
18
+ }
19
+ ],
20
+ "ReadsEmailWith": "Gmail",
21
+ "ConsentToTrack": "Yes"
22
+ }
@@ -11,7 +11,8 @@
11
11
  "Value": "http://example.com"
12
12
  }
13
13
  ],
14
- "ReadsEmailWith": ""
14
+ "ReadsEmailWith": "",
15
+ "ConsentToTrack": "Yes"
15
16
  },
16
17
  {
17
18
  "EmailAddress": "subs+7878787y8ggg@example.com",
@@ -24,7 +25,8 @@
24
25
  "Value": "http://subdomain.example.com"
25
26
  }
26
27
  ],
27
- "ReadsEmailWith": ""
28
+ "ReadsEmailWith": "",
29
+ "ConsentToTrack": "No"
28
30
  }
29
31
  ],
30
32
  "ResultsOrderedBy": "email",
@@ -30,7 +30,7 @@ def createsend_url(auth, url)
30
30
  if not url =~ /^http/
31
31
  auth_section = ''
32
32
  auth_section = "#{auth[:api_key]}:x@" if auth and auth.has_key? :api_key
33
- result = "https://#{auth_section}api.createsend.com/api/v3.1/#{url}"
33
+ result = "https://#{auth_section}api.createsend.com/api/v3.2/#{url}"
34
34
  else
35
35
  result = url
36
36
  end
@@ -129,7 +129,7 @@ class ListTest < Test::Unit::TestCase
129
129
 
130
130
  should "get the active subscribers for a list" do
131
131
  min_date = "2010-01-01"
132
- stub_get(@auth, "lists/#{@list.list_id}/active.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}",
132
+ stub_get(@auth, "lists/#{@list.list_id}/active.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}&includetrackingpreference=false",
133
133
  "active_subscribers.json")
134
134
  res = @list.active min_date
135
135
  res.ResultsOrderedBy.should == "email"
@@ -156,9 +156,9 @@ class ListTest < Test::Unit::TestCase
156
156
 
157
157
  should "get the unconfirmed subscribers for a list" do
158
158
  min_date = "2010-01-01"
159
- stub_get(@auth, "lists/#{@list.list_id}/unconfirmed.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}",
159
+ stub_get(@auth, "lists/#{@list.list_id}/unconfirmed.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}&includetrackingpreference=true",
160
160
  "unconfirmed_subscribers.json")
161
- res = @list.unconfirmed min_date
161
+ res = @list.unconfirmed(min_date, 1, 1000, "email", "asc", true)
162
162
  res.ResultsOrderedBy.should == "email"
163
163
  res.OrderDirection.should == "asc"
164
164
  res.PageNumber.should == 1
@@ -170,11 +170,12 @@ class ListTest < Test::Unit::TestCase
170
170
  res.Results.first.EmailAddress.should == "subs+7t8787Y@example.com"
171
171
  res.Results.first.Name.should =="Unconfirmed One"
172
172
  res.Results.first.State.should == "Unconfirmed"
173
+ res.Results.first.ConsentToTrack.should == "Yes"
173
174
  end
174
175
 
175
176
  should "get the unsubscribed subscribers for a list" do
176
177
  min_date = "2010-01-01"
177
- stub_get(@auth, "lists/#{@list.list_id}/unsubscribed.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}",
178
+ stub_get(@auth, "lists/#{@list.list_id}/unsubscribed.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}&includetrackingpreference=false",
178
179
  "unsubscribed_subscribers.json")
179
180
  res = @list.unsubscribed min_date
180
181
  res.ResultsOrderedBy.should == "email"
@@ -195,7 +196,7 @@ class ListTest < Test::Unit::TestCase
195
196
 
196
197
  should "get the deleted subscribers for a list" do
197
198
  min_date = "2010-01-01"
198
- stub_get(@auth, "lists/#{@list.list_id}/deleted.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}",
199
+ stub_get(@auth, "lists/#{@list.list_id}/deleted.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}&includetrackingpreference=false",
199
200
  "deleted_subscribers.json")
200
201
  res = @list.deleted min_date
201
202
  res.ResultsOrderedBy.should == "email"
@@ -216,7 +217,7 @@ class ListTest < Test::Unit::TestCase
216
217
 
217
218
  should "get the bounced subscribers for a list" do
218
219
  min_date = "2010-01-01"
219
- stub_get(@auth, "lists/#{@list.list_id}/bounced.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}",
220
+ stub_get(@auth, "lists/#{@list.list_id}/bounced.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}&includetrackingpreference=false",
220
221
  "bounced_subscribers.json")
221
222
  res = @list.bounced min_date
222
223
  res.ResultsOrderedBy.should == "email"
@@ -28,7 +28,7 @@ class SegmentTest < Test::Unit::TestCase
28
28
 
29
29
  should "get the active subscribers for a particular segment in the list" do
30
30
  min_date = "2010-01-01"
31
- stub_get(@auth, "segments/#{@segment.segment_id}/active.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}",
31
+ stub_get(@auth, "segments/#{@segment.segment_id}/active.json?pagesize=1000&orderfield=email&page=1&orderdirection=asc&date=#{CGI.escape(min_date)}&includetrackingpreference=false",
32
32
  "segment_subscribers.json")
33
33
  res = @segment.subscribers min_date
34
34
  res.ResultsOrderedBy.should == "email"
@@ -9,7 +9,7 @@ class SubscriberTest < Test::Unit::TestCase
9
9
 
10
10
  should "get a subscriber by list id and email address" do
11
11
  email = "subscriber@example.com"
12
- stub_get(@auth, "subscribers/#{@list_id}.json?email=#{CGI.escape(email)}", "subscriber_details.json")
12
+ stub_get(@auth, "subscribers/#{@list_id}.json?email=#{CGI.escape(email)}&includetrackingpreference=false", "subscriber_details.json")
13
13
  subscriber = CreateSend::Subscriber.get @auth, @list_id, email
14
14
  subscriber.EmailAddress.should == email
15
15
  subscriber.Name.should == "Subscriber One"
@@ -21,16 +21,25 @@ class SubscriberTest < Test::Unit::TestCase
21
21
  subscriber.ReadsEmailWith.should == "Gmail"
22
22
  end
23
23
 
24
+ should "get a subscriber with track preference information" do
25
+ email = "subscriber@example.com"
26
+ stub_get(@auth, "subscribers/#{@list_id}.json?email=#{CGI.escape(email)}&includetrackingpreference=true", "subscriber_details_with_track_pref.json")
27
+ subscriber = CreateSend::Subscriber.get @auth, @list_id, email, true
28
+ subscriber.EmailAddress.should == email
29
+ subscriber.Name.should == "Subscriber One"
30
+ subscriber.ConsentToTrack == "Yes"
31
+ end
32
+
24
33
  should "add a subscriber without custom fields" do
25
34
  stub_post(@auth, "subscribers/#{@list_id}.json", "add_subscriber.json")
26
- email_address = CreateSend::Subscriber.add @auth, @list_id, "subscriber@example.com", "Subscriber", [], true
35
+ email_address = CreateSend::Subscriber.add @auth, @list_id, "subscriber@example.com", "Subscriber", [], true, "Yes"
27
36
  email_address.should == "subscriber@example.com"
28
37
  end
29
38
 
30
39
  should "add a subscriber with custom fields" do
31
40
  stub_post(@auth, "subscribers/#{@list_id}.json", "add_subscriber.json")
32
41
  custom_fields = [ { :Key => 'website', :Value => 'http://example.com/' } ]
33
- email_address = CreateSend::Subscriber.add @auth, @list_id, "subscriber@example.com", "Subscriber", custom_fields, true
42
+ email_address = CreateSend::Subscriber.add @auth, @list_id, "subscriber@example.com", "Subscriber", custom_fields, true, "Yes"
34
43
  email_address.should == "subscriber@example.com"
35
44
  end
36
45
 
@@ -39,7 +48,7 @@ class SubscriberTest < Test::Unit::TestCase
39
48
  custom_fields = [ { :Key => 'multioptionselectone', :Value => 'myoption' },
40
49
  { :Key => 'multioptionselectmany', :Value => 'firstoption' },
41
50
  { :Key => 'multioptionselectmany', :Value => 'secondoption' } ]
42
- email_address = CreateSend::Subscriber.add @auth, @list_id, "subscriber@example.com", "Subscriber", custom_fields, true
51
+ email_address = CreateSend::Subscriber.add @auth, @list_id, "subscriber@example.com", "Subscriber", custom_fields, true, "Yes"
43
52
  email_address.should == "subscriber@example.com"
44
53
  end
45
54
 
@@ -48,7 +57,7 @@ class SubscriberTest < Test::Unit::TestCase
48
57
  new_email = "new_email_address@example.com"
49
58
  stub_put(@auth, "subscribers/#{@list_id}.json?email=#{CGI.escape(email)}", nil)
50
59
  custom_fields = [ { :Key => 'website', :Value => 'http://example.com/' } ]
51
- @subscriber.update new_email, "Subscriber", custom_fields, true
60
+ @subscriber.update new_email, "Subscriber", custom_fields, true, "Yes"
52
61
  @subscriber.email_address.should == new_email
53
62
  end
54
63
 
@@ -57,7 +66,7 @@ class SubscriberTest < Test::Unit::TestCase
57
66
  new_email = "new_email_address@example.com"
58
67
  stub_put(@auth, "subscribers/#{@list_id}.json?email=#{CGI.escape(email)}", nil)
59
68
  custom_fields = [ { :Key => 'website', :Value => '', :Clear => true } ]
60
- @subscriber.update new_email, "Subscriber", custom_fields, true
69
+ @subscriber.update new_email, "Subscriber", custom_fields, true, "No"
61
70
  @subscriber.email_address.should == new_email
62
71
  end
63
72
 
@@ -133,8 +142,8 @@ class SubscriberTest < Test::Unit::TestCase
133
142
  { :EmailAddress => "example+2@example.com", :Name => "Example Two" },
134
143
  { :EmailAddress => "example+3@example.com", :Name => "Example Three" },
135
144
  ]
136
- lambda { import_result = CreateSend::Subscriber.import @auth, @list_id, subscribers, true
137
- }.should raise_error(CreateSend::BadRequest)
145
+ lambda { import_result = CreateSend::Subscriber.import @auth, @list_id, subscribers,
146
+ true }.should raise_error(CreateSend::BadRequest)
138
147
  end
139
148
 
140
149
  should "unsubscribe a subscriber" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: createsend
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.2
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Dennes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-27 00:00:00.000000000 Z
11
+ date: 2018-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -245,6 +245,7 @@ files:
245
245
  - test/fixtures/segment_subscribers.json
246
246
  - test/fixtures/segments.json
247
247
  - test/fixtures/subscriber_details.json
248
+ - test/fixtures/subscriber_details_with_track_pref.json
248
249
  - test/fixtures/subscriber_history.json
249
250
  - test/fixtures/suppressionlist.json
250
251
  - test/fixtures/systemdate.json
@@ -297,9 +298,104 @@ required_rubygems_version: !ruby/object:Gem::Requirement
297
298
  version: 1.3.6
298
299
  requirements: []
299
300
  rubyforge_project:
300
- rubygems_version: 2.5.2
301
+ rubygems_version: 2.6.14
301
302
  signing_key:
302
303
  specification_version: 4
303
304
  summary: A library which implements the complete functionality of the Campaign Monitor
304
305
  API.
305
- test_files: []
306
+ test_files:
307
+ - test/administrator_test.rb
308
+ - test/campaign_test.rb
309
+ - test/client_test.rb
310
+ - test/createsend_test.rb
311
+ - test/fixtures/active_subscribers.json
312
+ - test/fixtures/add_admin.json
313
+ - test/fixtures/add_person.json
314
+ - test/fixtures/add_subscriber.json
315
+ - test/fixtures/admin_details.json
316
+ - test/fixtures/admin_get_primary_contact.json
317
+ - test/fixtures/admin_set_primary_contact.json
318
+ - test/fixtures/administrators.json
319
+ - test/fixtures/billingdetails.json
320
+ - test/fixtures/bounced_subscribers.json
321
+ - test/fixtures/campaign_bounces.json
322
+ - test/fixtures/campaign_clicks.json
323
+ - test/fixtures/campaign_listsandsegments.json
324
+ - test/fixtures/campaign_opens.json
325
+ - test/fixtures/campaign_recipients.json
326
+ - test/fixtures/campaign_spam.json
327
+ - test/fixtures/campaign_summary.json
328
+ - test/fixtures/campaign_unsubscribes.json
329
+ - test/fixtures/campaigns.json
330
+ - test/fixtures/client_details.json
331
+ - test/fixtures/client_get_primary_contact.json
332
+ - test/fixtures/client_set_primary_contact.json
333
+ - test/fixtures/clients.json
334
+ - test/fixtures/countries.json
335
+ - test/fixtures/create_campaign.json
336
+ - test/fixtures/create_client.json
337
+ - test/fixtures/create_custom_field.json
338
+ - test/fixtures/create_list.json
339
+ - test/fixtures/create_list_webhook.json
340
+ - test/fixtures/create_segment.json
341
+ - test/fixtures/create_template.json
342
+ - test/fixtures/custom_api_error.json
343
+ - test/fixtures/custom_fields.json
344
+ - test/fixtures/deleted_subscribers.json
345
+ - test/fixtures/drafts.json
346
+ - test/fixtures/email_client_usage.json
347
+ - test/fixtures/expired_oauth_token_api_error.json
348
+ - test/fixtures/external_session.json
349
+ - test/fixtures/import_subscribers.json
350
+ - test/fixtures/import_subscribers_partial_success.json
351
+ - test/fixtures/invalid_oauth_token_api_error.json
352
+ - test/fixtures/list_details.json
353
+ - test/fixtures/list_stats.json
354
+ - test/fixtures/list_webhooks.json
355
+ - test/fixtures/lists.json
356
+ - test/fixtures/listsforemail.json
357
+ - test/fixtures/oauth_exchange_token.json
358
+ - test/fixtures/oauth_exchange_token_error.json
359
+ - test/fixtures/oauth_refresh_token_error.json
360
+ - test/fixtures/people.json
361
+ - test/fixtures/person_details.json
362
+ - test/fixtures/refresh_oauth_token.json
363
+ - test/fixtures/revoked_oauth_token_api_error.json
364
+ - test/fixtures/scheduled_campaigns.json
365
+ - test/fixtures/segment_details.json
366
+ - test/fixtures/segment_subscribers.json
367
+ - test/fixtures/segments.json
368
+ - test/fixtures/subscriber_details.json
369
+ - test/fixtures/subscriber_details_with_track_pref.json
370
+ - test/fixtures/subscriber_history.json
371
+ - test/fixtures/suppressionlist.json
372
+ - test/fixtures/systemdate.json
373
+ - test/fixtures/template_details.json
374
+ - test/fixtures/templates.json
375
+ - test/fixtures/timezones.json
376
+ - test/fixtures/transfer_credits.json
377
+ - test/fixtures/tx_classicemail_groups.json
378
+ - test/fixtures/tx_message_details.json
379
+ - test/fixtures/tx_message_details_with_statistics.json
380
+ - test/fixtures/tx_messages.json
381
+ - test/fixtures/tx_messages_classic.json
382
+ - test/fixtures/tx_messages_smart.json
383
+ - test/fixtures/tx_resend_message.json
384
+ - test/fixtures/tx_send_multiple.json
385
+ - test/fixtures/tx_send_single.json
386
+ - test/fixtures/tx_smartemail_details.json
387
+ - test/fixtures/tx_smartemails.json
388
+ - test/fixtures/tx_statistics_classic.json
389
+ - test/fixtures/tx_statistics_smart.json
390
+ - test/fixtures/unconfirmed_subscribers.json
391
+ - test/fixtures/unsubscribed_subscribers.json
392
+ - test/fixtures/update_custom_field.json
393
+ - test/helper.rb
394
+ - test/list_test.rb
395
+ - test/person_test.rb
396
+ - test/segment_test.rb
397
+ - test/subscriber_test.rb
398
+ - test/template_test.rb
399
+ - test/transactional_classic_email_test.rb
400
+ - test/transactional_smart_email_test.rb
401
+ - test/transactional_timeline_test.rb