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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: adcffccc751c8231b0084d858454d36d5b3a034b128bd4c7c7d72e5867a27b4b
4
- data.tar.gz: 2e0bf1111244eb7c356f7b8b9edcf9cf146c7f38cf3687f771b9d45953fb4925
3
+ metadata.gz: 9ef227d9be43770703ff994bcda610a34666b8057c5846f270391ee2a0dfd957
4
+ data.tar.gz: 866befd357481f0cef4a18b761bb69ce66bfa098af871ee768ef4a8b575c944d
5
5
  SHA512:
6
- metadata.gz: ae3ccf92edd2f7f82c31812964eba85a57af09f1bf944338491f03bcc2d8e5831f7c21594a7e07a2aa5df8f0f1d732721d3aa7b9147c9380c0f3c4178f99c7e0
7
- data.tar.gz: 9c1046684d733a8aab55c2a65a97ff950340df129c44472089424f4a43099609975c96770d39c8a3a896cd05868867ea8b203d7f2f27a5c90204634af6c23ba3
6
+ metadata.gz: 5bd262c112d84b59dcefe528def47fd7a299715500e032ce0bbb8d3e6cb45fb226aad2c4f2a2f94c202b18efeae0f608c9984e999bb06549b720fedddba0d533
7
+ data.tar.gz: 050c09bd0ea3d5b3d5bb7b34f869f9053e628e28e6f192e4b072eb7f3242ed1980f8484dce32708ab1b7cf21fc045318c962b75bc5ac5ae9a75b136b1e3a2b78
@@ -7,13 +7,24 @@ jobs:
7
7
  runs-on: ubuntu-latest
8
8
 
9
9
  steps:
10
- - uses: actions/checkout@v1
10
+ - uses: actions/checkout@v2
11
+
11
12
  - name: Set up Ruby
12
- uses: actions/setup-ruby@v1
13
+ uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: 2.6
16
+
17
+ - name: Cache gems
18
+ uses: actions/cache@v1
13
19
  with:
14
- ruby-version: 2.6.x
20
+ path: vendor/bundle
21
+ key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
22
+ restore-keys: |
23
+ ${{ runner.os }}-gems-
24
+
15
25
  - name: Build and test
16
26
  run: |
17
27
  gem install bundler
28
+ bundle config path vendor/bundle
18
29
  bundle install --jobs 4 --retry 3
19
30
  bundle exec rake spec
data/.gitignore CHANGED
@@ -4,6 +4,7 @@
4
4
  .config
5
5
  .yardoc
6
6
  .ruby-version
7
+ .ruby-gemset
7
8
  .env
8
9
  InstalledFiles
9
10
  _yardoc
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in braze_ruby.gemspec
@@ -1,64 +1,64 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- braze_ruby (0.2.2)
4
+ braze_ruby (0.4.0)
5
5
  faraday
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (6.0.0)
10
+ activesupport (6.0.3.2)
11
11
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
12
  i18n (>= 0.7, < 2)
13
13
  minitest (~> 5.1)
14
14
  tzinfo (~> 1.1)
15
- zeitwerk (~> 2.1, >= 2.1.8)
15
+ zeitwerk (~> 2.2, >= 2.2.2)
16
16
  addressable (2.7.0)
17
17
  public_suffix (>= 2.0.2, < 5.0)
18
- coderay (1.1.2)
19
- concurrent-ruby (1.1.5)
18
+ coderay (1.1.3)
19
+ concurrent-ruby (1.1.6)
20
20
  crack (0.4.3)
21
21
  safe_yaml (~> 1.0.0)
22
22
  diff-lcs (1.3)
23
23
  dotenv (2.7.5)
24
- factory_bot (5.1.0)
24
+ factory_bot (5.2.0)
25
25
  activesupport (>= 4.2.0)
26
- faraday (0.15.4)
26
+ faraday (1.0.1)
27
27
  multipart-post (>= 1.2, < 3)
28
- hashdiff (1.0.0)
29
- i18n (1.6.0)
28
+ hashdiff (1.0.1)
29
+ i18n (1.8.3)
30
30
  concurrent-ruby (~> 1.0)
31
- method_source (0.9.2)
32
- minitest (5.12.0)
31
+ method_source (1.0.0)
32
+ minitest (5.14.1)
33
33
  multipart-post (2.1.1)
34
- pry (0.12.2)
35
- coderay (~> 1.1.0)
36
- method_source (~> 0.9.0)
37
- public_suffix (4.0.1)
38
- rake (12.3.3)
39
- rspec (3.8.0)
40
- rspec-core (~> 3.8.0)
41
- rspec-expectations (~> 3.8.0)
42
- rspec-mocks (~> 3.8.0)
43
- rspec-core (3.8.2)
44
- rspec-support (~> 3.8.0)
45
- rspec-expectations (3.8.4)
34
+ pry (0.13.1)
35
+ coderay (~> 1.1)
36
+ method_source (~> 1.0)
37
+ public_suffix (4.0.5)
38
+ rake (13.0.1)
39
+ rspec (3.9.0)
40
+ rspec-core (~> 3.9.0)
41
+ rspec-expectations (~> 3.9.0)
42
+ rspec-mocks (~> 3.9.0)
43
+ rspec-core (3.9.2)
44
+ rspec-support (~> 3.9.3)
45
+ rspec-expectations (3.9.2)
46
46
  diff-lcs (>= 1.2.0, < 2.0)
47
- rspec-support (~> 3.8.0)
48
- rspec-mocks (3.8.1)
47
+ rspec-support (~> 3.9.0)
48
+ rspec-mocks (3.9.1)
49
49
  diff-lcs (>= 1.2.0, < 2.0)
50
- rspec-support (~> 3.8.0)
51
- rspec-support (3.8.2)
50
+ rspec-support (~> 3.9.0)
51
+ rspec-support (3.9.3)
52
52
  safe_yaml (1.0.5)
53
53
  thread_safe (0.3.6)
54
- tzinfo (1.2.5)
54
+ tzinfo (1.2.7)
55
55
  thread_safe (~> 0.1)
56
- vcr (5.0.0)
57
- webmock (3.7.5)
56
+ vcr (6.0.0)
57
+ webmock (3.8.3)
58
58
  addressable (>= 2.3.6)
59
59
  crack (>= 0.3.2)
60
60
  hashdiff (>= 0.4.0, < 2.0.0)
61
- zeitwerk (2.1.10)
61
+ zeitwerk (2.3.0)
62
62
 
63
63
  PLATFORMS
64
64
  ruby
@@ -66,13 +66,13 @@ PLATFORMS
66
66
  DEPENDENCIES
67
67
  braze_ruby!
68
68
  bundler (>= 1.3)
69
- dotenv
70
- factory_bot
71
- pry
72
- rake
73
- rspec
74
- vcr
75
- webmock
69
+ dotenv (~> 2.7.5)
70
+ factory_bot (>= 5.1.0)
71
+ pry (>= 0.12.2)
72
+ rake (>= 12.3.3)
73
+ rspec (~> 3.8)
74
+ vcr (>= 5.0.0)
75
+ webmock (>= 3.7.5)
76
76
 
77
77
  BUNDLED WITH
78
- 2.0.2
78
+ 2.1.4
data/README.md CHANGED
@@ -163,6 +163,70 @@ Delete Braze Users with an array of external_ids
163
163
  api.delete_users([1, 2, 3])
164
164
  ```
165
165
 
166
+ ### Subscription groups
167
+
168
+ #### Get subscription group status for users by id
169
+ ```ruby
170
+ api.subscription_user_status(external_id: [1])
171
+ ```
172
+
173
+ #### Get users status for a specific subscription group
174
+ ```ruby
175
+ api.subscription_status_get(
176
+ external_id: [1],
177
+ subscription_group_id: 'some-uuid'
178
+ )
179
+ ```
180
+
181
+ #### Set user status for a specific subscription group
182
+ ```ruby
183
+ api.subscription_status_set(
184
+ external_id: [1],
185
+ subscription_group_id: 'some-uuid',
186
+ subscription_state: 'subscribed|unsubscribed'
187
+ )
188
+ ```
189
+
190
+ ### User Alias
191
+
192
+ #### Create an alias-only user
193
+
194
+ ```ruby
195
+ api.create_user_aliases(
196
+ user_aliases: [{
197
+ user_alias: {
198
+ alias_name: "device123",
199
+ alias_label: "my_device_identifier",
200
+ }
201
+ }]
202
+ )
203
+ ```
204
+
205
+ #### Identify an alias-only user
206
+ ```ruby
207
+ api.identify_users(
208
+ aliases_to_identify: [{
209
+ external_id: 1234,
210
+ user_alias: {
211
+ alias_name: "device123",
212
+ alias_label: "my_device_identifier",
213
+ }
214
+ }]
215
+ )
216
+ ```
217
+
218
+ ### Email Sync
219
+
220
+ #### Get List of or Query Email Unsubscribes
221
+ ```ruby
222
+ api.email_unsubscribes(email: ['jdoe@example.com'])
223
+ ```
224
+
225
+ #### Get List of or Query Hard Bounced Emails
226
+ ```ruby
227
+ api.email_hard_bounces(email: ['jdoe@example.com'])
228
+ ```
229
+
166
230
  ## Debugging
167
231
 
168
232
  The BRAZE_RUBY_DEBUG environment variable will trigger full printouts of the Faraday gem's HTTP requests and responses.
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
  require "rspec/core/rake_task"
3
5
 
@@ -28,11 +28,11 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency 'faraday'
29
29
 
30
30
  spec.add_development_dependency 'bundler', '>= 1.3'
31
- spec.add_development_dependency 'rake'
32
- spec.add_development_dependency 'rspec'
33
- spec.add_development_dependency 'dotenv'
34
- spec.add_development_dependency 'vcr'
35
- spec.add_development_dependency 'webmock'
36
- spec.add_development_dependency 'pry'
37
- spec.add_development_dependency 'factory_bot'
31
+ spec.add_development_dependency 'rake', '>= 12.3.3'
32
+ spec.add_development_dependency 'rspec', '~> 3.8'
33
+ spec.add_development_dependency 'dotenv', '~> 2.7.5'
34
+ spec.add_development_dependency 'vcr', '>= 5.0.0'
35
+ spec.add_development_dependency 'webmock', '>= 3.7.5'
36
+ spec.add_development_dependency 'pry', '>= 0.12.2'
37
+ spec.add_development_dependency 'factory_bot', '>= 5.1.0'
38
38
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'braze_ruby/version'
2
4
 
3
5
  module BrazeRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'braze_ruby/deprecated'
2
4
  require 'braze_ruby/endpoints/track_users'
3
5
  require 'braze_ruby/endpoints/send_messages'
@@ -7,6 +9,7 @@ require 'braze_ruby/endpoints/email_sync'
7
9
  require 'braze_ruby/endpoints/delete_users'
8
10
  require 'braze_ruby/endpoints/campaigns'
9
11
  require 'braze_ruby/endpoints/canvas'
12
+ require 'braze_ruby/endpoints/subscription'
10
13
 
11
14
  module BrazeRuby
12
15
  class API
@@ -20,20 +23,24 @@ module BrazeRuby
20
23
  include BrazeRuby::Endpoints::DeleteUsers
21
24
  include BrazeRuby::Endpoints::Campaigns
22
25
  include BrazeRuby::Endpoints::Canvas
26
+ include BrazeRuby::Endpoints::Subscription
27
+ include BrazeRuby::Endpoints::IdentifyUsers
28
+ include BrazeRuby::Endpoints::CreateUserAliases
23
29
 
24
30
  def export_users(**payload)
25
- BrazeRuby::REST::ExportUsers.new(braze_url).perform(api_key, payload)
31
+ BrazeRuby::REST::ExportUsers.new(api_key, braze_url, options).perform(**payload)
26
32
  end
27
33
 
28
34
  def list_segments
29
- BrazeRuby::REST::ListSegments.new(braze_url).perform(api_key)
35
+ BrazeRuby::REST::ListSegments.new(api_key, braze_url, options).perform
30
36
  end
31
37
 
32
- attr_reader :api_key, :braze_url
38
+ attr_reader :api_key, :braze_url, :options
33
39
 
34
- def initialize(api_key, braze_url)
40
+ def initialize(api_key, braze_url, options = {})
35
41
  @api_key = api_key
36
42
  @braze_url = braze_url
43
+ @options = options
37
44
  end
38
45
  end
39
46
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BrazeRuby
2
4
  module Deprecated
3
5
  def track(attribute, events = [], purchases = [])
@@ -1,6 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'braze_ruby/endpoints/email_status'
2
4
  require 'braze_ruby/endpoints/email_sync'
3
5
  require 'braze_ruby/endpoints/schedule_messages'
4
6
  require 'braze_ruby/endpoints/send_messages'
5
7
  require 'braze_ruby/endpoints/track_users'
6
8
  require 'braze_ruby/endpoints/delete_users'
9
+ require 'braze_ruby/endpoints/identify_users'
10
+ require 'braze_ruby/endpoints/create_user_aliases'
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BrazeRuby
2
4
  module Endpoints
3
5
  module Campaigns
4
6
  def trigger_campaign_send(**payload)
5
- BrazeRuby::REST::TriggerCampaignSend.new(api_key, braze_url, payload).perform
7
+ BrazeRuby::REST::TriggerCampaignSend.new(api_key, braze_url, options, **payload).perform
6
8
  end
7
9
  end
8
10
  end
@@ -1,8 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BrazeRuby
2
4
  module Endpoints
3
5
  module Canvas
4
6
  def trigger_canvas_send(**payload)
5
- BrazeRuby::REST::TriggerCanvasSend.new(api_key, braze_url, payload).perform
7
+ BrazeRuby::REST::TriggerCanvasSend.new(api_key, braze_url, options, **payload).perform
8
+ end
9
+
10
+ def canvas_details(**payload)
11
+ BrazeRuby::REST::CanvasDetails.new(api_key, braze_url, options, **payload).perform
6
12
  end
7
13
  end
8
14
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BrazeRuby
4
+ module Endpoints
5
+ module CreateUserAliases
6
+ attr_writer :create_user_aliases_service
7
+
8
+ def create_user_aliases(**payload)
9
+ create_user_aliases_service.perform(**payload)
10
+ end
11
+
12
+ private
13
+
14
+ def create_user_aliases_service
15
+ @create_user_aliases_service ||= BrazeRuby::REST::CreateUserAliases.new(api_key, braze_url, options)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BrazeRuby
2
4
  module Endpoints
3
5
  module DeleteUsers
4
6
  attr_writer :delete_users_service
5
7
 
6
8
  def delete_users_action(**payload)
7
- delete_users_service.perform(api_key, payload)
9
+ delete_users_service.perform(**payload)
8
10
  end
9
11
 
10
12
  def delete_users(payload)
@@ -14,7 +16,7 @@ module BrazeRuby
14
16
  private
15
17
 
16
18
  def delete_users_service
17
- @delete_users_service ||= BrazeRuby::REST::DeleteUsers.new(braze_url)
19
+ @delete_users_service ||= BrazeRuby::REST::DeleteUsers.new(api_key, braze_url, options)
18
20
  end
19
21
  end
20
22
  end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BrazeRuby
2
4
  module Endpoints
3
5
  module EmailStatus
4
6
  def email_status(**payload)
5
- email_status_service.new(api_key, braze_url, payload).perform
7
+ email_status_service.new(api_key, braze_url, options, **payload).perform
6
8
  end
7
9
 
8
10
  def email_status_service
@@ -1,12 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BrazeRuby
2
4
  module Endpoints
3
5
  module EmailSync
4
6
  def email_unsubscribes(**payload)
5
- BrazeRuby::REST::EmailUnsubscribes.new(api_key, braze_url, payload).perform
7
+ BrazeRuby::REST::EmailUnsubscribes.new(api_key, braze_url, options, **payload).perform
6
8
  end
7
9
 
8
10
  def email_hard_bounces(**payload)
9
- BrazeRuby::REST::EmailHardBounces.new(api_key, braze_url, payload).perform
11
+ BrazeRuby::REST::EmailHardBounces.new(api_key, braze_url, options, **payload).perform
10
12
  end
11
13
  end
12
14
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BrazeRuby
4
+ module Endpoints
5
+ module IdentifyUsers
6
+ attr_writer :identify_users_service
7
+
8
+ def identify_users(**payload)
9
+ identify_users_service.perform(**payload)
10
+ end
11
+
12
+ private
13
+
14
+ def identify_users_service
15
+ @identify_users_service ||= BrazeRuby::REST::IdentifyUsers.new(api_key, braze_url, options)
16
+ end
17
+ end
18
+ end
19
+ end