growsurf-ruby 1.2.1 → 1.3.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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -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 +14 -17
  19. data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +25 -9
  20. data/lib/growsurf_ruby/models/campaign/referral_source.rb +3 -0
  21. data/lib/growsurf_ruby/models/campaign/reward.rb +20 -3
  22. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +3 -3
  23. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +3 -3
  24. data/lib/growsurf_ruby/models/campaign.rb +2 -2
  25. data/lib/growsurf_ruby/models/campaign_create_affiliate_invite_params.rb +45 -0
  26. data/lib/growsurf_ruby/models/campaign_list_affiliate_applications_params.rb +57 -0
  27. data/lib/growsurf_ruby/models/campaign_list_affiliate_invites_params.rb +58 -0
  28. data/lib/growsurf_ruby/models/campaign_list_payouts_params.rb +1 -0
  29. data/lib/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rb +26 -0
  30. data/lib/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rb +26 -0
  31. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +9 -6
  32. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +59 -11
  33. data/lib/growsurf_ruby/models/campaign_review_affiliate_application_params.rb +94 -0
  34. data/lib/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rb +26 -0
  35. data/lib/growsurf_ruby/models/email_analytics.rb +41 -0
  36. data/lib/growsurf_ruby/models/participant_payout_list.rb +8 -1
  37. data/lib/growsurf_ruby/models/reward_tax_valuation.rb +24 -9
  38. data/lib/growsurf_ruby/models.rb +19 -0
  39. data/lib/growsurf_ruby/resources/campaign/design.rb +14 -12
  40. data/lib/growsurf_ruby/resources/campaign/options.rb +7 -7
  41. data/lib/growsurf_ruby/resources/campaign/participant.rb +96 -11
  42. data/lib/growsurf_ruby/resources/campaign/rewards.rb +2 -2
  43. data/lib/growsurf_ruby/resources/campaign.rb +231 -4
  44. data/lib/growsurf_ruby/version.rb +1 -1
  45. data/lib/growsurf_ruby.rb +16 -0
  46. data/rbi/growsurf_ruby/models/affiliate_application.rbi +431 -0
  47. data/rbi/growsurf_ruby/models/affiliate_application_list_response.rbi +70 -0
  48. data/rbi/growsurf_ruby/models/affiliate_invite.rbi +167 -0
  49. data/rbi/growsurf_ruby/models/affiliate_invite_list_response.rbi +70 -0
  50. data/rbi/growsurf_ruby/models/campaign/create.rbi +17 -0
  51. data/rbi/growsurf_ruby/models/campaign/participant.rbi +169 -3
  52. data/rbi/growsurf_ruby/models/campaign/participant_activity_logs_response.rbi +3 -5
  53. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +35 -20
  54. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbi +3 -1
  55. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_params.rbi +48 -0
  56. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbi +243 -0
  57. data/rbi/growsurf_ruby/models/campaign/participant_list_payouts_params.rbi +5 -0
  58. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_params.rbi +100 -0
  59. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbi +118 -0
  60. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +22 -52
  61. data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +67 -11
  62. data/rbi/growsurf_ruby/models/campaign/referral_source.rbi +9 -0
  63. data/rbi/growsurf_ruby/models/campaign/reward.rbi +23 -2
  64. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +4 -4
  65. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +4 -4
  66. data/rbi/growsurf_ruby/models/campaign.rbi +2 -2
  67. data/rbi/growsurf_ruby/models/campaign_create_affiliate_invite_params.rbi +74 -0
  68. data/rbi/growsurf_ruby/models/campaign_list_affiliate_applications_params.rbi +130 -0
  69. data/rbi/growsurf_ruby/models/campaign_list_affiliate_invites_params.rbi +135 -0
  70. data/rbi/growsurf_ruby/models/campaign_list_payouts_params.rbi +5 -0
  71. data/rbi/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rbi +46 -0
  72. data/rbi/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rbi +46 -0
  73. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +15 -10
  74. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +68 -18
  75. data/rbi/growsurf_ruby/models/campaign_review_affiliate_application_params.rbi +167 -0
  76. data/rbi/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rbi +46 -0
  77. data/rbi/growsurf_ruby/models/email_analytics.rbi +200 -0
  78. data/rbi/growsurf_ruby/models/participant_payout_list.rbi +17 -3
  79. data/rbi/growsurf_ruby/models/reward_tax_valuation.rbi +66 -9
  80. data/rbi/growsurf_ruby/models.rbi +25 -0
  81. data/rbi/growsurf_ruby/resources/campaign/design.rbi +9 -8
  82. data/rbi/growsurf_ruby/resources/campaign/options.rbi +7 -7
  83. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +89 -13
  84. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +4 -4
  85. data/rbi/growsurf_ruby/resources/campaign.rbi +188 -10
  86. data/sig/growsurf_ruby/models/affiliate_application.rbs +192 -0
  87. data/sig/growsurf_ruby/models/affiliate_application_list_response.rbs +39 -0
  88. data/sig/growsurf_ruby/models/affiliate_invite.rbs +92 -0
  89. data/sig/growsurf_ruby/models/affiliate_invite_list_response.rbs +39 -0
  90. data/sig/growsurf_ruby/models/campaign/create.rbs +7 -0
  91. data/sig/growsurf_ruby/models/campaign/participant.rbs +62 -2
  92. data/sig/growsurf_ruby/models/campaign/participant_activity_logs_response.rbs +2 -11
  93. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +12 -12
  94. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_params.rbs +30 -0
  95. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbs +107 -0
  96. data/sig/growsurf_ruby/models/campaign/participant_list_payouts_params.rbs +2 -1
  97. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_params.rbs +49 -0
  98. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbs +57 -0
  99. data/sig/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbs +5 -13
  100. data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +21 -7
  101. data/sig/growsurf_ruby/models/campaign/referral_source.rbs +4 -1
  102. data/sig/growsurf_ruby/models/campaign/reward.rbs +12 -0
  103. data/sig/growsurf_ruby/models/campaign_create_affiliate_invite_params.rbs +40 -0
  104. data/sig/growsurf_ruby/models/campaign_list_affiliate_applications_params.rbs +61 -0
  105. data/sig/growsurf_ruby/models/campaign_list_affiliate_invites_params.rbs +62 -0
  106. data/sig/growsurf_ruby/models/campaign_list_payouts_params.rbs +2 -1
  107. data/sig/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rbs +28 -0
  108. data/sig/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rbs +28 -0
  109. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +36 -16
  110. data/sig/growsurf_ruby/models/campaign_review_affiliate_application_params.rbs +79 -0
  111. data/sig/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rbs +28 -0
  112. data/sig/growsurf_ruby/models/email_analytics.rbs +92 -0
  113. data/sig/growsurf_ruby/models/participant_payout_list.rbs +12 -4
  114. data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +26 -4
  115. data/sig/growsurf_ruby/models.rbs +18 -0
  116. data/sig/growsurf_ruby/resources/campaign/participant.rbs +16 -2
  117. data/sig/growsurf_ruby/resources/campaign.rbs +53 -0
  118. metadata +54 -3
@@ -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
@@ -36,25 +36,20 @@ module GrowsurfRuby
36
36
  sig { params(end_date: Integer).void }
37
37
  attr_writer :end_date
38
38
 
39
- # Set to `series` to also return this participant's own activity per period.
40
- sig do
41
- returns(
42
- T.nilable(
43
- GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Include::OrSymbol
44
- )
45
- )
46
- end
39
+ # Comma-separated optional data. `series` returns this participant's own activity per
40
+ # period; `email` returns `sent`, `delivered`, `opened`, `clicked`, `bounced`,
41
+ # `spamComplaints`, and per-email-type metrics attributed to the participant for the
42
+ # requested analytics window (including invitations they sent). Request both in either
43
+ # order to add email counts to every series item for emails sent during that period. Only
44
+ # documented tokens are accepted; an unknown token returns `400`.
45
+ sig { returns(T.nilable(String)) }
47
46
  attr_reader :include
48
47
 
49
- sig do
50
- params(
51
- include:
52
- GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Include::OrSymbol
53
- ).void
54
- end
48
+ sig { params(include: String).void }
55
49
  attr_writer :include
56
50
 
57
- # Bucket size for the `series` (only used with `include=series`). Defaults to `day`.
51
+ # Bucket size for the `series` (only used when `include` contains `series`). Defaults to
52
+ # `day`.
58
53
  sig do
59
54
  returns(
60
55
  T.nilable(
@@ -86,8 +81,7 @@ module GrowsurfRuby
86
81
  participant_id_or_email: String,
87
82
  days: Integer,
88
83
  end_date: Integer,
89
- include:
90
- GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Include::OrSymbol,
84
+ include: String,
91
85
  interval:
92
86
  GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Interval::OrSymbol,
93
87
  start_date: Integer,
@@ -102,9 +96,15 @@ module GrowsurfRuby
102
96
  # End date of the analytics timeframe as a Unix timestamp in milliseconds.
103
97
  # Required if `days` is not set.
104
98
  end_date: nil,
105
- # Set to `series` to also return this participant's own activity per period.
99
+ # Comma-separated optional data. `series` returns this participant's own activity per
100
+ # period; `email` returns `sent`, `delivered`, `opened`, `clicked`, `bounced`,
101
+ # `spamComplaints`, and per-email-type metrics attributed to the participant for the
102
+ # requested analytics window (including invitations they sent). Request both in either
103
+ # order to add email counts to every series item for emails sent during that period.
104
+ # Only documented tokens are accepted; an unknown token returns `400`.
106
105
  include: nil,
107
- # Bucket size for the `series` (only used with `include=series`). Defaults to `day`.
106
+ # Bucket size for the `series` (only used when `include` contains `series`). Defaults to
107
+ # `day`.
108
108
  interval: nil,
109
109
  # Start date of the analytics timeframe as a Unix timestamp in milliseconds.
110
110
  # Required if `days` is not set.
@@ -120,8 +120,7 @@ module GrowsurfRuby
120
120
  participant_id_or_email: String,
121
121
  days: Integer,
122
122
  end_date: Integer,
123
- include:
124
- GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Include::OrSymbol,
123
+ include: String,
125
124
  interval:
126
125
  GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Interval::OrSymbol,
127
126
  start_date: Integer,
@@ -132,37 +131,8 @@ module GrowsurfRuby
132
131
  def to_hash
133
132
  end
134
133
 
135
- # Set to `series` to also return this participant's own activity per period.
136
- module Include
137
- extend GrowsurfRuby::Internal::Type::Enum
138
-
139
- TaggedSymbol =
140
- T.type_alias do
141
- T.all(
142
- Symbol,
143
- GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Include
144
- )
145
- end
146
- OrSymbol = T.type_alias { T.any(Symbol, String) }
147
-
148
- SERIES =
149
- T.let(
150
- :series,
151
- GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Include::TaggedSymbol
152
- )
153
-
154
- sig do
155
- override.returns(
156
- T::Array[
157
- GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Include::TaggedSymbol
158
- ]
159
- )
160
- end
161
- def self.values
162
- end
163
- end
164
-
165
- # Bucket size for the `series` (only used with `include=series`). Defaults to `day`.
134
+ # Bucket size for the `series` (only used when `include` contains `series`). Defaults to
135
+ # `day`.
166
136
  module Interval
167
137
  extend GrowsurfRuby::Internal::Type::Enum
168
138