braze_ruby 0.3.2 → 0.5.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 (117) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +57 -0
  3. data/.circleci/gem_credentials +2 -0
  4. data/.circleci/setup-rubygems +6 -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 +49 -2
  10. data/Rakefile +2 -1
  11. data/bin/release +16 -0
  12. data/braze_ruby.gemspec +28 -31
  13. data/lib/braze_ruby.rb +4 -4
  14. data/lib/braze_ruby/api.rb +20 -14
  15. data/lib/braze_ruby/deprecated.rb +4 -4
  16. data/lib/braze_ruby/endpoints.rb +10 -7
  17. data/lib/braze_ruby/endpoints/campaigns.rb +1 -1
  18. data/lib/braze_ruby/endpoints/canvas.rb +2 -2
  19. data/lib/braze_ruby/endpoints/create_user_aliases.rb +19 -0
  20. data/lib/braze_ruby/endpoints/delete_users.rb +2 -2
  21. data/lib/braze_ruby/endpoints/email_status.rb +1 -1
  22. data/lib/braze_ruby/endpoints/email_sync.rb +2 -2
  23. data/lib/braze_ruby/endpoints/identify_users.rb +2 -2
  24. data/lib/braze_ruby/endpoints/remove_external_ids.rb +19 -0
  25. data/lib/braze_ruby/endpoints/rename_external_ids.rb +19 -0
  26. data/lib/braze_ruby/endpoints/schedule_messages.rb +1 -1
  27. data/lib/braze_ruby/endpoints/send_messages.rb +1 -1
  28. data/lib/braze_ruby/endpoints/subscription.rb +3 -4
  29. data/lib/braze_ruby/endpoints/track_users.rb +5 -5
  30. data/lib/braze_ruby/http.rb +21 -8
  31. data/lib/braze_ruby/rest.rb +20 -17
  32. data/lib/braze_ruby/rest/base.rb +5 -3
  33. data/lib/braze_ruby/rest/canvas_details.rb +4 -6
  34. data/lib/braze_ruby/rest/create_user_aliases.rb +13 -0
  35. data/lib/braze_ruby/rest/delete_users.rb +3 -4
  36. data/lib/braze_ruby/rest/email_hard_bounces.rb +4 -6
  37. data/lib/braze_ruby/rest/email_status.rb +6 -8
  38. data/lib/braze_ruby/rest/email_unsubscribes.rb +4 -6
  39. data/lib/braze_ruby/rest/export_users.rb +9 -11
  40. data/lib/braze_ruby/rest/identify_users.rb +3 -4
  41. data/lib/braze_ruby/rest/list_segments.rb +2 -4
  42. data/lib/braze_ruby/rest/remove_external_ids.rb +13 -0
  43. data/lib/braze_ruby/rest/rename_external_ids.rb +13 -0
  44. data/lib/braze_ruby/rest/schedule_messages.rb +9 -11
  45. data/lib/braze_ruby/rest/send_messages.rb +6 -8
  46. data/lib/braze_ruby/rest/subscription_status_get.rb +4 -6
  47. data/lib/braze_ruby/rest/subscription_status_set.rb +4 -6
  48. data/lib/braze_ruby/rest/subscription_user_status.rb +4 -6
  49. data/lib/braze_ruby/rest/track_users.rb +5 -6
  50. data/lib/braze_ruby/rest/trigger_campaign_send.rb +4 -8
  51. data/lib/braze_ruby/rest/trigger_canvas_send.rb +4 -6
  52. data/lib/braze_ruby/version.rb +1 -1
  53. metadata +61 -175
  54. data/.github/workflows/ci.yml +0 -19
  55. data/Gemfile.lock +0 -78
  56. data/spec/braze_ruby/api_spec.rb +0 -6
  57. data/spec/braze_ruby/endpoints/delete_users_spec.rb +0 -31
  58. data/spec/braze_ruby/endpoints/track_users_spec.rb +0 -74
  59. data/spec/braze_ruby/rest/delete_users_spec.rb +0 -22
  60. data/spec/braze_ruby/rest/email_status_spec.rb +0 -21
  61. data/spec/braze_ruby/rest/export_users_spec.rb +0 -21
  62. data/spec/braze_ruby/rest/identify_users_spec.rb +0 -23
  63. data/spec/braze_ruby/rest/schedule_messages_spec.rb +0 -38
  64. data/spec/braze_ruby/rest/send_messages_spec.rb +0 -35
  65. data/spec/braze_ruby/rest/track_users_spec.rb +0 -26
  66. data/spec/factories.rb +0 -38
  67. data/spec/fixtures/responses/campaigns/trigger_send/sends_an_email.yml +0 -69
  68. data/spec/fixtures/responses/canvas/details/returns_error_when_no_canvas.yml +0 -67
  69. data/spec/fixtures/responses/canvas/trigger_send/sends_a_canvas.yml +0 -69
  70. data/spec/fixtures/responses/delete_users/unauthorized/responds_with_unauthorized.yml +0 -66
  71. data/spec/fixtures/responses/delete_users/with_success/responds_with_created.yml +0 -69
  72. data/spec/fixtures/responses/delete_users/with_success/responds_with_success_message.yml +0 -69
  73. data/spec/fixtures/responses/email_status/existing_email/responds_with_created.yml +0 -69
  74. data/spec/fixtures/responses/email_status/existing_email/responds_with_success_message.yml +0 -69
  75. data/spec/fixtures/responses/email_status/unknown_email/responds_with_bad_request.yml +0 -69
  76. data/spec/fixtures/responses/email_status/unknown_email/responds_with_success_message.yml +0 -69
  77. data/spec/fixtures/responses/email_sync/hard_bounces/responds_with_empty_array_when_no_hard_bounces.yml +0 -73
  78. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_empty_array_when_no_unsubscribes.yml +0 -73
  79. data/spec/fixtures/responses/email_sync/unsubscribes/responds_with_unsubscribed_emails.yml +0 -74
  80. data/spec/fixtures/responses/export_users/by_ids/with_success/responds_with_created.yml +0 -69
  81. data/spec/fixtures/responses/export_users/by_segment/with_success/responds_with_created.yml +0 -69
  82. data/spec/fixtures/responses/identify_users/unauthorized/responds_with_unauthorized.yml +0 -66
  83. data/spec/fixtures/responses/identify_users/with_success/responds_with_created.yml +0 -69
  84. data/spec/fixtures/responses/identify_users/with_success/responds_with_success_message.yml +0 -69
  85. data/spec/fixtures/responses/list_segments/with_success/responds_with_a_list_of_segments.yml +0 -81
  86. data/spec/fixtures/responses/list_segments/with_success/responds_with_success.yml +0 -81
  87. data/spec/fixtures/responses/schedule_messages/unauthorized/responds_with_unauthorize.yml +0 -67
  88. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_created.yml +0 -70
  89. data/spec/fixtures/responses/schedule_messages/with_success/responds_with_success_message.yml +0 -70
  90. data/spec/fixtures/responses/send_messages/unauthorized/responds_with_unauthorized.yml +0 -66
  91. data/spec/fixtures/responses/send_messages/with_success/responds_with_created.yml +0 -69
  92. data/spec/fixtures/responses/send_messages/with_success/responds_with_success_message.yml +0 -69
  93. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscribing/subscribes_the_user.yml +0 -69
  94. data/spec/fixtures/responses/subscription/subscription_status_set/when_subscription_group_does_not_exist/returns_an_error_status.yml +0 -66
  95. data/spec/fixtures/responses/subscription/subscription_status_set/when_unsubscribing/unsubscribes_the_user.yml +0 -135
  96. 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 -205
  97. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_status_get/when_group_does_not_exist/returns_an_error.yml +0 -193
  98. data/spec/fixtures/responses/subscription/when_getting_subscription_group_statuses/subscription_user_status/returns_subscription_groups_and_status_for_every_group.yml +0 -207
  99. data/spec/fixtures/responses/track_users/unauthorized/responds_with_unauthorized.yml +0 -68
  100. data/spec/fixtures/responses/track_users/with_success/responds_with_created.yml +0 -71
  101. data/spec/fixtures/responses/track_users/with_success/responds_with_success_message.yml +0 -71
  102. data/spec/integrations/campaigns_spec.rb +0 -17
  103. data/spec/integrations/canvas_spec.rb +0 -26
  104. data/spec/integrations/delete_users_spec.rb +0 -31
  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 -33
  111. data/spec/integrations/send_messages_spec.rb +0 -32
  112. data/spec/integrations/subscription_spec.rb +0 -149
  113. data/spec/integrations/track_users_spec.rb +0 -37
  114. data/spec/spec_helper.rb +0 -33
  115. data/spec/support/factory_bot.rb +0 -12
  116. data/spec/support/integrations.rb +0 -23
  117. data/spec/support/vcr.rb +0 -18
@@ -1,69 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: "<BRAZE_REST_URL>/email/status"
6
- body:
7
- encoding: UTF-8
8
- string: '{"api_key":"<BRAZE_REST_API_KEY>","email":"john@example.com","subscription_state":"unsubscribed"}'
9
- headers:
10
- User-Agent:
11
- - Faraday v0.14.0
12
- Content-Type:
13
- - application/json
14
- Accept-Encoding:
15
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
- Accept:
17
- - "*/*"
18
- response:
19
- status:
20
- code: 201
21
- message: Created
22
- headers:
23
- Cache-Control:
24
- - max-age=0, private, must-revalidate
25
- Content-Type:
26
- - application/json
27
- Etag:
28
- - W/"838a7c62adda8d131d694ae13ba2c5b7"
29
- Server:
30
- - nginx
31
- Strict-Transport-Security:
32
- - max-age=0; includeSubDomains
33
- - max-age=31536000; includeSubDomains
34
- X-Ratelimit-Limit:
35
- - '50000'
36
- X-Ratelimit-Remaining:
37
- - '49998'
38
- X-Ratelimit-Reset:
39
- - '1524002400'
40
- X-Request-Id:
41
- - 57d0c42f-8187-434e-82ad-bc57b93af0d7
42
- X-Runtime:
43
- - '0.031383'
44
- Content-Length:
45
- - '46'
46
- Accept-Ranges:
47
- - bytes
48
- Date:
49
- - Tue, 17 Apr 2018 21:08:19 GMT
50
- Via:
51
- - 1.1 varnish
52
- Connection:
53
- - keep-alive
54
- X-Served-By:
55
- - cache-pdk17831-PDK
56
- X-Cache:
57
- - MISS
58
- X-Cache-Hits:
59
- - '0'
60
- X-Timer:
61
- - S1523999299.122858,VS0,VE189
62
- Vary:
63
- - Accept-Encoding
64
- body:
65
- encoding: ASCII-8BIT
66
- string: '{"message":"success"}'
67
- http_version:
68
- recorded_at: Tue, 17 Apr 2018 21:08:19 GMT
69
- recorded_with: VCR 4.0.0
@@ -1,69 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: "<BRAZE_REST_URL>/email/status"
6
- body:
7
- encoding: UTF-8
8
- string: '{"api_key":"<BRAZE_REST_API_KEY>","email":"notthere@example.com","subscription_state":"unsubscribed"}'
9
- headers:
10
- User-Agent:
11
- - Faraday v0.14.0
12
- Content-Type:
13
- - application/json
14
- Accept-Encoding:
15
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
- Accept:
17
- - "*/*"
18
- response:
19
- status:
20
- code: 201
21
- message: Created
22
- headers:
23
- Cache-Control:
24
- - max-age=0, private, must-revalidate
25
- Content-Type:
26
- - application/json
27
- Etag:
28
- - W/"838a7c62adda8d131d694ae13ba2c5b7"
29
- Server:
30
- - nginx
31
- Strict-Transport-Security:
32
- - max-age=0; includeSubDomains
33
- - max-age=31536000; includeSubDomains
34
- X-Ratelimit-Limit:
35
- - '50000'
36
- X-Ratelimit-Remaining:
37
- - '49997'
38
- X-Ratelimit-Reset:
39
- - '1524002400'
40
- X-Request-Id:
41
- - 5d962401-96ee-484d-b6a1-84accd7877d7
42
- X-Runtime:
43
- - '0.032026'
44
- Content-Length:
45
- - '46'
46
- Accept-Ranges:
47
- - bytes
48
- Date:
49
- - Tue, 17 Apr 2018 21:08:19 GMT
50
- Via:
51
- - 1.1 varnish
52
- Connection:
53
- - keep-alive
54
- X-Served-By:
55
- - cache-pdk17834-PDK
56
- X-Cache:
57
- - MISS
58
- X-Cache-Hits:
59
- - '0'
60
- X-Timer:
61
- - S1523999299.420584,VS0,VE200
62
- Vary:
63
- - Accept-Encoding
64
- body:
65
- encoding: ASCII-8BIT
66
- string: '{"message":"success"}'
67
- http_version:
68
- recorded_at: Tue, 17 Apr 2018 21:08:19 GMT
69
- recorded_with: VCR 4.0.0
@@ -1,69 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: "<BRAZE_REST_URL>/email/status"
6
- body:
7
- encoding: UTF-8
8
- string: '{"api_key":"<BRAZE_REST_API_KEY>","email":"notthere@example.com","subscription_state":"unsubscribed"}'
9
- headers:
10
- User-Agent:
11
- - Faraday v0.14.0
12
- Content-Type:
13
- - application/json
14
- Accept-Encoding:
15
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
- Accept:
17
- - "*/*"
18
- response:
19
- status:
20
- code: 201
21
- message: Created
22
- headers:
23
- Cache-Control:
24
- - max-age=0, private, must-revalidate
25
- Content-Type:
26
- - application/json
27
- Etag:
28
- - W/"838a7c62adda8d131d694ae13ba2c5b7"
29
- Server:
30
- - nginx
31
- Strict-Transport-Security:
32
- - max-age=0; includeSubDomains
33
- - max-age=31536000; includeSubDomains
34
- X-Ratelimit-Limit:
35
- - '50000'
36
- X-Ratelimit-Remaining:
37
- - '49996'
38
- X-Ratelimit-Reset:
39
- - '1524002400'
40
- X-Request-Id:
41
- - 3050a957-b5b3-4f16-bdd1-c42ac5718d67
42
- X-Runtime:
43
- - '0.013591'
44
- Content-Length:
45
- - '46'
46
- Accept-Ranges:
47
- - bytes
48
- Date:
49
- - Tue, 17 Apr 2018 21:08:19 GMT
50
- Via:
51
- - 1.1 varnish
52
- Connection:
53
- - keep-alive
54
- X-Served-By:
55
- - cache-pdk17843-PDK
56
- X-Cache:
57
- - MISS
58
- X-Cache-Hits:
59
- - '0'
60
- X-Timer:
61
- - S1523999300.711704,VS0,VE182
62
- Vary:
63
- - Accept-Encoding
64
- body:
65
- encoding: ASCII-8BIT
66
- string: '{"message":"success"}'
67
- http_version:
68
- recorded_at: Tue, 17 Apr 2018 21:08:20 GMT
69
- recorded_with: VCR 4.0.0
@@ -1,73 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: "<BRAZE_REST_URL>/email/hard_bounces?api_key=<BRAZE_REST_API_KEY>&end_date=2019-02-25&start_date=2019-02-20"
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Content-Type:
11
- - application/json
12
- Accept:
13
- - application/json
14
- User-Agent:
15
- - Braze Ruby gem v0.1.0
16
- Accept-Encoding:
17
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- response:
19
- status:
20
- code: 200
21
- message: OK
22
- headers:
23
- Cache-Control:
24
- - max-age=0, private, must-revalidate
25
- Content-Type:
26
- - application/json
27
- Etag:
28
- - W/"b0a253ed9e9eda7c79a0df7a6f87381f"
29
- Server:
30
- - nginx
31
- Strict-Transport-Security:
32
- - max-age=0; includeSubDomains
33
- - max-age=31536000; includeSubDomains
34
- X-Ratelimit-Limit:
35
- - '250000'
36
- X-Ratelimit-Remaining:
37
- - '249997'
38
- X-Ratelimit-Reset:
39
- - '1554469200'
40
- X-Request-Id:
41
- - c558e8fa-6297-4781-ae01-e3578c6cf5cc
42
- X-Runtime:
43
- - '0.036732'
44
- Accept-Ranges:
45
- - bytes
46
- - bytes
47
- Age:
48
- - '0'
49
- - '0'
50
- Transfer-Encoding:
51
- - chunked
52
- Date:
53
- - Fri, 05 Apr 2019 12:42:30 GMT
54
- Via:
55
- - 1.1 varnish
56
- Connection:
57
- - keep-alive
58
- X-Served-By:
59
- - cache-ams21022-AMS
60
- X-Cache:
61
- - MISS
62
- X-Cache-Hits:
63
- - '0'
64
- X-Timer:
65
- - S1554468150.427045,VS0,VE47
66
- Vary:
67
- - Accept-Encoding
68
- body:
69
- encoding: ASCII-8BIT
70
- string: '{"emails":[],"message":"success"}'
71
- http_version:
72
- recorded_at: Fri, 05 Apr 2019 12:42:30 GMT
73
- recorded_with: VCR 4.0.0
@@ -1,73 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: "<BRAZE_REST_URL>/email/unsubscribes?api_key=<BRAZE_REST_API_KEY>&end_date=2019-02-25&start_date=2019-02-20"
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Content-Type:
11
- - application/json
12
- Accept:
13
- - application/json
14
- User-Agent:
15
- - Braze Ruby gem v0.1.0
16
- Accept-Encoding:
17
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- response:
19
- status:
20
- code: 200
21
- message: OK
22
- headers:
23
- Cache-Control:
24
- - max-age=0, private, must-revalidate
25
- Content-Type:
26
- - application/json
27
- Etag:
28
- - W/"b0a253ed9e9eda7c79a0df7a6f87381f"
29
- Server:
30
- - nginx
31
- Strict-Transport-Security:
32
- - max-age=0; includeSubDomains
33
- - max-age=31536000; includeSubDomains
34
- X-Ratelimit-Limit:
35
- - '250000'
36
- X-Ratelimit-Remaining:
37
- - '249995'
38
- X-Ratelimit-Reset:
39
- - '1554469200'
40
- X-Request-Id:
41
- - 789be9aa-f170-4720-8e99-69225027766a
42
- X-Runtime:
43
- - '0.090793'
44
- Accept-Ranges:
45
- - bytes
46
- - bytes
47
- Age:
48
- - '0'
49
- - '0'
50
- Transfer-Encoding:
51
- - chunked
52
- Date:
53
- - Fri, 05 Apr 2019 12:44:12 GMT
54
- Via:
55
- - 1.1 varnish
56
- Connection:
57
- - keep-alive
58
- X-Served-By:
59
- - cache-ams21050-AMS
60
- X-Cache:
61
- - MISS
62
- X-Cache-Hits:
63
- - '0'
64
- X-Timer:
65
- - S1554468252.044685,VS0,VE101
66
- Vary:
67
- - Accept-Encoding
68
- body:
69
- encoding: ASCII-8BIT
70
- string: '{"emails":[],"message":"success"}'
71
- http_version:
72
- recorded_at: Fri, 05 Apr 2019 12:44:12 GMT
73
- recorded_with: VCR 4.0.0
@@ -1,74 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: "<BRAZE_REST_URL>/email/unsubscribes?api_key=<BRAZE_REST_API_KEY>&end_date=2019-03-25&start_date=2019-03-20"
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Content-Type:
11
- - application/json
12
- Accept:
13
- - application/json
14
- User-Agent:
15
- - Braze Ruby gem v0.1.0
16
- Accept-Encoding:
17
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- response:
19
- status:
20
- code: 200
21
- message: OK
22
- headers:
23
- Cache-Control:
24
- - max-age=0, private, must-revalidate
25
- Content-Type:
26
- - application/json
27
- Etag:
28
- - W/"5eb0e9bcc8119b72a7bccb6a7195558f"
29
- Server:
30
- - nginx
31
- Strict-Transport-Security:
32
- - max-age=0; includeSubDomains
33
- - max-age=31536000; includeSubDomains
34
- X-Ratelimit-Limit:
35
- - '250000'
36
- X-Ratelimit-Remaining:
37
- - '249996'
38
- X-Ratelimit-Reset:
39
- - '1554469200'
40
- X-Request-Id:
41
- - fa9392d1-098a-406c-9957-9f8f504b3263
42
- X-Runtime:
43
- - '0.118162'
44
- Accept-Ranges:
45
- - bytes
46
- - bytes
47
- Age:
48
- - '0'
49
- - '0'
50
- Transfer-Encoding:
51
- - chunked
52
- Date:
53
- - Fri, 05 Apr 2019 12:44:11 GMT
54
- Via:
55
- - 1.1 varnish
56
- Connection:
57
- - keep-alive
58
- X-Served-By:
59
- - cache-ams21026-AMS
60
- X-Cache:
61
- - MISS
62
- X-Cache-Hits:
63
- - '0'
64
- X-Timer:
65
- - S1554468252.696233,VS0,VE128
66
- Vary:
67
- - Accept-Encoding
68
- body:
69
- encoding: ASCII-8BIT
70
- string: '{"emails":[{"email":"wojtek@test.com","unsubscribed_at":"2019-03-21
71
- 16:31:31 +0000"}],"message":"success"}'
72
- http_version:
73
- recorded_at: Fri, 05 Apr 2019 12:44:11 GMT
74
- recorded_with: VCR 4.0.0
@@ -1,69 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: "<BRAZE_REST_URL>/users/export/ids"
6
- body:
7
- encoding: UTF-8
8
- string: '{"api_key":"<BRAZE_REST_API_KEY>","external_ids":[1]}'
9
- headers:
10
- User-Agent:
11
- - Faraday v0.14.0
12
- Content-Type:
13
- - application/json
14
- Accept-Encoding:
15
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
- Accept:
17
- - "*/*"
18
- response:
19
- status:
20
- code: 201
21
- message: Created
22
- headers:
23
- Cache-Control:
24
- - max-age=0, private, must-revalidate
25
- Content-Type:
26
- - application/json
27
- Etag:
28
- - W/"a8eccb6359ba1adb300e19da464d87e6"
29
- Server:
30
- - nginx
31
- Strict-Transport-Security:
32
- - max-age=0; includeSubDomains
33
- - max-age=31536000; includeSubDomains
34
- X-Ratelimit-Limit:
35
- - '50000'
36
- X-Ratelimit-Remaining:
37
- - '49995'
38
- X-Ratelimit-Reset:
39
- - '1524002400'
40
- X-Request-Id:
41
- - f720263b-e324-49ea-a74b-b6855cf41336
42
- X-Runtime:
43
- - '0.083452'
44
- Content-Length:
45
- - '319'
46
- Accept-Ranges:
47
- - bytes
48
- Date:
49
- - Tue, 17 Apr 2018 21:08:20 GMT
50
- Via:
51
- - 1.1 varnish
52
- Connection:
53
- - keep-alive
54
- X-Served-By:
55
- - cache-pdk17841-PDK
56
- X-Cache:
57
- - MISS
58
- X-Cache-Hits:
59
- - '0'
60
- X-Timer:
61
- - S1523999300.120226,VS0,VE267
62
- Vary:
63
- - Accept-Encoding
64
- body:
65
- encoding: ASCII-8BIT
66
- string: '{"users":[{"created_at":"2018-04-17T17:28:56.807Z","external_id":"1","user_aliases":[],"appboy_id":"5ad62ed85941bafd80298dfc","braze_id":"5ad62ed85941bafd80298dfc","random_bucket":2118,"home_city":null,"total_revenue":19.03,"push_subscribe":"subscribed","email_subscribe":"subscribed","custom_attributes":{"foo":"bar"},"apps":[],"custom_events":[{"name":"baz","first":"2015-02-15T05:00:00.000Z","last":"2019-02-15T05:00:00.000Z","count":24}],"purchases":[{"name":"1","first":"2015-02-15T05:00:00.000Z","last":"2019-02-15T05:00:00.000Z","count":24}]}],"invalid_user_ids":[1],"message":"success"}'
67
- http_version:
68
- recorded_at: Tue, 17 Apr 2018 21:08:20 GMT
69
- recorded_with: VCR 4.0.0