braze_ruby 0.2.2 → 0.3.1

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.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Gemfile +2 -0
  4. data/Gemfile.lock +10 -10
  5. data/README.md +24 -0
  6. data/Rakefile +2 -0
  7. data/braze_ruby.gemspec +8 -8
  8. data/lib/braze_ruby.rb +2 -0
  9. data/lib/braze_ruby/api.rb +4 -0
  10. data/lib/braze_ruby/deprecated.rb +2 -0
  11. data/lib/braze_ruby/endpoints.rb +2 -0
  12. data/lib/braze_ruby/endpoints/campaigns.rb +2 -0
  13. data/lib/braze_ruby/endpoints/canvas.rb +6 -0
  14. data/lib/braze_ruby/endpoints/delete_users.rb +2 -0
  15. data/lib/braze_ruby/endpoints/email_status.rb +2 -0
  16. data/lib/braze_ruby/endpoints/email_sync.rb +2 -0
  17. data/lib/braze_ruby/endpoints/schedule_messages.rb +2 -0
  18. data/lib/braze_ruby/endpoints/send_messages.rb +2 -0
  19. data/lib/braze_ruby/endpoints/subscription.rb +20 -0
  20. data/lib/braze_ruby/endpoints/track_users.rb +2 -0
  21. data/lib/braze_ruby/http.rb +2 -0
  22. data/lib/braze_ruby/rest.rb +6 -0
  23. data/lib/braze_ruby/rest/base.rb +2 -0
  24. data/lib/braze_ruby/rest/canvas_details.rb +22 -0
  25. data/lib/braze_ruby/rest/delete_users.rb +2 -0
  26. data/lib/braze_ruby/rest/email_hard_bounces.rb +2 -0
  27. data/lib/braze_ruby/rest/email_status.rb +2 -0
  28. data/lib/braze_ruby/rest/email_unsubscribes.rb +2 -0
  29. data/lib/braze_ruby/rest/export_users.rb +2 -0
  30. data/lib/braze_ruby/rest/list_segments.rb +2 -0
  31. data/lib/braze_ruby/rest/schedule_messages.rb +2 -0
  32. data/lib/braze_ruby/rest/send_messages.rb +2 -0
  33. data/lib/braze_ruby/rest/subscription_status_get.rb +22 -0
  34. data/lib/braze_ruby/rest/subscription_status_set.rb +22 -0
  35. data/lib/braze_ruby/rest/subscription_user_status.rb +22 -0
  36. data/lib/braze_ruby/rest/track_users.rb +2 -0
  37. data/lib/braze_ruby/rest/trigger_campaign_send.rb +2 -0
  38. data/lib/braze_ruby/rest/trigger_canvas_send.rb +2 -0
  39. data/lib/braze_ruby/version.rb +3 -1
  40. data/spec/braze_ruby/api_spec.rb +2 -0
  41. data/spec/braze_ruby/endpoints/delete_users_spec.rb +2 -0
  42. data/spec/braze_ruby/endpoints/track_users_spec.rb +2 -0
  43. data/spec/braze_ruby/rest/delete_users_spec.rb +2 -0
  44. data/spec/braze_ruby/rest/email_status_spec.rb +2 -0
  45. data/spec/braze_ruby/rest/export_users_spec.rb +2 -0
  46. data/spec/braze_ruby/rest/schedule_messages_spec.rb +2 -0
  47. data/spec/braze_ruby/rest/send_messages_spec.rb +2 -0
  48. data/spec/braze_ruby/rest/track_users_spec.rb +2 -0
  49. data/spec/factories.rb +2 -0
  50. data/spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml +67 -0
  51. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml +69 -0
  52. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml +66 -0
  53. data/spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml +135 -0
  54. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_checking_subscribed_and_unsubscribed_user_status/returns_only_users_that_were_once_subscribed.yml +205 -0
  55. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml +193 -0
  56. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml +207 -0
  57. data/spec/integrations/campaigns_spec.rb +2 -0
  58. data/spec/integrations/canvas_spec.rb +11 -0
  59. data/spec/integrations/delete_users_spec.rb +2 -0
  60. data/spec/integrations/email_status_spec.rb +2 -0
  61. data/spec/integrations/email_sync_spec.rb +2 -0
  62. data/spec/integrations/export_users_spec.rb +2 -0
  63. data/spec/integrations/list_segments_spec.rb +2 -0
  64. data/spec/integrations/schedule_messages_spec.rb +2 -0
  65. data/spec/integrations/send_messages_spec.rb +2 -0
  66. data/spec/integrations/subscription_spec.rb +149 -0
  67. data/spec/integrations/track_users_spec.rb +2 -0
  68. data/spec/spec_helper.rb +2 -0
  69. data/spec/support/factory_bot.rb +2 -0
  70. data/spec/support/integrations.rb +2 -0
  71. data/spec/support/vcr.rb +2 -0
  72. metadata +56 -35
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BrazeRuby
2
4
  module REST
3
5
  class TriggerCampaignSend < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BrazeRuby
2
4
  module REST
3
5
  class TriggerCanvasSend < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BrazeRuby
2
- VERSION = '0.2.2'.freeze
4
+ VERSION = '0.3.1'.freeze
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe BrazeRuby::API do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  class API
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  class API
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe BrazeRuby::REST::DeleteUsers do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe BrazeRuby::REST::EmailStatus do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe BrazeRuby::REST::ExportUsers do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe BrazeRuby::REST::ScheduleMessages do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe BrazeRuby::REST::SendMessages do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe BrazeRuby::REST::TrackUsers do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  FactoryBot.define do
2
4
  factory :attribute, class: Hash do
3
5
  skip_create
@@ -0,0 +1,67 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: "<BRAZE_REST_URL>/canvas/details?api_key=<BRAZE_REST_API_KEY>&canvas_id=non-existing"
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Braze Ruby gem v0.2.2
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 400
21
+ message: Bad Request
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache
25
+ Content-Type:
26
+ - application/json
27
+ Server:
28
+ - nginx
29
+ Strict-Transport-Security:
30
+ - max-age=0; includeSubDomains
31
+ X-Ratelimit-Limit:
32
+ - '250000'
33
+ X-Ratelimit-Remaining:
34
+ - '249999'
35
+ X-Ratelimit-Reset:
36
+ - '1569931200'
37
+ X-Request-Id:
38
+ - ef7a2c66-9020-4973-a76c-87ce14f2f266
39
+ X-Runtime:
40
+ - '0.016301'
41
+ Accept-Ranges:
42
+ - bytes
43
+ - bytes
44
+ Content-Length:
45
+ - '90'
46
+ Date:
47
+ - Tue, 01 Oct 2019 11:36:37 GMT
48
+ Via:
49
+ - 1.1 varnish
50
+ Connection:
51
+ - keep-alive
52
+ X-Served-By:
53
+ - cache-hhn4066-HHN
54
+ X-Cache:
55
+ - MISS
56
+ X-Cache-Hits:
57
+ - '0'
58
+ X-Timer:
59
+ - S1569929798.919907,VS0,VE19
60
+ Vary:
61
+ - Origin,Accept-Encoding
62
+ body:
63
+ encoding: ASCII-8BIT
64
+ string: '{"message":"canvas_id must be a string of the Canvas api identifier"}'
65
+ http_version:
66
+ recorded_at: Tue, 01 Oct 2019 11:36:37 GMT
67
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: "<BRAZE_REST_URL>/subscription/status/set"
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"api_key":"<BRAZE_REST_API_KEY>","external_id":"test-gem-001","subscription_group_id":"0201b87a-ef6e-4410-9412-a298c4c1206d","subscription_state":"subscribed"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Braze Ruby gem v0.2.2
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: Created
22
+ headers:
23
+ Cache-Control:
24
+ - max-age=0, private, must-revalidate
25
+ Content-Type:
26
+ - application/json
27
+ Etag:
28
+ - W/"838a7c62adda8d131d694ae13ba2c5b7"
29
+ Server:
30
+ - nginx
31
+ Strict-Transport-Security:
32
+ - max-age=0; includeSubDomains
33
+ - max-age=31536000; includeSubDomains
34
+ X-Ratelimit-Limit:
35
+ - '250000'
36
+ X-Ratelimit-Remaining:
37
+ - '249977'
38
+ X-Ratelimit-Reset:
39
+ - '1574409600'
40
+ X-Request-Id:
41
+ - 9e429cb2-6c63-44e8-bb25-97d23edb25d1
42
+ X-Runtime:
43
+ - '0.008757'
44
+ Content-Length:
45
+ - '46'
46
+ Accept-Ranges:
47
+ - bytes
48
+ Date:
49
+ - Fri, 22 Nov 2019 07:59:46 GMT
50
+ Via:
51
+ - 1.1 varnish
52
+ Connection:
53
+ - keep-alive
54
+ X-Served-By:
55
+ - cache-hhn4035-HHN
56
+ X-Cache:
57
+ - MISS
58
+ X-Cache-Hits:
59
+ - '0'
60
+ X-Timer:
61
+ - S1574409586.236608,VS0,VE18
62
+ Vary:
63
+ - Origin,Accept-Encoding
64
+ body:
65
+ encoding: ASCII-8BIT
66
+ string: '{"message":"success"}'
67
+ http_version:
68
+ recorded_at: Fri, 22 Nov 2019 07:59:46 GMT
69
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,66 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: "<BRAZE_REST_URL>/subscription/status/set"
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"api_key":"<BRAZE_REST_API_KEY>","external_id":"test-gem-001","subscription_group_id":"non-existing-subscription-group","subscription_state":"subscribed"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Braze Ruby gem v0.2.2
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 400
21
+ message: Bad Request
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache
25
+ Content-Type:
26
+ - application/json
27
+ Server:
28
+ - nginx
29
+ Strict-Transport-Security:
30
+ - max-age=0; includeSubDomains
31
+ X-Ratelimit-Limit:
32
+ - '250000'
33
+ X-Ratelimit-Remaining:
34
+ - '249974'
35
+ X-Ratelimit-Reset:
36
+ - '1574409600'
37
+ X-Request-Id:
38
+ - 9d318398-4dbe-4fca-8bc8-fed3002af64a
39
+ X-Runtime:
40
+ - '0.013998'
41
+ Content-Length:
42
+ - '69'
43
+ Accept-Ranges:
44
+ - bytes
45
+ Date:
46
+ - Fri, 22 Nov 2019 07:59:46 GMT
47
+ Via:
48
+ - 1.1 varnish
49
+ Connection:
50
+ - keep-alive
51
+ X-Served-By:
52
+ - cache-hhn4070-HHN
53
+ X-Cache:
54
+ - MISS
55
+ X-Cache-Hits:
56
+ - '0'
57
+ X-Timer:
58
+ - S1574409587.847958,VS0,VE17
59
+ Vary:
60
+ - Origin,Accept-Encoding
61
+ body:
62
+ encoding: ASCII-8BIT
63
+ string: '{"message":"Invalid subscription group ID"}'
64
+ http_version:
65
+ recorded_at: Fri, 22 Nov 2019 07:59:46 GMT
66
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,135 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: "<BRAZE_REST_URL>/subscription/status/set"
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"api_key":"<BRAZE_REST_API_KEY>","external_id":"test-gem-002","subscription_group_id":"0201b87a-ef6e-4410-9412-a298c4c1206d","subscription_state":"subscribed"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Braze Ruby gem v0.2.2
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: Created
22
+ headers:
23
+ Cache-Control:
24
+ - max-age=0, private, must-revalidate
25
+ Content-Type:
26
+ - application/json
27
+ Etag:
28
+ - W/"838a7c62adda8d131d694ae13ba2c5b7"
29
+ Server:
30
+ - nginx
31
+ Strict-Transport-Security:
32
+ - max-age=0; includeSubDomains
33
+ - max-age=31536000; includeSubDomains
34
+ X-Ratelimit-Limit:
35
+ - '250000'
36
+ X-Ratelimit-Remaining:
37
+ - '249976'
38
+ X-Ratelimit-Reset:
39
+ - '1574409600'
40
+ X-Request-Id:
41
+ - c59a4c1a-8e48-487a-ba11-5bac411e109b
42
+ X-Runtime:
43
+ - '0.005244'
44
+ Content-Length:
45
+ - '46'
46
+ Accept-Ranges:
47
+ - bytes
48
+ Date:
49
+ - Fri, 22 Nov 2019 07:59:46 GMT
50
+ Via:
51
+ - 1.1 varnish
52
+ Connection:
53
+ - keep-alive
54
+ X-Served-By:
55
+ - cache-hhn4022-HHN
56
+ X-Cache:
57
+ - MISS
58
+ X-Cache-Hits:
59
+ - '0'
60
+ X-Timer:
61
+ - S1574409586.449783,VS0,VE13
62
+ Vary:
63
+ - Origin,Accept-Encoding
64
+ body:
65
+ encoding: ASCII-8BIT
66
+ string: '{"message":"success"}'
67
+ http_version:
68
+ recorded_at: Fri, 22 Nov 2019 07:59:46 GMT
69
+ - request:
70
+ method: post
71
+ uri: "<BRAZE_REST_URL>/subscription/status/set"
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"api_key":"<BRAZE_REST_API_KEY>","external_id":"test-gem-002","subscription_group_id":"0201b87a-ef6e-4410-9412-a298c4c1206d","subscription_state":"unsubscribed"}'
75
+ headers:
76
+ Content-Type:
77
+ - application/json
78
+ Accept:
79
+ - application/json
80
+ User-Agent:
81
+ - Braze Ruby gem v0.2.2
82
+ Accept-Encoding:
83
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
84
+ response:
85
+ status:
86
+ code: 201
87
+ message: Created
88
+ headers:
89
+ Cache-Control:
90
+ - max-age=0, private, must-revalidate
91
+ Content-Type:
92
+ - application/json
93
+ Etag:
94
+ - W/"838a7c62adda8d131d694ae13ba2c5b7"
95
+ Server:
96
+ - nginx
97
+ Strict-Transport-Security:
98
+ - max-age=0; includeSubDomains
99
+ - max-age=31536000; includeSubDomains
100
+ X-Ratelimit-Limit:
101
+ - '250000'
102
+ X-Ratelimit-Remaining:
103
+ - '249975'
104
+ X-Ratelimit-Reset:
105
+ - '1574409600'
106
+ X-Request-Id:
107
+ - 596f4df6-b90e-4de8-94cb-43e62b03ee7d
108
+ X-Runtime:
109
+ - '0.006277'
110
+ Content-Length:
111
+ - '46'
112
+ Accept-Ranges:
113
+ - bytes
114
+ Date:
115
+ - Fri, 22 Nov 2019 07:59:46 GMT
116
+ Via:
117
+ - 1.1 varnish
118
+ Connection:
119
+ - keep-alive
120
+ X-Served-By:
121
+ - cache-hhn4023-HHN
122
+ X-Cache:
123
+ - MISS
124
+ X-Cache-Hits:
125
+ - '0'
126
+ X-Timer:
127
+ - S1574409587.663692,VS0,VE14
128
+ Vary:
129
+ - Origin,Accept-Encoding
130
+ body:
131
+ encoding: ASCII-8BIT
132
+ string: '{"message":"success"}'
133
+ http_version:
134
+ recorded_at: Fri, 22 Nov 2019 07:59:46 GMT
135
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,205 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: "<BRAZE_REST_URL>/subscription/status/set"
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"api_key":"<BRAZE_REST_API_KEY>","external_id":"test-gem-001","subscription_group_id":"0201b87a-ef6e-4410-9412-a298c4c1206d","subscription_state":"subscribed"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Braze Ruby gem v0.2.2
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: Created
22
+ headers:
23
+ Cache-Control:
24
+ - max-age=0, private, must-revalidate
25
+ Content-Type:
26
+ - application/json
27
+ Etag:
28
+ - W/"838a7c62adda8d131d694ae13ba2c5b7"
29
+ Server:
30
+ - nginx
31
+ Strict-Transport-Security:
32
+ - max-age=0; includeSubDomains
33
+ - max-age=31536000; includeSubDomains
34
+ X-Ratelimit-Limit:
35
+ - '250000'
36
+ X-Ratelimit-Remaining:
37
+ - '249983'
38
+ X-Ratelimit-Reset:
39
+ - '1574409600'
40
+ X-Request-Id:
41
+ - 870fe392-6e88-4d29-bb09-44abb692feee
42
+ X-Runtime:
43
+ - '0.004454'
44
+ Content-Length:
45
+ - '46'
46
+ Accept-Ranges:
47
+ - bytes
48
+ Date:
49
+ - Fri, 22 Nov 2019 07:59:44 GMT
50
+ Via:
51
+ - 1.1 varnish
52
+ Connection:
53
+ - keep-alive
54
+ X-Served-By:
55
+ - cache-hhn4067-HHN
56
+ X-Cache:
57
+ - MISS
58
+ X-Cache-Hits:
59
+ - '0'
60
+ X-Timer:
61
+ - S1574409585.950445,VS0,VE12
62
+ Vary:
63
+ - Origin,Accept-Encoding
64
+ body:
65
+ encoding: ASCII-8BIT
66
+ string: '{"message":"success"}'
67
+ http_version:
68
+ recorded_at: Fri, 22 Nov 2019 07:59:44 GMT
69
+ - request:
70
+ method: post
71
+ uri: "<BRAZE_REST_URL>/subscription/status/set"
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"api_key":"<BRAZE_REST_API_KEY>","external_id":"test-gem-002","subscription_group_id":"0201b87a-ef6e-4410-9412-a298c4c1206d","subscription_state":"unsubscribed"}'
75
+ headers:
76
+ Content-Type:
77
+ - application/json
78
+ Accept:
79
+ - application/json
80
+ User-Agent:
81
+ - Braze Ruby gem v0.2.2
82
+ Accept-Encoding:
83
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
84
+ response:
85
+ status:
86
+ code: 201
87
+ message: Created
88
+ headers:
89
+ Cache-Control:
90
+ - max-age=0, private, must-revalidate
91
+ Content-Type:
92
+ - application/json
93
+ Etag:
94
+ - W/"838a7c62adda8d131d694ae13ba2c5b7"
95
+ Server:
96
+ - nginx
97
+ Strict-Transport-Security:
98
+ - max-age=0; includeSubDomains
99
+ - max-age=31536000; includeSubDomains
100
+ X-Ratelimit-Limit:
101
+ - '250000'
102
+ X-Ratelimit-Remaining:
103
+ - '249982'
104
+ X-Ratelimit-Reset:
105
+ - '1574409600'
106
+ X-Request-Id:
107
+ - 653dcaaa-5c38-4e71-b65c-f0b0149638d4
108
+ X-Runtime:
109
+ - '0.006976'
110
+ Content-Length:
111
+ - '46'
112
+ Accept-Ranges:
113
+ - bytes
114
+ Date:
115
+ - Fri, 22 Nov 2019 07:59:45 GMT
116
+ Via:
117
+ - 1.1 varnish
118
+ Connection:
119
+ - keep-alive
120
+ X-Served-By:
121
+ - cache-hhn4027-HHN
122
+ X-Cache:
123
+ - MISS
124
+ X-Cache-Hits:
125
+ - '0'
126
+ X-Timer:
127
+ - S1574409585.148598,VS0,VE54
128
+ Vary:
129
+ - Origin,Accept-Encoding
130
+ body:
131
+ encoding: ASCII-8BIT
132
+ string: '{"message":"success"}'
133
+ http_version:
134
+ recorded_at: Fri, 22 Nov 2019 07:59:45 GMT
135
+ - request:
136
+ method: get
137
+ uri: "<BRAZE_REST_URL>/subscription/status/get?api_key=<BRAZE_REST_API_KEY>&external_id%5B%5D=test-gem-001&external_id%5B%5D=test-gem-002&external_id%5B%5D=test-gem-003&subscription_group_id=0201b87a-ef6e-4410-9412-a298c4c1206d"
138
+ body:
139
+ encoding: US-ASCII
140
+ string: ''
141
+ headers:
142
+ Content-Type:
143
+ - application/json
144
+ Accept:
145
+ - application/json
146
+ User-Agent:
147
+ - Braze Ruby gem v0.2.2
148
+ Accept-Encoding:
149
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
150
+ response:
151
+ status:
152
+ code: 200
153
+ message: OK
154
+ headers:
155
+ Cache-Control:
156
+ - max-age=0, private, must-revalidate
157
+ Content-Type:
158
+ - application/json
159
+ Etag:
160
+ - W/"693ac9a1fc6752c76edadb586c391f44"
161
+ Server:
162
+ - nginx
163
+ Strict-Transport-Security:
164
+ - max-age=0; includeSubDomains
165
+ - max-age=31536000; includeSubDomains
166
+ X-Ratelimit-Limit:
167
+ - '250000'
168
+ X-Ratelimit-Remaining:
169
+ - '249981'
170
+ X-Ratelimit-Reset:
171
+ - '1574409600'
172
+ X-Request-Id:
173
+ - c7e25224-b577-4528-8990-43af1de7e6d9
174
+ X-Runtime:
175
+ - '0.031761'
176
+ Accept-Ranges:
177
+ - bytes
178
+ - bytes
179
+ Age:
180
+ - '0'
181
+ - '0'
182
+ Content-Length:
183
+ - '106'
184
+ Date:
185
+ - Fri, 22 Nov 2019 07:59:45 GMT
186
+ Via:
187
+ - 1.1 varnish
188
+ Connection:
189
+ - keep-alive
190
+ X-Served-By:
191
+ - cache-hhn4053-HHN
192
+ X-Cache:
193
+ - MISS
194
+ X-Cache-Hits:
195
+ - '0'
196
+ X-Timer:
197
+ - S1574409585.392003,VS0,VE34
198
+ Vary:
199
+ - Origin,Accept-Encoding
200
+ body:
201
+ encoding: ASCII-8BIT
202
+ string: '{"status":{"test-gem-001":"Subscribed","test-gem-002":"Unsubscribed","test-gem-003":"unknown"},"message":"success"}'
203
+ http_version:
204
+ recorded_at: Fri, 22 Nov 2019 07:59:45 GMT
205
+ recorded_with: VCR 5.0.0