growsurf-ruby 1.2.1 → 1.4.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 (131) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/LICENSE +201 -0
  4. data/README.md +1 -1
  5. data/lib/growsurf_ruby/internal/transport/base_client.rb +21 -4
  6. data/lib/growsurf_ruby/models/affiliate_application.rb +249 -0
  7. data/lib/growsurf_ruby/models/affiliate_application_list_response.rb +42 -0
  8. data/lib/growsurf_ruby/models/affiliate_invite.rb +109 -0
  9. data/lib/growsurf_ruby/models/affiliate_invite_list_response.rb +41 -0
  10. data/lib/growsurf_ruby/models/campaign/create.rb +12 -1
  11. data/lib/growsurf_ruby/models/campaign/participant.rb +79 -4
  12. data/lib/growsurf_ruby/models/campaign/participant_analytics_response.rb +28 -17
  13. data/lib/growsurf_ruby/models/campaign/participant_get_payout_destination_params.rb +28 -0
  14. data/lib/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rb +126 -0
  15. data/lib/growsurf_ruby/models/campaign/participant_list_payouts_params.rb +1 -0
  16. data/lib/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_params.rb +50 -0
  17. data/lib/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rb +56 -0
  18. data/lib/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rb +25 -25
  19. data/lib/growsurf_ruby/models/campaign/participant_reward.rb +1 -0
  20. data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +25 -9
  21. data/lib/growsurf_ruby/models/campaign/referral_source.rb +3 -0
  22. data/lib/growsurf_ruby/models/campaign/reward.rb +41 -3
  23. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +26 -4
  24. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +26 -4
  25. data/lib/growsurf_ruby/models/campaign.rb +24 -3
  26. data/lib/growsurf_ruby/models/campaign_create_affiliate_invite_params.rb +45 -0
  27. data/lib/growsurf_ruby/models/campaign_list_affiliate_applications_params.rb +57 -0
  28. data/lib/growsurf_ruby/models/campaign_list_affiliate_invites_params.rb +58 -0
  29. data/lib/growsurf_ruby/models/campaign_list_payouts_params.rb +1 -0
  30. data/lib/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rb +26 -0
  31. data/lib/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rb +26 -0
  32. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +9 -6
  33. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +59 -11
  34. data/lib/growsurf_ruby/models/campaign_review_affiliate_application_params.rb +94 -0
  35. data/lib/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rb +26 -0
  36. data/lib/growsurf_ruby/models/commission_structure.rb +16 -3
  37. data/lib/growsurf_ruby/models/email_analytics.rb +41 -0
  38. data/lib/growsurf_ruby/models/participant_commission_list.rb +19 -1
  39. data/lib/growsurf_ruby/models/participant_payout_list.rb +8 -1
  40. data/lib/growsurf_ruby/models/reward_tax_valuation.rb +24 -9
  41. data/lib/growsurf_ruby/models.rb +19 -0
  42. data/lib/growsurf_ruby/resources/campaign/design.rb +14 -12
  43. data/lib/growsurf_ruby/resources/campaign/options.rb +7 -7
  44. data/lib/growsurf_ruby/resources/campaign/participant.rb +101 -14
  45. data/lib/growsurf_ruby/resources/campaign/rewards.rb +8 -4
  46. data/lib/growsurf_ruby/resources/campaign.rb +231 -4
  47. data/lib/growsurf_ruby/version.rb +1 -1
  48. data/lib/growsurf_ruby.rb +16 -0
  49. data/rbi/growsurf_ruby/models/affiliate_application.rbi +431 -0
  50. data/rbi/growsurf_ruby/models/affiliate_application_list_response.rbi +70 -0
  51. data/rbi/growsurf_ruby/models/affiliate_invite.rbi +167 -0
  52. data/rbi/growsurf_ruby/models/affiliate_invite_list_response.rbi +70 -0
  53. data/rbi/growsurf_ruby/models/campaign/create.rbi +17 -0
  54. data/rbi/growsurf_ruby/models/campaign/participant.rbi +169 -3
  55. data/rbi/growsurf_ruby/models/campaign/participant_activity_logs_response.rbi +3 -5
  56. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +35 -20
  57. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbi +3 -1
  58. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_params.rbi +48 -0
  59. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbi +243 -0
  60. data/rbi/growsurf_ruby/models/campaign/participant_list_payouts_params.rbi +5 -0
  61. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_params.rbi +100 -0
  62. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbi +118 -0
  63. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +38 -62
  64. data/rbi/growsurf_ruby/models/campaign/participant_reward.rbi +5 -0
  65. data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +67 -11
  66. data/rbi/growsurf_ruby/models/campaign/referral_source.rbi +9 -0
  67. data/rbi/growsurf_ruby/models/campaign/reward.rbi +78 -2
  68. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +68 -4
  69. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +68 -4
  70. data/rbi/growsurf_ruby/models/campaign.rbi +48 -2
  71. data/rbi/growsurf_ruby/models/campaign_create_affiliate_invite_params.rbi +74 -0
  72. data/rbi/growsurf_ruby/models/campaign_list_affiliate_applications_params.rbi +130 -0
  73. data/rbi/growsurf_ruby/models/campaign_list_affiliate_invites_params.rbi +135 -0
  74. data/rbi/growsurf_ruby/models/campaign_list_payouts_params.rbi +5 -0
  75. data/rbi/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rbi +46 -0
  76. data/rbi/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rbi +46 -0
  77. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +15 -10
  78. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +68 -18
  79. data/rbi/growsurf_ruby/models/campaign_review_affiliate_application_params.rbi +167 -0
  80. data/rbi/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rbi +46 -0
  81. data/rbi/growsurf_ruby/models/commission_structure.rbi +34 -3
  82. data/rbi/growsurf_ruby/models/email_analytics.rbi +200 -0
  83. data/rbi/growsurf_ruby/models/participant_commission_list.rbi +48 -0
  84. data/rbi/growsurf_ruby/models/participant_payout_list.rbi +17 -3
  85. data/rbi/growsurf_ruby/models/reward_tax_valuation.rbi +66 -9
  86. data/rbi/growsurf_ruby/models.rbi +25 -0
  87. data/rbi/growsurf_ruby/resources/campaign/design.rbi +9 -8
  88. data/rbi/growsurf_ruby/resources/campaign/options.rbi +7 -7
  89. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +99 -18
  90. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +18 -4
  91. data/rbi/growsurf_ruby/resources/campaign.rbi +188 -10
  92. data/sig/growsurf_ruby/models/affiliate_application.rbs +192 -0
  93. data/sig/growsurf_ruby/models/affiliate_application_list_response.rbs +39 -0
  94. data/sig/growsurf_ruby/models/affiliate_invite.rbs +92 -0
  95. data/sig/growsurf_ruby/models/affiliate_invite_list_response.rbs +39 -0
  96. data/sig/growsurf_ruby/models/campaign/create.rbs +7 -0
  97. data/sig/growsurf_ruby/models/campaign/participant.rbs +62 -2
  98. data/sig/growsurf_ruby/models/campaign/participant_activity_logs_response.rbs +2 -11
  99. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +12 -12
  100. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_params.rbs +30 -0
  101. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbs +107 -0
  102. data/sig/growsurf_ruby/models/campaign/participant_list_payouts_params.rbs +2 -1
  103. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_params.rbs +49 -0
  104. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbs +57 -0
  105. data/sig/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbs +5 -13
  106. data/sig/growsurf_ruby/models/campaign/participant_reward.rbs +2 -1
  107. data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +21 -7
  108. data/sig/growsurf_ruby/models/campaign/referral_source.rbs +4 -1
  109. data/sig/growsurf_ruby/models/campaign/reward.rbs +28 -0
  110. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +20 -0
  111. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +20 -0
  112. data/sig/growsurf_ruby/models/campaign.rbs +16 -0
  113. data/sig/growsurf_ruby/models/campaign_create_affiliate_invite_params.rbs +40 -0
  114. data/sig/growsurf_ruby/models/campaign_list_affiliate_applications_params.rbs +61 -0
  115. data/sig/growsurf_ruby/models/campaign_list_affiliate_invites_params.rbs +62 -0
  116. data/sig/growsurf_ruby/models/campaign_list_payouts_params.rbs +2 -1
  117. data/sig/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rbs +28 -0
  118. data/sig/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rbs +28 -0
  119. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +36 -16
  120. data/sig/growsurf_ruby/models/campaign_review_affiliate_application_params.rbs +79 -0
  121. data/sig/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rbs +28 -0
  122. data/sig/growsurf_ruby/models/commission_structure.rbs +16 -4
  123. data/sig/growsurf_ruby/models/email_analytics.rbs +92 -0
  124. data/sig/growsurf_ruby/models/participant_commission_list.rbs +16 -0
  125. data/sig/growsurf_ruby/models/participant_payout_list.rbs +12 -4
  126. data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +26 -4
  127. data/sig/growsurf_ruby/models.rbs +18 -0
  128. data/sig/growsurf_ruby/resources/campaign/participant.rbs +16 -2
  129. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +2 -0
  130. data/sig/growsurf_ruby/resources/campaign.rbs +53 -0
  131. metadata +54 -3
@@ -52,6 +52,27 @@ module GrowsurfRuby
52
52
  sig { params(description: String).void }
53
53
  attr_writer :description
54
54
 
55
+ # The referral event that earns this Campaign Reward. Use `LEAD` or
56
+ # `CONVERSION`. `LEAD` requires the program installation's `referralTrigger` to
57
+ # be `CUSTOM`. This field applies only to `SINGLE_SIDED`, `DOUBLE_SIDED`, and
58
+ # `MILESTONE` rewards. When omitted, the stored event is preserved.
59
+ sig do
60
+ returns(
61
+ T.nilable(
62
+ GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event::OrSymbol
63
+ )
64
+ )
65
+ end
66
+ attr_reader :event
67
+
68
+ sig do
69
+ params(
70
+ event:
71
+ GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event::OrSymbol
72
+ ).void
73
+ end
74
+ attr_writer :event
75
+
55
76
  sig { returns(T.nilable(String)) }
56
77
  attr_reader :image_url
57
78
 
@@ -156,8 +177,8 @@ module GrowsurfRuby
156
177
  sig { params(referred_reward_upfront: T::Boolean).void }
157
178
  attr_writer :referred_reward_upfront
158
179
 
159
- # Tax valuation for the referred friend's side of a double-sided reward.
160
- # Defaults to not tax-reportable (a purchase rebate).
180
+ # Tax treatment override for the referred friend's side of a double-sided reward.
181
+ # Defaults to the program's confirmed default.
161
182
  sig { returns(T.nilable(GrowsurfRuby::RewardTaxValuation)) }
162
183
  attr_reader :referred_value
163
184
 
@@ -188,6 +209,8 @@ module GrowsurfRuby
188
209
  conversions_required: Integer,
189
210
  coupon_code: String,
190
211
  description: String,
212
+ event:
213
+ GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event::OrSymbol,
191
214
  image_url: String,
192
215
  is_unlimited: T::Boolean,
193
216
  is_visible: T::Boolean,
@@ -218,6 +241,11 @@ module GrowsurfRuby
218
241
  # issued coupon when one exists.
219
242
  coupon_code: nil,
220
243
  description: nil,
244
+ # The referral event that earns this Campaign Reward. Use `LEAD` or
245
+ # `CONVERSION`. `LEAD` requires the program installation's `referralTrigger` to
246
+ # be `CUSTOM`. This field applies only to `SINGLE_SIDED`, `DOUBLE_SIDED`, and
247
+ # `MILESTONE` rewards. When omitted, the stored event is preserved.
248
+ event: nil,
221
249
  image_url: nil,
222
250
  # Whether the reward can be earned an unlimited number of times. Defaults to
223
251
  # `true`, except `MILESTONE` rewards, which can only be earned once.
@@ -246,8 +274,8 @@ module GrowsurfRuby
246
274
  referral_coupon_code: nil,
247
275
  referral_description: nil,
248
276
  referred_reward_upfront: nil,
249
- # Tax valuation for the referred friend's side of a double-sided reward.
250
- # Defaults to not tax-reportable (a purchase rebate).
277
+ # Tax treatment override for the referred friend's side of a double-sided reward.
278
+ # Defaults to the program's confirmed default.
251
279
  referred_value: nil,
252
280
  title: nil,
253
281
  # Tax valuation for the reward (the referrer's side of a double-sided reward).
@@ -266,6 +294,8 @@ module GrowsurfRuby
266
294
  conversions_required: Integer,
267
295
  coupon_code: String,
268
296
  description: String,
297
+ event:
298
+ GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event::OrSymbol,
269
299
  image_url: String,
270
300
  is_unlimited: T::Boolean,
271
301
  is_visible: T::Boolean,
@@ -290,6 +320,40 @@ module GrowsurfRuby
290
320
  def to_hash
291
321
  end
292
322
 
323
+ module Event
324
+ extend GrowsurfRuby::Internal::Type::Enum
325
+
326
+ TaggedSymbol =
327
+ T.type_alias do
328
+ T.all(
329
+ Symbol,
330
+ GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event
331
+ )
332
+ end
333
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
334
+
335
+ LEAD =
336
+ T.let(
337
+ :LEAD,
338
+ GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event::TaggedSymbol
339
+ )
340
+ CONVERSION =
341
+ T.let(
342
+ :CONVERSION,
343
+ GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event::TaggedSymbol
344
+ )
345
+
346
+ sig do
347
+ override.returns(
348
+ T::Array[
349
+ GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event::TaggedSymbol
350
+ ]
351
+ )
352
+ end
353
+ def self.values
354
+ end
355
+ end
356
+
293
357
  module LimitDuration
294
358
  extend GrowsurfRuby::Internal::Type::Enum
295
359
 
@@ -139,6 +139,16 @@ module GrowsurfRuby
139
139
  sig { returns(T.nilable(String)) }
140
140
  attr_accessor :description
141
141
 
142
+ # The referral event that earns this Campaign Reward. Present only for
143
+ # `SINGLE_SIDED`, `DOUBLE_SIDED`, and `MILESTONE` rewards. Legacy Campaign
144
+ # Rewards return `CONVERSION`.
145
+ sig do
146
+ returns(
147
+ T.nilable(GrowsurfRuby::CampaignAPI::Reward::Event::TaggedSymbol)
148
+ )
149
+ end
150
+ attr_accessor :event
151
+
142
152
  sig { returns(T.nilable(String)) }
143
153
  attr_accessor :image_url
144
154
 
@@ -188,7 +198,7 @@ module GrowsurfRuby
188
198
  sig { params(referred_reward_upfront: T::Boolean).void }
189
199
  attr_writer :referred_reward_upfront
190
200
 
191
- # Tax valuation for the referred friend's side of a double-sided reward.
201
+ # Tax treatment override for the referred friend's side of a double-sided reward.
192
202
  sig { returns(T.nilable(GrowsurfRuby::RewardTaxValuation)) }
193
203
  attr_reader :referred_value
194
204
 
@@ -221,6 +231,8 @@ module GrowsurfRuby
221
231
  conversions_required: T.nilable(Integer),
222
232
  coupon_code: T.nilable(String),
223
233
  description: T.nilable(String),
234
+ event:
235
+ T.nilable(GrowsurfRuby::CampaignAPI::Reward::Event::OrSymbol),
224
236
  image_url: T.nilable(String),
225
237
  limit: T.nilable(Integer),
226
238
  limit_duration:
@@ -251,6 +263,10 @@ module GrowsurfRuby
251
263
  # issued coupon when one exists.
252
264
  coupon_code: nil,
253
265
  description: nil,
266
+ # The referral event that earns this Campaign Reward. Present only for
267
+ # `SINGLE_SIDED`, `DOUBLE_SIDED`, and `MILESTONE` rewards. Legacy Campaign
268
+ # Rewards return `CONVERSION`.
269
+ event: nil,
254
270
  image_url: nil,
255
271
  # `-1` represents an unlimited reward in REST responses.
256
272
  limit: nil,
@@ -271,7 +287,7 @@ module GrowsurfRuby
271
287
  referral_coupon_code: nil,
272
288
  referral_description: nil,
273
289
  referred_reward_upfront: nil,
274
- # Tax valuation for the referred friend's side of a double-sided reward.
290
+ # Tax treatment override for the referred friend's side of a double-sided reward.
275
291
  referred_value: nil,
276
292
  # Tax valuation for the reward (the referrer's side of a double-sided reward).
277
293
  value: nil
@@ -290,6 +306,10 @@ module GrowsurfRuby
290
306
  conversions_required: T.nilable(Integer),
291
307
  coupon_code: T.nilable(String),
292
308
  description: T.nilable(String),
309
+ event:
310
+ T.nilable(
311
+ GrowsurfRuby::CampaignAPI::Reward::Event::TaggedSymbol
312
+ ),
293
313
  image_url: T.nilable(String),
294
314
  limit: T.nilable(Integer),
295
315
  limit_duration:
@@ -355,6 +375,32 @@ module GrowsurfRuby
355
375
  end
356
376
  end
357
377
 
378
+ module Event
379
+ extend GrowsurfRuby::Internal::Type::Enum
380
+
381
+ TaggedSymbol =
382
+ T.type_alias do
383
+ T.all(Symbol, GrowsurfRuby::CampaignAPI::Reward::Event)
384
+ end
385
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
386
+
387
+ LEAD =
388
+ T.let(:LEAD, GrowsurfRuby::CampaignAPI::Reward::Event::TaggedSymbol)
389
+ CONVERSION =
390
+ T.let(
391
+ :CONVERSION,
392
+ GrowsurfRuby::CampaignAPI::Reward::Event::TaggedSymbol
393
+ )
394
+
395
+ sig do
396
+ override.returns(
397
+ T::Array[GrowsurfRuby::CampaignAPI::Reward::Event::TaggedSymbol]
398
+ )
399
+ end
400
+ def self.values
401
+ end
402
+ end
403
+
358
404
  module LimitDuration
359
405
  extend GrowsurfRuby::Internal::Type::Enum
360
406
 
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignCreateAffiliateInviteParams < GrowsurfRuby::Internal::Type::BaseModel
6
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
7
+ include GrowsurfRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ GrowsurfRuby::CampaignCreateAffiliateInviteParams,
13
+ GrowsurfRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ # Valid email address to invite. Maximum 255 characters.
21
+ sig { returns(String) }
22
+ attr_accessor :email
23
+
24
+ # Invitee first name, used in the invite email. Maximum 255 characters.
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :first_name
27
+
28
+ sig { params(first_name: String).void }
29
+ attr_writer :first_name
30
+
31
+ # Invitee last name. Maximum 255 characters.
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :last_name
34
+
35
+ sig { params(last_name: String).void }
36
+ attr_writer :last_name
37
+
38
+ sig do
39
+ params(
40
+ id: String,
41
+ email: String,
42
+ first_name: String,
43
+ last_name: String,
44
+ request_options: GrowsurfRuby::RequestOptions::OrHash
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ id:,
49
+ # Valid email address to invite. Maximum 255 characters.
50
+ email:,
51
+ # Invitee first name, used in the invite email. Maximum 255 characters.
52
+ first_name: nil,
53
+ # Invitee last name. Maximum 255 characters.
54
+ last_name: nil,
55
+ request_options: {}
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ id: String,
63
+ email: String,
64
+ first_name: String,
65
+ last_name: String,
66
+ request_options: GrowsurfRuby::RequestOptions
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,130 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignListAffiliateApplicationsParams < GrowsurfRuby::Internal::Type::BaseModel
6
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
7
+ include GrowsurfRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ GrowsurfRuby::CampaignListAffiliateApplicationsParams,
13
+ GrowsurfRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ # How many applications to return per page (1-100).
21
+ sig { returns(T.nilable(Integer)) }
22
+ attr_reader :limit
23
+
24
+ sig { params(limit: Integer).void }
25
+ attr_writer :limit
26
+
27
+ # Offset number used to skip through a result set.
28
+ sig { returns(T.nilable(Integer)) }
29
+ attr_reader :offset
30
+
31
+ sig { params(offset: Integer).void }
32
+ attr_writer :offset
33
+
34
+ # Only return applications with this status.
35
+ sig do
36
+ returns(
37
+ T.nilable(
38
+ GrowsurfRuby::CampaignListAffiliateApplicationsParams::Status::OrSymbol
39
+ )
40
+ )
41
+ end
42
+ attr_reader :status
43
+
44
+ sig do
45
+ params(
46
+ status:
47
+ GrowsurfRuby::CampaignListAffiliateApplicationsParams::Status::OrSymbol
48
+ ).void
49
+ end
50
+ attr_writer :status
51
+
52
+ sig do
53
+ params(
54
+ id: String,
55
+ limit: Integer,
56
+ offset: Integer,
57
+ status:
58
+ GrowsurfRuby::CampaignListAffiliateApplicationsParams::Status::OrSymbol,
59
+ request_options: GrowsurfRuby::RequestOptions::OrHash
60
+ ).returns(T.attached_class)
61
+ end
62
+ def self.new(
63
+ id:,
64
+ # How many applications to return per page (1-100).
65
+ limit: nil,
66
+ # Offset number used to skip through a result set.
67
+ offset: nil,
68
+ # Only return applications with this status.
69
+ status: nil,
70
+ request_options: {}
71
+ )
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ {
77
+ id: String,
78
+ limit: Integer,
79
+ offset: Integer,
80
+ status:
81
+ GrowsurfRuby::CampaignListAffiliateApplicationsParams::Status::OrSymbol,
82
+ request_options: GrowsurfRuby::RequestOptions
83
+ }
84
+ )
85
+ end
86
+ def to_hash
87
+ end
88
+
89
+ # Only return applications with this status.
90
+ module Status
91
+ extend GrowsurfRuby::Internal::Type::Enum
92
+
93
+ TaggedSymbol =
94
+ T.type_alias do
95
+ T.all(
96
+ Symbol,
97
+ GrowsurfRuby::CampaignListAffiliateApplicationsParams::Status
98
+ )
99
+ end
100
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
101
+
102
+ PENDING =
103
+ T.let(
104
+ :PENDING,
105
+ GrowsurfRuby::CampaignListAffiliateApplicationsParams::Status::TaggedSymbol
106
+ )
107
+ APPROVED =
108
+ T.let(
109
+ :APPROVED,
110
+ GrowsurfRuby::CampaignListAffiliateApplicationsParams::Status::TaggedSymbol
111
+ )
112
+ DENIED =
113
+ T.let(
114
+ :DENIED,
115
+ GrowsurfRuby::CampaignListAffiliateApplicationsParams::Status::TaggedSymbol
116
+ )
117
+
118
+ sig do
119
+ override.returns(
120
+ T::Array[
121
+ GrowsurfRuby::CampaignListAffiliateApplicationsParams::Status::TaggedSymbol
122
+ ]
123
+ )
124
+ end
125
+ def self.values
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,135 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignListAffiliateInvitesParams < GrowsurfRuby::Internal::Type::BaseModel
6
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
7
+ include GrowsurfRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ GrowsurfRuby::CampaignListAffiliateInvitesParams,
13
+ GrowsurfRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ # How many invites to return per page (1-100).
21
+ sig { returns(T.nilable(Integer)) }
22
+ attr_reader :limit
23
+
24
+ sig { params(limit: Integer).void }
25
+ attr_writer :limit
26
+
27
+ # Offset number used to skip through a result set.
28
+ sig { returns(T.nilable(Integer)) }
29
+ attr_reader :offset
30
+
31
+ sig { params(offset: Integer).void }
32
+ attr_writer :offset
33
+
34
+ # Only return invites with this status.
35
+ sig do
36
+ returns(
37
+ T.nilable(
38
+ GrowsurfRuby::CampaignListAffiliateInvitesParams::Status::OrSymbol
39
+ )
40
+ )
41
+ end
42
+ attr_reader :status
43
+
44
+ sig do
45
+ params(
46
+ status:
47
+ GrowsurfRuby::CampaignListAffiliateInvitesParams::Status::OrSymbol
48
+ ).void
49
+ end
50
+ attr_writer :status
51
+
52
+ sig do
53
+ params(
54
+ id: String,
55
+ limit: Integer,
56
+ offset: Integer,
57
+ status:
58
+ GrowsurfRuby::CampaignListAffiliateInvitesParams::Status::OrSymbol,
59
+ request_options: GrowsurfRuby::RequestOptions::OrHash
60
+ ).returns(T.attached_class)
61
+ end
62
+ def self.new(
63
+ id:,
64
+ # How many invites to return per page (1-100).
65
+ limit: nil,
66
+ # Offset number used to skip through a result set.
67
+ offset: nil,
68
+ # Only return invites with this status.
69
+ status: nil,
70
+ request_options: {}
71
+ )
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ {
77
+ id: String,
78
+ limit: Integer,
79
+ offset: Integer,
80
+ status:
81
+ GrowsurfRuby::CampaignListAffiliateInvitesParams::Status::OrSymbol,
82
+ request_options: GrowsurfRuby::RequestOptions
83
+ }
84
+ )
85
+ end
86
+ def to_hash
87
+ end
88
+
89
+ # Only return invites with this status.
90
+ module Status
91
+ extend GrowsurfRuby::Internal::Type::Enum
92
+
93
+ TaggedSymbol =
94
+ T.type_alias do
95
+ T.all(
96
+ Symbol,
97
+ GrowsurfRuby::CampaignListAffiliateInvitesParams::Status
98
+ )
99
+ end
100
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
101
+
102
+ PENDING =
103
+ T.let(
104
+ :PENDING,
105
+ GrowsurfRuby::CampaignListAffiliateInvitesParams::Status::TaggedSymbol
106
+ )
107
+ ACCEPTED =
108
+ T.let(
109
+ :ACCEPTED,
110
+ GrowsurfRuby::CampaignListAffiliateInvitesParams::Status::TaggedSymbol
111
+ )
112
+ EXPIRED =
113
+ T.let(
114
+ :EXPIRED,
115
+ GrowsurfRuby::CampaignListAffiliateInvitesParams::Status::TaggedSymbol
116
+ )
117
+ REVOKED =
118
+ T.let(
119
+ :REVOKED,
120
+ GrowsurfRuby::CampaignListAffiliateInvitesParams::Status::TaggedSymbol
121
+ )
122
+
123
+ sig do
124
+ override.returns(
125
+ T::Array[
126
+ GrowsurfRuby::CampaignListAffiliateInvitesParams::Status::TaggedSymbol
127
+ ]
128
+ )
129
+ end
130
+ def self.values
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
@@ -111,6 +111,11 @@ module GrowsurfRuby
111
111
  :FAILED,
112
112
  GrowsurfRuby::CampaignListPayoutsParams::Status::TaggedSymbol
113
113
  )
114
+ REVERSED =
115
+ T.let(
116
+ :REVERSED,
117
+ GrowsurfRuby::CampaignListPayoutsParams::Status::TaggedSymbol
118
+ )
114
119
 
115
120
  sig do
116
121
  override.returns(
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignResendAffiliateInviteParams < GrowsurfRuby::Internal::Type::BaseModel
6
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
7
+ include GrowsurfRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ GrowsurfRuby::CampaignResendAffiliateInviteParams,
13
+ GrowsurfRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :invite_id
22
+
23
+ sig do
24
+ params(
25
+ id: String,
26
+ invite_id: String,
27
+ request_options: GrowsurfRuby::RequestOptions::OrHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(id:, invite_id:, request_options: {})
31
+ end
32
+
33
+ sig do
34
+ override.returns(
35
+ {
36
+ id: String,
37
+ invite_id: String,
38
+ request_options: GrowsurfRuby::RequestOptions
39
+ }
40
+ )
41
+ end
42
+ def to_hash
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignRetrieveAffiliateApplicationParams < GrowsurfRuby::Internal::Type::BaseModel
6
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
7
+ include GrowsurfRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ GrowsurfRuby::CampaignRetrieveAffiliateApplicationParams,
13
+ GrowsurfRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :application_id
22
+
23
+ sig do
24
+ params(
25
+ id: String,
26
+ application_id: String,
27
+ request_options: GrowsurfRuby::RequestOptions::OrHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(id:, application_id:, request_options: {})
31
+ end
32
+
33
+ sig do
34
+ override.returns(
35
+ {
36
+ id: String,
37
+ application_id: String,
38
+ request_options: GrowsurfRuby::RequestOptions
39
+ }
40
+ )
41
+ end
42
+ def to_hash
43
+ end
44
+ end
45
+ end
46
+ end
@@ -32,11 +32,13 @@ module GrowsurfRuby
32
32
  sig { params(end_date: Integer).void }
33
33
  attr_writer :end_date
34
34
 
35
- # Comma-separated list of optional enrichments (opt-in to keep the default response
36
- # lean): `previousPeriod` adds totals for the equal-length window immediately before
37
- # the requested one; `statusCounts` adds reward (and, for affiliate programs,
38
- # affiliate/commission/payout) status breakdowns; `rates` adds derived referral
39
- # rates.
35
+ # Comma-separated list of optional data to include: `previousPeriod` adds totals for the
36
+ # equal-length window immediately before the requested one; `statusCounts` adds reward (and,
37
+ # for affiliate programs, affiliate/commission/payout) status breakdowns; `rates` adds
38
+ # derived referral rates; `email` adds `sent`, `delivered`, `opened`, `clicked`, `bounced`,
39
+ # `spamComplaints`, and per-email-type metrics. When `email` and an interval are both
40
+ # requested, each `series` item also contains counts for emails sent during that period.
41
+ # Combine `email` with `previousPeriod` to include the same email metrics in both windows.
40
42
  sig { returns(T.nilable(String)) }
41
43
  attr_reader :include
42
44
 
@@ -89,11 +91,14 @@ module GrowsurfRuby
89
91
  # End date of the analytics timeframe as a Unix timestamp in milliseconds.
90
92
  # Required if `days` is not set.
91
93
  end_date: nil,
92
- # Comma-separated list of optional enrichments (opt-in to keep the default response
93
- # lean): `previousPeriod` adds totals for the equal-length window immediately before
94
- # the requested one; `statusCounts` adds reward (and, for affiliate programs,
95
- # affiliate/commission/payout) status breakdowns; `rates` adds derived referral
96
- # rates.
94
+ # Comma-separated list of optional data to include: `previousPeriod` adds totals for the
95
+ # equal-length window immediately before the requested one; `statusCounts` adds reward
96
+ # (and, for affiliate programs, affiliate/commission/payout) status breakdowns; `rates`
97
+ # adds derived referral rates; `email` adds `sent`, `delivered`, `opened`, `clicked`,
98
+ # `bounced`, `spamComplaints`, and per-email-type metrics. When `email` and an interval
99
+ # are both requested, each `series` item also contains counts for emails sent during that
100
+ # period. Combine `email` with `previousPeriod` to include the same email metrics in both
101
+ # windows.
97
102
  include: nil,
98
103
  # When set to `day`, `week`, or `month`, the response also includes a `series` array
99
104
  # with per-period totals. Defaults to `total` (no series).