braze_ruby 0.2.2 → 0.4.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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +14 -3
  3. data/.gitignore +1 -0
  4. data/Gemfile +2 -0
  5. data/Gemfile.lock +39 -39
  6. data/README.md +64 -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 +11 -4
  11. data/lib/braze_ruby/deprecated.rb +2 -0
  12. data/lib/braze_ruby/endpoints.rb +4 -0
  13. data/lib/braze_ruby/endpoints/campaigns.rb +3 -1
  14. data/lib/braze_ruby/endpoints/canvas.rb +7 -1
  15. data/lib/braze_ruby/endpoints/create_user_aliases.rb +19 -0
  16. data/lib/braze_ruby/endpoints/delete_users.rb +4 -2
  17. data/lib/braze_ruby/endpoints/email_status.rb +3 -1
  18. data/lib/braze_ruby/endpoints/email_sync.rb +4 -2
  19. data/lib/braze_ruby/endpoints/identify_users.rb +19 -0
  20. data/lib/braze_ruby/endpoints/schedule_messages.rb +3 -1
  21. data/lib/braze_ruby/endpoints/send_messages.rb +3 -1
  22. data/lib/braze_ruby/endpoints/subscription.rb +20 -0
  23. data/lib/braze_ruby/endpoints/track_users.rb +7 -5
  24. data/lib/braze_ruby/http.rb +20 -5
  25. data/lib/braze_ruby/rest.rb +8 -0
  26. data/lib/braze_ruby/rest/base.rb +6 -2
  27. data/lib/braze_ruby/rest/canvas_details.rb +20 -0
  28. data/lib/braze_ruby/rest/create_user_aliases.rb +13 -0
  29. data/lib/braze_ruby/rest/delete_users.rb +3 -2
  30. data/lib/braze_ruby/rest/email_hard_bounces.rb +5 -5
  31. data/lib/braze_ruby/rest/email_status.rb +5 -5
  32. data/lib/braze_ruby/rest/email_unsubscribes.rb +5 -5
  33. data/lib/braze_ruby/rest/export_users.rb +7 -7
  34. data/lib/braze_ruby/rest/identify_users.rb +13 -0
  35. data/lib/braze_ruby/rest/list_segments.rb +4 -4
  36. data/lib/braze_ruby/rest/schedule_messages.rb +5 -5
  37. data/lib/braze_ruby/rest/send_messages.rb +5 -5
  38. data/lib/braze_ruby/rest/subscription_status_get.rb +20 -0
  39. data/lib/braze_ruby/rest/subscription_status_set.rb +20 -0
  40. data/lib/braze_ruby/rest/subscription_user_status.rb +20 -0
  41. data/lib/braze_ruby/rest/track_users.rb +3 -2
  42. data/lib/braze_ruby/rest/trigger_campaign_send.rb +6 -8
  43. data/lib/braze_ruby/rest/trigger_canvas_send.rb +5 -5
  44. data/lib/braze_ruby/version.rb +3 -1
  45. data/spec/braze_ruby/api_spec.rb +2 -0
  46. data/spec/braze_ruby/endpoints/delete_users_spec.rb +3 -1
  47. data/spec/braze_ruby/endpoints/track_users_spec.rb +10 -8
  48. data/spec/braze_ruby/http_spec.rb +48 -0
  49. data/spec/braze_ruby/rest/create_user_aliases_spec.rb +23 -0
  50. data/spec/braze_ruby/rest/delete_users_spec.rb +5 -3
  51. data/spec/braze_ruby/rest/email_status_spec.rb +3 -2
  52. data/spec/braze_ruby/rest/export_users_spec.rb +5 -3
  53. data/spec/braze_ruby/rest/identify_users_spec.rb +23 -0
  54. data/spec/braze_ruby/rest/schedule_messages_spec.rb +3 -2
  55. data/spec/braze_ruby/rest/send_messages_spec.rb +10 -13
  56. data/spec/braze_ruby/rest/track_users_spec.rb +12 -9
  57. data/spec/factories.rb +2 -0
  58. data/spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml +17 -15
  59. data/spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml +69 -0
  60. data/spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml +18 -16
  61. data/spec/fixtures/responses/create_user_aliases/unauthorized/responds_with_unauthorized.yml +67 -0
  62. data/spec/fixtures/responses/create_user_aliases/with_success/responds_with_created.yml +71 -0
  63. data/spec/fixtures/responses/create_user_aliases/with_success/responds_with_success_message.yml +71 -0
  64. data/spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml +20 -18
  65. data/spec/fixtures/responses/delete_users/with_success/responds_with_created.yml +25 -23
  66. data/spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml +25 -23
  67. data/spec/fixtures/responses/email_status/existing_email/responds_with_created.yml +22 -20
  68. data/spec/fixtures/responses/email_status/existing_email/responds_with_success_message.yml +22 -20
  69. data/spec/fixtures/responses/email_status/unknown_email/responds_with_bad_request.yml +22 -20
  70. data/spec/fixtures/responses/email_status/unknown_email/responds_with_success_message.yml +22 -20
  71. data/spec/fixtures/responses/email_sync/hard_bounces/responds_with_empty_array_when_no_hard_bounces.yml +18 -16
  72. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_empty_array_when_no_unsubscribes.yml +18 -16
  73. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_unsubscribed_emails.yml +21 -20
  74. data/spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml +25 -22
  75. data/spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml +24 -22
  76. data/spec/fixtures/responses/identify_users/unauthorized/responds_with_unauthorized.yml +68 -0
  77. data/spec/fixtures/responses/identify_users/with_success/responds_with_created.yml +71 -0
  78. data/spec/fixtures/responses/identify_users/with_success/responds_with_success_message.yml +71 -0
  79. data/spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml +35 -35
  80. data/spec/fixtures/responses/list_segments/with_success/responds_with_success.yml +35 -35
  81. data/spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml +20 -19
  82. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_created.yml +24 -23
  83. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_success_message.yml +24 -23
  84. data/spec/fixtures/responses/send_messages/unauthorized/responds_with_unauthorized.yml +20 -18
  85. data/spec/fixtures/responses/send_messages/with_success/responds_with_created.yml +24 -22
  86. data/spec/fixtures/responses/send_messages/with_success/responds_with_success_message.yml +24 -22
  87. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml +71 -0
  88. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml +68 -0
  89. data/spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml +139 -0
  90. 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
  91. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml +199 -0
  92. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml +211 -0
  93. data/spec/fixtures/responses/track_users/unauthorized/responds_with_unauthorized.yml +23 -21
  94. data/spec/fixtures/responses/track_users/with_success/responds_with_created.yml +22 -20
  95. data/spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml +22 -20
  96. data/spec/integrations/campaigns_spec.rb +6 -2
  97. data/spec/integrations/canvas_spec.rb +15 -2
  98. data/spec/integrations/create_user_aliases_spec.rb +32 -0
  99. data/spec/integrations/delete_users_spec.rb +3 -0
  100. data/spec/integrations/email_status_spec.rb +2 -0
  101. data/spec/integrations/email_sync_spec.rb +4 -2
  102. data/spec/integrations/export_users_spec.rb +4 -2
  103. data/spec/integrations/identify_users_spec.rb +32 -0
  104. data/spec/integrations/list_segments_spec.rb +3 -1
  105. data/spec/integrations/schedule_messages_spec.rb +4 -1
  106. data/spec/integrations/send_messages_spec.rb +4 -1
  107. data/spec/integrations/subscription_spec.rb +149 -0
  108. data/spec/integrations/track_users_spec.rb +3 -0
  109. data/spec/spec_helper.rb +2 -8
  110. data/spec/support/factory_bot.rb +2 -0
  111. data/spec/support/integrations.rb +7 -1
  112. data/spec/support/vcr.rb +5 -1
  113. metadata +68 -21
@@ -0,0 +1,71 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: "<BRAZE_REST_URL>/users/identify"
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"aliases_to_identify":[{"external_id":12345,"user_alias":{"alias_name":"abc","alias_label":"foo"}}]}'
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
+ - '66'
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/json
33
+ Etag:
34
+ - W/"da612bda0a786bcb949da037e296a092"
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
+ - '249982'
44
+ X-Ratelimit-Reset:
45
+ - '1592427600'
46
+ X-Request-Id:
47
+ - d0f2ec14-ad20-4ec1-8c98-e082ba1a29a7
48
+ X-Runtime:
49
+ - '0.007261'
50
+ Accept-Ranges:
51
+ - bytes
52
+ Date:
53
+ - Wed, 17 Jun 2020 20:30:11 GMT
54
+ Via:
55
+ - 1.1 varnish
56
+ X-Served-By:
57
+ - cache-hhn4027-HHN
58
+ X-Cache:
59
+ - MISS
60
+ X-Cache-Hits:
61
+ - '0'
62
+ X-Timer:
63
+ - S1592425811.496339,VS0,VE10
64
+ Vary:
65
+ - Origin,Accept-Encoding
66
+ body:
67
+ encoding: ASCII-8BIT
68
+ string: '{"aliases_processed":1,"message":"success"}'
69
+ http_version:
70
+ recorded_at: Wed, 17 Jun 2020 20:30:11 GMT
71
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,71 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: "<BRAZE_REST_URL>/users/identify"
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"aliases_to_identify":[{"external_id":12345,"user_alias":{"alias_name":"abc","alias_label":"foo"}}]}'
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
+ - '66'
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/json
33
+ Etag:
34
+ - W/"da612bda0a786bcb949da037e296a092"
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
+ - '249981'
44
+ X-Ratelimit-Reset:
45
+ - '1592427600'
46
+ X-Request-Id:
47
+ - 3e3620bf-17ee-4cb6-9bcf-252339f664e2
48
+ X-Runtime:
49
+ - '0.005803'
50
+ Accept-Ranges:
51
+ - bytes
52
+ Date:
53
+ - Wed, 17 Jun 2020 20:30:16 GMT
54
+ Via:
55
+ - 1.1 varnish
56
+ X-Served-By:
57
+ - cache-hhn4021-HHN
58
+ X-Cache:
59
+ - MISS
60
+ X-Cache-Hits:
61
+ - '0'
62
+ X-Timer:
63
+ - S1592425816.221760,VS0,VE9
64
+ Vary:
65
+ - Origin,Accept-Encoding
66
+ body:
67
+ encoding: ASCII-8BIT
68
+ string: '{"aliases_processed":1,"message":"success"}'
69
+ http_version:
70
+ recorded_at: Wed, 17 Jun 2020 20:30:16 GMT
71
+ recorded_with: VCR 5.0.0
@@ -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
- - '49992'
43
+ - '249938'
36
44
  X-Ratelimit-Reset:
37
- - '1524002400'
45
+ - '1592427600'
38
46
  X-Request-Id:
39
- - a399cc89-0854-471e-aba3-71f3a79a4f47
47
+ - 8768b6f0-071c-44f0-b09e-eb14bdebfa54
40
48
  X-Runtime:
41
- - '0.017686'
42
- Content-Length:
43
- - '603'
49
+ - '0.011164'
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-pdk17835-PDK
61
+ - cache-hhn4066-HHN
56
62
  X-Cache:
57
63
  - MISS
58
64
  X-Cache-Hits:
59
65
  - '0'
60
66
  X-Timer:
61
- - S1523999301.931262,VS0,VE59
67
+ - S1592427424.534728,VS0,VE14
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
@@ -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