growsurf-ruby 1.0.0 → 1.1.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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/growsurf_ruby/client.rb +4 -0
  5. data/lib/growsurf_ruby/models/account.rb +90 -0
  6. data/lib/growsurf_ruby/models/account_create_params.rb +46 -0
  7. data/lib/growsurf_ruby/models/account_create_response.rb +64 -0
  8. data/lib/growsurf_ruby/models/account_resend_verification_email_response.rb +33 -0
  9. data/lib/growsurf_ruby/models/account_rotate_api_key_response.rb +17 -0
  10. data/lib/growsurf_ruby/models/account_update_params.rb +35 -0
  11. data/lib/growsurf_ruby/models/campaign/campaign_reward_list_response.rb +2 -2
  12. data/lib/growsurf_ruby/models/campaign/create.rb +5 -1
  13. data/lib/growsurf_ruby/models/campaign/participant_activity_logs_response.rb +65 -0
  14. data/lib/growsurf_ruby/models/campaign/participant_analytics_response.rb +421 -0
  15. data/lib/growsurf_ruby/models/campaign/participant_bulk_delete_params.rb +35 -0
  16. data/lib/growsurf_ruby/models/campaign/participant_bulk_delete_response.rb +151 -0
  17. data/lib/growsurf_ruby/models/campaign/participant_email_params.rb +76 -0
  18. data/lib/growsurf_ruby/models/campaign/participant_email_response.rb +38 -0
  19. data/lib/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rb +46 -0
  20. data/lib/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rb +98 -0
  21. data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +21 -1
  22. data/lib/growsurf_ruby/models/campaign/reward.rb +17 -6
  23. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +25 -15
  24. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +25 -15
  25. data/lib/growsurf_ruby/models/campaign/webhook.rb +72 -0
  26. data/lib/growsurf_ruby/models/campaign/webhook_create_params.rb +52 -0
  27. data/lib/growsurf_ruby/models/campaign/webhook_delete_params.rb +28 -0
  28. data/lib/growsurf_ruby/models/campaign/webhook_delete_response.rb +24 -0
  29. data/lib/growsurf_ruby/models/campaign/webhook_event.rb +23 -0
  30. data/lib/growsurf_ruby/models/campaign/webhook_list_response.rb +18 -0
  31. data/lib/growsurf_ruby/models/campaign/webhook_test_params.rb +42 -0
  32. data/lib/growsurf_ruby/models/campaign/webhook_test_response.rb +50 -0
  33. data/lib/growsurf_ruby/models/campaign/webhook_update_params.rb +59 -0
  34. data/lib/growsurf_ruby/models/campaign.rb +17 -6
  35. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +36 -1
  36. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +538 -1
  37. data/lib/growsurf_ruby/models/campaign_update_params.rb +0 -3
  38. data/lib/growsurf_ruby/models/commission_structure.rb +8 -2
  39. data/lib/growsurf_ruby/models/referral_flow_screenshots_response.rb +72 -0
  40. data/lib/growsurf_ruby/models.rb +8 -0
  41. data/lib/growsurf_ruby/resources/account.rb +159 -0
  42. data/lib/growsurf_ruby/resources/campaign/design.rb +9 -7
  43. data/lib/growsurf_ruby/resources/campaign/emails.rb +8 -5
  44. data/lib/growsurf_ruby/resources/campaign/installation.rb +8 -6
  45. data/lib/growsurf_ruby/resources/campaign/options.rb +8 -5
  46. data/lib/growsurf_ruby/resources/campaign/participant.rb +170 -2
  47. data/lib/growsurf_ruby/resources/campaign/rewards.rb +17 -21
  48. data/lib/growsurf_ruby/resources/campaign/webhooks.rb +157 -0
  49. data/lib/growsurf_ruby/resources/campaign.rb +30 -2
  50. data/lib/growsurf_ruby/version.rb +1 -1
  51. data/lib/growsurf_ruby.rb +26 -0
  52. data/rbi/growsurf_ruby/client.rbi +3 -0
  53. data/rbi/growsurf_ruby/models/account.rbi +125 -0
  54. data/rbi/growsurf_ruby/models/account_create_params.rbi +73 -0
  55. data/rbi/growsurf_ruby/models/account_create_response.rbi +115 -0
  56. data/rbi/growsurf_ruby/models/account_resend_verification_email_response.rbi +76 -0
  57. data/rbi/growsurf_ruby/models/account_rotate_api_key_response.rbi +30 -0
  58. data/rbi/growsurf_ruby/models/account_update_params.rbi +65 -0
  59. data/rbi/growsurf_ruby/models/campaign/campaign_reward_list_response.rbi +2 -2
  60. data/rbi/growsurf_ruby/models/campaign/create.rbi +8 -0
  61. data/rbi/growsurf_ruby/models/campaign/participant_activity_logs_response.rbi +111 -0
  62. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +630 -0
  63. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_params.rbi +56 -0
  64. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbi +285 -0
  65. data/rbi/growsurf_ruby/models/campaign/participant_email_params.rbi +118 -0
  66. data/rbi/growsurf_ruby/models/campaign/participant_email_response.rbi +84 -0
  67. data/rbi/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rbi +74 -0
  68. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +207 -0
  69. data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +24 -0
  70. data/rbi/growsurf_ruby/models/campaign/reward.rbi +25 -4
  71. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +34 -9
  72. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +34 -9
  73. data/rbi/growsurf_ruby/models/campaign/webhook.rbi +93 -0
  74. data/rbi/growsurf_ruby/models/campaign/webhook_create_params.rbi +91 -0
  75. data/rbi/growsurf_ruby/models/campaign/webhook_delete_params.rbi +48 -0
  76. data/rbi/growsurf_ruby/models/campaign/webhook_delete_response.rbi +33 -0
  77. data/rbi/growsurf_ruby/models/campaign/webhook_event.rbi +60 -0
  78. data/rbi/growsurf_ruby/models/campaign/webhook_list_response.rbi +36 -0
  79. data/rbi/growsurf_ruby/models/campaign/webhook_test_params.rbi +69 -0
  80. data/rbi/growsurf_ruby/models/campaign/webhook_test_response.rbi +102 -0
  81. data/rbi/growsurf_ruby/models/campaign/webhook_update_params.rbi +98 -0
  82. data/rbi/growsurf_ruby/models/campaign.rbi +25 -4
  83. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +91 -0
  84. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +1011 -3
  85. data/rbi/growsurf_ruby/models/campaign_update_params.rbi +0 -15
  86. data/rbi/growsurf_ruby/models/commission_structure.rbi +8 -2
  87. data/rbi/growsurf_ruby/models/referral_flow_screenshots_response.rbi +94 -0
  88. data/rbi/growsurf_ruby/models.rbi +9 -0
  89. data/rbi/growsurf_ruby/resources/account.rbi +112 -0
  90. data/rbi/growsurf_ruby/resources/campaign/design.rbi +7 -5
  91. data/rbi/growsurf_ruby/resources/campaign/emails.rbi +7 -5
  92. data/rbi/growsurf_ruby/resources/campaign/installation.rbi +7 -4
  93. data/rbi/growsurf_ruby/resources/campaign/options.rbi +7 -5
  94. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +160 -0
  95. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +37 -21
  96. data/rbi/growsurf_ruby/resources/campaign/webhooks.rbi +123 -0
  97. data/rbi/growsurf_ruby/resources/campaign.rbi +33 -2
  98. data/sig/growsurf_ruby/client.rbs +2 -0
  99. data/sig/growsurf_ruby/models/account.rbs +67 -0
  100. data/sig/growsurf_ruby/models/account_create_params.rbs +42 -0
  101. data/sig/growsurf_ruby/models/account_create_response.rbs +47 -0
  102. data/sig/growsurf_ruby/models/account_resend_verification_email_response.rbs +35 -0
  103. data/sig/growsurf_ruby/models/account_rotate_api_key_response.rbs +13 -0
  104. data/sig/growsurf_ruby/models/account_update_params.rbs +42 -0
  105. data/sig/growsurf_ruby/models/campaign/participant_activity_logs_response.rbs +59 -0
  106. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +407 -0
  107. data/sig/growsurf_ruby/models/campaign/participant_bulk_delete_params.rbs +30 -0
  108. data/sig/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbs +125 -0
  109. data/sig/growsurf_ruby/models/campaign/participant_email_params.rbs +61 -0
  110. data/sig/growsurf_ruby/models/campaign/participant_email_response.rbs +37 -0
  111. data/sig/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rbs +47 -0
  112. data/sig/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbs +90 -0
  113. data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +14 -0
  114. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +0 -7
  115. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +0 -7
  116. data/sig/growsurf_ruby/models/campaign/webhook.rbs +52 -0
  117. data/sig/growsurf_ruby/models/campaign/webhook_create_params.rbs +51 -0
  118. data/sig/growsurf_ruby/models/campaign/webhook_delete_params.rbs +30 -0
  119. data/sig/growsurf_ruby/models/campaign/webhook_delete_response.rbs +17 -0
  120. data/sig/growsurf_ruby/models/campaign/webhook_event.rbs +28 -0
  121. data/sig/growsurf_ruby/models/campaign/webhook_list_response.rbs +18 -0
  122. data/sig/growsurf_ruby/models/campaign/webhook_test_params.rbs +42 -0
  123. data/sig/growsurf_ruby/models/campaign/webhook_test_response.rbs +54 -0
  124. data/sig/growsurf_ruby/models/campaign/webhook_update_params.rbs +63 -0
  125. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +35 -1
  126. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +533 -3
  127. data/sig/growsurf_ruby/models/campaign_update_params.rbs +1 -4
  128. data/sig/growsurf_ruby/models/commission_structure.rbs +7 -2
  129. data/sig/growsurf_ruby/models/referral_flow_screenshots_response.rbs +54 -0
  130. data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +4 -1
  131. data/sig/growsurf_ruby/models.rbs +8 -0
  132. data/sig/growsurf_ruby/resources/account.rbs +38 -0
  133. data/sig/growsurf_ruby/resources/campaign/participant.rbs +37 -0
  134. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +0 -2
  135. data/sig/growsurf_ruby/resources/campaign/webhooks.rbs +46 -0
  136. data/sig/growsurf_ruby/resources/campaign.rbs +9 -0
  137. metadata +80 -2
@@ -0,0 +1,630 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ParticipantAnalyticsResponse < GrowsurfRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ GrowsurfRuby::Models::Campaign::ParticipantAnalyticsResponse,
11
+ GrowsurfRuby::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig do
16
+ returns(
17
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Analytics
18
+ )
19
+ end
20
+ attr_accessor :analytics
21
+
22
+ sig do
23
+ returns(GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Ranks)
24
+ end
25
+ attr_accessor :ranks
26
+
27
+ # Per-channel share counts (e.g. `email`, `facebook`, `twitter`, ...).
28
+ sig { returns(T::Hash[Symbol, Integer]) }
29
+ attr_accessor :share_count
30
+
31
+ # Present only with `include=series`. Window end (Unix ms).
32
+ sig { returns(T.nilable(Integer)) }
33
+ attr_reader :end_date
34
+
35
+ sig { params(end_date: Integer).void }
36
+ attr_writer :end_date
37
+
38
+ # Present only when `include=series`. This participant's own referral-link activity
39
+ # per period (ascending), windowed by `days`/`startDate`/`endDate` and bucketed by
40
+ # `interval`.
41
+ sig do
42
+ returns(
43
+ T.nilable(
44
+ T::Array[
45
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Series
46
+ ]
47
+ )
48
+ )
49
+ end
50
+ attr_reader :series
51
+
52
+ sig do
53
+ params(
54
+ series:
55
+ T::Array[
56
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Series::OrHash
57
+ ]
58
+ ).void
59
+ end
60
+ attr_writer :series
61
+
62
+ # Present only with `include=series`. Window start (Unix ms).
63
+ sig { returns(T.nilable(Integer)) }
64
+ attr_reader :start_date
65
+
66
+ sig { params(start_date: Integer).void }
67
+ attr_writer :start_date
68
+
69
+ sig do
70
+ params(
71
+ analytics:
72
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Analytics::OrHash,
73
+ ranks:
74
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Ranks::OrHash,
75
+ share_count: T::Hash[Symbol, Integer],
76
+ end_date: Integer,
77
+ series:
78
+ T::Array[
79
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Series::OrHash
80
+ ],
81
+ start_date: Integer
82
+ ).returns(T.attached_class)
83
+ end
84
+ def self.new(
85
+ analytics:,
86
+ ranks:,
87
+ # Per-channel share counts (e.g. `email`, `facebook`, `twitter`, ...).
88
+ share_count:,
89
+ # Present only with `include=series`. Window end (Unix ms).
90
+ end_date: nil,
91
+ # Present only when `include=series`. This participant's own referral-link activity
92
+ # per period (ascending), windowed by `days`/`startDate`/`endDate` and bucketed by
93
+ # `interval`.
94
+ series: nil,
95
+ # Present only with `include=series`. Window start (Unix ms).
96
+ start_date: nil
97
+ )
98
+ end
99
+
100
+ sig do
101
+ override.returns(
102
+ {
103
+ analytics:
104
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Analytics,
105
+ ranks:
106
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Ranks,
107
+ share_count: T::Hash[Symbol, Integer],
108
+ end_date: Integer,
109
+ series:
110
+ T::Array[
111
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Series
112
+ ],
113
+ start_date: Integer
114
+ }
115
+ )
116
+ end
117
+ def to_hash
118
+ end
119
+
120
+ class Analytics < GrowsurfRuby::Internal::Type::BaseModel
121
+ OrHash =
122
+ T.type_alias do
123
+ T.any(
124
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Analytics,
125
+ GrowsurfRuby::Internal::AnyHash
126
+ )
127
+ end
128
+
129
+ sig { returns(T.nilable(String)) }
130
+ attr_reader :currency_iso
131
+
132
+ sig { params(currency_iso: String).void }
133
+ attr_writer :currency_iso
134
+
135
+ sig { returns(T.nilable(Integer)) }
136
+ attr_reader :expired_referrals
137
+
138
+ sig { params(expired_referrals: Integer).void }
139
+ attr_writer :expired_referrals
140
+
141
+ sig { returns(T.nilable(Integer)) }
142
+ attr_reader :impressions
143
+
144
+ sig { params(impressions: Integer).void }
145
+ attr_writer :impressions
146
+
147
+ sig { returns(T.nilable(Integer)) }
148
+ attr_reader :invites_sent
149
+
150
+ sig { params(invites_sent: Integer).void }
151
+ attr_writer :invites_sent
152
+
153
+ sig { returns(T.nilable(Integer)) }
154
+ attr_reader :leads
155
+
156
+ sig { params(leads: Integer).void }
157
+ attr_writer :leads
158
+
159
+ sig { returns(T.nilable(Integer)) }
160
+ attr_reader :monthly_referrals
161
+
162
+ sig { params(monthly_referrals: Integer).void }
163
+ attr_writer :monthly_referrals
164
+
165
+ sig { returns(T.nilable(Integer)) }
166
+ attr_reader :pending_rewards
167
+
168
+ sig { params(pending_rewards: Integer).void }
169
+ attr_writer :pending_rewards
170
+
171
+ # Affiliate only. Revenue attributed to this participant's referrals, in minor
172
+ # currency units.
173
+ sig { returns(T.nilable(Integer)) }
174
+ attr_reader :referral_revenue
175
+
176
+ sig { params(referral_revenue: Integer).void }
177
+ attr_writer :referral_revenue
178
+
179
+ sig { returns(T.nilable(Integer)) }
180
+ attr_reader :referrals
181
+
182
+ sig { params(referrals: Integer).void }
183
+ attr_writer :referrals
184
+
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
+ # Affiliate only. Total commissions earned, in minor currency units.
192
+ sig { returns(T.nilable(Integer)) }
193
+ attr_reader :total_commissions
194
+
195
+ sig { params(total_commissions: Integer).void }
196
+ attr_writer :total_commissions
197
+
198
+ # Affiliate only. Total paid out, in minor currency units.
199
+ sig { returns(T.nilable(Integer)) }
200
+ attr_reader :total_paid_out
201
+
202
+ sig { params(total_paid_out: Integer).void }
203
+ attr_writer :total_paid_out
204
+
205
+ sig { returns(T.nilable(Integer)) }
206
+ attr_reader :unique_impressions
207
+
208
+ sig { params(unique_impressions: Integer).void }
209
+ attr_writer :unique_impressions
210
+
211
+ # Affiliate only. Approved commissions ready to pay, in minor currency units.
212
+ sig { returns(T.nilable(Integer)) }
213
+ attr_reader :upcoming_payout
214
+
215
+ sig { params(upcoming_payout: Integer).void }
216
+ attr_writer :upcoming_payout
217
+
218
+ sig do
219
+ params(
220
+ currency_iso: String,
221
+ expired_referrals: Integer,
222
+ impressions: Integer,
223
+ invites_sent: Integer,
224
+ leads: Integer,
225
+ monthly_referrals: Integer,
226
+ pending_rewards: Integer,
227
+ referral_revenue: Integer,
228
+ referrals: Integer,
229
+ rewards_earned: Integer,
230
+ total_commissions: Integer,
231
+ total_paid_out: Integer,
232
+ unique_impressions: Integer,
233
+ upcoming_payout: Integer
234
+ ).returns(T.attached_class)
235
+ end
236
+ def self.new(
237
+ currency_iso: nil,
238
+ expired_referrals: nil,
239
+ impressions: nil,
240
+ invites_sent: nil,
241
+ leads: nil,
242
+ monthly_referrals: nil,
243
+ pending_rewards: nil,
244
+ # Affiliate only. Revenue attributed to this participant's referrals, in minor
245
+ # currency units.
246
+ referral_revenue: nil,
247
+ referrals: nil,
248
+ rewards_earned: nil,
249
+ # Affiliate only. Total commissions earned, in minor currency units.
250
+ total_commissions: nil,
251
+ # Affiliate only. Total paid out, in minor currency units.
252
+ total_paid_out: nil,
253
+ unique_impressions: nil,
254
+ # Affiliate only. Approved commissions ready to pay, in minor currency units.
255
+ upcoming_payout: nil
256
+ )
257
+ end
258
+
259
+ sig do
260
+ override.returns(
261
+ {
262
+ currency_iso: String,
263
+ expired_referrals: Integer,
264
+ impressions: Integer,
265
+ invites_sent: Integer,
266
+ leads: Integer,
267
+ monthly_referrals: Integer,
268
+ pending_rewards: Integer,
269
+ referral_revenue: Integer,
270
+ referrals: Integer,
271
+ rewards_earned: Integer,
272
+ total_commissions: Integer,
273
+ total_paid_out: Integer,
274
+ unique_impressions: Integer,
275
+ upcoming_payout: Integer
276
+ }
277
+ )
278
+ end
279
+ def to_hash
280
+ end
281
+ end
282
+
283
+ class Ranks < GrowsurfRuby::Internal::Type::BaseModel
284
+ OrHash =
285
+ T.type_alias do
286
+ T.any(
287
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Ranks,
288
+ GrowsurfRuby::Internal::AnyHash
289
+ )
290
+ end
291
+
292
+ sig { returns(T.nilable(Integer)) }
293
+ attr_accessor :monthly_rank
294
+
295
+ sig { returns(T.nilable(Integer)) }
296
+ attr_accessor :prev_monthly_rank
297
+
298
+ # All-time rank (1-indexed), or null when unranked.
299
+ sig { returns(T.nilable(Integer)) }
300
+ attr_accessor :rank
301
+
302
+ sig do
303
+ params(
304
+ monthly_rank: T.nilable(Integer),
305
+ prev_monthly_rank: T.nilable(Integer),
306
+ rank: T.nilable(Integer)
307
+ ).returns(T.attached_class)
308
+ end
309
+ def self.new(
310
+ monthly_rank: nil,
311
+ prev_monthly_rank: nil,
312
+ # All-time rank (1-indexed), or null when unranked.
313
+ rank: nil
314
+ )
315
+ end
316
+
317
+ sig do
318
+ override.returns(
319
+ {
320
+ monthly_rank: T.nilable(Integer),
321
+ prev_monthly_rank: T.nilable(Integer),
322
+ rank: T.nilable(Integer)
323
+ }
324
+ )
325
+ end
326
+ def to_hash
327
+ end
328
+ end
329
+
330
+ class Series < GrowsurfRuby::Internal::Type::BaseModel
331
+ OrHash =
332
+ T.type_alias do
333
+ T.any(
334
+ GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Series,
335
+ GrowsurfRuby::Internal::AnyHash
336
+ )
337
+ end
338
+
339
+ sig { returns(T.nilable(Integer)) }
340
+ attr_reader :android_native_shares
341
+
342
+ sig { params(android_native_shares: Integer).void }
343
+ attr_writer :android_native_shares
344
+
345
+ sig { returns(T.nilable(Integer)) }
346
+ attr_reader :bluesky_shares
347
+
348
+ sig { params(bluesky_shares: Integer).void }
349
+ attr_writer :bluesky_shares
350
+
351
+ sig { returns(T.nilable(Integer)) }
352
+ attr_reader :copy_ref_link_shares
353
+
354
+ sig { params(copy_ref_link_shares: Integer).void }
355
+ attr_writer :copy_ref_link_shares
356
+
357
+ sig { returns(T.nilable(Integer)) }
358
+ attr_reader :email_shares
359
+
360
+ sig { params(email_shares: Integer).void }
361
+ attr_writer :email_shares
362
+
363
+ sig { returns(T.nilable(Integer)) }
364
+ attr_reader :facebook_shares
365
+
366
+ sig { params(facebook_shares: Integer).void }
367
+ attr_writer :facebook_shares
368
+
369
+ sig { returns(T.nilable(Integer)) }
370
+ attr_reader :impressions
371
+
372
+ sig { params(impressions: Integer).void }
373
+ attr_writer :impressions
374
+
375
+ sig { returns(T.nilable(Integer)) }
376
+ attr_reader :invites
377
+
378
+ sig { params(invites: Integer).void }
379
+ attr_writer :invites
380
+
381
+ sig { returns(T.nilable(Integer)) }
382
+ attr_reader :ios_native_shares
383
+
384
+ sig { params(ios_native_shares: Integer).void }
385
+ attr_writer :ios_native_shares
386
+
387
+ sig { returns(T.nilable(Integer)) }
388
+ attr_reader :linked_in_shares
389
+
390
+ sig { params(linked_in_shares: Integer).void }
391
+ attr_writer :linked_in_shares
392
+
393
+ sig { returns(T.nilable(Integer)) }
394
+ attr_reader :messenger_shares
395
+
396
+ sig { params(messenger_shares: Integer).void }
397
+ attr_writer :messenger_shares
398
+
399
+ sig { returns(T.nilable(Integer)) }
400
+ attr_reader :participants
401
+
402
+ sig { params(participants: Integer).void }
403
+ attr_writer :participants
404
+
405
+ # Start of the period, as a Unix timestamp in milliseconds (UTC).
406
+ sig { returns(T.nilable(Integer)) }
407
+ attr_reader :period_start
408
+
409
+ sig { params(period_start: Integer).void }
410
+ attr_writer :period_start
411
+
412
+ sig { returns(T.nilable(Integer)) }
413
+ attr_reader :pinterest_shares
414
+
415
+ sig { params(pinterest_shares: Integer).void }
416
+ attr_writer :pinterest_shares
417
+
418
+ sig { returns(T.nilable(Integer)) }
419
+ attr_reader :qrcode_shares
420
+
421
+ sig { params(qrcode_shares: Integer).void }
422
+ attr_writer :qrcode_shares
423
+
424
+ sig { returns(T.nilable(Integer)) }
425
+ attr_reader :reddit_shares
426
+
427
+ sig { params(reddit_shares: Integer).void }
428
+ attr_writer :reddit_shares
429
+
430
+ sig { returns(T.nilable(Integer)) }
431
+ attr_reader :referral_credit_expireds
432
+
433
+ sig { params(referral_credit_expireds: Integer).void }
434
+ attr_writer :referral_credit_expireds
435
+
436
+ sig { returns(T.nilable(Integer)) }
437
+ attr_reader :referral_credit_pendings
438
+
439
+ sig { params(referral_credit_pendings: Integer).void }
440
+ attr_writer :referral_credit_pendings
441
+
442
+ sig { returns(T.nilable(Integer)) }
443
+ attr_reader :referrals
444
+
445
+ sig { params(referrals: Integer).void }
446
+ attr_writer :referrals
447
+
448
+ sig { returns(T.nilable(Integer)) }
449
+ attr_reader :sms_shares
450
+
451
+ sig { params(sms_shares: Integer).void }
452
+ attr_writer :sms_shares
453
+
454
+ sig { returns(T.nilable(Integer)) }
455
+ attr_reader :telegram_shares
456
+
457
+ sig { params(telegram_shares: Integer).void }
458
+ attr_writer :telegram_shares
459
+
460
+ sig { returns(T.nilable(Integer)) }
461
+ attr_reader :threads_shares
462
+
463
+ sig { params(threads_shares: Integer).void }
464
+ attr_writer :threads_shares
465
+
466
+ # Affiliate programs only. Number of commission records.
467
+ sig { returns(T.nilable(Integer)) }
468
+ attr_reader :total_commission_count
469
+
470
+ sig { params(total_commission_count: Integer).void }
471
+ attr_writer :total_commission_count
472
+
473
+ # Affiliate programs only. Commissions in the smallest unit of the program
474
+ # currency.
475
+ sig { returns(T.nilable(Integer)) }
476
+ attr_reader :total_commissions
477
+
478
+ sig { params(total_commissions: Integer).void }
479
+ attr_writer :total_commissions
480
+
481
+ # Affiliate programs only. Revenue in the smallest unit of the program currency.
482
+ sig { returns(T.nilable(Integer)) }
483
+ attr_reader :total_revenue
484
+
485
+ sig { params(total_revenue: Integer).void }
486
+ attr_writer :total_revenue
487
+
488
+ sig { returns(T.nilable(Integer)) }
489
+ attr_reader :tumblr_shares
490
+
491
+ sig { params(tumblr_shares: Integer).void }
492
+ attr_writer :tumblr_shares
493
+
494
+ sig { returns(T.nilable(Integer)) }
495
+ attr_reader :twitter_shares
496
+
497
+ sig { params(twitter_shares: Integer).void }
498
+ attr_writer :twitter_shares
499
+
500
+ sig { returns(T.nilable(Integer)) }
501
+ attr_reader :unique_impressions
502
+
503
+ sig { params(unique_impressions: Integer).void }
504
+ attr_writer :unique_impressions
505
+
506
+ sig { returns(T.nilable(Integer)) }
507
+ attr_reader :wechat_shares
508
+
509
+ sig { params(wechat_shares: Integer).void }
510
+ attr_writer :wechat_shares
511
+
512
+ sig { returns(T.nilable(Integer)) }
513
+ attr_reader :whats_app_shares
514
+
515
+ sig { params(whats_app_shares: Integer).void }
516
+ attr_writer :whats_app_shares
517
+
518
+ sig do
519
+ params(
520
+ android_native_shares: Integer,
521
+ bluesky_shares: Integer,
522
+ copy_ref_link_shares: Integer,
523
+ email_shares: Integer,
524
+ facebook_shares: Integer,
525
+ impressions: Integer,
526
+ invites: Integer,
527
+ ios_native_shares: Integer,
528
+ linked_in_shares: Integer,
529
+ messenger_shares: Integer,
530
+ participants: Integer,
531
+ period_start: Integer,
532
+ pinterest_shares: Integer,
533
+ qrcode_shares: Integer,
534
+ reddit_shares: Integer,
535
+ referral_credit_expireds: Integer,
536
+ referral_credit_pendings: Integer,
537
+ referrals: Integer,
538
+ sms_shares: Integer,
539
+ telegram_shares: Integer,
540
+ threads_shares: Integer,
541
+ total_commission_count: Integer,
542
+ total_commissions: Integer,
543
+ total_revenue: Integer,
544
+ tumblr_shares: Integer,
545
+ twitter_shares: Integer,
546
+ unique_impressions: Integer,
547
+ wechat_shares: Integer,
548
+ whats_app_shares: Integer
549
+ ).returns(T.attached_class)
550
+ end
551
+ def self.new(
552
+ android_native_shares: nil,
553
+ bluesky_shares: nil,
554
+ copy_ref_link_shares: nil,
555
+ email_shares: nil,
556
+ facebook_shares: nil,
557
+ impressions: nil,
558
+ invites: nil,
559
+ ios_native_shares: nil,
560
+ linked_in_shares: nil,
561
+ messenger_shares: nil,
562
+ participants: nil,
563
+ # Start of the period, as a Unix timestamp in milliseconds (UTC).
564
+ period_start: nil,
565
+ pinterest_shares: nil,
566
+ qrcode_shares: nil,
567
+ reddit_shares: nil,
568
+ referral_credit_expireds: nil,
569
+ referral_credit_pendings: nil,
570
+ referrals: nil,
571
+ sms_shares: nil,
572
+ telegram_shares: nil,
573
+ threads_shares: nil,
574
+ # Affiliate programs only. Number of commission records.
575
+ total_commission_count: nil,
576
+ # Affiliate programs only. Commissions in the smallest unit of the program
577
+ # currency.
578
+ total_commissions: nil,
579
+ # Affiliate programs only. Revenue in the smallest unit of the program currency.
580
+ total_revenue: nil,
581
+ tumblr_shares: nil,
582
+ twitter_shares: nil,
583
+ unique_impressions: nil,
584
+ wechat_shares: nil,
585
+ whats_app_shares: nil
586
+ )
587
+ end
588
+
589
+ sig do
590
+ override.returns(
591
+ {
592
+ android_native_shares: Integer,
593
+ bluesky_shares: Integer,
594
+ copy_ref_link_shares: Integer,
595
+ email_shares: Integer,
596
+ facebook_shares: Integer,
597
+ impressions: Integer,
598
+ invites: Integer,
599
+ ios_native_shares: Integer,
600
+ linked_in_shares: Integer,
601
+ messenger_shares: Integer,
602
+ participants: Integer,
603
+ period_start: Integer,
604
+ pinterest_shares: Integer,
605
+ qrcode_shares: Integer,
606
+ reddit_shares: Integer,
607
+ referral_credit_expireds: Integer,
608
+ referral_credit_pendings: Integer,
609
+ referrals: Integer,
610
+ sms_shares: Integer,
611
+ telegram_shares: Integer,
612
+ threads_shares: Integer,
613
+ total_commission_count: Integer,
614
+ total_commissions: Integer,
615
+ total_revenue: Integer,
616
+ tumblr_shares: Integer,
617
+ twitter_shares: Integer,
618
+ unique_impressions: Integer,
619
+ wechat_shares: Integer,
620
+ whats_app_shares: Integer
621
+ }
622
+ )
623
+ end
624
+ def to_hash
625
+ end
626
+ end
627
+ end
628
+ end
629
+ end
630
+ end
@@ -0,0 +1,56 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ParticipantBulkDeleteParams < 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::ParticipantBulkDeleteParams,
14
+ GrowsurfRuby::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ # GrowSurf participant IDs and/or email addresses to delete. Mixed entries are
22
+ # allowed.
23
+ sig { returns(T::Array[String]) }
24
+ attr_accessor :participants
25
+
26
+ sig do
27
+ params(
28
+ id: String,
29
+ participants: T::Array[String],
30
+ request_options: GrowsurfRuby::RequestOptions::OrHash
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(
34
+ id:,
35
+ # GrowSurf participant IDs and/or email addresses to delete. Mixed entries are
36
+ # allowed.
37
+ participants:,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ {
45
+ id: String,
46
+ participants: T::Array[String],
47
+ request_options: GrowsurfRuby::RequestOptions
48
+ }
49
+ )
50
+ end
51
+ def to_hash
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end