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
@@ -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
@@ -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/"c0f33a016781b92e299866060ef19a97"
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
- - '49988'
43
+ - '249953'
38
44
  X-Ratelimit-Reset:
39
- - '1524002400'
45
+ - '1592427600'
40
46
  X-Request-Id:
41
- - 864641c8-44d3-4389-84a1-e411ee44561e
47
+ - 27779097-2153-47ba-9dad-196e9673d913
42
48
  X-Runtime:
43
- - '0.027612'
44
- Content-Length:
45
- - '46'
49
+ - '0.009393'
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-pdk17839-PDK
57
+ - cache-hhn4076-HHN
56
58
  X-Cache:
57
59
  - MISS
58
60
  X-Cache-Hits:
59
61
  - '0'
60
62
  X-Timer:
61
- - S1523999302.411567,VS0,VE410
63
+ - S1592426251.823361,VS0,VE12
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":"ea0532cddfc97cd4e5767b351d6af0eb","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
@@ -0,0 +1,71 @@
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
+ - '249986'
44
+ X-Ratelimit-Reset:
45
+ - '1592478000'
46
+ X-Request-Id:
47
+ - 535f2a1b-31db-456a-9932-a927c56cfbb3
48
+ X-Runtime:
49
+ - '0.006043'
50
+ Accept-Ranges:
51
+ - bytes
52
+ Date:
53
+ - Thu, 18 Jun 2020 10:03:07 GMT
54
+ Via:
55
+ - 1.1 varnish
56
+ X-Served-By:
57
+ - cache-hhn4056-HHN
58
+ X-Cache:
59
+ - MISS
60
+ X-Cache-Hits:
61
+ - '0'
62
+ X-Timer:
63
+ - S1592474588.853802,VS0,VE9
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:07 GMT
71
+ recorded_with: VCR 5.0.0