braze_ruby 0.3.2 → 0.5.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 +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,70 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: "<BRAZE_REST_URL>/messages/schedule/create"
6
- body:
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"}}}'
10
- headers:
11
- User-Agent:
12
- - Faraday v0.14.0
13
- Content-Type:
14
- - application/json
15
- Accept-Encoding:
16
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
17
- Accept:
18
- - "*/*"
19
- response:
20
- status:
21
- code: 201
22
- message: Created
23
- headers:
24
- Cache-Control:
25
- - max-age=0, private, must-revalidate
26
- Content-Type:
27
- - application/json
28
- Etag:
29
- - W/"f9913a2616a9d19ab2dafed53b6ac0cd"
30
- Server:
31
- - nginx
32
- Strict-Transport-Security:
33
- - max-age=0; includeSubDomains
34
- - max-age=31536000; includeSubDomains
35
- X-Ratelimit-Limit:
36
- - '50000'
37
- X-Ratelimit-Remaining:
38
- - '49991'
39
- X-Ratelimit-Reset:
40
- - '1524002400'
41
- X-Request-Id:
42
- - fd1ed05b-89a1-4419-8402-34599af22c88
43
- X-Runtime:
44
- - '0.029549'
45
- Content-Length:
46
- - '96'
47
- Accept-Ranges:
48
- - bytes
49
- Date:
50
- - Tue, 17 Apr 2018 21:08:21 GMT
51
- Via:
52
- - 1.1 varnish
53
- Connection:
54
- - keep-alive
55
- X-Served-By:
56
- - cache-pdk17849-PDK
57
- X-Cache:
58
- - MISS
59
- X-Cache-Hits:
60
- - '0'
61
- X-Timer:
62
- - S1523999301.065052,VS0,VE210
63
- Vary:
64
- - Accept-Encoding
65
- body:
66
- encoding: ASCII-8BIT
67
- string: '{"schedule_id":"db90f8dc-2ef3-420f-a4b0-c08605acc21f","message":"success"}'
68
- http_version:
69
- recorded_at: Tue, 17 Apr 2018 21:08:21 GMT
70
- recorded_with: VCR 4.0.0
@@ -1,70 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: "<BRAZE_REST_URL>/messages/schedule/create"
6
- body:
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"}}}'
10
- headers:
11
- User-Agent:
12
- - Faraday v0.14.0
13
- Content-Type:
14
- - application/json
15
- Accept-Encoding:
16
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
17
- Accept:
18
- - "*/*"
19
- response:
20
- status:
21
- code: 201
22
- message: Created
23
- headers:
24
- Cache-Control:
25
- - max-age=0, private, must-revalidate
26
- Content-Type:
27
- - application/json
28
- Etag:
29
- - W/"28a09ecfebb2ce520ec4eb59271fe82b"
30
- Server:
31
- - nginx
32
- Strict-Transport-Security:
33
- - max-age=0; includeSubDomains
34
- - max-age=31536000; includeSubDomains
35
- X-Ratelimit-Limit:
36
- - '50000'
37
- X-Ratelimit-Remaining:
38
- - '49990'
39
- X-Ratelimit-Reset:
40
- - '1524002400'
41
- X-Request-Id:
42
- - c55b095e-a19a-45d9-bb3d-1203b0c85b69
43
- X-Runtime:
44
- - '0.017538'
45
- Content-Length:
46
- - '98'
47
- Accept-Ranges:
48
- - bytes
49
- Date:
50
- - Tue, 17 Apr 2018 21:08:21 GMT
51
- Via:
52
- - 1.1 varnish
53
- Connection:
54
- - keep-alive
55
- X-Served-By:
56
- - cache-pdk17831-PDK
57
- X-Cache:
58
- - MISS
59
- X-Cache-Hits:
60
- - '0'
61
- X-Timer:
62
- - S1523999301.354059,VS0,VE199
63
- Vary:
64
- - Accept-Encoding
65
- body:
66
- encoding: ASCII-8BIT
67
- string: '{"schedule_id":"31d4c1d9-d784-4218-abee-c95e03a30f03","message":"success"}'
68
- http_version:
69
- recorded_at: Tue, 17 Apr 2018 21:08:21 GMT
70
- recorded_with: VCR 4.0.0
@@ -1,66 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: "<BRAZE_REST_URL>/messages/send"
6
- body:
7
- encoding: UTF-8
8
- string: '{"api_key":"non-existent","messages":{"apple_push":{"alert":"hello"}},"external_user_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: 401
21
- message: Unauthorized
22
- headers:
23
- Cache-Control:
24
- - no-cache
25
- Content-Type:
26
- - application/json
27
- Server:
28
- - nginx
29
- Strict-Transport-Security:
30
- - max-age=0; includeSubDomains
31
- X-Ratelimit-Limit:
32
- - ''
33
- X-Ratelimit-Remaining:
34
- - ''
35
- X-Ratelimit-Reset:
36
- - ''
37
- X-Request-Id:
38
- - b9f8ce77-4265-46a4-8010-04dad0d35c92
39
- X-Runtime:
40
- - '0.006126'
41
- Content-Length:
42
- - '85'
43
- Accept-Ranges:
44
- - bytes
45
- Date:
46
- - Tue, 17 Apr 2018 21:08:23 GMT
47
- Via:
48
- - 1.1 varnish
49
- Connection:
50
- - keep-alive
51
- X-Served-By:
52
- - cache-pdk17839-PDK
53
- X-Cache:
54
- - MISS
55
- X-Cache-Hits:
56
- - '0'
57
- X-Timer:
58
- - S1523999303.988243,VS0,VE44
59
- Vary:
60
- - Accept-Encoding
61
- body:
62
- encoding: ASCII-8BIT
63
- string: '{"message":"Invalid App Group API Identifier: non-existent"}'
64
- http_version:
65
- recorded_at: Tue, 17 Apr 2018 21:08:23 GMT
66
- recorded_with: VCR 4.0.0
@@ -1,69 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: "<BRAZE_REST_URL>/messages/send"
6
- body:
7
- encoding: UTF-8
8
- string: '{"api_key":"<BRAZE_REST_API_KEY>","messages":{"apple_push":{"alert":"hello"}},"external_user_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/"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
- - '49989'
38
- X-Ratelimit-Reset:
39
- - '1524002400'
40
- X-Request-Id:
41
- - aec47065-45d4-4fb7-a593-a4ffd110c314
42
- X-Runtime:
43
- - '0.013801'
44
- Content-Length:
45
- - '46'
46
- Accept-Ranges:
47
- - bytes
48
- Date:
49
- - Tue, 17 Apr 2018 21:08:22 GMT
50
- Via:
51
- - 1.1 varnish
52
- Connection:
53
- - keep-alive
54
- X-Served-By:
55
- - cache-pdk17821-PDK
56
- X-Cache:
57
- - MISS
58
- X-Cache-Hits:
59
- - '0'
60
- X-Timer:
61
- - S1523999302.923924,VS0,VE423
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:22 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>/messages/send"
6
- body:
7
- encoding: UTF-8
8
- string: '{"api_key":"<BRAZE_REST_API_KEY>","messages":{"apple_push":{"alert":"hello"}},"external_user_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/"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
- - '49988'
38
- X-Ratelimit-Reset:
39
- - '1524002400'
40
- X-Request-Id:
41
- - 864641c8-44d3-4389-84a1-e411ee44561e
42
- X-Runtime:
43
- - '0.027612'
44
- Content-Length:
45
- - '46'
46
- Accept-Ranges:
47
- - bytes
48
- Date:
49
- - Tue, 17 Apr 2018 21:08:22 GMT
50
- Via:
51
- - 1.1 varnish
52
- Connection:
53
- - keep-alive
54
- X-Served-By:
55
- - cache-pdk17839-PDK
56
- X-Cache:
57
- - MISS
58
- X-Cache-Hits:
59
- - '0'
60
- X-Timer:
61
- - S1523999302.411567,VS0,VE410
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:22 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>/subscription/status/set"
6
- body:
7
- encoding: UTF-8
8
- string: '{"api_key":"<BRAZE_REST_API_KEY>","external_id":"test-gem-001","subscription_group_id":"0201b87a-ef6e-4410-9412-a298c4c1206d","subscription_state":"subscribed"}'
9
- headers:
10
- Content-Type:
11
- - application/json
12
- Accept:
13
- - application/json
14
- User-Agent:
15
- - Braze Ruby gem v0.2.2
16
- Accept-Encoding:
17
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
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
- - '250000'
36
- X-Ratelimit-Remaining:
37
- - '249977'
38
- X-Ratelimit-Reset:
39
- - '1574409600'
40
- X-Request-Id:
41
- - 9e429cb2-6c63-44e8-bb25-97d23edb25d1
42
- X-Runtime:
43
- - '0.008757'
44
- Content-Length:
45
- - '46'
46
- Accept-Ranges:
47
- - bytes
48
- Date:
49
- - Fri, 22 Nov 2019 07:59:46 GMT
50
- Via:
51
- - 1.1 varnish
52
- Connection:
53
- - keep-alive
54
- X-Served-By:
55
- - cache-hhn4035-HHN
56
- X-Cache:
57
- - MISS
58
- X-Cache-Hits:
59
- - '0'
60
- X-Timer:
61
- - S1574409586.236608,VS0,VE18
62
- Vary:
63
- - Origin,Accept-Encoding
64
- body:
65
- encoding: ASCII-8BIT
66
- string: '{"message":"success"}'
67
- http_version:
68
- recorded_at: Fri, 22 Nov 2019 07:59:46 GMT
69
- recorded_with: VCR 5.0.0
@@ -1,66 +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: '{"api_key":"<BRAZE_REST_API_KEY>","external_id":"test-gem-001","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.2.2
16
- Accept-Encoding:
17
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- response:
19
- status:
20
- code: 400
21
- message: Bad Request
22
- headers:
23
- Cache-Control:
24
- - no-cache
25
- Content-Type:
26
- - application/json
27
- Server:
28
- - nginx
29
- Strict-Transport-Security:
30
- - max-age=0; includeSubDomains
31
- X-Ratelimit-Limit:
32
- - '250000'
33
- X-Ratelimit-Remaining:
34
- - '249974'
35
- X-Ratelimit-Reset:
36
- - '1574409600'
37
- X-Request-Id:
38
- - 9d318398-4dbe-4fca-8bc8-fed3002af64a
39
- X-Runtime:
40
- - '0.013998'
41
- Content-Length:
42
- - '69'
43
- Accept-Ranges:
44
- - bytes
45
- Date:
46
- - Fri, 22 Nov 2019 07:59:46 GMT
47
- Via:
48
- - 1.1 varnish
49
- Connection:
50
- - keep-alive
51
- X-Served-By:
52
- - cache-hhn4070-HHN
53
- X-Cache:
54
- - MISS
55
- X-Cache-Hits:
56
- - '0'
57
- X-Timer:
58
- - S1574409587.847958,VS0,VE17
59
- Vary:
60
- - Origin,Accept-Encoding
61
- body:
62
- encoding: ASCII-8BIT
63
- string: '{"message":"Invalid subscription group ID"}'
64
- http_version:
65
- recorded_at: Fri, 22 Nov 2019 07:59:46 GMT
66
- recorded_with: VCR 5.0.0