braze_ruby 0.4.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +26 -0
  3. data/.github/workflows/gem_credentials +2 -0
  4. data/.github/workflows/release.yml +20 -0
  5. data/.gitignore +12 -19
  6. data/.standard.yml +1 -0
  7. data/Gemfile +1 -2
  8. data/LICENSE.txt +17 -18
  9. data/README.md +39 -2
  10. data/Rakefile +2 -1
  11. data/bin/release +16 -0
  12. data/braze_ruby.gemspec +28 -31
  13. data/lib/braze_ruby/api.rb +16 -10
  14. data/lib/braze_ruby/deprecated.rb +4 -5
  15. data/lib/braze_ruby/endpoints/campaigns.rb +4 -0
  16. data/lib/braze_ruby/endpoints/remove_email_addresses_from_spam.rb +19 -0
  17. data/lib/braze_ruby/endpoints/remove_external_ids.rb +19 -0
  18. data/lib/braze_ruby/endpoints/rename_external_ids.rb +19 -0
  19. data/lib/braze_ruby/endpoints/subscription.rb +0 -1
  20. data/lib/braze_ruby/endpoints.rb +11 -8
  21. data/lib/braze_ruby/http.rb +12 -9
  22. data/lib/braze_ruby/rest/base.rb +3 -3
  23. data/lib/braze_ruby/rest/canvas_details.rb +1 -1
  24. data/lib/braze_ruby/rest/create_user_aliases.rb +2 -2
  25. data/lib/braze_ruby/rest/delete_users.rb +2 -2
  26. data/lib/braze_ruby/rest/email_hard_bounces.rb +1 -1
  27. data/lib/braze_ruby/rest/email_status.rb +3 -3
  28. data/lib/braze_ruby/rest/email_unsubscribes.rb +1 -1
  29. data/lib/braze_ruby/rest/export_users.rb +7 -7
  30. data/lib/braze_ruby/rest/identify_users.rb +2 -2
  31. data/lib/braze_ruby/rest/list_segments.rb +1 -1
  32. data/lib/braze_ruby/rest/remove_email_addresses_from_spam.rb +13 -0
  33. data/lib/braze_ruby/rest/remove_external_ids.rb +13 -0
  34. data/lib/braze_ruby/rest/rename_external_ids.rb +13 -0
  35. data/lib/braze_ruby/rest/schedule_messages.rb +6 -6
  36. data/lib/braze_ruby/rest/send_messages.rb +3 -3
  37. data/lib/braze_ruby/rest/subscription_status_get.rb +1 -1
  38. data/lib/braze_ruby/rest/subscription_status_set.rb +1 -1
  39. data/lib/braze_ruby/rest/subscription_user_status.rb +1 -1
  40. data/lib/braze_ruby/rest/track_users.rb +4 -4
  41. data/lib/braze_ruby/rest/trigger_campaign_schedule.rb +18 -0
  42. data/lib/braze_ruby/rest/trigger_campaign_send.rb +1 -1
  43. data/lib/braze_ruby/rest/trigger_canvas_send.rb +1 -1
  44. data/lib/braze_ruby/rest.rb +22 -18
  45. data/lib/braze_ruby/version.rb +1 -1
  46. data/lib/braze_ruby.rb +4 -4
  47. metadata +52 -177
  48. data/.github/workflows/ci.yml +0 -30
  49. data/Gemfile.lock +0 -78
  50. data/spec/braze_ruby/api_spec.rb +0 -6
  51. data/spec/braze_ruby/endpoints/delete_users_spec.rb +0 -31
  52. data/spec/braze_ruby/endpoints/track_users_spec.rb +0 -74
  53. data/spec/braze_ruby/http_spec.rb +0 -48
  54. data/spec/braze_ruby/rest/create_user_aliases_spec.rb +0 -23
  55. data/spec/braze_ruby/rest/delete_users_spec.rb +0 -22
  56. data/spec/braze_ruby/rest/email_status_spec.rb +0 -20
  57. data/spec/braze_ruby/rest/export_users_spec.rb +0 -21
  58. data/spec/braze_ruby/rest/identify_users_spec.rb +0 -23
  59. data/spec/braze_ruby/rest/schedule_messages_spec.rb +0 -37
  60. data/spec/braze_ruby/rest/send_messages_spec.rb +0 -30
  61. data/spec/braze_ruby/rest/track_users_spec.rb +0 -27
  62. data/spec/factories.rb +0 -38
  63. data/spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml +0 -71
  64. data/spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml +0 -69
  65. data/spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml +0 -71
  66. data/spec/fixtures/responses/create_user_aliases/unauthorized/responds_with_unauthorized.yml +0 -67
  67. data/spec/fixtures/responses/create_user_aliases/with_success/responds_with_created.yml +0 -71
  68. data/spec/fixtures/responses/create_user_aliases/with_success/responds_with_success_message.yml +0 -71
  69. data/spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml +0 -68
  70. data/spec/fixtures/responses/delete_users/with_success/responds_with_created.yml +0 -71
  71. data/spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml +0 -71
  72. data/spec/fixtures/responses/email_status/existing_email/responds_with_created.yml +0 -71
  73. data/spec/fixtures/responses/email_status/existing_email/responds_with_success_message.yml +0 -71
  74. data/spec/fixtures/responses/email_status/unknown_email/responds_with_bad_request.yml +0 -71
  75. data/spec/fixtures/responses/email_status/unknown_email/responds_with_success_message.yml +0 -71
  76. data/spec/fixtures/responses/email_sync/hard_bounces/responds_with_empty_array_when_no_hard_bounces.yml +0 -75
  77. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_empty_array_when_no_unsubscribes.yml +0 -75
  78. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_unsubscribed_emails.yml +0 -75
  79. data/spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml +0 -72
  80. data/spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml +0 -71
  81. data/spec/fixtures/responses/identify_users/unauthorized/responds_with_unauthorized.yml +0 -68
  82. data/spec/fixtures/responses/identify_users/with_success/responds_with_created.yml +0 -71
  83. data/spec/fixtures/responses/identify_users/with_success/responds_with_success_message.yml +0 -71
  84. data/spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml +0 -81
  85. data/spec/fixtures/responses/list_segments/with_success/responds_with_success.yml +0 -81
  86. data/spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml +0 -68
  87. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_created.yml +0 -71
  88. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_success_message.yml +0 -71
  89. data/spec/fixtures/responses/send_messages/unauthorized/responds_with_unauthorized.yml +0 -68
  90. data/spec/fixtures/responses/send_messages/with_success/responds_with_created.yml +0 -71
  91. data/spec/fixtures/responses/send_messages/with_success/responds_with_success_message.yml +0 -71
  92. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml +0 -71
  93. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml +0 -68
  94. data/spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml +0 -139
  95. 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 +0 -211
  96. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml +0 -199
  97. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml +0 -211
  98. data/spec/fixtures/responses/track_users/unauthorized/responds_with_unauthorized.yml +0 -70
  99. data/spec/fixtures/responses/track_users/with_success/responds_with_created.yml +0 -73
  100. data/spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml +0 -73
  101. data/spec/integrations/campaigns_spec.rb +0 -19
  102. data/spec/integrations/canvas_spec.rb +0 -28
  103. data/spec/integrations/create_user_aliases_spec.rb +0 -32
  104. data/spec/integrations/delete_users_spec.rb +0 -32
  105. data/spec/integrations/email_status_spec.rb +0 -38
  106. data/spec/integrations/email_sync_spec.rb +0 -31
  107. data/spec/integrations/export_users_spec.rb +0 -29
  108. data/spec/integrations/identify_users_spec.rb +0 -32
  109. data/spec/integrations/list_segments_spec.rb +0 -21
  110. data/spec/integrations/schedule_messages_spec.rb +0 -34
  111. data/spec/integrations/send_messages_spec.rb +0 -33
  112. data/spec/integrations/subscription_spec.rb +0 -149
  113. data/spec/integrations/track_users_spec.rb +0 -38
  114. data/spec/spec_helper.rb +0 -25
  115. data/spec/support/factory_bot.rb +0 -12
  116. data/spec/support/integrations.rb +0 -27
  117. data/spec/support/vcr.rb +0 -20
@@ -1,211 +0,0 @@
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: '{"external_id":"test-user-1","subscription_group_id":"ed06e19a-69b1-4f9b-a452-2db2c4e303a8","subscription_state":"subscribed"}'
9
- headers:
10
- Content-Type:
11
- - application/json
12
- Accept:
13
- - application/json
14
- User-Agent:
15
- - Braze Ruby gem v0.3.3
16
- Authorization:
17
- - Bearer <BRAZE_REST_API_KEY>
18
- Accept-Encoding:
19
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
- response:
21
- status:
22
- code: 201
23
- message: Created
24
- headers:
25
- Connection:
26
- - keep-alive
27
- Content-Length:
28
- - '46'
29
- Cache-Control:
30
- - max-age=0, private, must-revalidate
31
- Content-Type:
32
- - application/json
33
- Etag:
34
- - W/"838a7c62adda8d131d694ae13ba2c5b7"
35
- Server:
36
- - nginx
37
- Strict-Transport-Security:
38
- - max-age=0; includeSubDomains
39
- - max-age=31536000; includeSubDomains
40
- X-Ratelimit-Limit:
41
- - '250000'
42
- X-Ratelimit-Remaining:
43
- - '249992'
44
- X-Ratelimit-Reset:
45
- - '1592478000'
46
- X-Request-Id:
47
- - ca3c0d06-56e9-4827-b401-464aeb2770e7
48
- X-Runtime:
49
- - '0.009484'
50
- Accept-Ranges:
51
- - bytes
52
- Date:
53
- - Thu, 18 Jun 2020 10:03:06 GMT
54
- Via:
55
- - 1.1 varnish
56
- X-Served-By:
57
- - cache-hhn4035-HHN
58
- X-Cache:
59
- - MISS
60
- X-Cache-Hits:
61
- - '0'
62
- X-Timer:
63
- - S1592474587.848648,VS0,VE13
64
- Vary:
65
- - Origin,Accept-Encoding
66
- body:
67
- encoding: ASCII-8BIT
68
- string: '{"message":"success"}'
69
- http_version:
70
- recorded_at: Thu, 18 Jun 2020 10:03:06 GMT
71
- - request:
72
- method: post
73
- uri: "<BRAZE_REST_URL>/subscription/status/set"
74
- body:
75
- encoding: UTF-8
76
- string: '{"external_id":"test-user-2","subscription_group_id":"ed06e19a-69b1-4f9b-a452-2db2c4e303a8","subscription_state":"unsubscribed"}'
77
- headers:
78
- Content-Type:
79
- - application/json
80
- Accept:
81
- - application/json
82
- User-Agent:
83
- - Braze Ruby gem v0.3.3
84
- Authorization:
85
- - Bearer <BRAZE_REST_API_KEY>
86
- Accept-Encoding:
87
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
88
- response:
89
- status:
90
- code: 201
91
- message: Created
92
- headers:
93
- Connection:
94
- - keep-alive
95
- Content-Length:
96
- - '46'
97
- Cache-Control:
98
- - max-age=0, private, must-revalidate
99
- Content-Type:
100
- - application/json
101
- Etag:
102
- - W/"838a7c62adda8d131d694ae13ba2c5b7"
103
- Server:
104
- - nginx
105
- Strict-Transport-Security:
106
- - max-age=0; includeSubDomains
107
- - max-age=31536000; includeSubDomains
108
- X-Ratelimit-Limit:
109
- - '250000'
110
- X-Ratelimit-Remaining:
111
- - '249991'
112
- X-Ratelimit-Reset:
113
- - '1592478000'
114
- X-Request-Id:
115
- - 619fbe14-57be-4e68-99bc-8dfd519aeb3f
116
- X-Runtime:
117
- - '0.016383'
118
- Accept-Ranges:
119
- - bytes
120
- Date:
121
- - Thu, 18 Jun 2020 10:03:06 GMT
122
- Via:
123
- - 1.1 varnish
124
- X-Served-By:
125
- - cache-hhn4074-HHN
126
- X-Cache:
127
- - MISS
128
- X-Cache-Hits:
129
- - '0'
130
- X-Timer:
131
- - S1592474587.944065,VS0,VE19
132
- Vary:
133
- - Origin,Accept-Encoding
134
- body:
135
- encoding: ASCII-8BIT
136
- string: '{"message":"success"}'
137
- http_version:
138
- recorded_at: Thu, 18 Jun 2020 10:03:06 GMT
139
- - request:
140
- method: get
141
- uri: "<BRAZE_REST_URL>/subscription/status/get?external_id%5B%5D=test-user-1&external_id%5B%5D=test-user-2&external_id%5B%5D=test-user-3&subscription_group_id=ed06e19a-69b1-4f9b-a452-2db2c4e303a8"
142
- body:
143
- encoding: US-ASCII
144
- string: ''
145
- headers:
146
- Content-Type:
147
- - application/json
148
- Accept:
149
- - application/json
150
- User-Agent:
151
- - Braze Ruby gem v0.3.3
152
- Authorization:
153
- - Bearer <BRAZE_REST_API_KEY>
154
- Accept-Encoding:
155
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
156
- response:
157
- status:
158
- code: 200
159
- message: OK
160
- headers:
161
- Connection:
162
- - keep-alive
163
- Cache-Control:
164
- - max-age=0, private, must-revalidate
165
- Content-Type:
166
- - application/json
167
- Etag:
168
- - W/"1666e6b741dc1b301e4196e3bf59b6ac"
169
- Server:
170
- - nginx
171
- Strict-Transport-Security:
172
- - max-age=0; includeSubDomains
173
- - max-age=31536000; includeSubDomains
174
- X-Ratelimit-Limit:
175
- - '250000'
176
- X-Ratelimit-Remaining:
177
- - '249990'
178
- X-Ratelimit-Reset:
179
- - '1592478000'
180
- X-Request-Id:
181
- - dec0761d-28e5-4757-abc2-281d20452d12
182
- X-Runtime:
183
- - '0.274580'
184
- Accept-Ranges:
185
- - bytes
186
- - bytes
187
- Age:
188
- - '0'
189
- - '0'
190
- Date:
191
- - Thu, 18 Jun 2020 10:03:07 GMT
192
- Via:
193
- - 1.1 varnish
194
- X-Served-By:
195
- - cache-hhn4071-HHN
196
- X-Cache:
197
- - MISS
198
- X-Cache-Hits:
199
- - '0'
200
- X-Timer:
201
- - S1592474587.060881,VS0,VE279
202
- Vary:
203
- - Origin,Accept-Encoding
204
- Transfer-Encoding:
205
- - chunked
206
- body:
207
- encoding: ASCII-8BIT
208
- string: '{"status":{"test-user-1":"Subscribed","test-user-2":"Unsubscribed","test-user-3":"unknown"},"message":"success"}'
209
- http_version:
210
- recorded_at: Thu, 18 Jun 2020 10:03:07 GMT
211
- recorded_with: VCR 5.0.0
@@ -1,199 +0,0 @@
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: '{"external_id":"test-user-1","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.3.3
16
- Authorization:
17
- - Bearer <BRAZE_REST_API_KEY>
18
- Accept-Encoding:
19
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
- response:
21
- status:
22
- code: 400
23
- message: Bad Request
24
- headers:
25
- Connection:
26
- - keep-alive
27
- Content-Length:
28
- - '69'
29
- Cache-Control:
30
- - no-cache
31
- Content-Type:
32
- - application/json
33
- Server:
34
- - nginx
35
- Strict-Transport-Security:
36
- - max-age=0; includeSubDomains
37
- X-Ratelimit-Limit:
38
- - '250000'
39
- X-Ratelimit-Remaining:
40
- - '249989'
41
- X-Ratelimit-Reset:
42
- - '1592478000'
43
- X-Request-Id:
44
- - a79133bc-a760-4a22-a42f-26dd5961f2f7
45
- X-Runtime:
46
- - '0.034508'
47
- Accept-Ranges:
48
- - bytes
49
- Date:
50
- - Thu, 18 Jun 2020 10:03:07 GMT
51
- Via:
52
- - 1.1 varnish
53
- X-Served-By:
54
- - cache-hhn4058-HHN
55
- X-Cache:
56
- - MISS
57
- X-Cache-Hits:
58
- - '0'
59
- X-Timer:
60
- - S1592474587.426453,VS0,VE37
61
- Vary:
62
- - Origin,Accept-Encoding
63
- body:
64
- encoding: ASCII-8BIT
65
- string: '{"message":"Invalid subscription group ID"}'
66
- http_version:
67
- recorded_at: Thu, 18 Jun 2020 10:03:07 GMT
68
- - request:
69
- method: post
70
- uri: "<BRAZE_REST_URL>/subscription/status/set"
71
- body:
72
- encoding: UTF-8
73
- string: '{"external_id":"test-user-2","subscription_group_id":"non-existing-subscription-group","subscription_state":"unsubscribed"}'
74
- headers:
75
- Content-Type:
76
- - application/json
77
- Accept:
78
- - application/json
79
- User-Agent:
80
- - Braze Ruby gem v0.3.3
81
- Authorization:
82
- - Bearer <BRAZE_REST_API_KEY>
83
- Accept-Encoding:
84
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
85
- response:
86
- status:
87
- code: 400
88
- message: Bad Request
89
- headers:
90
- Connection:
91
- - keep-alive
92
- Content-Length:
93
- - '69'
94
- Cache-Control:
95
- - no-cache
96
- Content-Type:
97
- - application/json
98
- Server:
99
- - nginx
100
- Strict-Transport-Security:
101
- - max-age=0; includeSubDomains
102
- X-Ratelimit-Limit:
103
- - '250000'
104
- X-Ratelimit-Remaining:
105
- - '249988'
106
- X-Ratelimit-Reset:
107
- - '1592478000'
108
- X-Request-Id:
109
- - 264b0fb1-5574-40fa-ad46-e6866e1694d6
110
- X-Runtime:
111
- - '0.058967'
112
- Accept-Ranges:
113
- - bytes
114
- Date:
115
- - Thu, 18 Jun 2020 10:03:07 GMT
116
- Via:
117
- - 1.1 varnish
118
- X-Served-By:
119
- - cache-hhn4040-HHN
120
- X-Cache:
121
- - MISS
122
- X-Cache-Hits:
123
- - '0'
124
- X-Timer:
125
- - S1592474588.556657,VS0,VE62
126
- Vary:
127
- - Origin,Accept-Encoding
128
- body:
129
- encoding: ASCII-8BIT
130
- string: '{"message":"Invalid subscription group ID"}'
131
- http_version:
132
- recorded_at: Thu, 18 Jun 2020 10:03:07 GMT
133
- - request:
134
- method: get
135
- uri: "<BRAZE_REST_URL>/subscription/status/get?external_id=test-user-1&subscription_group_id=non-existing-subscription-group"
136
- body:
137
- encoding: US-ASCII
138
- string: ''
139
- headers:
140
- Content-Type:
141
- - application/json
142
- Accept:
143
- - application/json
144
- User-Agent:
145
- - Braze Ruby gem v0.3.3
146
- Authorization:
147
- - Bearer <BRAZE_REST_API_KEY>
148
- Accept-Encoding:
149
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
150
- response:
151
- status:
152
- code: 400
153
- message: Bad Request
154
- headers:
155
- Connection:
156
- - keep-alive
157
- Content-Length:
158
- - '69'
159
- Cache-Control:
160
- - no-cache
161
- Content-Type:
162
- - application/json
163
- Server:
164
- - nginx
165
- Strict-Transport-Security:
166
- - max-age=0; includeSubDomains
167
- X-Ratelimit-Limit:
168
- - '250000'
169
- X-Ratelimit-Remaining:
170
- - '249987'
171
- X-Ratelimit-Reset:
172
- - '1592478000'
173
- X-Request-Id:
174
- - a22e0245-a827-48c5-9525-22e54a820782
175
- X-Runtime:
176
- - '0.023071'
177
- Accept-Ranges:
178
- - bytes
179
- - bytes
180
- Date:
181
- - Thu, 18 Jun 2020 10:03:07 GMT
182
- Via:
183
- - 1.1 varnish
184
- X-Served-By:
185
- - cache-hhn4072-HHN
186
- X-Cache:
187
- - MISS
188
- X-Cache-Hits:
189
- - '0'
190
- X-Timer:
191
- - S1592474588.708248,VS0,VE27
192
- Vary:
193
- - Origin,Accept-Encoding
194
- body:
195
- encoding: ASCII-8BIT
196
- string: '{"message":"Invalid subscription group ID"}'
197
- http_version:
198
- recorded_at: Thu, 18 Jun 2020 10:03:07 GMT
199
- recorded_with: VCR 5.0.0
@@ -1,211 +0,0 @@
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: '{"external_id":"test-user-1","subscription_group_id":"ed06e19a-69b1-4f9b-a452-2db2c4e303a8","subscription_state":"subscribed"}'
9
- headers:
10
- Content-Type:
11
- - application/json
12
- Accept:
13
- - application/json
14
- User-Agent:
15
- - Braze Ruby gem v0.3.3
16
- Authorization:
17
- - Bearer <BRAZE_REST_API_KEY>
18
- Accept-Encoding:
19
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
- response:
21
- status:
22
- code: 201
23
- message: Created
24
- headers:
25
- Connection:
26
- - keep-alive
27
- Content-Length:
28
- - '46'
29
- Cache-Control:
30
- - max-age=0, private, must-revalidate
31
- Content-Type:
32
- - application/json
33
- Etag:
34
- - W/"838a7c62adda8d131d694ae13ba2c5b7"
35
- Server:
36
- - nginx
37
- Strict-Transport-Security:
38
- - max-age=0; includeSubDomains
39
- - max-age=31536000; includeSubDomains
40
- X-Ratelimit-Limit:
41
- - '250000'
42
- X-Ratelimit-Remaining:
43
- - '249995'
44
- X-Ratelimit-Reset:
45
- - '1592478000'
46
- X-Request-Id:
47
- - 3c0417c1-397b-4f71-b60c-c2a2082a435a
48
- X-Runtime:
49
- - '0.012552'
50
- Accept-Ranges:
51
- - bytes
52
- Date:
53
- - Thu, 18 Jun 2020 10:03:06 GMT
54
- Via:
55
- - 1.1 varnish
56
- X-Served-By:
57
- - cache-hhn4023-HHN
58
- X-Cache:
59
- - MISS
60
- X-Cache-Hits:
61
- - '0'
62
- X-Timer:
63
- - S1592474586.184983,VS0,VE16
64
- Vary:
65
- - Origin,Accept-Encoding
66
- body:
67
- encoding: ASCII-8BIT
68
- string: '{"message":"success"}'
69
- http_version:
70
- recorded_at: Thu, 18 Jun 2020 10:03:06 GMT
71
- - request:
72
- method: post
73
- uri: "<BRAZE_REST_URL>/subscription/status/set"
74
- body:
75
- encoding: UTF-8
76
- string: '{"external_id":"test-user-2","subscription_group_id":"ed06e19a-69b1-4f9b-a452-2db2c4e303a8","subscription_state":"unsubscribed"}'
77
- headers:
78
- Content-Type:
79
- - application/json
80
- Accept:
81
- - application/json
82
- User-Agent:
83
- - Braze Ruby gem v0.3.3
84
- Authorization:
85
- - Bearer <BRAZE_REST_API_KEY>
86
- Accept-Encoding:
87
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
88
- response:
89
- status:
90
- code: 201
91
- message: Created
92
- headers:
93
- Connection:
94
- - keep-alive
95
- Content-Length:
96
- - '46'
97
- Cache-Control:
98
- - max-age=0, private, must-revalidate
99
- Content-Type:
100
- - application/json
101
- Etag:
102
- - W/"838a7c62adda8d131d694ae13ba2c5b7"
103
- Server:
104
- - nginx
105
- Strict-Transport-Security:
106
- - max-age=0; includeSubDomains
107
- - max-age=31536000; includeSubDomains
108
- X-Ratelimit-Limit:
109
- - '250000'
110
- X-Ratelimit-Remaining:
111
- - '249994'
112
- X-Ratelimit-Reset:
113
- - '1592478000'
114
- X-Request-Id:
115
- - b49b0519-bb0a-4e16-b9c0-9d5af6fee340
116
- X-Runtime:
117
- - '0.012962'
118
- Accept-Ranges:
119
- - bytes
120
- Date:
121
- - Thu, 18 Jun 2020 10:03:06 GMT
122
- Via:
123
- - 1.1 varnish
124
- X-Served-By:
125
- - cache-hhn4057-HHN
126
- X-Cache:
127
- - MISS
128
- X-Cache-Hits:
129
- - '0'
130
- X-Timer:
131
- - S1592474586.279449,VS0,VE16
132
- Vary:
133
- - Origin,Accept-Encoding
134
- body:
135
- encoding: ASCII-8BIT
136
- string: '{"message":"success"}'
137
- http_version:
138
- recorded_at: Thu, 18 Jun 2020 10:03:06 GMT
139
- - request:
140
- method: get
141
- uri: "<BRAZE_REST_URL>/subscription/user/status?external_id%5B%5D=test-user-1&external_id%5B%5D=test-user-2&external_id%5B%5D=test-user-3"
142
- body:
143
- encoding: US-ASCII
144
- string: ''
145
- headers:
146
- Content-Type:
147
- - application/json
148
- Accept:
149
- - application/json
150
- User-Agent:
151
- - Braze Ruby gem v0.3.3
152
- Authorization:
153
- - Bearer <BRAZE_REST_API_KEY>
154
- Accept-Encoding:
155
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
156
- response:
157
- status:
158
- code: 200
159
- message: OK
160
- headers:
161
- Connection:
162
- - keep-alive
163
- Content-Length:
164
- - '233'
165
- Cache-Control:
166
- - max-age=0, private, must-revalidate
167
- Content-Type:
168
- - application/json
169
- Etag:
170
- - W/"73587e244e20caff598bc8613a738936"
171
- Server:
172
- - nginx
173
- Strict-Transport-Security:
174
- - max-age=0; includeSubDomains
175
- - max-age=31536000; includeSubDomains
176
- X-Ratelimit-Limit:
177
- - '250000'
178
- X-Ratelimit-Remaining:
179
- - '249993'
180
- X-Ratelimit-Reset:
181
- - '1592478000'
182
- X-Request-Id:
183
- - 2c909898-af08-4996-b063-cccd07cbee21
184
- X-Runtime:
185
- - '0.291483'
186
- Accept-Ranges:
187
- - bytes
188
- - bytes
189
- Age:
190
- - '0'
191
- - '0'
192
- Date:
193
- - Thu, 18 Jun 2020 10:03:06 GMT
194
- Via:
195
- - 1.1 varnish
196
- X-Served-By:
197
- - cache-hhn4039-HHN
198
- X-Cache:
199
- - MISS
200
- X-Cache-Hits:
201
- - '0'
202
- X-Timer:
203
- - S1592474586.385788,VS0,VE300
204
- Vary:
205
- - Origin,Accept-Encoding
206
- body:
207
- encoding: ASCII-8BIT
208
- string: '{"users":[{"email":"test-user-1@test.com","phone":null,"external_id":"test-user-1","subscription_groups":[{"id":"ed06e19a-69b1-4f9b-a452-2db2c4e303a8","name":"test-subscription-group","channel":"email","status":"Subscribed"}]},{"email":"test-user-2@test.com","phone":null,"external_id":"test-user-2","subscription_groups":[{"id":"ed06e19a-69b1-4f9b-a452-2db2c4e303a8","name":"test-subscription-group","channel":"email","status":"Unsubscribed"}]},{"email":"test-user-3@test.com","phone":null,"external_id":"test-user-3","subscription_groups":[]}],"total_count":3,"message":"success"}'
209
- http_version:
210
- recorded_at: Thu, 18 Jun 2020 10:03:06 GMT
211
- recorded_with: VCR 5.0.0
@@ -1,70 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: "<BRAZE_REST_URL>/users/track"
6
- body:
7
- encoding: UTF-8
8
- string: '{"attributes":[{"external_id":1,"foo":"bar"}],"events":[{"external_id":1,"name":"baz","time":"2019-02-15
9
- 00:00:00 -0500"}],"purchases":[{"external_id":1,"product_id":1,"time":"2019-02-15
10
- 00:00:00 -0500","currency":"CAD","price":1.0}]}'
11
- headers:
12
- Content-Type:
13
- - application/json
14
- Accept:
15
- - application/json
16
- User-Agent:
17
- - Braze Ruby gem v0.3.3
18
- Authorization:
19
- - Bearer non-existent
20
- Accept-Encoding:
21
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
- response:
23
- status:
24
- code: 401
25
- message: Unauthorized
26
- headers:
27
- Connection:
28
- - keep-alive
29
- Content-Length:
30
- - '69'
31
- Cache-Control:
32
- - no-cache
33
- Content-Type:
34
- - application/json
35
- Server:
36
- - nginx
37
- Strict-Transport-Security:
38
- - max-age=0; includeSubDomains
39
- X-Ratelimit-Limit:
40
- - ''
41
- X-Ratelimit-Remaining:
42
- - ''
43
- X-Ratelimit-Reset:
44
- - ''
45
- X-Request-Id:
46
- - 455108aa-0cf4-438f-8d27-489896ca716b
47
- X-Runtime:
48
- - '0.001106'
49
- Accept-Ranges:
50
- - bytes
51
- Date:
52
- - Wed, 17 Jun 2020 20:31:42 GMT
53
- Via:
54
- - 1.1 varnish
55
- X-Served-By:
56
- - cache-hhn4044-HHN
57
- X-Cache:
58
- - MISS
59
- X-Cache-Hits:
60
- - '0'
61
- X-Timer:
62
- - S1592425903.848710,VS0,VE4
63
- Vary:
64
- - Origin,Accept-Encoding
65
- body:
66
- encoding: ASCII-8BIT
67
- string: '{"message":"Invalid API key: non-existent"}'
68
- http_version:
69
- recorded_at: Wed, 17 Jun 2020 20:31:42 GMT
70
- recorded_with: VCR 5.0.0