braze_ruby 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +30 -0
  3. data/.gitignore +1 -0
  4. data/Gemfile +2 -0
  5. data/Gemfile.lock +39 -39
  6. data/README.md +48 -0
  7. data/Rakefile +2 -0
  8. data/braze_ruby.gemspec +7 -7
  9. data/lib/braze_ruby.rb +2 -0
  10. data/lib/braze_ruby/api.rb +12 -4
  11. data/lib/braze_ruby/deprecated.rb +2 -0
  12. data/lib/braze_ruby/endpoints.rb +3 -0
  13. data/lib/braze_ruby/endpoints/campaigns.rb +3 -1
  14. data/lib/braze_ruby/endpoints/canvas.rb +15 -0
  15. data/lib/braze_ruby/endpoints/delete_users.rb +4 -2
  16. data/lib/braze_ruby/endpoints/email_status.rb +3 -1
  17. data/lib/braze_ruby/endpoints/email_sync.rb +4 -2
  18. data/lib/braze_ruby/endpoints/identify_users.rb +19 -0
  19. data/lib/braze_ruby/endpoints/schedule_messages.rb +3 -1
  20. data/lib/braze_ruby/endpoints/send_messages.rb +3 -1
  21. data/lib/braze_ruby/endpoints/subscription.rb +20 -0
  22. data/lib/braze_ruby/endpoints/track_users.rb +7 -5
  23. data/lib/braze_ruby/http.rb +20 -5
  24. data/lib/braze_ruby/rest.rb +8 -0
  25. data/lib/braze_ruby/rest/base.rb +6 -2
  26. data/lib/braze_ruby/rest/canvas_details.rb +20 -0
  27. data/lib/braze_ruby/rest/delete_users.rb +3 -2
  28. data/lib/braze_ruby/rest/email_hard_bounces.rb +5 -5
  29. data/lib/braze_ruby/rest/email_status.rb +5 -5
  30. data/lib/braze_ruby/rest/email_unsubscribes.rb +5 -5
  31. data/lib/braze_ruby/rest/export_users.rb +7 -7
  32. data/lib/braze_ruby/rest/identify_users.rb +13 -0
  33. data/lib/braze_ruby/rest/list_segments.rb +4 -4
  34. data/lib/braze_ruby/rest/schedule_messages.rb +5 -5
  35. data/lib/braze_ruby/rest/send_messages.rb +5 -5
  36. data/lib/braze_ruby/rest/subscription_status_get.rb +20 -0
  37. data/lib/braze_ruby/rest/subscription_status_set.rb +20 -0
  38. data/lib/braze_ruby/rest/subscription_user_status.rb +20 -0
  39. data/lib/braze_ruby/rest/track_users.rb +3 -2
  40. data/lib/braze_ruby/rest/trigger_campaign_send.rb +6 -8
  41. data/lib/braze_ruby/rest/trigger_canvas_send.rb +20 -0
  42. data/lib/braze_ruby/version.rb +3 -1
  43. data/spec/braze_ruby/api_spec.rb +2 -0
  44. data/spec/braze_ruby/endpoints/delete_users_spec.rb +3 -1
  45. data/spec/braze_ruby/endpoints/track_users_spec.rb +10 -8
  46. data/spec/braze_ruby/http_spec.rb +48 -0
  47. data/spec/braze_ruby/rest/delete_users_spec.rb +5 -3
  48. data/spec/braze_ruby/rest/email_status_spec.rb +3 -2
  49. data/spec/braze_ruby/rest/export_users_spec.rb +5 -3
  50. data/spec/braze_ruby/rest/identify_users_spec.rb +23 -0
  51. data/spec/braze_ruby/rest/schedule_messages_spec.rb +3 -2
  52. data/spec/braze_ruby/rest/send_messages_spec.rb +10 -13
  53. data/spec/braze_ruby/rest/track_users_spec.rb +12 -9
  54. data/spec/factories.rb +2 -0
  55. data/spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml +17 -15
  56. data/spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml +69 -0
  57. data/spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml +71 -0
  58. data/spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml +20 -18
  59. data/spec/fixtures/responses/delete_users/with_success/responds_with_created.yml +25 -23
  60. data/spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml +25 -23
  61. data/spec/fixtures/responses/email_status/existing_email/responds_with_created.yml +22 -20
  62. data/spec/fixtures/responses/email_status/existing_email/responds_with_success_message.yml +22 -20
  63. data/spec/fixtures/responses/email_status/unknown_email/responds_with_bad_request.yml +22 -20
  64. data/spec/fixtures/responses/email_status/unknown_email/responds_with_success_message.yml +22 -20
  65. data/spec/fixtures/responses/email_sync/hard_bounces/responds_with_empty_array_when_no_hard_bounces.yml +18 -16
  66. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_empty_array_when_no_unsubscribes.yml +18 -16
  67. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_unsubscribed_emails.yml +21 -20
  68. data/spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml +25 -22
  69. data/spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml +24 -22
  70. data/spec/fixtures/responses/identify_users/unauthorized/responds_with_unauthorized.yml +68 -0
  71. data/spec/fixtures/responses/identify_users/with_success/responds_with_created.yml +71 -0
  72. data/spec/fixtures/responses/identify_users/with_success/responds_with_success_message.yml +71 -0
  73. data/spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml +35 -35
  74. data/spec/fixtures/responses/list_segments/with_success/responds_with_success.yml +35 -35
  75. data/spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml +20 -19
  76. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_created.yml +24 -23
  77. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_success_message.yml +24 -23
  78. data/spec/fixtures/responses/send_messages/unauthorized/responds_with_unauthorized.yml +20 -18
  79. data/spec/fixtures/responses/send_messages/with_success/responds_with_created.yml +24 -22
  80. data/spec/fixtures/responses/send_messages/with_success/responds_with_success_message.yml +24 -22
  81. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml +71 -0
  82. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml +68 -0
  83. data/spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml +139 -0
  84. 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 +211 -0
  85. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml +199 -0
  86. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml +211 -0
  87. data/spec/fixtures/responses/track_users/unauthorized/responds_with_unauthorized.yml +23 -21
  88. data/spec/fixtures/responses/track_users/with_success/responds_with_created.yml +22 -20
  89. data/spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml +22 -20
  90. data/spec/integrations/campaigns_spec.rb +6 -2
  91. data/spec/integrations/canvas_spec.rb +28 -0
  92. data/spec/integrations/delete_users_spec.rb +3 -0
  93. data/spec/integrations/email_status_spec.rb +2 -0
  94. data/spec/integrations/email_sync_spec.rb +4 -2
  95. data/spec/integrations/export_users_spec.rb +4 -2
  96. data/spec/integrations/identify_users_spec.rb +32 -0
  97. data/spec/integrations/list_segments_spec.rb +3 -1
  98. data/spec/integrations/schedule_messages_spec.rb +4 -1
  99. data/spec/integrations/send_messages_spec.rb +4 -1
  100. data/spec/integrations/subscription_spec.rb +149 -0
  101. data/spec/integrations/track_users_spec.rb +3 -0
  102. data/spec/spec_helper.rb +2 -8
  103. data/spec/support/factory_bot.rb +2 -0
  104. data/spec/support/integrations.rb +7 -1
  105. data/spec/support/vcr.rb +5 -1
  106. metadata +63 -21
@@ -2,80 +2,80 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: "<BRAZE_REST_URL>/segments/list?api_key=<BRAZE_REST_API_KEY>"
5
+ uri: "<BRAZE_REST_URL>/segments/list"
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept:
13
+ - application/json
10
14
  User-Agent:
11
- - Faraday v0.14.0
15
+ - Braze Ruby gem v0.3.3
16
+ Authorization:
17
+ - Bearer <BRAZE_REST_API_KEY>
12
18
  Accept-Encoding:
13
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
- Accept:
15
- - "*/*"
16
20
  response:
17
21
  status:
18
22
  code: 200
19
23
  message: OK
20
24
  headers:
25
+ Connection:
26
+ - keep-alive
27
+ Content-Length:
28
+ - '373'
21
29
  Cache-Control:
22
30
  - max-age=0, private, must-revalidate
23
31
  Content-Type:
24
32
  - application/json
25
33
  Etag:
26
- - W/"f82a7689f0f1df180510d033adeece51"
34
+ - W/"de13291b9300bcefd33634ff4545a157"
27
35
  Server:
28
36
  - nginx
29
37
  Strict-Transport-Security:
30
38
  - max-age=0; includeSubDomains
31
39
  - max-age=31536000; includeSubDomains
32
40
  X-Ratelimit-Limit:
33
- - '50000'
41
+ - '250000'
34
42
  X-Ratelimit-Remaining:
35
- - '49993'
43
+ - '249939'
36
44
  X-Ratelimit-Reset:
37
- - '1524002400'
45
+ - '1592427600'
38
46
  X-Request-Id:
39
- - 79e46360-b955-47cf-87b2-8e3e1a6f5ced
47
+ - 412888e3-1e15-4c24-bece-a87ed07fa3a4
40
48
  X-Runtime:
41
- - '0.020006'
42
- Content-Length:
43
- - '603'
49
+ - '0.030416'
44
50
  Accept-Ranges:
45
51
  - bytes
52
+ - bytes
53
+ Age:
54
+ - '0'
55
+ - '0'
46
56
  Date:
47
- - Tue, 17 Apr 2018 21:08:20 GMT
57
+ - Wed, 17 Jun 2020 20:57:03 GMT
48
58
  Via:
49
59
  - 1.1 varnish
50
- Age:
51
- - '0'
52
- Connection:
53
- - keep-alive
54
60
  X-Served-By:
55
- - cache-pdk17843-PDK
61
+ - cache-hhn4021-HHN
56
62
  X-Cache:
57
63
  - MISS
58
64
  X-Cache-Hits:
59
65
  - '0'
60
66
  X-Timer:
61
- - S1523999301.800558,VS0,VE61
67
+ - S1592427423.407930,VS0,VE34
62
68
  Vary:
63
- - Accept-Encoding
69
+ - Origin,Accept-Encoding
64
70
  body:
65
71
  encoding: ASCII-8BIT
66
- string: '{"segments":[{"id":"e094130b-8b90-4b01-a004-f2b25281564f","name":"Lapsed
67
- Users - 7 days","analytics_tracking_enabled":true,"tags":[]},{"id":"f77809b7-dda4-45ee-bcf4-46de5c58a0a2","name":"Lapsed
68
- Users - 30 days","analytics_tracking_enabled":true,"tags":[]},{"id":"61227661-f46e-4ab6-bbc9-e4d5f65f8dbc","name":"User
69
- Onboarding - First Week","analytics_tracking_enabled":true,"tags":[]},{"id":"0ccb0f97-b09c-4d0f-bc33-8c695c6eedf2","name":"User
70
- Onboarding - Second Week","analytics_tracking_enabled":true,"tags":[]},{"id":"f522dea9-d27c-48b9-8e98-c03b3346e4b4","name":"Engaged
71
- Recent Users","analytics_tracking_enabled":true,"tags":[]},{"id":"658307d8-3b8a-45fa-98ad-97fb75ee6eff","name":"All
72
- Users (Takl Staging - iOS)","analytics_tracking_enabled":true,"tags":[]},{"id":"d04aa317-a6f4-459d-b7c0-2b1cab68cb88","name":"All
73
- Users (Takl Staging - Android)","analytics_tracking_enabled":true,"tags":[]},{"id":"e2ff24e9-0d5d-4b50-8832-a4201b1d59a3","name":"All
74
- Users (Takl Staging Debug - Android)","analytics_tracking_enabled":true,"tags":[]},{"id":"3de3ddbf-a327-408b-aab4-6bd390a6409e","name":"All
75
- Users (Takl Staging - Web)","analytics_tracking_enabled":true,"tags":[]},{"id":"b109727d-4773-4cdf-b6c7-43385aa9ccb2","name":"Everybody","analytics_tracking_enabled":false,"tags":[]},{"id":"ef0a9a5e-c0be-41a0-9260-2718dfbe28d4","name":"Custom
76
- Event Segment","analytics_tracking_enabled":false,"tags":[]},{"id":"7a337f50-4e79-46f6-b8b2-2459027e9aca","name":"Morgans
77
- Segment","analytics_tracking_enabled":false,"tags":[]},{"id":"a8fde797-4c44-4406-8e6c-5850d323f169","name":"Justin''s
78
- Segment","analytics_tracking_enabled":false,"tags":[]}],"message":"success"}'
72
+ string: '{"segments":[{"id":"6d68ea15-26c4-4109-835a-65b81773a5e2","name":"Lapsed
73
+ Users - 7 days","analytics_tracking_enabled":true,"tags":[]},{"id":"0eaf8f6a-230f-48f2-9c01-45302b642a35","name":"Lapsed
74
+ Users - 30 days","analytics_tracking_enabled":true,"tags":[]},{"id":"b644b893-276d-4817-b5cd-5f65906f072b","name":"User
75
+ Onboarding - First Week","analytics_tracking_enabled":true,"tags":[]},{"id":"2f59d81c-82b3-40e5-9050-b6400a1fc9c8","name":"User
76
+ Onboarding - Second Week","analytics_tracking_enabled":true,"tags":[]},{"id":"de83cb66-cc1f-457d-8905-45446b6e841b","name":"Engaged
77
+ Recent Users","analytics_tracking_enabled":true,"tags":[]},{"id":"3aca937b-9bbc-4e42-9370-05e411967b2b","name":"All
78
+ Users (Freeletics Development - iOS)","analytics_tracking_enabled":true,"tags":[]}],"message":"success"}'
79
79
  http_version:
80
- recorded_at: Tue, 17 Apr 2018 21:08:20 GMT
81
- recorded_with: VCR 4.0.0
80
+ recorded_at: Wed, 17 Jun 2020 20:57:03 GMT
81
+ recorded_with: VCR 5.0.0
@@ -5,22 +5,27 @@ http_interactions:
5
5
  uri: "<BRAZE_REST_URL>/messages/schedule/create"
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"api_key":"non-existent","external_user_ids":[1],"schedule":{"time":"2019-02-15
9
- 00:00:00 -0500","in_local_time":false},"messages":{"apple_push":{"alert":"hello"}}}'
8
+ string: '{"external_user_ids":[12345],"schedule":{"time":"2020-08-07T00:00:00+02:00","in_local_time":false},"messages":{"apple_push":{"alert":"hello"}}}'
10
9
  headers:
11
- User-Agent:
12
- - Faraday v0.14.0
13
10
  Content-Type:
14
11
  - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Braze Ruby gem v0.3.3
16
+ Authorization:
17
+ - Bearer non-existent
15
18
  Accept-Encoding:
16
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
17
- Accept:
18
- - "*/*"
19
20
  response:
20
21
  status:
21
22
  code: 401
22
23
  message: Unauthorized
23
24
  headers:
25
+ Connection:
26
+ - keep-alive
27
+ Content-Length:
28
+ - '69'
24
29
  Cache-Control:
25
30
  - no-cache
26
31
  Content-Type:
@@ -36,32 +41,28 @@ http_interactions:
36
41
  X-Ratelimit-Reset:
37
42
  - ''
38
43
  X-Request-Id:
39
- - 34c2cbbd-02bb-4104-9c06-47cb08bd061c
44
+ - 3cd85b44-7a41-4e11-9895-14831b3cdf37
40
45
  X-Runtime:
41
- - '0.008932'
42
- Content-Length:
43
- - '85'
46
+ - '0.001125'
44
47
  Accept-Ranges:
45
48
  - bytes
46
49
  Date:
47
- - Tue, 17 Apr 2018 21:08:21 GMT
50
+ - Wed, 17 Jun 2020 20:50:32 GMT
48
51
  Via:
49
52
  - 1.1 varnish
50
- Connection:
51
- - keep-alive
52
53
  X-Served-By:
53
- - cache-pdk17829-PDK
54
+ - cache-hhn4038-HHN
54
55
  X-Cache:
55
56
  - MISS
56
57
  X-Cache-Hits:
57
58
  - '0'
58
59
  X-Timer:
59
- - S1523999302.620925,VS0,VE191
60
+ - S1592427032.395590,VS0,VE4
60
61
  Vary:
61
- - Accept-Encoding
62
+ - Origin,Accept-Encoding
62
63
  body:
63
64
  encoding: ASCII-8BIT
64
- string: '{"message":"Invalid App Group API Identifier: non-existent"}'
65
+ string: '{"message":"Invalid API key: non-existent"}'
65
66
  http_version:
66
- recorded_at: Tue, 17 Apr 2018 21:08:21 GMT
67
- recorded_with: VCR 4.0.0
67
+ recorded_at: Wed, 17 Jun 2020 20:50:32 GMT
68
+ recorded_with: VCR 5.0.0
@@ -5,66 +5,67 @@ http_interactions:
5
5
  uri: "<BRAZE_REST_URL>/messages/schedule/create"
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"api_key":"<BRAZE_REST_API_KEY>","external_user_ids":[1],"schedule":{"time":"2019-02-15
9
- 00:00:00 -0500","in_local_time":false},"messages":{"apple_push":{"alert":"hello"}}}'
8
+ string: '{"external_user_ids":[12345],"schedule":{"time":"2020-08-07T00:00:00+02:00","in_local_time":false},"messages":{"apple_push":{"alert":"hello"}}}'
10
9
  headers:
11
- User-Agent:
12
- - Faraday v0.14.0
13
10
  Content-Type:
14
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>
15
18
  Accept-Encoding:
16
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
17
- Accept:
18
- - "*/*"
19
20
  response:
20
21
  status:
21
22
  code: 201
22
23
  message: Created
23
24
  headers:
25
+ Connection:
26
+ - keep-alive
27
+ Content-Length:
28
+ - '128'
24
29
  Cache-Control:
25
30
  - max-age=0, private, must-revalidate
26
31
  Content-Type:
27
32
  - application/json
28
33
  Etag:
29
- - W/"f9913a2616a9d19ab2dafed53b6ac0cd"
34
+ - W/"8c104b66ec08064a5fe69a3f901841a2"
30
35
  Server:
31
36
  - nginx
32
37
  Strict-Transport-Security:
33
38
  - max-age=0; includeSubDomains
34
39
  - max-age=31536000; includeSubDomains
35
40
  X-Ratelimit-Limit:
36
- - '50000'
41
+ - '250000'
37
42
  X-Ratelimit-Remaining:
38
- - '49991'
43
+ - '249941'
39
44
  X-Ratelimit-Reset:
40
- - '1524002400'
45
+ - '1592427600'
41
46
  X-Request-Id:
42
- - fd1ed05b-89a1-4419-8402-34599af22c88
47
+ - 941b3cc1-49e6-4f2f-b32e-cd9181852657
43
48
  X-Runtime:
44
- - '0.029549'
45
- Content-Length:
46
- - '96'
49
+ - '0.011838'
47
50
  Accept-Ranges:
48
51
  - bytes
49
52
  Date:
50
- - Tue, 17 Apr 2018 21:08:21 GMT
53
+ - Wed, 17 Jun 2020 20:50:32 GMT
51
54
  Via:
52
55
  - 1.1 varnish
53
- Connection:
54
- - keep-alive
55
56
  X-Served-By:
56
- - cache-pdk17849-PDK
57
+ - cache-hhn4054-HHN
57
58
  X-Cache:
58
59
  - MISS
59
60
  X-Cache-Hits:
60
61
  - '0'
61
62
  X-Timer:
62
- - S1523999301.065052,VS0,VE210
63
+ - S1592427032.164784,VS0,VE14
63
64
  Vary:
64
- - Accept-Encoding
65
+ - Origin,Accept-Encoding
65
66
  body:
66
67
  encoding: ASCII-8BIT
67
- string: '{"schedule_id":"db90f8dc-2ef3-420f-a4b0-c08605acc21f","message":"success"}'
68
+ string: '{"dispatch_id":"09d7ffeef18452ecd6f3279811f3cf47","schedule_id":"886a0a5a-75fb-4d2f-9f19-c6a1e0017fa8","message":"success"}'
68
69
  http_version:
69
- recorded_at: Tue, 17 Apr 2018 21:08:21 GMT
70
- recorded_with: VCR 4.0.0
70
+ recorded_at: Wed, 17 Jun 2020 20:50:32 GMT
71
+ recorded_with: VCR 5.0.0
@@ -5,66 +5,67 @@ http_interactions:
5
5
  uri: "<BRAZE_REST_URL>/messages/schedule/create"
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"api_key":"<BRAZE_REST_API_KEY>","external_user_ids":[1],"schedule":{"time":"2019-02-15
9
- 00:00:00 -0500","in_local_time":false},"messages":{"apple_push":{"alert":"hello"}}}'
8
+ string: '{"external_user_ids":[12345],"schedule":{"time":"2020-08-07T00:00:00+02:00","in_local_time":false},"messages":{"apple_push":{"alert":"hello"}}}'
10
9
  headers:
11
- User-Agent:
12
- - Faraday v0.14.0
13
10
  Content-Type:
14
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>
15
18
  Accept-Encoding:
16
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
17
- Accept:
18
- - "*/*"
19
20
  response:
20
21
  status:
21
22
  code: 201
22
23
  message: Created
23
24
  headers:
25
+ Connection:
26
+ - keep-alive
27
+ Content-Length:
28
+ - '128'
24
29
  Cache-Control:
25
30
  - max-age=0, private, must-revalidate
26
31
  Content-Type:
27
32
  - application/json
28
33
  Etag:
29
- - W/"28a09ecfebb2ce520ec4eb59271fe82b"
34
+ - W/"1bad0ea6fb5d290969fb1438dfdce7b7"
30
35
  Server:
31
36
  - nginx
32
37
  Strict-Transport-Security:
33
38
  - max-age=0; includeSubDomains
34
39
  - max-age=31536000; includeSubDomains
35
40
  X-Ratelimit-Limit:
36
- - '50000'
41
+ - '250000'
37
42
  X-Ratelimit-Remaining:
38
- - '49990'
43
+ - '249940'
39
44
  X-Ratelimit-Reset:
40
- - '1524002400'
45
+ - '1592427600'
41
46
  X-Request-Id:
42
- - c55b095e-a19a-45d9-bb3d-1203b0c85b69
47
+ - fd262aec-d04b-435c-8b1d-a5b6358cc612
43
48
  X-Runtime:
44
- - '0.017538'
45
- Content-Length:
46
- - '98'
49
+ - '0.018567'
47
50
  Accept-Ranges:
48
51
  - bytes
49
52
  Date:
50
- - Tue, 17 Apr 2018 21:08:21 GMT
53
+ - Wed, 17 Jun 2020 20:50:32 GMT
51
54
  Via:
52
55
  - 1.1 varnish
53
- Connection:
54
- - keep-alive
55
56
  X-Served-By:
56
- - cache-pdk17831-PDK
57
+ - cache-hhn4055-HHN
57
58
  X-Cache:
58
59
  - MISS
59
60
  X-Cache-Hits:
60
61
  - '0'
61
62
  X-Timer:
62
- - S1523999301.354059,VS0,VE199
63
+ - S1592427032.276304,VS0,VE25
63
64
  Vary:
64
- - Accept-Encoding
65
+ - Origin,Accept-Encoding
65
66
  body:
66
67
  encoding: ASCII-8BIT
67
- string: '{"schedule_id":"31d4c1d9-d784-4218-abee-c95e03a30f03","message":"success"}'
68
+ string: '{"dispatch_id":"1a1251f3a80e636c4bf6cf1d2e02f8a9","schedule_id":"704d798d-40e6-4128-b7ca-ba50be800377","message":"success"}'
68
69
  http_version:
69
- recorded_at: Tue, 17 Apr 2018 21:08:21 GMT
70
- recorded_with: VCR 4.0.0
70
+ recorded_at: Wed, 17 Jun 2020 20:50:32 GMT
71
+ recorded_with: VCR 5.0.0
@@ -5,21 +5,27 @@ http_interactions:
5
5
  uri: "<BRAZE_REST_URL>/messages/send"
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"api_key":"non-existent","messages":{"apple_push":{"alert":"hello"}},"external_user_ids":[1]}'
8
+ string: '{"messages":{"apple_push":{"alert":"hello"}},"external_user_ids":[12345]}'
9
9
  headers:
10
- User-Agent:
11
- - Faraday v0.14.0
12
10
  Content-Type:
13
11
  - application/json
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Braze Ruby gem v0.3.3
16
+ Authorization:
17
+ - Bearer non-existent
14
18
  Accept-Encoding:
15
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
- Accept:
17
- - "*/*"
18
20
  response:
19
21
  status:
20
22
  code: 401
21
23
  message: Unauthorized
22
24
  headers:
25
+ Connection:
26
+ - keep-alive
27
+ Content-Length:
28
+ - '69'
23
29
  Cache-Control:
24
30
  - no-cache
25
31
  Content-Type:
@@ -35,32 +41,28 @@ http_interactions:
35
41
  X-Ratelimit-Reset:
36
42
  - ''
37
43
  X-Request-Id:
38
- - b9f8ce77-4265-46a4-8010-04dad0d35c92
44
+ - ede47716-681c-40c8-8c3f-90cb22269092
39
45
  X-Runtime:
40
- - '0.006126'
41
- Content-Length:
42
- - '85'
46
+ - '0.000632'
43
47
  Accept-Ranges:
44
48
  - bytes
45
49
  Date:
46
- - Tue, 17 Apr 2018 21:08:23 GMT
50
+ - Wed, 17 Jun 2020 20:37:30 GMT
47
51
  Via:
48
52
  - 1.1 varnish
49
- Connection:
50
- - keep-alive
51
53
  X-Served-By:
52
- - cache-pdk17839-PDK
54
+ - cache-hhn4061-HHN
53
55
  X-Cache:
54
56
  - MISS
55
57
  X-Cache-Hits:
56
58
  - '0'
57
59
  X-Timer:
58
- - S1523999303.988243,VS0,VE44
60
+ - S1592426251.943565,VS0,VE48
59
61
  Vary:
60
- - Accept-Encoding
62
+ - Origin,Accept-Encoding
61
63
  body:
62
64
  encoding: ASCII-8BIT
63
- string: '{"message":"Invalid App Group API Identifier: non-existent"}'
65
+ string: '{"message":"Invalid API key: non-existent"}'
64
66
  http_version:
65
- recorded_at: Tue, 17 Apr 2018 21:08:23 GMT
66
- recorded_with: VCR 4.0.0
67
+ recorded_at: Wed, 17 Jun 2020 20:37:31 GMT
68
+ recorded_with: VCR 5.0.0
@@ -5,65 +5,67 @@ http_interactions:
5
5
  uri: "<BRAZE_REST_URL>/messages/send"
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"api_key":"<BRAZE_REST_API_KEY>","messages":{"apple_push":{"alert":"hello"}},"external_user_ids":[1]}'
8
+ string: '{"messages":{"apple_push":{"alert":"hello"}},"external_user_ids":[12345]}'
9
9
  headers:
10
- User-Agent:
11
- - Faraday v0.14.0
12
10
  Content-Type:
13
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>
14
18
  Accept-Encoding:
15
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
- Accept:
17
- - "*/*"
18
20
  response:
19
21
  status:
20
22
  code: 201
21
23
  message: Created
22
24
  headers:
25
+ Connection:
26
+ - keep-alive
27
+ Content-Length:
28
+ - '94'
23
29
  Cache-Control:
24
30
  - max-age=0, private, must-revalidate
25
31
  Content-Type:
26
32
  - application/json
27
33
  Etag:
28
- - W/"838a7c62adda8d131d694ae13ba2c5b7"
34
+ - W/"b9e7fd89d471f3f07bc5423aebe2ffec"
29
35
  Server:
30
36
  - nginx
31
37
  Strict-Transport-Security:
32
38
  - max-age=0; includeSubDomains
33
39
  - max-age=31536000; includeSubDomains
34
40
  X-Ratelimit-Limit:
35
- - '50000'
41
+ - '250000'
36
42
  X-Ratelimit-Remaining:
37
- - '49989'
43
+ - '249954'
38
44
  X-Ratelimit-Reset:
39
- - '1524002400'
45
+ - '1592427600'
40
46
  X-Request-Id:
41
- - aec47065-45d4-4fb7-a593-a4ffd110c314
47
+ - e2e72c50-28ca-48b1-a8a0-4f5358ee3e71
42
48
  X-Runtime:
43
- - '0.013801'
44
- Content-Length:
45
- - '46'
49
+ - '0.015367'
46
50
  Accept-Ranges:
47
51
  - bytes
48
52
  Date:
49
- - Tue, 17 Apr 2018 21:08:22 GMT
53
+ - Wed, 17 Jun 2020 20:37:30 GMT
50
54
  Via:
51
55
  - 1.1 varnish
52
- Connection:
53
- - keep-alive
54
56
  X-Served-By:
55
- - cache-pdk17821-PDK
57
+ - cache-hhn4020-HHN
56
58
  X-Cache:
57
59
  - MISS
58
60
  X-Cache-Hits:
59
61
  - '0'
60
62
  X-Timer:
61
- - S1523999302.923924,VS0,VE423
63
+ - S1592426251.662252,VS0,VE65
62
64
  Vary:
63
- - Accept-Encoding
65
+ - Origin,Accept-Encoding
64
66
  body:
65
67
  encoding: ASCII-8BIT
66
- string: '{"message":"success"}'
68
+ string: '{"dispatch_id":"dad3e2b4166cf9902f5ce54215241a33","message":"success"}'
67
69
  http_version:
68
- recorded_at: Tue, 17 Apr 2018 21:08:22 GMT
69
- recorded_with: VCR 4.0.0
70
+ recorded_at: Wed, 17 Jun 2020 20:37:30 GMT
71
+ recorded_with: VCR 5.0.0