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
@@ -28,7 +28,7 @@ module GrowsurfRuby
28
28
  sig { returns(T::Hash[Symbol, Integer]) }
29
29
  attr_accessor :share_count
30
30
 
31
- # Present only with `include=series`. Window end (Unix ms).
31
+ # Present only when `include` contains `series` or `email`. Window end (Unix ms).
32
32
  sig { returns(T.nilable(Integer)) }
33
33
  attr_reader :end_date
34
34
 
@@ -59,7 +59,7 @@ module GrowsurfRuby
59
59
  end
60
60
  attr_writer :series
61
61
 
62
- # Present only with `include=series`. Window start (Unix ms).
62
+ # Present only when `include` contains `series` or `email`. Window start (Unix ms).
63
63
  sig { returns(T.nilable(Integer)) }
64
64
  attr_reader :start_date
65
65
 
@@ -86,13 +86,13 @@ module GrowsurfRuby
86
86
  ranks:,
87
87
  # Per-channel share counts (e.g. `email`, `facebook`, `twitter`, ...).
88
88
  share_count:,
89
- # Present only with `include=series`. Window end (Unix ms).
89
+ # Present only when `include` contains `series` or `email`. Window end (Unix ms).
90
90
  end_date: nil,
91
91
  # Present only when `include=series`. This participant's own referral-link activity
92
92
  # per period (ascending), windowed by `days`/`startDate`/`endDate` and bucketed by
93
93
  # `interval`.
94
94
  series: nil,
95
- # Present only with `include=series`. Window start (Unix ms).
95
+ # Present only when `include` contains `series` or `email`. Window start (Unix ms).
96
96
  start_date: nil
97
97
  )
98
98
  end
@@ -162,11 +162,23 @@ module GrowsurfRuby
162
162
  sig { params(monthly_referrals: Integer).void }
163
163
  attr_writer :monthly_referrals
164
164
 
165
- sig { returns(T.nilable(Integer)) }
166
- attr_reader :pending_rewards
165
+ # This participant's reward counts grouped by review and fulfillment status.
166
+ sig do
167
+ returns(
168
+ T.nilable(
169
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::RewardStatus
170
+ )
171
+ )
172
+ end
173
+ attr_reader :reward_status
167
174
 
168
- sig { params(pending_rewards: Integer).void }
169
- attr_writer :pending_rewards
175
+ sig do
176
+ params(
177
+ reward_status:
178
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::RewardStatus
179
+ ).void
180
+ end
181
+ attr_writer :reward_status
170
182
 
171
183
  # Affiliate only. Revenue attributed to this participant's referrals, in minor
172
184
  # currency units.
@@ -182,12 +194,6 @@ module GrowsurfRuby
182
194
  sig { params(referrals: Integer).void }
183
195
  attr_writer :referrals
184
196
 
185
- sig { returns(T.nilable(Integer)) }
186
- attr_reader :rewards_earned
187
-
188
- sig { params(rewards_earned: Integer).void }
189
- attr_writer :rewards_earned
190
-
191
197
  # Affiliate only. Total commissions earned, in minor currency units.
192
198
  sig { returns(T.nilable(Integer)) }
193
199
  attr_reader :total_commissions
@@ -223,10 +229,10 @@ module GrowsurfRuby
223
229
  invites_sent: Integer,
224
230
  leads: Integer,
225
231
  monthly_referrals: Integer,
226
- pending_rewards: Integer,
227
232
  referral_revenue: Integer,
228
233
  referrals: Integer,
229
- rewards_earned: Integer,
234
+ reward_status:
235
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::RewardStatus,
230
236
  total_commissions: Integer,
231
237
  total_paid_out: Integer,
232
238
  unique_impressions: Integer,
@@ -240,12 +246,12 @@ module GrowsurfRuby
240
246
  invites_sent: nil,
241
247
  leads: nil,
242
248
  monthly_referrals: nil,
243
- pending_rewards: nil,
244
249
  # Affiliate only. Revenue attributed to this participant's referrals, in minor
245
250
  # currency units.
246
251
  referral_revenue: nil,
247
252
  referrals: nil,
248
- rewards_earned: nil,
253
+ # This participant's reward counts grouped by review and fulfillment status.
254
+ reward_status: nil,
249
255
  # Affiliate only. Total commissions earned, in minor currency units.
250
256
  total_commissions: nil,
251
257
  # Affiliate only. Total paid out, in minor currency units.
@@ -265,10 +271,10 @@ module GrowsurfRuby
265
271
  invites_sent: Integer,
266
272
  leads: Integer,
267
273
  monthly_referrals: Integer,
268
- pending_rewards: Integer,
269
274
  referral_revenue: Integer,
270
275
  referrals: Integer,
271
- rewards_earned: Integer,
276
+ reward_status:
277
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::RewardStatus,
272
278
  total_commissions: Integer,
273
279
  total_paid_out: Integer,
274
280
  unique_impressions: Integer,
@@ -497,6 +503,12 @@ module GrowsurfRuby
497
503
  sig { params(twitter_shares: Integer).void }
498
504
  attr_writer :twitter_shares
499
505
 
506
+ sig { returns(T.nilable(Integer)) }
507
+ attr_reader :unique_commission_referrals
508
+
509
+ sig { params(unique_commission_referrals: Integer).void }
510
+ attr_writer :unique_commission_referrals
511
+
500
512
  sig { returns(T.nilable(Integer)) }
501
513
  attr_reader :unique_impressions
502
514
 
@@ -543,6 +555,7 @@ module GrowsurfRuby
543
555
  total_revenue: Integer,
544
556
  tumblr_shares: Integer,
545
557
  twitter_shares: Integer,
558
+ unique_commission_referrals: Integer,
546
559
  unique_impressions: Integer,
547
560
  wechat_shares: Integer,
548
561
  whats_app_shares: Integer
@@ -580,6 +593,7 @@ module GrowsurfRuby
580
593
  total_revenue: nil,
581
594
  tumblr_shares: nil,
582
595
  twitter_shares: nil,
596
+ unique_commission_referrals: nil,
583
597
  unique_impressions: nil,
584
598
  wechat_shares: nil,
585
599
  whats_app_shares: nil
@@ -615,6 +629,7 @@ module GrowsurfRuby
615
629
  total_revenue: Integer,
616
630
  tumblr_shares: Integer,
617
631
  twitter_shares: Integer,
632
+ unique_commission_referrals: Integer,
618
633
  unique_impressions: Integer,
619
634
  wechat_shares: Integer,
620
635
  whats_app_shares: Integer
@@ -23,7 +23,9 @@ module GrowsurfRuby
23
23
  attr_accessor :results
24
24
 
25
25
  sig do
26
- returns(GrowsurfRuby::Campaign::ParticipantBulkDeleteResponse::Summary)
26
+ returns(
27
+ GrowsurfRuby::Campaign::ParticipantBulkDeleteResponse::Summary
28
+ )
27
29
  end
28
30
  attr_reader :summary
29
31
 
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ParticipantGetPayoutDestinationParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationParams,
14
+ GrowsurfRuby::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :participant_id_or_email
23
+
24
+ sig do
25
+ params(
26
+ id: String,
27
+ participant_id_or_email: String,
28
+ request_options: GrowsurfRuby::RequestOptions::OrHash
29
+ ).returns(T.attached_class)
30
+ end
31
+ def self.new(id:, participant_id_or_email:, request_options: {})
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ {
37
+ id: String,
38
+ participant_id_or_email: String,
39
+ request_options: GrowsurfRuby::RequestOptions
40
+ }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,243 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ParticipantGetPayoutDestinationResponse < GrowsurfRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ GrowsurfRuby::Models::Campaign::ParticipantGetPayoutDestinationResponse,
11
+ GrowsurfRuby::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The provider that currently gets paid, or null until the participant confirms
16
+ # one.
17
+ sig { returns(T.nilable(String)) }
18
+ attr_accessor :active_provider
19
+
20
+ # One entry per enabled payout provider describing the participant's destination
21
+ # for it.
22
+ sig do
23
+ returns(
24
+ T.nilable(
25
+ T::Array[
26
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination
27
+ ]
28
+ )
29
+ )
30
+ end
31
+ attr_reader :destinations
32
+
33
+ sig do
34
+ params(
35
+ destinations:
36
+ T::Array[
37
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination::OrHash
38
+ ]
39
+ ).void
40
+ end
41
+ attr_writer :destinations
42
+
43
+ # The payout providers enabled for this program.
44
+ sig do
45
+ returns(
46
+ T.nilable(
47
+ T::Array[String]
48
+ )
49
+ )
50
+ end
51
+ attr_reader :enabled_providers
52
+
53
+ sig do
54
+ params(
55
+ enabled_providers:
56
+ T::Array[String]
57
+ ).void
58
+ end
59
+ attr_writer :enabled_providers
60
+
61
+ sig do
62
+ params(
63
+ active_provider: T.nilable(String),
64
+ destinations:
65
+ T::Array[
66
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination::OrHash
67
+ ],
68
+ enabled_providers: T::Array[String]
69
+ ).returns(T.attached_class)
70
+ end
71
+ def self.new(
72
+ # The provider that currently gets paid, or null until the participant confirms
73
+ # one.
74
+ active_provider: nil,
75
+ # One entry per enabled payout provider describing the participant's destination
76
+ # for it.
77
+ destinations: nil,
78
+ # The payout providers enabled for this program.
79
+ enabled_providers: nil
80
+ )
81
+ end
82
+
83
+ sig do
84
+ override.returns(
85
+ {
86
+ active_provider: T.nilable(String),
87
+ destinations:
88
+ T::Array[
89
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination
90
+ ],
91
+ enabled_providers: T::Array[String]
92
+ }
93
+ )
94
+ end
95
+ def to_hash
96
+ end
97
+
98
+ class Destination < GrowsurfRuby::Internal::Type::BaseModel
99
+ OrHash =
100
+ T.type_alias do
101
+ T.any(
102
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination,
103
+ GrowsurfRuby::Internal::AnyHash
104
+ )
105
+ end
106
+
107
+ # The confirmed payout email for this provider.
108
+ sig { returns(T.nilable(String)) }
109
+ attr_accessor :claim_email
110
+
111
+ # When the destination was confirmed, as a Unix timestamp in milliseconds.
112
+ sig { returns(T.nilable(Integer)) }
113
+ attr_accessor :confirmed_at
114
+
115
+ # The legal recipient type the participant confirmed, if any.
116
+ sig do
117
+ returns(
118
+ T.nilable(
119
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination::LegalEntityType::TaggedSymbol
120
+ )
121
+ )
122
+ end
123
+ attr_accessor :legal_entity_type
124
+
125
+ # When status is `NEEDS_REPAIR`, why (e.g. a bounced delivery).
126
+ sig { returns(T.nilable(String)) }
127
+ attr_accessor :needs_repair_reason
128
+
129
+ # The payout provider this entry describes.
130
+ sig { returns(T.nilable(String)) }
131
+ attr_reader :provider
132
+
133
+ sig { params(provider: String).void }
134
+ attr_writer :provider
135
+
136
+ # The customer-facing provider name (e.g. "PayPal", "Wise").
137
+ sig { returns(T.nilable(String)) }
138
+ attr_reader :provider_display_name
139
+
140
+ sig { params(provider_display_name: String).void }
141
+ attr_writer :provider_display_name
142
+
143
+ # The destination's current status: `NONE` (not set up), `PENDING_CONFIRMATION`,
144
+ # `CONFIRMED`, `ACTIVE`, `NEEDS_REPAIR`, or `EXPIRED`. Historical superseded
145
+ # or revoked destinations are projected as `NONE`.
146
+ sig { returns(T.nilable(String)) }
147
+ attr_reader :status
148
+
149
+ sig { params(status: String).void }
150
+ attr_writer :status
151
+
152
+ sig do
153
+ params(
154
+ claim_email: T.nilable(String),
155
+ confirmed_at: T.nilable(Integer),
156
+ legal_entity_type:
157
+ T.nilable(
158
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination::LegalEntityType::OrSymbol
159
+ ),
160
+ needs_repair_reason: T.nilable(String),
161
+ provider: String,
162
+ provider_display_name: String,
163
+ status: String
164
+ ).returns(T.attached_class)
165
+ end
166
+ def self.new(
167
+ # The confirmed payout email for this provider.
168
+ claim_email: nil,
169
+ # When the destination was confirmed, as a Unix timestamp in milliseconds.
170
+ confirmed_at: nil,
171
+ # The legal recipient type the participant confirmed, if any.
172
+ legal_entity_type: nil,
173
+ # When status is `NEEDS_REPAIR`, why (e.g. a bounced delivery).
174
+ needs_repair_reason: nil,
175
+ # The payout provider this entry describes.
176
+ provider: nil,
177
+ # The customer-facing provider name (e.g. "PayPal", "Wise").
178
+ provider_display_name: nil,
179
+ # The destination's current status: `NONE` (not set up), `PENDING_CONFIRMATION`,
180
+ # `CONFIRMED`, `ACTIVE`, `NEEDS_REPAIR`, or `EXPIRED`. Historical superseded
181
+ # or revoked destinations are projected as `NONE`.
182
+ status: nil
183
+ )
184
+ end
185
+
186
+ sig do
187
+ override.returns(
188
+ {
189
+ claim_email: T.nilable(String),
190
+ confirmed_at: T.nilable(Integer),
191
+ legal_entity_type:
192
+ T.nilable(
193
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination::LegalEntityType::TaggedSymbol
194
+ ),
195
+ needs_repair_reason: T.nilable(String),
196
+ provider: String,
197
+ provider_display_name: String,
198
+ status: String
199
+ }
200
+ )
201
+ end
202
+ def to_hash
203
+ end
204
+
205
+ # The legal recipient type the participant confirmed, if any.
206
+ module LegalEntityType
207
+ extend GrowsurfRuby::Internal::Type::Enum
208
+
209
+ TaggedSymbol =
210
+ T.type_alias do
211
+ T.all(
212
+ Symbol,
213
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination::LegalEntityType
214
+ )
215
+ end
216
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
217
+
218
+ INDIVIDUAL =
219
+ T.let(
220
+ :INDIVIDUAL,
221
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination::LegalEntityType::TaggedSymbol
222
+ )
223
+ BUSINESS =
224
+ T.let(
225
+ :BUSINESS,
226
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination::LegalEntityType::TaggedSymbol
227
+ )
228
+
229
+ sig do
230
+ override.returns(
231
+ T::Array[
232
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination::LegalEntityType::TaggedSymbol
233
+ ]
234
+ )
235
+ end
236
+ def self.values
237
+ end
238
+ end
239
+ end
240
+ end
241
+ end
242
+ end
243
+ end
@@ -126,6 +126,11 @@ module GrowsurfRuby
126
126
  :FAILED,
127
127
  GrowsurfRuby::Campaign::ParticipantListPayoutsParams::Status::TaggedSymbol
128
128
  )
129
+ REVERSED =
130
+ T.let(
131
+ :REVERSED,
132
+ GrowsurfRuby::Campaign::ParticipantListPayoutsParams::Status::TaggedSymbol
133
+ )
129
134
 
130
135
  sig do
131
136
  override.returns(
@@ -0,0 +1,100 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ParticipantRequestPayoutDestinationConfirmationParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationParams,
14
+ GrowsurfRuby::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :participant_id_or_email
23
+
24
+ # The payout provider the participant should confirm a destination for.
25
+ sig do
26
+ returns(
27
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationParams::Provider::TaggedSymbol
28
+ )
29
+ end
30
+ attr_accessor :provider
31
+
32
+ sig do
33
+ params(
34
+ id: String,
35
+ participant_id_or_email: String,
36
+ provider:
37
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationParams::Provider::OrSymbol,
38
+ request_options: GrowsurfRuby::RequestOptions::OrHash
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+ id:,
43
+ participant_id_or_email:,
44
+ # The payout provider the participant should confirm a destination for.
45
+ provider:,
46
+ request_options: {}
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ id: String,
54
+ participant_id_or_email: String,
55
+ provider:
56
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationParams::Provider::TaggedSymbol,
57
+ request_options: GrowsurfRuby::RequestOptions
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+
64
+ module Provider
65
+ extend GrowsurfRuby::Internal::Type::Enum
66
+
67
+ TaggedSymbol =
68
+ T.type_alias do
69
+ T.all(
70
+ Symbol,
71
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationParams::Provider
72
+ )
73
+ end
74
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
75
+
76
+ PAYPAL =
77
+ T.let(
78
+ :PAYPAL,
79
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationParams::Provider::TaggedSymbol
80
+ )
81
+ WISECOM =
82
+ T.let(
83
+ :WISECOM,
84
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationParams::Provider::TaggedSymbol
85
+ )
86
+
87
+ sig do
88
+ override.returns(
89
+ T::Array[
90
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationParams::Provider::TaggedSymbol
91
+ ]
92
+ )
93
+ end
94
+ def self.values
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,118 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ParticipantRequestPayoutDestinationConfirmationResponse < GrowsurfRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ GrowsurfRuby::Models::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse,
11
+ GrowsurfRuby::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # When the confirmation link expires, as a Unix timestamp in milliseconds.
16
+ sig { returns(T.nilable(Integer)) }
17
+ attr_accessor :expires_at
18
+
19
+ # The provider the participant was asked to confirm.
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :provider
22
+
23
+ sig { params(provider: String).void }
24
+ attr_writer :provider
25
+
26
+ # The customer-facing provider name (e.g. "PayPal", "Wise").
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :provider_display_name
29
+
30
+ sig { params(provider_display_name: String).void }
31
+ attr_writer :provider_display_name
32
+
33
+ # Confirms the message was requested.
34
+ sig do
35
+ returns(
36
+ T.nilable(
37
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status::OrSymbol
38
+ )
39
+ )
40
+ end
41
+ attr_reader :status
42
+
43
+ sig do
44
+ params(
45
+ status:
46
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status::OrSymbol
47
+ ).void
48
+ end
49
+ attr_writer :status
50
+
51
+ sig do
52
+ params(
53
+ expires_at: T.nilable(Integer),
54
+ provider: String,
55
+ provider_display_name: String,
56
+ status:
57
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status::OrSymbol
58
+ ).returns(T.attached_class)
59
+ end
60
+ def self.new(
61
+ # When the confirmation link expires, as a Unix timestamp in milliseconds.
62
+ expires_at: nil,
63
+ # The provider the participant was asked to confirm.
64
+ provider: nil,
65
+ # The customer-facing provider name (e.g. "PayPal", "Wise").
66
+ provider_display_name: nil,
67
+ # Confirms the message was requested.
68
+ status: nil
69
+ )
70
+ end
71
+
72
+ sig do
73
+ override.returns(
74
+ {
75
+ expires_at: T.nilable(Integer),
76
+ provider: String,
77
+ provider_display_name: String,
78
+ status:
79
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status::OrSymbol
80
+ }
81
+ )
82
+ end
83
+ def to_hash
84
+ end
85
+
86
+ # Confirms the message was requested.
87
+ module Status
88
+ extend GrowsurfRuby::Internal::Type::Enum
89
+
90
+ TaggedSymbol =
91
+ T.type_alias do
92
+ T.all(
93
+ Symbol,
94
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status
95
+ )
96
+ end
97
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
98
+
99
+ CONFIRMATION_REQUESTED =
100
+ T.let(
101
+ :CONFIRMATION_REQUESTED,
102
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status::TaggedSymbol
103
+ )
104
+
105
+ sig do
106
+ override.returns(
107
+ T::Array[
108
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status::TaggedSymbol
109
+ ]
110
+ )
111
+ end
112
+ def self.values
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
118
+ end