mailchimp_api_v3 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a4df9c8de10385f2de08c7a4a4d0bb18e2c0714c
4
- data.tar.gz: 655e8c4f4082a06e0b9f783abbf434242b3a1c11
3
+ metadata.gz: 50da97b5f8e1e28910279d7d648f719d71ab93b2
4
+ data.tar.gz: ccea721d3b09e2b344bc9ce53894c846713ffafc
5
5
  SHA512:
6
- metadata.gz: cb24e4cea3c415c0418358296bf55eb495a850389edd35a85af86aa1a2b59f4b05cf10b8d900745c891286d50b2e47eccf2ca8a0477fd528b48146858dc0b09d
7
- data.tar.gz: 642a60da1263e53bec6410c5ccd12adeb1cc62f9e9ac608f261eab4c146d890c477e98f40d3f09006458eed861a435c0f367b5ace694efb2256d29bed7f9e5d9
6
+ metadata.gz: e4d634f48ef8dabd8fbf7eb1d34b58a5f57b770826a622aeade75fd1ecbcb2a029fbbe021a8eebc6fa273b5db976e8b003b34e9aa3e878d1fdcff7b2c233fd5b
7
+ data.tar.gz: a68ba6bc97a35b8cae94272cdd978e16c2fba528bdd9a8a4bc4f39fdf97e5d1bf572f3a6bd1de5532d467954ac0938442ae12c76432fb26eb37e295c5dbec724
@@ -31,3 +31,13 @@ class Hash
31
31
  end
32
32
  end
33
33
  end
34
+
35
+ class String
36
+ def could_be_an_email?
37
+ self =~ /\A[^@]+@[^@]+\z/
38
+ end
39
+
40
+ def convert_to_id
41
+ OpenSSL::Digest.digest('MD5', self).unpack('H*').first
42
+ end
43
+ end
@@ -8,10 +8,6 @@ module Mailchimp
8
8
 
9
9
  def lists(*args)
10
10
  subclass_from Lists, *args
11
- # raw_data = filter.respond_to?(:dup) ? filter.dup : filter
12
- # data = raw_data.is_a?(String) ? { name: raw_data } : raw_data
13
- # lists = Lists.new(self)
14
- # data.empty? ? lists : lists.find_by(data)
15
11
  end
16
12
 
17
13
  def connected?
@@ -36,11 +36,13 @@ module Mailchimp
36
36
  end
37
37
 
38
38
  def managed_remote_exception(e)
39
- case e.class.to_s # TODO: Find out why this won't match the class except by name string
40
- when 'RestClient::Unauthorized'
41
- fail Mailchimp::Exception::APIKeyError, YAML.load(e.http_body)
42
- when 'RestClient::BadRequest'
43
- Mailchimp::Exception.parse_invalid_resource_exception YAML.load(e.http_body)
39
+ data = YAML.load(e.http_body) if e.respond_to? :http_body
40
+ exception_class_name = e.class.to_s
41
+
42
+ if Mailchimp::Exception::MAPPED_EXCEPTIONS.key? exception_class_name
43
+ fail Mailchimp::Exception::MAPPED_EXCEPTIONS[exception_class_name], data
44
+ elsif exception_class_name == 'RestClient::BadRequest'
45
+ Mailchimp::Exception.parse_invalid_resource_exception data
44
46
  else
45
47
  fail e
46
48
  end
@@ -47,6 +47,17 @@ module Mailchimp
47
47
  create(data)
48
48
  end
49
49
 
50
+ def create_or_update(data)
51
+ clean_data = data.deep_stringify_keys
52
+
53
+ if clean_data.key? 'id'
54
+ instance = self.class::CHILD_CLASS.get @client, path, clean_data.delete('id')
55
+ instance ? instance.update(clean_data) : create(clean_data)
56
+ else
57
+ find_by(clean_data)
58
+ end
59
+ end
60
+
50
61
  def name_field
51
62
  self.class.const_defined?(:NAME_FIELD) ? self.class::NAME_FIELD : 'name'
52
63
  end
@@ -24,10 +24,17 @@ module Mailchimp
24
24
  end
25
25
 
26
26
  APIKeyError = Class.new(DataException)
27
+ NotFound = Class.new(DataException)
27
28
  Duplicate = Class.new(DataException)
28
29
  MissingField = Class.new(DataException)
29
30
  BadRequest = Class.new(DataException)
31
+
30
32
  UnknownAttribute = Class.new(RuntimeError)
31
33
  MissingId = Class.new(RuntimeError)
34
+
35
+ MAPPED_EXCEPTIONS = {
36
+ 'RestClient::ResourceNotFound' => NotFound,
37
+ 'RestClient::Unauthorized' => APIKeyError
38
+ }
32
39
  end
33
40
  end
@@ -4,7 +4,9 @@ module Mailchimp
4
4
 
5
5
  def self.get(client, collection_path, id)
6
6
  data = client.get "#{collection_path}/#{id}"
7
- new client, data, collection_path
7
+ data ? new(client, data, collection_path) : nil
8
+ rescue Mailchimp::Exception::NotFound
9
+ nil
8
10
  end
9
11
 
10
12
  # Instance methods
@@ -1,12 +1,8 @@
1
1
  module Mailchimp
2
2
  class List < Instance
3
3
  def members(options = {})
4
- # Turn an email into an id
5
- if options.is_a?(String) && (options =~ /\A[^@]+@[^@]+\z/)
6
- options = OpenSSL::Digest.digest('MD5', options).unpack('H*').first
7
- end
8
-
9
- subclass_from Members, options
4
+ id = options.convert_to_id if options.is_a?(String) && options.could_be_an_email?
5
+ subclass_from Members, (id || options)
10
6
  end
11
7
 
12
8
  def interest_categories(options = {})
@@ -1,6 +1,14 @@
1
1
  module Mailchimp
2
2
  class List
3
3
  class Member < Instance
4
+ # Class methods
5
+
6
+ def self.add_id_to(data)
7
+ clean_data = data.deep_stringify_keys
8
+ return clean_data unless clean_data.key? 'email_address'
9
+ clean_data.merge id: clean_data['email_address'].convert_to_id
10
+ end
11
+
4
12
  def self.parse_name_from(data)
5
13
  clean_data = data.deep_stringify_keys
6
14
  fname, lname = name_parts_from clean_data
@@ -23,6 +31,8 @@ module Mailchimp
23
31
  ]
24
32
  end
25
33
 
34
+ # Instance methods
35
+
26
36
  def first_name
27
37
  merge_fields['FNAME']
28
38
  end
@@ -52,6 +62,10 @@ module Mailchimp
52
62
  def create(data)
53
63
  super Mailchimp::List::Member.parse_name_from(data)
54
64
  end
65
+
66
+ def create_or_update(data)
67
+ super Mailchimp::List::Member.add_id_to(data)
68
+ end
55
69
  end
56
70
  end
57
71
  end
@@ -1,3 +1,3 @@
1
1
  module Mailchimp
2
- VERSION = '0.0.13'
2
+ VERSION = '0.0.14'
3
3
  end
@@ -0,0 +1,730 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists?count=500&exclude_fields=lists._links,_links&offset=0
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Authorization:
15
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
16
+ User-Agent:
17
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Content-Length:
28
+ - '2354'
29
+ X-Request-Id:
30
+ - b7daec56-8142-4113-b808-4e2b296a0b5f
31
+ Link:
32
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Collection.json>; rel="describedBy"
33
+ Vary:
34
+ - Accept-Encoding
35
+ Date:
36
+ - Sat, 11 Jul 2015 12:41:37 GMT
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: ASCII-8BIT
41
+ string: '{"lists":[{"id":"71937ea346","name":"My second list","contact":{"company":"InSite
42
+ Arts","address1":"300 Burdett Road","address2":"London","city":"London","state":"Select
43
+ One","zip":"E14 7DQ","country":"262","phone":"02075372125"},"permission_reminder":"Test
44
+ list for Xenapto testing","use_archive_bar":true,"campaign_defaults":{"from_name":"Sam
45
+ Sayers","from_email":"sam@insitearts.com","subject":"","language":"en"},"notify_on_subscribe":"","notify_on_unsubscribe":"","date_created":"2015-07-09T10:17:28+00:00","list_rating":0,"email_type_option":false,"subscribe_url_short":"http://eepurl.com/bsNMtP","subscribe_url_long":"http://insitearts.us11.list-manage1.com/subscribe?u=1dbca289fd41b54838bcbb501&id=71937ea346","beamer_address":"us11-6692a2b3c3-e843e438a6@inbound.mailchimp.com","visibility":"pub","modules":[],"stats":{"member_count":1,"unsubscribe_count":0,"cleaned_count":0,"member_count_since_send":0,"unsubscribe_count_since_send":0,"cleaned_count_since_send":0,"campaign_count":0,"campaign_last_sent":"","merge_field_count":2,"avg_sub_rate":0,"avg_unsub_rate":0,"target_sub_rate":0,"open_rate":0,"click_rate":0,"last_sub_date":"2015-07-09T13:32:01+00:00","last_unsub_date":""}},{"id":"e73f5910ca","name":"My
46
+ first list","contact":{"company":"InSite Arts","address1":"300 Burdett Road","address2":"London","city":"London","state":"","zip":"E14
47
+ 7DQ","country":"262","phone":"07917153555"},"permission_reminder":"Opt-in
48
+ only","use_archive_bar":true,"campaign_defaults":{"from_name":"Sam Sayers","from_email":"sam@sayers.cc","subject":"","language":"en"},"notify_on_subscribe":"","notify_on_unsubscribe":"","date_created":"2015-06-27T14:49:18+00:00","list_rating":0,"email_type_option":false,"subscribe_url_short":"http://eepurl.com/brGTO9","subscribe_url_long":"http://insitearts.us11.list-manage.com/subscribe?u=1dbca289fd41b54838bcbb501&id=e73f5910ca","beamer_address":"us11-6692a2b3c3-bcd2a8b144@inbound.mailchimp.com","visibility":"pub","modules":[],"stats":{"member_count":2,"unsubscribe_count":0,"cleaned_count":0,"member_count_since_send":3,"unsubscribe_count_since_send":0,"cleaned_count_since_send":0,"campaign_count":0,"campaign_last_sent":"","merge_field_count":2,"avg_sub_rate":0,"avg_unsub_rate":0,"target_sub_rate":0,"open_rate":0,"click_rate":0,"last_sub_date":"2015-06-27T14:50:39+00:00","last_unsub_date":""}}],"total_items":2}'
49
+ http_version:
50
+ recorded_at: Sat, 11 Jul 2015 12:41:37 GMT
51
+ - request:
52
+ method: get
53
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists?count=500&exclude_fields=lists._links,_links&offset=0
54
+ body:
55
+ encoding: US-ASCII
56
+ string: ''
57
+ headers:
58
+ Accept:
59
+ - "*/*; q=0.5, application/xml"
60
+ Accept-Encoding:
61
+ - gzip, deflate
62
+ Authorization:
63
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
64
+ User-Agent:
65
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
66
+ response:
67
+ status:
68
+ code: 200
69
+ message: OK
70
+ headers:
71
+ Server:
72
+ - nginx
73
+ Content-Type:
74
+ - application/json; charset=utf-8
75
+ Content-Length:
76
+ - '2353'
77
+ X-Request-Id:
78
+ - ee6e4d31-7d7f-45d8-8ece-d6daeeb942b4
79
+ Link:
80
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Collection.json>; rel="describedBy"
81
+ Vary:
82
+ - Accept-Encoding
83
+ Date:
84
+ - Sat, 11 Jul 2015 12:41:37 GMT
85
+ Connection:
86
+ - keep-alive
87
+ body:
88
+ encoding: ASCII-8BIT
89
+ string: '{"lists":[{"id":"71937ea346","name":"My second list","contact":{"company":"InSite
90
+ Arts","address1":"300 Burdett Road","address2":"London","city":"London","state":"Select
91
+ One","zip":"E14 7DQ","country":"262","phone":"02075372125"},"permission_reminder":"Test
92
+ list for Xenapto testing","use_archive_bar":true,"campaign_defaults":{"from_name":"Sam
93
+ Sayers","from_email":"sam@insitearts.com","subject":"","language":"en"},"notify_on_subscribe":"","notify_on_unsubscribe":"","date_created":"2015-07-09T10:17:28+00:00","list_rating":0,"email_type_option":false,"subscribe_url_short":"http://eepurl.com/bsNMtP","subscribe_url_long":"http://insitearts.us11.list-manage.com/subscribe?u=1dbca289fd41b54838bcbb501&id=71937ea346","beamer_address":"us11-6692a2b3c3-e843e438a6@inbound.mailchimp.com","visibility":"pub","modules":[],"stats":{"member_count":1,"unsubscribe_count":0,"cleaned_count":0,"member_count_since_send":0,"unsubscribe_count_since_send":0,"cleaned_count_since_send":0,"campaign_count":0,"campaign_last_sent":"","merge_field_count":2,"avg_sub_rate":0,"avg_unsub_rate":0,"target_sub_rate":0,"open_rate":0,"click_rate":0,"last_sub_date":"2015-07-09T13:32:01+00:00","last_unsub_date":""}},{"id":"e73f5910ca","name":"My
94
+ first list","contact":{"company":"InSite Arts","address1":"300 Burdett Road","address2":"London","city":"London","state":"","zip":"E14
95
+ 7DQ","country":"262","phone":"07917153555"},"permission_reminder":"Opt-in
96
+ only","use_archive_bar":true,"campaign_defaults":{"from_name":"Sam Sayers","from_email":"sam@sayers.cc","subject":"","language":"en"},"notify_on_subscribe":"","notify_on_unsubscribe":"","date_created":"2015-06-27T14:49:18+00:00","list_rating":0,"email_type_option":false,"subscribe_url_short":"http://eepurl.com/brGTO9","subscribe_url_long":"http://insitearts.us11.list-manage.com/subscribe?u=1dbca289fd41b54838bcbb501&id=e73f5910ca","beamer_address":"us11-6692a2b3c3-bcd2a8b144@inbound.mailchimp.com","visibility":"pub","modules":[],"stats":{"member_count":2,"unsubscribe_count":0,"cleaned_count":0,"member_count_since_send":3,"unsubscribe_count_since_send":0,"cleaned_count_since_send":0,"campaign_count":0,"campaign_last_sent":"","merge_field_count":2,"avg_sub_rate":0,"avg_unsub_rate":0,"target_sub_rate":0,"open_rate":0,"click_rate":0,"last_sub_date":"2015-06-27T14:50:39+00:00","last_unsub_date":""}}],"total_items":2}'
97
+ http_version:
98
+ recorded_at: Sat, 11 Jul 2015 12:41:37 GMT
99
+ - request:
100
+ method: get
101
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members?count=500&exclude_fields=members._links,_links&offset=0
102
+ body:
103
+ encoding: US-ASCII
104
+ string: ''
105
+ headers:
106
+ Accept:
107
+ - "*/*; q=0.5, application/xml"
108
+ Accept-Encoding:
109
+ - gzip, deflate
110
+ Authorization:
111
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
112
+ User-Agent:
113
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
114
+ response:
115
+ status:
116
+ code: 200
117
+ message: OK
118
+ headers:
119
+ Server:
120
+ - nginx
121
+ Content-Type:
122
+ - application/json; charset=utf-8
123
+ Content-Length:
124
+ - '1260'
125
+ X-Request-Id:
126
+ - f730f278-592c-4139-abbd-b715a7b5caa7
127
+ Link:
128
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json>;
129
+ rel="describedBy"
130
+ Vary:
131
+ - Accept-Encoding
132
+ Date:
133
+ - Sat, 11 Jul 2015 12:41:37 GMT
134
+ Connection:
135
+ - keep-alive
136
+ body:
137
+ encoding: ASCII-8BIT
138
+ string: '{"members":[{"id":"140b91c107d2058dee730e75be0b1151","email_address":"ann@sayers.cc","unique_email_id":"37a55cdc48","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Ann","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:15+00:00","member_rating":2,"last_changed":"2015-07-07T12:05:57+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"a81216d35b4cbfa18632867228be02da","email_address":"bob@sayers.cc","unique_email_id":"3f73c23e26","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Bob","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:39+00:00","member_rating":2,"last_changed":"2015-06-27T14:50:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"}],"list_id":"e73f5910ca","total_items":2}'
139
+ http_version:
140
+ recorded_at: Sat, 11 Jul 2015 12:41:37 GMT
141
+ - request:
142
+ method: get
143
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members?count=500&exclude_fields=members._links,_links&offset=0
144
+ body:
145
+ encoding: US-ASCII
146
+ string: ''
147
+ headers:
148
+ Accept:
149
+ - "*/*; q=0.5, application/xml"
150
+ Accept-Encoding:
151
+ - gzip, deflate
152
+ Authorization:
153
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
154
+ User-Agent:
155
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
156
+ response:
157
+ status:
158
+ code: 200
159
+ message: OK
160
+ headers:
161
+ Server:
162
+ - nginx
163
+ Content-Type:
164
+ - application/json; charset=utf-8
165
+ Content-Length:
166
+ - '1260'
167
+ X-Request-Id:
168
+ - 47fb2e2e-51ff-40b3-976a-162738cc345b
169
+ Link:
170
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json>;
171
+ rel="describedBy"
172
+ Vary:
173
+ - Accept-Encoding
174
+ Date:
175
+ - Sat, 11 Jul 2015 12:41:37 GMT
176
+ Connection:
177
+ - keep-alive
178
+ body:
179
+ encoding: ASCII-8BIT
180
+ string: '{"members":[{"id":"140b91c107d2058dee730e75be0b1151","email_address":"ann@sayers.cc","unique_email_id":"37a55cdc48","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Ann","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:15+00:00","member_rating":2,"last_changed":"2015-07-07T12:05:57+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"a81216d35b4cbfa18632867228be02da","email_address":"bob@sayers.cc","unique_email_id":"3f73c23e26","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Bob","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:39+00:00","member_rating":2,"last_changed":"2015-06-27T14:50:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"}],"list_id":"e73f5910ca","total_items":2}'
181
+ http_version:
182
+ recorded_at: Sat, 11 Jul 2015 12:41:37 GMT
183
+ - request:
184
+ method: get
185
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb
186
+ body:
187
+ encoding: US-ASCII
188
+ string: ''
189
+ headers:
190
+ Accept:
191
+ - "*/*; q=0.5, application/xml"
192
+ Accept-Encoding:
193
+ - gzip, deflate
194
+ Authorization:
195
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
196
+ User-Agent:
197
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
198
+ response:
199
+ status:
200
+ code: 404
201
+ message: Not Found
202
+ headers:
203
+ Server:
204
+ - nginx
205
+ Content-Type:
206
+ - application/problem+json; charset=utf-8
207
+ Content-Length:
208
+ - '218'
209
+ X-Request-Id:
210
+ - 6ebaa496-aee1-4593-a450-ac6ccb8bb6e1
211
+ Link:
212
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/ProblemDetailDocument.json>; rel="describedBy"
213
+ Vary:
214
+ - Accept-Encoding
215
+ Date:
216
+ - Sat, 11 Jul 2015 12:41:38 GMT
217
+ Connection:
218
+ - keep-alive
219
+ body:
220
+ encoding: ASCII-8BIT
221
+ string: '{"type":"http://kb.mailchimp.com/api/error-docs/404-resource-not-found","title":"Resource
222
+ Not Found","status":404,"detail":"The requested resource could not be found.","instance":"6ebaa496-aee1-4593-a450-ac6ccb8bb6e1"}'
223
+ http_version:
224
+ recorded_at: Sat, 11 Jul 2015 12:41:38 GMT
225
+ - request:
226
+ method: post
227
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members
228
+ body:
229
+ encoding: UTF-8
230
+ string: '{"merge_fields":{"FNAME":"Cat","LNAME":"Sayers"},"email_address":"cat@sayers.cc","status":"subscribed"}'
231
+ headers:
232
+ Accept:
233
+ - "*/*; q=0.5, application/xml"
234
+ Accept-Encoding:
235
+ - gzip, deflate
236
+ Authorization:
237
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
238
+ User-Agent:
239
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
240
+ Content-Length:
241
+ - '103'
242
+ response:
243
+ status:
244
+ code: 200
245
+ message: OK
246
+ headers:
247
+ Server:
248
+ - nginx
249
+ Content-Type:
250
+ - application/json; charset=utf-8
251
+ Content-Length:
252
+ - '2086'
253
+ X-Request-Id:
254
+ - e117d453-557a-4270-8e69-24fbdff5c6be
255
+ Link:
256
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json>; rel="describedBy"
257
+ Vary:
258
+ - Accept-Encoding
259
+ Date:
260
+ - Sat, 11 Jul 2015 12:41:38 GMT
261
+ Connection:
262
+ - keep-alive
263
+ body:
264
+ encoding: ASCII-8BIT
265
+ string: '{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Cat","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:38+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca","_links":[{"rel":"self","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json"},{"rel":"parent","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json"},{"rel":"update","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"PATCH","schema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json"},{"rel":"delete","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"DELETE"},{"rel":"activity","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/activity","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Activity/Collection.json"},{"rel":"goals","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/goals","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Goals/Collection.json"},{"rel":"notes","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/notes","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Notes/Collection.json"}]}'
266
+ http_version:
267
+ recorded_at: Sat, 11 Jul 2015 12:41:38 GMT
268
+ - request:
269
+ method: get
270
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members?count=500&exclude_fields=members._links,_links&offset=0
271
+ body:
272
+ encoding: US-ASCII
273
+ string: ''
274
+ headers:
275
+ Accept:
276
+ - "*/*; q=0.5, application/xml"
277
+ Accept-Encoding:
278
+ - gzip, deflate
279
+ Authorization:
280
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
281
+ User-Agent:
282
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
283
+ response:
284
+ status:
285
+ code: 200
286
+ message: OK
287
+ headers:
288
+ Server:
289
+ - nginx
290
+ Content-Type:
291
+ - application/json; charset=utf-8
292
+ Content-Length:
293
+ - '1862'
294
+ X-Request-Id:
295
+ - 512fd688-2070-45a2-9fd7-877226d30fa4
296
+ Link:
297
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json>;
298
+ rel="describedBy"
299
+ Vary:
300
+ - Accept-Encoding
301
+ Date:
302
+ - Sat, 11 Jul 2015 12:41:38 GMT
303
+ Connection:
304
+ - keep-alive
305
+ body:
306
+ encoding: ASCII-8BIT
307
+ string: '{"members":[{"id":"140b91c107d2058dee730e75be0b1151","email_address":"ann@sayers.cc","unique_email_id":"37a55cdc48","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Ann","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:15+00:00","member_rating":2,"last_changed":"2015-07-07T12:05:57+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"a81216d35b4cbfa18632867228be02da","email_address":"bob@sayers.cc","unique_email_id":"3f73c23e26","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Bob","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:39+00:00","member_rating":2,"last_changed":"2015-06-27T14:50:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Cat","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:38+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"}],"list_id":"e73f5910ca","total_items":3}'
308
+ http_version:
309
+ recorded_at: Sat, 11 Jul 2015 12:41:38 GMT
310
+ - request:
311
+ method: get
312
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members?count=500&exclude_fields=members._links,_links&offset=0
313
+ body:
314
+ encoding: US-ASCII
315
+ string: ''
316
+ headers:
317
+ Accept:
318
+ - "*/*; q=0.5, application/xml"
319
+ Accept-Encoding:
320
+ - gzip, deflate
321
+ Authorization:
322
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
323
+ User-Agent:
324
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
325
+ response:
326
+ status:
327
+ code: 200
328
+ message: OK
329
+ headers:
330
+ Server:
331
+ - nginx
332
+ Content-Type:
333
+ - application/json; charset=utf-8
334
+ Content-Length:
335
+ - '1862'
336
+ X-Request-Id:
337
+ - b7b6d5c6-21cd-4c59-97db-a35386f2d0d2
338
+ Link:
339
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json>;
340
+ rel="describedBy"
341
+ Vary:
342
+ - Accept-Encoding
343
+ Date:
344
+ - Sat, 11 Jul 2015 12:41:38 GMT
345
+ Connection:
346
+ - keep-alive
347
+ body:
348
+ encoding: ASCII-8BIT
349
+ string: '{"members":[{"id":"140b91c107d2058dee730e75be0b1151","email_address":"ann@sayers.cc","unique_email_id":"37a55cdc48","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Ann","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:15+00:00","member_rating":2,"last_changed":"2015-07-07T12:05:57+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"a81216d35b4cbfa18632867228be02da","email_address":"bob@sayers.cc","unique_email_id":"3f73c23e26","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Bob","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:39+00:00","member_rating":2,"last_changed":"2015-06-27T14:50:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Cat","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:38+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"}],"list_id":"e73f5910ca","total_items":3}'
350
+ http_version:
351
+ recorded_at: Sat, 11 Jul 2015 12:41:38 GMT
352
+ - request:
353
+ method: get
354
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb
355
+ body:
356
+ encoding: US-ASCII
357
+ string: ''
358
+ headers:
359
+ Accept:
360
+ - "*/*; q=0.5, application/xml"
361
+ Accept-Encoding:
362
+ - gzip, deflate
363
+ Authorization:
364
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
365
+ User-Agent:
366
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
367
+ response:
368
+ status:
369
+ code: 200
370
+ message: OK
371
+ headers:
372
+ Server:
373
+ - nginx
374
+ Content-Type:
375
+ - application/json; charset=utf-8
376
+ Content-Length:
377
+ - '2086'
378
+ X-Request-Id:
379
+ - c57c59a3-b9c2-4aed-9e1e-11825167070f
380
+ Link:
381
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json>; rel="describedBy"
382
+ Vary:
383
+ - Accept-Encoding
384
+ Date:
385
+ - Sat, 11 Jul 2015 12:41:39 GMT
386
+ Connection:
387
+ - keep-alive
388
+ body:
389
+ encoding: ASCII-8BIT
390
+ string: '{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Cat","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:38+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca","_links":[{"rel":"self","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json"},{"rel":"parent","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json"},{"rel":"update","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"PATCH","schema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json"},{"rel":"delete","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"DELETE"},{"rel":"activity","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/activity","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Activity/Collection.json"},{"rel":"goals","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/goals","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Goals/Collection.json"},{"rel":"notes","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/notes","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Notes/Collection.json"}]}'
391
+ http_version:
392
+ recorded_at: Sat, 11 Jul 2015 12:41:39 GMT
393
+ - request:
394
+ method: patch
395
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb
396
+ body:
397
+ encoding: UTF-8
398
+ string: '{"merge_fields":{"FNAME":"Catherine"},"email_address":"cat@sayers.cc","status":"subscribed"}'
399
+ headers:
400
+ Accept:
401
+ - "*/*; q=0.5, application/xml"
402
+ Accept-Encoding:
403
+ - gzip, deflate
404
+ Authorization:
405
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
406
+ User-Agent:
407
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
408
+ Content-Length:
409
+ - '92'
410
+ response:
411
+ status:
412
+ code: 200
413
+ message: OK
414
+ headers:
415
+ Server:
416
+ - nginx
417
+ Content-Type:
418
+ - application/json; charset=utf-8
419
+ Content-Length:
420
+ - '2092'
421
+ X-Request-Id:
422
+ - 7d2e444f-ab26-485b-8e30-87799a49f66d
423
+ Link:
424
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json>; rel="describedBy"
425
+ Vary:
426
+ - Accept-Encoding
427
+ Date:
428
+ - Sat, 11 Jul 2015 12:41:39 GMT
429
+ Connection:
430
+ - keep-alive
431
+ body:
432
+ encoding: ASCII-8BIT
433
+ string: '{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Catherine","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca","_links":[{"rel":"self","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json"},{"rel":"parent","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json"},{"rel":"update","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"PATCH","schema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json"},{"rel":"delete","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"DELETE"},{"rel":"activity","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/activity","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Activity/Collection.json"},{"rel":"goals","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/goals","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Goals/Collection.json"},{"rel":"notes","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/notes","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Notes/Collection.json"}]}'
434
+ http_version:
435
+ recorded_at: Sat, 11 Jul 2015 12:41:39 GMT
436
+ - request:
437
+ method: get
438
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members?count=500&exclude_fields=members._links,_links&offset=0
439
+ body:
440
+ encoding: US-ASCII
441
+ string: ''
442
+ headers:
443
+ Accept:
444
+ - "*/*; q=0.5, application/xml"
445
+ Accept-Encoding:
446
+ - gzip, deflate
447
+ Authorization:
448
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
449
+ User-Agent:
450
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
451
+ response:
452
+ status:
453
+ code: 200
454
+ message: OK
455
+ headers:
456
+ Server:
457
+ - nginx
458
+ Content-Type:
459
+ - application/json; charset=utf-8
460
+ Content-Length:
461
+ - '1868'
462
+ X-Request-Id:
463
+ - 38b05944-e6fc-448c-8089-750e5a0645df
464
+ Link:
465
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json>;
466
+ rel="describedBy"
467
+ Vary:
468
+ - Accept-Encoding
469
+ Date:
470
+ - Sat, 11 Jul 2015 12:41:39 GMT
471
+ Connection:
472
+ - keep-alive
473
+ body:
474
+ encoding: ASCII-8BIT
475
+ string: '{"members":[{"id":"140b91c107d2058dee730e75be0b1151","email_address":"ann@sayers.cc","unique_email_id":"37a55cdc48","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Ann","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:15+00:00","member_rating":2,"last_changed":"2015-07-07T12:05:57+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"a81216d35b4cbfa18632867228be02da","email_address":"bob@sayers.cc","unique_email_id":"3f73c23e26","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Bob","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:39+00:00","member_rating":2,"last_changed":"2015-06-27T14:50:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Catherine","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"}],"list_id":"e73f5910ca","total_items":3}'
476
+ http_version:
477
+ recorded_at: Sat, 11 Jul 2015 12:41:39 GMT
478
+ - request:
479
+ method: get
480
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb
481
+ body:
482
+ encoding: US-ASCII
483
+ string: ''
484
+ headers:
485
+ Accept:
486
+ - "*/*; q=0.5, application/xml"
487
+ Accept-Encoding:
488
+ - gzip, deflate
489
+ Authorization:
490
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
491
+ User-Agent:
492
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
493
+ response:
494
+ status:
495
+ code: 200
496
+ message: OK
497
+ headers:
498
+ Server:
499
+ - nginx
500
+ Content-Type:
501
+ - application/json; charset=utf-8
502
+ Content-Length:
503
+ - '2092'
504
+ X-Request-Id:
505
+ - e7d11456-bd71-45d1-b543-a4146a6e2364
506
+ Link:
507
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json>; rel="describedBy"
508
+ Vary:
509
+ - Accept-Encoding
510
+ Date:
511
+ - Sat, 11 Jul 2015 12:41:39 GMT
512
+ Connection:
513
+ - keep-alive
514
+ body:
515
+ encoding: ASCII-8BIT
516
+ string: '{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Catherine","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca","_links":[{"rel":"self","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json"},{"rel":"parent","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json"},{"rel":"update","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"PATCH","schema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json"},{"rel":"delete","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"DELETE"},{"rel":"activity","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/activity","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Activity/Collection.json"},{"rel":"goals","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/goals","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Goals/Collection.json"},{"rel":"notes","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/notes","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Notes/Collection.json"}]}'
517
+ http_version:
518
+ recorded_at: Sat, 11 Jul 2015 12:41:39 GMT
519
+ - request:
520
+ method: patch
521
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb
522
+ body:
523
+ encoding: UTF-8
524
+ string: '{"merge_fields":{"FNAME":"Catherine"},"email_address":"cat@sayers.cc","status":"subscribed"}'
525
+ headers:
526
+ Accept:
527
+ - "*/*; q=0.5, application/xml"
528
+ Accept-Encoding:
529
+ - gzip, deflate
530
+ Authorization:
531
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
532
+ User-Agent:
533
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
534
+ Content-Length:
535
+ - '92'
536
+ response:
537
+ status:
538
+ code: 200
539
+ message: OK
540
+ headers:
541
+ Server:
542
+ - nginx
543
+ Content-Type:
544
+ - application/json; charset=utf-8
545
+ Content-Length:
546
+ - '2092'
547
+ X-Request-Id:
548
+ - d42a895b-06df-4c8d-8223-ce0f35bfbb56
549
+ Link:
550
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json>; rel="describedBy"
551
+ Vary:
552
+ - Accept-Encoding
553
+ Date:
554
+ - Sat, 11 Jul 2015 12:41:39 GMT
555
+ Connection:
556
+ - keep-alive
557
+ body:
558
+ encoding: ASCII-8BIT
559
+ string: '{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Catherine","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca","_links":[{"rel":"self","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json"},{"rel":"parent","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json"},{"rel":"update","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"PATCH","schema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Instance.json"},{"rel":"delete","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb","method":"DELETE"},{"rel":"activity","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/activity","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Activity/Collection.json"},{"rel":"goals","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/goals","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Goals/Collection.json"},{"rel":"notes","href":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members/b84d50ba2a40fdbca8e2771b9a5b94fb/notes","method":"GET","targetSchema":"https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Notes/Collection.json"}]}'
560
+ http_version:
561
+ recorded_at: Sat, 11 Jul 2015 12:41:39 GMT
562
+ - request:
563
+ method: get
564
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members?count=500&exclude_fields=members._links,_links&offset=0
565
+ body:
566
+ encoding: US-ASCII
567
+ string: ''
568
+ headers:
569
+ Accept:
570
+ - "*/*; q=0.5, application/xml"
571
+ Accept-Encoding:
572
+ - gzip, deflate
573
+ Authorization:
574
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
575
+ User-Agent:
576
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
577
+ response:
578
+ status:
579
+ code: 200
580
+ message: OK
581
+ headers:
582
+ Server:
583
+ - nginx
584
+ Content-Type:
585
+ - application/json; charset=utf-8
586
+ Content-Length:
587
+ - '1868'
588
+ X-Request-Id:
589
+ - 5b9f5909-620a-4bd3-b22e-257802df54f8
590
+ Link:
591
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json>;
592
+ rel="describedBy"
593
+ Vary:
594
+ - Accept-Encoding
595
+ Date:
596
+ - Sat, 11 Jul 2015 12:41:40 GMT
597
+ Connection:
598
+ - keep-alive
599
+ body:
600
+ encoding: ASCII-8BIT
601
+ string: '{"members":[{"id":"140b91c107d2058dee730e75be0b1151","email_address":"ann@sayers.cc","unique_email_id":"37a55cdc48","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Ann","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:15+00:00","member_rating":2,"last_changed":"2015-07-07T12:05:57+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"a81216d35b4cbfa18632867228be02da","email_address":"bob@sayers.cc","unique_email_id":"3f73c23e26","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Bob","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:39+00:00","member_rating":2,"last_changed":"2015-06-27T14:50:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Catherine","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"}],"list_id":"e73f5910ca","total_items":3}'
602
+ http_version:
603
+ recorded_at: Sat, 11 Jul 2015 12:41:40 GMT
604
+ - request:
605
+ method: get
606
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members?count=500&exclude_fields=members._links,_links&offset=0
607
+ body:
608
+ encoding: US-ASCII
609
+ string: ''
610
+ headers:
611
+ Accept:
612
+ - "*/*; q=0.5, application/xml"
613
+ Accept-Encoding:
614
+ - gzip, deflate
615
+ Authorization:
616
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
617
+ User-Agent:
618
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
619
+ response:
620
+ status:
621
+ code: 200
622
+ message: OK
623
+ headers:
624
+ Server:
625
+ - nginx
626
+ Content-Type:
627
+ - application/json; charset=utf-8
628
+ Content-Length:
629
+ - '1868'
630
+ X-Request-Id:
631
+ - c51db264-8041-45e2-9261-29996738db02
632
+ Link:
633
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json>;
634
+ rel="describedBy"
635
+ Vary:
636
+ - Accept-Encoding
637
+ Date:
638
+ - Sat, 11 Jul 2015 12:41:40 GMT
639
+ Connection:
640
+ - keep-alive
641
+ body:
642
+ encoding: ASCII-8BIT
643
+ string: '{"members":[{"id":"140b91c107d2058dee730e75be0b1151","email_address":"ann@sayers.cc","unique_email_id":"37a55cdc48","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Ann","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:15+00:00","member_rating":2,"last_changed":"2015-07-07T12:05:57+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"a81216d35b4cbfa18632867228be02da","email_address":"bob@sayers.cc","unique_email_id":"3f73c23e26","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Bob","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:39+00:00","member_rating":2,"last_changed":"2015-06-27T14:50:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Catherine","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"}],"list_id":"e73f5910ca","total_items":3}'
644
+ http_version:
645
+ recorded_at: Sat, 11 Jul 2015 12:41:40 GMT
646
+ - request:
647
+ method: get
648
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members?count=500&exclude_fields=members._links,_links&offset=0
649
+ body:
650
+ encoding: US-ASCII
651
+ string: ''
652
+ headers:
653
+ Accept:
654
+ - "*/*; q=0.5, application/xml"
655
+ Accept-Encoding:
656
+ - gzip, deflate
657
+ Authorization:
658
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
659
+ User-Agent:
660
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
661
+ response:
662
+ status:
663
+ code: 200
664
+ message: OK
665
+ headers:
666
+ Server:
667
+ - nginx
668
+ Content-Type:
669
+ - application/json; charset=utf-8
670
+ Content-Length:
671
+ - '1868'
672
+ X-Request-Id:
673
+ - 67d64ce6-6235-4897-8ddd-12d227821ba1
674
+ Link:
675
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json>;
676
+ rel="describedBy"
677
+ Vary:
678
+ - Accept-Encoding
679
+ Date:
680
+ - Sat, 11 Jul 2015 12:41:40 GMT
681
+ Connection:
682
+ - keep-alive
683
+ body:
684
+ encoding: ASCII-8BIT
685
+ string: '{"members":[{"id":"140b91c107d2058dee730e75be0b1151","email_address":"ann@sayers.cc","unique_email_id":"37a55cdc48","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Ann","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:15+00:00","member_rating":2,"last_changed":"2015-07-07T12:05:57+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"a81216d35b4cbfa18632867228be02da","email_address":"bob@sayers.cc","unique_email_id":"3f73c23e26","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Bob","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:39+00:00","member_rating":2,"last_changed":"2015-06-27T14:50:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Catherine","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"}],"list_id":"e73f5910ca","total_items":3}'
686
+ http_version:
687
+ recorded_at: Sat, 11 Jul 2015 12:41:40 GMT
688
+ - request:
689
+ method: get
690
+ uri: https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/3.0/lists/e73f5910ca/members?count=500&exclude_fields=members._links,_links&offset=0
691
+ body:
692
+ encoding: US-ASCII
693
+ string: ''
694
+ headers:
695
+ Accept:
696
+ - "*/*; q=0.5, application/xml"
697
+ Accept-Encoding:
698
+ - gzip, deflate
699
+ Authorization:
700
+ - apikey <%= ENV['MAILCHIMP_API_KEY'] %>
701
+ User-Agent:
702
+ - Mailchimp API v3 Ruby gem https://rubygems.org/gems/mailchimp_api_v3
703
+ response:
704
+ status:
705
+ code: 200
706
+ message: OK
707
+ headers:
708
+ Server:
709
+ - nginx
710
+ Content-Type:
711
+ - application/json; charset=utf-8
712
+ Content-Length:
713
+ - '1868'
714
+ X-Request-Id:
715
+ - 5b2668d0-b645-42cf-9c61-00aac25f5842
716
+ Link:
717
+ - <https://<%= ENV['MAILCHIMP_DC'] %>.api.mailchimp.com/schema/3.0/Lists/Members/Collection.json>;
718
+ rel="describedBy"
719
+ Vary:
720
+ - Accept-Encoding
721
+ Date:
722
+ - Sat, 11 Jul 2015 12:41:40 GMT
723
+ Connection:
724
+ - keep-alive
725
+ body:
726
+ encoding: ASCII-8BIT
727
+ string: '{"members":[{"id":"140b91c107d2058dee730e75be0b1151","email_address":"ann@sayers.cc","unique_email_id":"37a55cdc48","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Ann","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:15+00:00","member_rating":2,"last_changed":"2015-07-07T12:05:57+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"a81216d35b4cbfa18632867228be02da","email_address":"bob@sayers.cc","unique_email_id":"3f73c23e26","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Bob","LNAME":"Example"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.133","timestamp_opt":"2015-06-27T14:50:39+00:00","member_rating":2,"last_changed":"2015-06-27T14:50:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"},{"id":"b84d50ba2a40fdbca8e2771b9a5b94fb","email_address":"cat@sayers.cc","unique_email_id":"223c7a01d2","email_type":"html","status":"subscribed","merge_fields":{"FNAME":"Catherine","LNAME":"Sayers"},"interests":{"ca7ab24b53":false},"stats":{"avg_open_rate":0,"avg_click_rate":0},"ip_signup":"","timestamp_signup":"","ip_opt":"86.163.13.46","timestamp_opt":"2015-07-11T12:41:38+00:00","member_rating":2,"last_changed":"2015-07-11T12:41:39+00:00","language":"","vip":false,"email_client":"","location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""},"list_id":"e73f5910ca"}],"list_id":"e73f5910ca","total_items":3}'
728
+ http_version:
729
+ recorded_at: Sat, 11 Jul 2015 12:41:40 GMT
730
+ recorded_with: VCR 2.9.3
@@ -16,8 +16,8 @@ describe Mailchimp::List::Member, vcr: { cassette_name: 'member' } do
16
16
  expect(member.name).to eq name
17
17
  end
18
18
 
19
- it 'has an id' do
20
- expect(member.id).to eq '140b91c107d2058dee730e75be0b1151'
19
+ it 'has a string repsentation' do
20
+ expect(member.to_s).to eq 'Ann Example <ann@sayers.cc>'
21
21
  end
22
22
 
23
23
  context 'updates name fields correctly' do
@@ -67,5 +67,28 @@ describe Mailchimp::List::Members do
67
67
  member.delete # Tidy up
68
68
  end
69
69
  end
70
+
71
+ context '#create_or_update', vcr: { cassette_name: 'members_create_or_update' } do
72
+ let(:list) { Mailchimp.connect.lists 'My first list' }
73
+ let(:members) { list.members }
74
+
75
+ it 'creates when no match is found, udates otherwise' do
76
+ name = 'Cat Sayers'
77
+ data = { name: name, email_address: 'cat@sayers.cc', status: 'subscribed' }
78
+
79
+ # Create
80
+ expect { members.create_or_update data }.to change { list.members.count }.by(1)
81
+
82
+ # Update
83
+ data = { first_name: 'Catherine', email_address: 'cat@sayers.cc', status: 'subscribed' }
84
+ expect { members.create_or_update data }.not_to change { list.members.count }
85
+ expect(members.create_or_update data).to have_attributes name: 'Catherine Sayers'
86
+
87
+ # Unless we supply an id or equivalent, we won't end up updating anything
88
+ data = { name: 'Catherine Sayers' }
89
+ expect { members.create_or_update data }.not_to change { list.members.count }
90
+ expect(members.create_or_update data).to have_attributes name: 'Catherine Sayers'
91
+ end
92
+ end
70
93
  end
71
94
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailchimp_api_v3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Xenapto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-09 00:00:00.000000000 Z
11
+ date: 2015-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -247,6 +247,7 @@ files:
247
247
  - spec/fixtures/cassettes/mailchimp.yml
248
248
  - spec/fixtures/cassettes/member.yml
249
249
  - spec/fixtures/cassettes/members.yml
250
+ - spec/fixtures/cassettes/members_create_or_update.yml
250
251
  - spec/fixtures/cassettes/members_paging.yml
251
252
  - spec/mailchimp_api_v3/account_spec.rb
252
253
  - spec/mailchimp_api_v3/client_spec.rb
@@ -300,6 +301,7 @@ test_files:
300
301
  - spec/fixtures/cassettes/mailchimp.yml
301
302
  - spec/fixtures/cassettes/member.yml
302
303
  - spec/fixtures/cassettes/members.yml
304
+ - spec/fixtures/cassettes/members_create_or_update.yml
303
305
  - spec/fixtures/cassettes/members_paging.yml
304
306
  - spec/mailchimp_api_v3/account_spec.rb
305
307
  - spec/mailchimp_api_v3/client_spec.rb