growsurf-ruby 1.3.0 → 1.5.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 (142) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -0
  3. data/README.md +10 -7
  4. data/lib/growsurf_ruby/internal/transport/base_client.rb +6 -1
  5. data/lib/growsurf_ruby/internal/type/base_model.rb +26 -0
  6. data/lib/growsurf_ruby/internal/type/base_page.rb +6 -0
  7. data/lib/growsurf_ruby/models/account_create_response.rb +3 -3
  8. data/lib/growsurf_ruby/models/analytics_availability.rb +16 -0
  9. data/lib/growsurf_ruby/models/analytics_unavailable_reason.rb +20 -0
  10. data/lib/growsurf_ruby/models/campaign/delete_program_resource_response.rb +12 -0
  11. data/lib/growsurf_ruby/models/campaign/integration.rb +69 -0
  12. data/lib/growsurf_ruby/models/campaign/integration_list_response.rb +24 -0
  13. data/lib/growsurf_ruby/models/campaign/participant_activation_analytics.rb +75 -0
  14. data/lib/growsurf_ruby/models/campaign/participant_analytics_response.rb +11 -0
  15. data/lib/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rb +17 -17
  16. data/lib/growsurf_ruby/models/campaign/participant_record_transaction_params.rb +9 -1
  17. data/lib/growsurf_ruby/models/campaign/participant_refund_transaction_params.rb +17 -1
  18. data/lib/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rb +8 -8
  19. data/lib/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rb +15 -11
  20. data/lib/growsurf_ruby/models/campaign/participant_reward.rb +16 -3
  21. data/lib/growsurf_ruby/models/campaign/program_resource.rb +51 -0
  22. data/lib/growsurf_ruby/models/campaign/program_resource_create_params.rb +32 -0
  23. data/lib/growsurf_ruby/models/campaign/program_resource_delete_params.rb +14 -0
  24. data/lib/growsurf_ruby/models/campaign/program_resource_list_response.rb +12 -0
  25. data/lib/growsurf_ruby/models/campaign/program_resource_update_params.rb +35 -0
  26. data/lib/growsurf_ruby/models/campaign/program_resource_upload_result.rb +33 -0
  27. data/lib/growsurf_ruby/models/campaign/program_resource_upload_ticket.rb +26 -0
  28. data/lib/growsurf_ruby/models/campaign/program_resource_upload_ticket_params.rb +17 -0
  29. data/lib/growsurf_ruby/models/campaign/reward.rb +22 -1
  30. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +32 -9
  31. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +32 -9
  32. data/lib/growsurf_ruby/models/campaign.rb +25 -2
  33. data/lib/growsurf_ruby/models/campaign_activation_analytics_response.rb +186 -0
  34. data/lib/growsurf_ruby/models/campaign_create_params.rb +37 -1
  35. data/lib/growsurf_ruby/models/campaign_engagement_analytics.rb +174 -0
  36. data/lib/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rb +35 -0
  37. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +37 -4
  38. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +3 -0
  39. data/lib/growsurf_ruby/models/commission_structure.rb +19 -3
  40. data/lib/growsurf_ruby/models/participant_commission_list.rb +24 -6
  41. data/lib/growsurf_ruby/models/participant_payout_list.rb +5 -5
  42. data/lib/growsurf_ruby/models.rb +7 -0
  43. data/lib/growsurf_ruby/resources/account.rb +17 -11
  44. data/lib/growsurf_ruby/resources/campaign/design.rb +11 -5
  45. data/lib/growsurf_ruby/resources/campaign/emails.rb +2 -1
  46. data/lib/growsurf_ruby/resources/campaign/integrations.rb +41 -0
  47. data/lib/growsurf_ruby/resources/campaign/participant.rb +28 -25
  48. data/lib/growsurf_ruby/resources/campaign/program_resources.rb +112 -0
  49. data/lib/growsurf_ruby/resources/campaign/rewards.rb +12 -6
  50. data/lib/growsurf_ruby/resources/campaign.rb +53 -7
  51. data/lib/growsurf_ruby/resources/team.rb +7 -5
  52. data/lib/growsurf_ruby/version.rb +1 -1
  53. data/lib/growsurf_ruby.rb +19 -0
  54. data/rbi/growsurf_ruby/internal/type/base_model.rbi +10 -0
  55. data/rbi/growsurf_ruby/internal/type/base_page.rbi +3 -0
  56. data/rbi/growsurf_ruby/models/analytics_availability.rbi +19 -0
  57. data/rbi/growsurf_ruby/models/analytics_unavailable_reason.rbi +23 -0
  58. data/rbi/growsurf_ruby/models/campaign/delete_program_resource_response.rbi +33 -0
  59. data/rbi/growsurf_ruby/models/campaign/integration.rbi +93 -0
  60. data/rbi/growsurf_ruby/models/campaign/integration_list_response.rbi +46 -0
  61. data/rbi/growsurf_ruby/models/campaign/participant_activation_analytics.rbi +133 -0
  62. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +35 -0
  63. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbi +17 -23
  64. data/rbi/growsurf_ruby/models/campaign/participant_record_transaction_params.rbi +18 -0
  65. data/rbi/growsurf_ruby/models/campaign/participant_refund_transaction_params.rbi +18 -0
  66. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbi +7 -9
  67. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +16 -10
  68. data/rbi/growsurf_ruby/models/campaign/participant_reward.rbi +29 -6
  69. data/rbi/growsurf_ruby/models/campaign/program_resource.rbi +186 -0
  70. data/rbi/growsurf_ruby/models/campaign/program_resource_create_params.rbi +95 -0
  71. data/rbi/growsurf_ruby/models/campaign/program_resource_delete_params.rbi +37 -0
  72. data/rbi/growsurf_ruby/models/campaign/program_resource_list_response.rbi +29 -0
  73. data/rbi/growsurf_ruby/models/campaign/program_resource_update_params.rbi +105 -0
  74. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_result.rbi +94 -0
  75. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_ticket.rbi +57 -0
  76. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_ticket_params.rbi +53 -0
  77. data/rbi/growsurf_ruby/models/campaign/reward.rbi +55 -0
  78. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +97 -24
  79. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +97 -24
  80. data/rbi/growsurf_ruby/models/campaign.rbi +52 -3
  81. data/rbi/growsurf_ruby/models/campaign_activation_analytics_response.rbi +325 -0
  82. data/rbi/growsurf_ruby/models/campaign_create_params.rbi +91 -0
  83. data/rbi/growsurf_ruby/models/campaign_engagement_analytics.rbi +369 -0
  84. data/rbi/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rbi +59 -0
  85. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +56 -3
  86. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +27 -7
  87. data/rbi/growsurf_ruby/models/commission_structure.rbi +36 -3
  88. data/rbi/growsurf_ruby/models/participant_commission_list.rbi +63 -15
  89. data/rbi/growsurf_ruby/models/participant_payout_list.rbi +15 -15
  90. data/rbi/growsurf_ruby/models.rbi +7 -0
  91. data/rbi/growsurf_ruby/resources/account.rbi +9 -6
  92. data/rbi/growsurf_ruby/resources/campaign/design.rbi +32 -4
  93. data/rbi/growsurf_ruby/resources/campaign/emails.rbi +2 -1
  94. data/rbi/growsurf_ruby/resources/campaign/integrations.rbi +35 -0
  95. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +38 -24
  96. data/rbi/growsurf_ruby/resources/campaign/program_resources.rbi +116 -0
  97. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +35 -16
  98. data/rbi/growsurf_ruby/resources/campaign.rbi +53 -5
  99. data/rbi/growsurf_ruby/resources/team.rbi +7 -5
  100. data/sig/growsurf_ruby/internal/type/base_model.rbs +6 -0
  101. data/sig/growsurf_ruby/internal/type/base_page.rbs +2 -0
  102. data/sig/growsurf_ruby/models/analytics_availability.rbs +15 -0
  103. data/sig/growsurf_ruby/models/analytics_unavailable_reason.rbs +26 -0
  104. data/sig/growsurf_ruby/models/campaign/delete_program_resource_response.rbs +14 -0
  105. data/sig/growsurf_ruby/models/campaign/integration.rbs +47 -0
  106. data/sig/growsurf_ruby/models/campaign/integration_list_response.rbs +20 -0
  107. data/sig/growsurf_ruby/models/campaign/participant_activation_analytics.rbs +96 -0
  108. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +22 -1
  109. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbs +17 -22
  110. data/sig/growsurf_ruby/models/campaign/participant_record_transaction_params.rbs +15 -1
  111. data/sig/growsurf_ruby/models/campaign/participant_refund_transaction_params.rbs +15 -1
  112. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbs +8 -10
  113. data/sig/growsurf_ruby/models/campaign/participant_reward.rbs +24 -9
  114. data/sig/growsurf_ruby/models/campaign/program_resource.rbs +94 -0
  115. data/sig/growsurf_ruby/models/campaign/program_resource_create_params.rbs +45 -0
  116. data/sig/growsurf_ruby/models/campaign/program_resource_delete_params.rbs +22 -0
  117. data/sig/growsurf_ruby/models/campaign/program_resource_list_response.rbs +14 -0
  118. data/sig/growsurf_ruby/models/campaign/program_resource_update_params.rbs +48 -0
  119. data/sig/growsurf_ruby/models/campaign/program_resource_upload_result.rbs +58 -0
  120. data/sig/growsurf_ruby/models/campaign/program_resource_upload_ticket.rbs +29 -0
  121. data/sig/growsurf_ruby/models/campaign/program_resource_upload_ticket_params.rbs +29 -0
  122. data/sig/growsurf_ruby/models/campaign/reward.rbs +16 -0
  123. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +54 -34
  124. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +54 -34
  125. data/sig/growsurf_ruby/models/campaign.rbs +23 -5
  126. data/sig/growsurf_ruby/models/campaign_activation_analytics_response.rbs +202 -0
  127. data/sig/growsurf_ruby/models/campaign_create_params.rbs +29 -0
  128. data/sig/growsurf_ruby/models/campaign_engagement_analytics.rbs +186 -0
  129. data/sig/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rbs +45 -0
  130. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +30 -1
  131. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +21 -3
  132. data/sig/growsurf_ruby/models/commission_structure.rbs +16 -4
  133. data/sig/growsurf_ruby/models/participant_commission_list.rbs +36 -20
  134. data/sig/growsurf_ruby/models/participant_payout_list.rbs +20 -20
  135. data/sig/growsurf_ruby/models.rbs +6 -0
  136. data/sig/growsurf_ruby/resources/campaign/design.rbs +19 -0
  137. data/sig/growsurf_ruby/resources/campaign/integrations.rbs +14 -0
  138. data/sig/growsurf_ruby/resources/campaign/participant.rbs +4 -0
  139. data/sig/growsurf_ruby/resources/campaign/program_resources.rbs +58 -0
  140. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +14 -12
  141. data/sig/growsurf_ruby/resources/campaign.rbs +17 -0
  142. metadata +59 -2
@@ -28,6 +28,23 @@ module GrowsurfRuby
28
28
  sig { returns(T::Hash[Symbol, Integer]) }
29
29
  attr_accessor :share_count
30
30
 
31
+ sig do
32
+ returns(
33
+ T.nilable(
34
+ GrowsurfRuby::Models::Campaign::ParticipantActivationAnalytics
35
+ )
36
+ )
37
+ end
38
+ attr_reader :activation
39
+
40
+ sig do
41
+ params(
42
+ activation:
43
+ GrowsurfRuby::Models::Campaign::ParticipantActivationAnalytics::OrHash
44
+ ).void
45
+ end
46
+ attr_writer :activation
47
+
31
48
  # Present only when `include` contains `series` or `email`. Window end (Unix ms).
32
49
  sig { returns(T.nilable(Integer)) }
33
50
  attr_reader :end_date
@@ -73,6 +90,8 @@ module GrowsurfRuby
73
90
  ranks:
74
91
  GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Ranks::OrHash,
75
92
  share_count: T::Hash[Symbol, Integer],
93
+ activation:
94
+ GrowsurfRuby::Models::Campaign::ParticipantActivationAnalytics::OrHash,
76
95
  end_date: Integer,
77
96
  series:
78
97
  T::Array[
@@ -86,6 +105,8 @@ module GrowsurfRuby
86
105
  ranks:,
87
106
  # Per-channel share counts (e.g. `email`, `facebook`, `twitter`, ...).
88
107
  share_count:,
108
+ # Present only when `include` contains `activation`.
109
+ activation: nil,
89
110
  # Present only when `include` contains `series` or `email`. Window end (Unix ms).
90
111
  end_date: nil,
91
112
  # Present only when `include=series`. This participant's own referral-link activity
@@ -105,6 +126,8 @@ module GrowsurfRuby
105
126
  ranks:
106
127
  GrowsurfRuby::Campaign::ParticipantAnalyticsResponse::Ranks,
107
128
  share_count: T::Hash[Symbol, Integer],
129
+ activation:
130
+ GrowsurfRuby::Models::Campaign::ParticipantActivationAnalytics,
108
131
  end_date: Integer,
109
132
  series:
110
133
  T::Array[
@@ -421,6 +444,9 @@ module GrowsurfRuby
421
444
  sig { params(pinterest_shares: Integer).void }
422
445
  attr_writer :pinterest_shares
423
446
 
447
+ sig { returns(T.nilable(Integer)) }
448
+ attr_accessor :portal_views
449
+
424
450
  sig { returns(T.nilable(Integer)) }
425
451
  attr_reader :qrcode_shares
426
452
 
@@ -457,6 +483,9 @@ module GrowsurfRuby
457
483
  sig { params(sms_shares: Integer).void }
458
484
  attr_writer :sms_shares
459
485
 
486
+ sig { returns(T.nilable(Integer)) }
487
+ attr_accessor :share_actions
488
+
460
489
  sig { returns(T.nilable(Integer)) }
461
490
  attr_reader :telegram_shares
462
491
 
@@ -542,12 +571,14 @@ module GrowsurfRuby
542
571
  participants: Integer,
543
572
  period_start: Integer,
544
573
  pinterest_shares: Integer,
574
+ portal_views: T.nilable(Integer),
545
575
  qrcode_shares: Integer,
546
576
  reddit_shares: Integer,
547
577
  referral_credit_expireds: Integer,
548
578
  referral_credit_pendings: Integer,
549
579
  referrals: Integer,
550
580
  sms_shares: Integer,
581
+ share_actions: T.nilable(Integer),
551
582
  telegram_shares: Integer,
552
583
  threads_shares: Integer,
553
584
  total_commission_count: Integer,
@@ -576,12 +607,14 @@ module GrowsurfRuby
576
607
  # Start of the period, as a Unix timestamp in milliseconds (UTC).
577
608
  period_start: nil,
578
609
  pinterest_shares: nil,
610
+ portal_views: nil,
579
611
  qrcode_shares: nil,
580
612
  reddit_shares: nil,
581
613
  referral_credit_expireds: nil,
582
614
  referral_credit_pendings: nil,
583
615
  referrals: nil,
584
616
  sms_shares: nil,
617
+ share_actions: nil,
585
618
  telegram_shares: nil,
586
619
  threads_shares: nil,
587
620
  # Affiliate programs only. Number of commission records.
@@ -616,12 +649,14 @@ module GrowsurfRuby
616
649
  participants: Integer,
617
650
  period_start: Integer,
618
651
  pinterest_shares: Integer,
652
+ portal_views: T.nilable(Integer),
619
653
  qrcode_shares: Integer,
620
654
  reddit_shares: Integer,
621
655
  referral_credit_expireds: Integer,
622
656
  referral_credit_pendings: Integer,
623
657
  referrals: Integer,
624
658
  sms_shares: Integer,
659
+ share_actions: T.nilable(Integer),
625
660
  telegram_shares: Integer,
626
661
  threads_shares: Integer,
627
662
  total_commission_count: Integer,
@@ -21,11 +21,9 @@ module GrowsurfRuby
21
21
  # for it.
22
22
  sig do
23
23
  returns(
24
- T.nilable(
25
- T::Array[
26
- GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination
27
- ]
28
- )
24
+ T::Array[
25
+ GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationResponse::Destination
26
+ ]
29
27
  )
30
28
  end
31
29
  attr_reader :destinations
@@ -42,11 +40,7 @@ module GrowsurfRuby
42
40
 
43
41
  # The payout providers enabled for this program.
44
42
  sig do
45
- returns(
46
- T.nilable(
47
- T::Array[String]
48
- )
49
- )
43
+ returns(T::Array[String])
50
44
  end
51
45
  attr_reader :enabled_providers
52
46
 
@@ -71,12 +65,12 @@ module GrowsurfRuby
71
65
  def self.new(
72
66
  # The provider that currently gets paid, or null until the participant confirms
73
67
  # one.
74
- active_provider: nil,
68
+ active_provider:,
75
69
  # One entry per enabled payout provider describing the participant's destination
76
70
  # for it.
77
- destinations: nil,
71
+ destinations:,
78
72
  # The payout providers enabled for this program.
79
- enabled_providers: nil
73
+ enabled_providers:
80
74
  )
81
75
  end
82
76
 
@@ -127,14 +121,14 @@ module GrowsurfRuby
127
121
  attr_accessor :needs_repair_reason
128
122
 
129
123
  # The payout provider this entry describes.
130
- sig { returns(T.nilable(String)) }
124
+ sig { returns(String) }
131
125
  attr_reader :provider
132
126
 
133
127
  sig { params(provider: String).void }
134
128
  attr_writer :provider
135
129
 
136
130
  # The customer-facing provider name (e.g. "PayPal", "Wise").
137
- sig { returns(T.nilable(String)) }
131
+ sig { returns(String) }
138
132
  attr_reader :provider_display_name
139
133
 
140
134
  sig { params(provider_display_name: String).void }
@@ -143,7 +137,7 @@ module GrowsurfRuby
143
137
  # The destination's current status: `NONE` (not set up), `PENDING_CONFIRMATION`,
144
138
  # `CONFIRMED`, `ACTIVE`, `NEEDS_REPAIR`, or `EXPIRED`. Historical superseded
145
139
  # or revoked destinations are projected as `NONE`.
146
- sig { returns(T.nilable(String)) }
140
+ sig { returns(String) }
147
141
  attr_reader :status
148
142
 
149
143
  sig { params(status: String).void }
@@ -165,21 +159,21 @@ module GrowsurfRuby
165
159
  end
166
160
  def self.new(
167
161
  # The confirmed payout email for this provider.
168
- claim_email: nil,
162
+ claim_email:,
169
163
  # When the destination was confirmed, as a Unix timestamp in milliseconds.
170
- confirmed_at: nil,
164
+ confirmed_at:,
171
165
  # The legal recipient type the participant confirmed, if any.
172
- legal_entity_type: nil,
166
+ legal_entity_type:,
173
167
  # When status is `NEEDS_REPAIR`, why (e.g. a bounced delivery).
174
- needs_repair_reason: nil,
168
+ needs_repair_reason:,
175
169
  # The payout provider this entry describes.
176
- provider: nil,
170
+ provider:,
177
171
  # The customer-facing provider name (e.g. "PayPal", "Wise").
178
- provider_display_name: nil,
172
+ provider_display_name:,
179
173
  # The destination's current status: `NONE` (not set up), `PENDING_CONFIRMATION`,
180
174
  # `CONFIRMED`, `ACTIVE`, `NEEDS_REPAIR`, or `EXPIRED`. Historical superseded
181
175
  # or revoked destinations are projected as `NONE`.
182
- status: nil
176
+ status:
183
177
  )
184
178
  end
185
179
 
@@ -155,6 +155,18 @@ module GrowsurfRuby
155
155
  sig { params(transaction_id: String).void }
156
156
  attr_writer :transaction_id
157
157
 
158
+ sig { returns(T.nilable(String)) }
159
+ attr_reader :payment_provider
160
+
161
+ sig { params(payment_provider: String).void }
162
+ attr_writer :payment_provider
163
+
164
+ sig { returns(T.nilable(T::Boolean)) }
165
+ attr_reader :test_mode
166
+
167
+ sig { params(test_mode: T::Boolean).void }
168
+ attr_writer :test_mode
169
+
158
170
  sig do
159
171
  params(
160
172
  id: String,
@@ -182,6 +194,8 @@ module GrowsurfRuby
182
194
  total_tax_amounts: T::Array[T::Hash[Symbol, T.anything]],
183
195
  total_taxes: T::Array[T::Hash[Symbol, T.anything]],
184
196
  transaction_id: String,
197
+ payment_provider: String,
198
+ test_mode: T::Boolean,
185
199
  request_options: GrowsurfRuby::RequestOptions::OrHash
186
200
  ).returns(T.attached_class)
187
201
  end
@@ -211,6 +225,8 @@ module GrowsurfRuby
211
225
  total_tax_amounts: nil,
212
226
  total_taxes: nil,
213
227
  transaction_id: nil,
228
+ payment_provider: nil,
229
+ test_mode: nil,
214
230
  request_options: {}
215
231
  )
216
232
  end
@@ -243,6 +259,8 @@ module GrowsurfRuby
243
259
  total_tax_amounts: T::Array[T::Hash[Symbol, T.anything]],
244
260
  total_taxes: T::Array[T::Hash[Symbol, T.anything]],
245
261
  transaction_id: String,
262
+ payment_provider: String,
263
+ test_mode: T::Boolean,
246
264
  request_options: GrowsurfRuby::RequestOptions
247
265
  }
248
266
  )
@@ -122,6 +122,18 @@ module GrowsurfRuby
122
122
  sig { params(transaction_id: String).void }
123
123
  attr_writer :transaction_id
124
124
 
125
+ sig { returns(T.nilable(String)) }
126
+ attr_reader :payment_provider
127
+
128
+ sig { params(payment_provider: String).void }
129
+ attr_writer :payment_provider
130
+
131
+ sig { returns(T.nilable(T::Boolean)) }
132
+ attr_reader :test_mode
133
+
134
+ sig { params(test_mode: T::Boolean).void }
135
+ attr_writer :test_mode
136
+
125
137
  sig do
126
138
  params(
127
139
  id: String,
@@ -142,6 +154,8 @@ module GrowsurfRuby
142
154
  refund_id: String,
143
155
  refund_status: String,
144
156
  transaction_id: String,
157
+ payment_provider: String,
158
+ test_mode: T::Boolean,
145
159
  request_options: GrowsurfRuby::RequestOptions::OrHash
146
160
  ).returns(T.attached_class)
147
161
  end
@@ -163,6 +177,8 @@ module GrowsurfRuby
163
177
  refund_id: nil,
164
178
  refund_status: nil,
165
179
  transaction_id: nil,
180
+ payment_provider: nil,
181
+ test_mode: nil,
166
182
  request_options: {}
167
183
  )
168
184
  end
@@ -188,6 +204,8 @@ module GrowsurfRuby
188
204
  refund_id: String,
189
205
  refund_status: String,
190
206
  transaction_id: String,
207
+ payment_provider: String,
208
+ test_mode: T::Boolean,
191
209
  request_options: GrowsurfRuby::RequestOptions
192
210
  }
193
211
  )
@@ -17,14 +17,14 @@ module GrowsurfRuby
17
17
  attr_accessor :expires_at
18
18
 
19
19
  # The provider the participant was asked to confirm.
20
- sig { returns(T.nilable(String)) }
20
+ sig { returns(String) }
21
21
  attr_reader :provider
22
22
 
23
23
  sig { params(provider: String).void }
24
24
  attr_writer :provider
25
25
 
26
26
  # The customer-facing provider name (e.g. "PayPal", "Wise").
27
- sig { returns(T.nilable(String)) }
27
+ sig { returns(String) }
28
28
  attr_reader :provider_display_name
29
29
 
30
30
  sig { params(provider_display_name: String).void }
@@ -33,9 +33,7 @@ module GrowsurfRuby
33
33
  # Confirms the message was requested.
34
34
  sig do
35
35
  returns(
36
- T.nilable(
37
- GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status::OrSymbol
38
- )
36
+ GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status::OrSymbol
39
37
  )
40
38
  end
41
39
  attr_reader :status
@@ -59,13 +57,13 @@ module GrowsurfRuby
59
57
  end
60
58
  def self.new(
61
59
  # When the confirmation link expires, as a Unix timestamp in milliseconds.
62
- expires_at: nil,
60
+ expires_at:,
63
61
  # The provider the participant was asked to confirm.
64
- provider: nil,
62
+ provider:,
65
63
  # The customer-facing provider name (e.g. "PayPal", "Wise").
66
- provider_display_name: nil,
64
+ provider_display_name:,
67
65
  # Confirms the message was requested.
68
- status: nil
66
+ status:
69
67
  )
70
68
  end
71
69
 
@@ -21,15 +21,17 @@ module GrowsurfRuby
21
21
  sig { returns(String) }
22
22
  attr_accessor :participant_id_or_email
23
23
 
24
- # Last number of days to retrieve analytics for. Defaults to 365. Maximum 1825.
24
+ # Last number of days for optional `series` and `email` analytics. Defaults to 365.
25
+ # Maximum 1825. Does not filter the top-level all-time totals.
25
26
  sig { returns(T.nilable(Integer)) }
26
27
  attr_reader :days
27
28
 
28
29
  sig { params(days: Integer).void }
29
30
  attr_writer :days
30
31
 
31
- # End date of the analytics timeframe as a Unix timestamp in milliseconds.
32
- # Required if `days` is not set.
32
+ # End of a custom `series` and `email` analytics window as a Unix timestamp in
33
+ # milliseconds. Set it together with `startDate`. Does not filter the top-level
34
+ # all-time totals.
33
35
  sig { returns(T.nilable(Integer)) }
34
36
  attr_reader :end_date
35
37
 
@@ -67,8 +69,9 @@ module GrowsurfRuby
67
69
  end
68
70
  attr_writer :interval
69
71
 
70
- # Start date of the analytics timeframe as a Unix timestamp in milliseconds.
71
- # Required if `days` is not set.
72
+ # Start of a custom `series` and `email` analytics window as a Unix timestamp in
73
+ # milliseconds. Set it together with `endDate`. Does not filter the top-level
74
+ # all-time totals.
72
75
  sig { returns(T.nilable(Integer)) }
73
76
  attr_reader :start_date
74
77
 
@@ -91,10 +94,12 @@ module GrowsurfRuby
91
94
  def self.new(
92
95
  id:,
93
96
  participant_id_or_email:,
94
- # Last number of days to retrieve analytics for. Defaults to 365. Maximum 1825.
97
+ # Last number of days for optional `series` and `email` analytics. Defaults to 365.
98
+ # Maximum 1825. Does not filter the top-level all-time totals.
95
99
  days: nil,
96
- # End date of the analytics timeframe as a Unix timestamp in milliseconds.
97
- # Required if `days` is not set.
100
+ # End of a custom `series` and `email` analytics window as a Unix timestamp in
101
+ # milliseconds. Set it together with `startDate`. Does not filter the top-level
102
+ # all-time totals.
98
103
  end_date: nil,
99
104
  # Comma-separated optional data. `series` returns this participant's own activity per
100
105
  # period; `email` returns `sent`, `delivered`, `opened`, `clicked`, `bounced`,
@@ -106,8 +111,9 @@ module GrowsurfRuby
106
111
  # Bucket size for the `series` (only used when `include` contains `series`). Defaults to
107
112
  # `day`.
108
113
  interval: nil,
109
- # Start date of the analytics timeframe as a Unix timestamp in milliseconds.
110
- # Required if `days` is not set.
114
+ # Start of a custom `series` and `email` analytics window as a Unix timestamp in
115
+ # milliseconds. Set it together with `endDate`. Does not filter the top-level
116
+ # all-time totals.
111
117
  start_date: nil,
112
118
  request_options: {}
113
119
  )
@@ -34,9 +34,15 @@ module GrowsurfRuby
34
34
  sig { returns(T.nilable(Integer)) }
35
35
  attr_reader :approved_at
36
36
 
37
- sig { params(approved_at: Integer).void }
37
+ sig { params(approved_at: T.nilable(Integer)).void }
38
38
  attr_writer :approved_at
39
39
 
40
+ sig { returns(T.nilable(Float)) }
41
+ attr_reader :amount
42
+
43
+ sig { params(amount: T.nilable(Float)).void }
44
+ attr_writer :amount
45
+
40
46
  sig { returns(T.nilable(GrowsurfRuby::CommissionStructure)) }
41
47
  attr_reader :commission_structure
42
48
 
@@ -48,10 +54,16 @@ module GrowsurfRuby
48
54
  end
49
55
  attr_writer :commission_structure
50
56
 
57
+ sig { returns(T.nilable(String)) }
58
+ attr_reader :currency_iso
59
+
60
+ sig { params(currency_iso: T.nilable(String)).void }
61
+ attr_writer :currency_iso
62
+
51
63
  sig { returns(T.nilable(Integer)) }
52
64
  attr_reader :fulfilled_at
53
65
 
54
- sig { params(fulfilled_at: Integer).void }
66
+ sig { params(fulfilled_at: T.nilable(Integer)).void }
55
67
  attr_writer :fulfilled_at
56
68
 
57
69
  sig { returns(T.nilable(T::Boolean)) }
@@ -96,10 +108,12 @@ module GrowsurfRuby
96
108
  reward_id: String,
97
109
  status: GrowsurfRuby::Campaign::ParticipantReward::Status::OrSymbol,
98
110
  approved: T::Boolean,
99
- approved_at: Integer,
111
+ approved_at: T.nilable(Integer),
112
+ amount: T.nilable(Float),
100
113
  commission_structure:
101
114
  T.nilable(GrowsurfRuby::CommissionStructure::OrHash),
102
- fulfilled_at: Integer,
115
+ currency_iso: T.nilable(String),
116
+ fulfilled_at: T.nilable(Integer),
103
117
  is_available: T::Boolean,
104
118
  is_fulfilled: T::Boolean,
105
119
  is_referrer: T::Boolean,
@@ -114,7 +128,9 @@ module GrowsurfRuby
114
128
  status:,
115
129
  approved: nil,
116
130
  approved_at: nil,
131
+ amount: nil,
117
132
  commission_structure: nil,
133
+ currency_iso: nil,
118
134
  fulfilled_at: nil,
119
135
  is_available: nil,
120
136
  is_fulfilled: nil,
@@ -133,10 +149,12 @@ module GrowsurfRuby
133
149
  status:
134
150
  GrowsurfRuby::Campaign::ParticipantReward::Status::TaggedSymbol,
135
151
  approved: T::Boolean,
136
- approved_at: Integer,
152
+ approved_at: T.nilable(Integer),
153
+ amount: T.nilable(Float),
137
154
  commission_structure:
138
155
  T.nilable(GrowsurfRuby::CommissionStructure),
139
- fulfilled_at: Integer,
156
+ currency_iso: T.nilable(String),
157
+ fulfilled_at: T.nilable(Integer),
140
158
  is_available: T::Boolean,
141
159
  is_fulfilled: T::Boolean,
142
160
  is_referrer: T::Boolean,
@@ -168,6 +186,11 @@ module GrowsurfRuby
168
186
  :FULFILLED,
169
187
  GrowsurfRuby::Campaign::ParticipantReward::Status::TaggedSymbol
170
188
  )
189
+ CANCELLED =
190
+ T.let(
191
+ :CANCELLED,
192
+ GrowsurfRuby::Campaign::ParticipantReward::Status::TaggedSymbol
193
+ )
171
194
 
172
195
  sig do
173
196
  override.returns(
@@ -0,0 +1,186 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ProgramResourceFile < GrowsurfRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(ProgramResourceFile, GrowsurfRuby::Internal::AnyHash)
10
+ end
11
+
12
+ sig { returns(String) }
13
+ attr_accessor :file_name
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :mime_type
17
+
18
+ sig { returns(Integer) }
19
+ attr_accessor :bytes
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :format
23
+
24
+ sig { returns(ModerationStatus::TaggedSymbol) }
25
+ attr_accessor :moderation_status
26
+
27
+ sig do
28
+ params(
29
+ file_name: String,
30
+ mime_type: String,
31
+ bytes: Integer,
32
+ format: String,
33
+ moderation_status: ModerationStatus::OrSymbol
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(
37
+ file_name:,
38
+ mime_type:,
39
+ bytes:,
40
+ format:,
41
+ moderation_status:
42
+ )
43
+ end
44
+
45
+ sig do
46
+ override.returns(
47
+ {
48
+ file_name: String,
49
+ mime_type: String,
50
+ bytes: Integer,
51
+ format: String,
52
+ moderation_status: ModerationStatus::TaggedSymbol
53
+ }
54
+ )
55
+ end
56
+ def to_hash
57
+ end
58
+
59
+ module ModerationStatus
60
+ extend GrowsurfRuby::Internal::Type::Enum
61
+
62
+ TaggedSymbol = T.type_alias { T.all(Symbol, ModerationStatus) }
63
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
64
+ PENDING = T.let(:PENDING, TaggedSymbol)
65
+ APPROVED = T.let(:APPROVED, TaggedSymbol)
66
+ REJECTED = T.let(:REJECTED, TaggedSymbol)
67
+ sig { override.returns(T::Array[TaggedSymbol]) }
68
+ def self.values
69
+ end
70
+ end
71
+ end
72
+
73
+ class ProgramResource < GrowsurfRuby::Internal::Type::BaseModel
74
+ OrHash =
75
+ T.type_alias do
76
+ T.any(ProgramResource, GrowsurfRuby::Internal::AnyHash)
77
+ end
78
+
79
+ sig { returns(String) }
80
+ attr_accessor :id
81
+
82
+ sig { returns(Type::TaggedSymbol) }
83
+ attr_accessor :type
84
+
85
+ sig { returns(String) }
86
+ attr_accessor :title
87
+
88
+ sig { returns(T.nilable(String)) }
89
+ attr_accessor :description
90
+
91
+ sig { returns(T.nilable(String)) }
92
+ attr_accessor :category
93
+
94
+ sig { returns(T.nilable(String)) }
95
+ attr_accessor :url
96
+
97
+ sig { returns(T.nilable(String)) }
98
+ attr_accessor :text
99
+
100
+ sig { returns(T.nilable(ProgramResourceFile)) }
101
+ attr_reader :file
102
+
103
+ sig { params(file: T.nilable(ProgramResourceFile::OrHash)).void }
104
+ attr_writer :file
105
+
106
+ sig { returns(T::Boolean) }
107
+ attr_accessor :is_published
108
+
109
+ sig { returns(Integer) }
110
+ attr_accessor :position
111
+
112
+ sig { returns(Integer) }
113
+ attr_accessor :created_at
114
+
115
+ sig { returns(Integer) }
116
+ attr_accessor :updated_at
117
+
118
+ sig do
119
+ params(
120
+ id: String,
121
+ type: Type::OrSymbol,
122
+ title: String,
123
+ description: T.nilable(String),
124
+ category: T.nilable(String),
125
+ url: T.nilable(String),
126
+ text: T.nilable(String),
127
+ file: T.nilable(ProgramResourceFile::OrHash),
128
+ is_published: T::Boolean,
129
+ position: Integer,
130
+ created_at: Integer,
131
+ updated_at: Integer
132
+ ).returns(T.attached_class)
133
+ end
134
+ def self.new(
135
+ id:,
136
+ type:,
137
+ title:,
138
+ description:,
139
+ category:,
140
+ url:,
141
+ text:,
142
+ file:,
143
+ is_published:,
144
+ position:,
145
+ created_at:,
146
+ updated_at:
147
+ )
148
+ end
149
+
150
+ sig do
151
+ override.returns(
152
+ {
153
+ id: String,
154
+ type: Type::TaggedSymbol,
155
+ title: String,
156
+ description: T.nilable(String),
157
+ category: T.nilable(String),
158
+ url: T.nilable(String),
159
+ text: T.nilable(String),
160
+ file: T.nilable(ProgramResourceFile),
161
+ is_published: T::Boolean,
162
+ position: Integer,
163
+ created_at: Integer,
164
+ updated_at: Integer
165
+ }
166
+ )
167
+ end
168
+ def to_hash
169
+ end
170
+
171
+ module Type
172
+ extend GrowsurfRuby::Internal::Type::Enum
173
+
174
+ TaggedSymbol = T.type_alias { T.all(Symbol, Type) }
175
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
176
+ FILE = T.let(:FILE, TaggedSymbol)
177
+ LINK = T.let(:LINK, TaggedSymbol)
178
+ TEXT = T.let(:TEXT, TaggedSymbol)
179
+ sig { override.returns(T::Array[TaggedSymbol]) }
180
+ def self.values
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end
186
+ end