growsurf-ruby 1.4.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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -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 +4 -3
  20. data/lib/growsurf_ruby/models/campaign/participant_reward.rb +15 -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_create_params.rb +9 -8
  30. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +9 -8
  31. data/lib/growsurf_ruby/models/campaign.rb +3 -1
  32. data/lib/growsurf_ruby/models/campaign_activation_analytics_response.rb +186 -0
  33. data/lib/growsurf_ruby/models/campaign_create_params.rb +37 -1
  34. data/lib/growsurf_ruby/models/campaign_engagement_analytics.rb +174 -0
  35. data/lib/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rb +35 -0
  36. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +37 -4
  37. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +3 -0
  38. data/lib/growsurf_ruby/models/commission_structure.rb +4 -1
  39. data/lib/growsurf_ruby/models/participant_commission_list.rb +5 -5
  40. data/lib/growsurf_ruby/models/participant_payout_list.rb +5 -5
  41. data/lib/growsurf_ruby/models.rb +7 -0
  42. data/lib/growsurf_ruby/resources/account.rb +17 -11
  43. data/lib/growsurf_ruby/resources/campaign/design.rb +11 -5
  44. data/lib/growsurf_ruby/resources/campaign/emails.rb +2 -1
  45. data/lib/growsurf_ruby/resources/campaign/integrations.rb +41 -0
  46. data/lib/growsurf_ruby/resources/campaign/participant.rb +25 -24
  47. data/lib/growsurf_ruby/resources/campaign/program_resources.rb +112 -0
  48. data/lib/growsurf_ruby/resources/campaign/rewards.rb +6 -4
  49. data/lib/growsurf_ruby/resources/campaign.rb +53 -7
  50. data/lib/growsurf_ruby/resources/team.rb +7 -5
  51. data/lib/growsurf_ruby/version.rb +1 -1
  52. data/lib/growsurf_ruby.rb +19 -0
  53. data/rbi/growsurf_ruby/internal/type/base_model.rbi +10 -0
  54. data/rbi/growsurf_ruby/internal/type/base_page.rbi +3 -0
  55. data/rbi/growsurf_ruby/models/analytics_availability.rbi +19 -0
  56. data/rbi/growsurf_ruby/models/analytics_unavailable_reason.rbi +23 -0
  57. data/rbi/growsurf_ruby/models/campaign/delete_program_resource_response.rbi +33 -0
  58. data/rbi/growsurf_ruby/models/campaign/integration.rbi +93 -0
  59. data/rbi/growsurf_ruby/models/campaign/integration_list_response.rbi +46 -0
  60. data/rbi/growsurf_ruby/models/campaign/participant_activation_analytics.rbi +133 -0
  61. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +35 -0
  62. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbi +17 -23
  63. data/rbi/growsurf_ruby/models/campaign/participant_record_transaction_params.rbi +18 -0
  64. data/rbi/growsurf_ruby/models/campaign/participant_refund_transaction_params.rbi +18 -0
  65. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbi +7 -9
  66. data/rbi/growsurf_ruby/models/campaign/participant_reward.rbi +24 -6
  67. data/rbi/growsurf_ruby/models/campaign/program_resource.rbi +186 -0
  68. data/rbi/growsurf_ruby/models/campaign/program_resource_create_params.rbi +95 -0
  69. data/rbi/growsurf_ruby/models/campaign/program_resource_delete_params.rbi +37 -0
  70. data/rbi/growsurf_ruby/models/campaign/program_resource_list_response.rbi +29 -0
  71. data/rbi/growsurf_ruby/models/campaign/program_resource_update_params.rbi +105 -0
  72. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_result.rbi +94 -0
  73. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_ticket.rbi +57 -0
  74. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_ticket_params.rbi +53 -0
  75. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +33 -24
  76. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +33 -24
  77. data/rbi/growsurf_ruby/models/campaign.rbi +6 -3
  78. data/rbi/growsurf_ruby/models/campaign_activation_analytics_response.rbi +325 -0
  79. data/rbi/growsurf_ruby/models/campaign_create_params.rbi +91 -0
  80. data/rbi/growsurf_ruby/models/campaign_engagement_analytics.rbi +369 -0
  81. data/rbi/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rbi +59 -0
  82. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +56 -3
  83. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +27 -7
  84. data/rbi/growsurf_ruby/models/commission_structure.rbi +3 -1
  85. data/rbi/growsurf_ruby/models/participant_commission_list.rbi +15 -15
  86. data/rbi/growsurf_ruby/models/participant_payout_list.rbi +15 -15
  87. data/rbi/growsurf_ruby/models.rbi +7 -0
  88. data/rbi/growsurf_ruby/resources/account.rbi +9 -6
  89. data/rbi/growsurf_ruby/resources/campaign/design.rbi +32 -4
  90. data/rbi/growsurf_ruby/resources/campaign/emails.rbi +2 -1
  91. data/rbi/growsurf_ruby/resources/campaign/integrations.rbi +35 -0
  92. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +27 -18
  93. data/rbi/growsurf_ruby/resources/campaign/program_resources.rbi +116 -0
  94. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +21 -16
  95. data/rbi/growsurf_ruby/resources/campaign.rbi +53 -5
  96. data/rbi/growsurf_ruby/resources/team.rbi +7 -5
  97. data/sig/growsurf_ruby/internal/type/base_model.rbs +6 -0
  98. data/sig/growsurf_ruby/internal/type/base_page.rbs +2 -0
  99. data/sig/growsurf_ruby/models/analytics_availability.rbs +15 -0
  100. data/sig/growsurf_ruby/models/analytics_unavailable_reason.rbs +26 -0
  101. data/sig/growsurf_ruby/models/campaign/delete_program_resource_response.rbs +14 -0
  102. data/sig/growsurf_ruby/models/campaign/integration.rbs +47 -0
  103. data/sig/growsurf_ruby/models/campaign/integration_list_response.rbs +20 -0
  104. data/sig/growsurf_ruby/models/campaign/participant_activation_analytics.rbs +96 -0
  105. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +22 -1
  106. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbs +17 -22
  107. data/sig/growsurf_ruby/models/campaign/participant_record_transaction_params.rbs +15 -1
  108. data/sig/growsurf_ruby/models/campaign/participant_refund_transaction_params.rbs +15 -1
  109. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbs +8 -10
  110. data/sig/growsurf_ruby/models/campaign/participant_reward.rbs +22 -8
  111. data/sig/growsurf_ruby/models/campaign/program_resource.rbs +94 -0
  112. data/sig/growsurf_ruby/models/campaign/program_resource_create_params.rbs +45 -0
  113. data/sig/growsurf_ruby/models/campaign/program_resource_delete_params.rbs +22 -0
  114. data/sig/growsurf_ruby/models/campaign/program_resource_list_response.rbs +14 -0
  115. data/sig/growsurf_ruby/models/campaign/program_resource_update_params.rbs +48 -0
  116. data/sig/growsurf_ruby/models/campaign/program_resource_upload_result.rbs +58 -0
  117. data/sig/growsurf_ruby/models/campaign/program_resource_upload_ticket.rbs +29 -0
  118. data/sig/growsurf_ruby/models/campaign/program_resource_upload_ticket_params.rbs +29 -0
  119. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +34 -34
  120. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +34 -34
  121. data/sig/growsurf_ruby/models/campaign.rbs +7 -5
  122. data/sig/growsurf_ruby/models/campaign_activation_analytics_response.rbs +202 -0
  123. data/sig/growsurf_ruby/models/campaign_create_params.rbs +29 -0
  124. data/sig/growsurf_ruby/models/campaign_engagement_analytics.rbs +186 -0
  125. data/sig/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rbs +45 -0
  126. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +30 -1
  127. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +21 -3
  128. data/sig/growsurf_ruby/models/participant_commission_list.rbs +20 -20
  129. data/sig/growsurf_ruby/models/participant_payout_list.rbs +20 -20
  130. data/sig/growsurf_ruby/models.rbs +6 -0
  131. data/sig/growsurf_ruby/resources/campaign/design.rbs +19 -0
  132. data/sig/growsurf_ruby/resources/campaign/integrations.rbs +14 -0
  133. data/sig/growsurf_ruby/resources/campaign/participant.rbs +4 -0
  134. data/sig/growsurf_ruby/resources/campaign/program_resources.rbs +58 -0
  135. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +12 -12
  136. data/sig/growsurf_ruby/resources/campaign.rbs +17 -0
  137. metadata +59 -2
@@ -44,7 +44,7 @@ module GrowsurfRuby
44
44
  sig { returns(T.nilable(String)) }
45
45
  attr_reader :coupon_code
46
46
 
47
- sig { params(coupon_code: String).void }
47
+ sig { params(coupon_code: T.nilable(String)).void }
48
48
  attr_writer :coupon_code
49
49
 
50
50
  sig { returns(T.nilable(String)) }
@@ -77,7 +77,7 @@ module GrowsurfRuby
77
77
  sig { returns(T.nilable(String)) }
78
78
  attr_reader :image_url
79
79
 
80
- sig { params(image_url: String).void }
80
+ sig { params(image_url: T.nilable(String)).void }
81
81
  attr_writer :image_url
82
82
 
83
83
  # Whether the reward can be earned an unlimited number of times. Defaults to
@@ -131,7 +131,7 @@ module GrowsurfRuby
131
131
  sig { returns(T.nilable(String)) }
132
132
  attr_reader :next_milestone_prefix
133
133
 
134
- sig { params(next_milestone_prefix: String).void }
134
+ sig { params(next_milestone_prefix: T.nilable(String)).void }
135
135
  attr_writer :next_milestone_prefix
136
136
 
137
137
  # Text shown after a participant's referral count in milestone-progress copy.
@@ -139,7 +139,7 @@ module GrowsurfRuby
139
139
  sig { returns(T.nilable(String)) }
140
140
  attr_reader :next_milestone_suffix
141
141
 
142
- sig { params(next_milestone_suffix: String).void }
142
+ sig { params(next_milestone_suffix: T.nilable(String)).void }
143
143
  attr_writer :next_milestone_suffix
144
144
 
145
145
  # The number of winners (`LEADERBOARD` rewards only). With `limitDuration`
@@ -163,13 +163,13 @@ module GrowsurfRuby
163
163
  sig { returns(T.nilable(String)) }
164
164
  attr_reader :referral_coupon_code
165
165
 
166
- sig { params(referral_coupon_code: String).void }
166
+ sig { params(referral_coupon_code: T.nilable(String)).void }
167
167
  attr_writer :referral_coupon_code
168
168
 
169
169
  sig { returns(T.nilable(String)) }
170
170
  attr_reader :referral_description
171
171
 
172
- sig { params(referral_description: String).void }
172
+ sig { params(referral_description: T.nilable(String)).void }
173
173
  attr_writer :referral_description
174
174
 
175
175
  sig { returns(T.nilable(T::Boolean)) }
@@ -184,7 +184,10 @@ module GrowsurfRuby
184
184
  attr_reader :referred_value
185
185
 
186
186
  sig do
187
- params(referred_value: GrowsurfRuby::RewardTaxValuation::OrHash).void
187
+ params(
188
+ referred_value:
189
+ T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash)
190
+ ).void
188
191
  end
189
192
  attr_writer :referred_value
190
193
 
@@ -199,7 +202,11 @@ module GrowsurfRuby
199
202
  sig { returns(T.nilable(GrowsurfRuby::RewardTaxValuation)) }
200
203
  attr_reader :value
201
204
 
202
- sig { params(value: GrowsurfRuby::RewardTaxValuation::OrHash).void }
205
+ sig do
206
+ params(
207
+ value: T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash)
208
+ ).void
209
+ end
203
210
  attr_writer :value
204
211
 
205
212
  sig do
@@ -208,27 +215,28 @@ module GrowsurfRuby
208
215
  GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::OrSymbol,
209
216
  commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
210
217
  conversions_required: Integer,
211
- coupon_code: String,
218
+ coupon_code: T.nilable(String),
212
219
  description: String,
213
220
  event:
214
221
  GrowsurfRuby::Models::Campaign::RewardCreateParams::Event::OrSymbol,
215
- image_url: String,
222
+ image_url: T.nilable(String),
216
223
  is_unlimited: T::Boolean,
217
224
  is_visible: T::Boolean,
218
225
  limit: Integer,
219
226
  limit_duration:
220
227
  GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::OrSymbol,
221
228
  metadata: T::Hash[Symbol, T.anything],
222
- next_milestone_prefix: String,
223
- next_milestone_suffix: String,
229
+ next_milestone_prefix: T.nilable(String),
230
+ next_milestone_suffix: T.nilable(String),
224
231
  number_of_winners: Integer,
225
232
  order: Integer,
226
- referral_coupon_code: String,
227
- referral_description: String,
233
+ referral_coupon_code: T.nilable(String),
234
+ referral_description: T.nilable(String),
228
235
  referred_reward_upfront: T::Boolean,
229
- referred_value: GrowsurfRuby::RewardTaxValuation::OrHash,
236
+ referred_value:
237
+ T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash),
230
238
  title: String,
231
- value: GrowsurfRuby::RewardTaxValuation::OrHash,
239
+ value: T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash),
232
240
  request_options: GrowsurfRuby::RequestOptions::OrHash
233
241
  ).returns(T.attached_class)
234
242
  end
@@ -292,27 +300,28 @@ module GrowsurfRuby
292
300
  GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::OrSymbol,
293
301
  commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
294
302
  conversions_required: Integer,
295
- coupon_code: String,
303
+ coupon_code: T.nilable(String),
296
304
  description: String,
297
305
  event:
298
306
  GrowsurfRuby::Models::Campaign::RewardCreateParams::Event::OrSymbol,
299
- image_url: String,
307
+ image_url: T.nilable(String),
300
308
  is_unlimited: T::Boolean,
301
309
  is_visible: T::Boolean,
302
310
  limit: Integer,
303
311
  limit_duration:
304
312
  GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::OrSymbol,
305
313
  metadata: T::Hash[Symbol, T.anything],
306
- next_milestone_prefix: String,
307
- next_milestone_suffix: String,
314
+ next_milestone_prefix: T.nilable(String),
315
+ next_milestone_suffix: T.nilable(String),
308
316
  number_of_winners: Integer,
309
317
  order: Integer,
310
- referral_coupon_code: String,
311
- referral_description: String,
318
+ referral_coupon_code: T.nilable(String),
319
+ referral_description: T.nilable(String),
312
320
  referred_reward_upfront: T::Boolean,
313
- referred_value: GrowsurfRuby::RewardTaxValuation::OrHash,
321
+ referred_value:
322
+ T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash),
314
323
  title: String,
315
- value: GrowsurfRuby::RewardTaxValuation::OrHash,
324
+ value: T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash),
316
325
  request_options: GrowsurfRuby::RequestOptions
317
326
  }
318
327
  )
@@ -43,7 +43,7 @@ module GrowsurfRuby
43
43
  sig { returns(T.nilable(String)) }
44
44
  attr_reader :coupon_code
45
45
 
46
- sig { params(coupon_code: String).void }
46
+ sig { params(coupon_code: T.nilable(String)).void }
47
47
  attr_writer :coupon_code
48
48
 
49
49
  sig { returns(T.nilable(String)) }
@@ -76,7 +76,7 @@ module GrowsurfRuby
76
76
  sig { returns(T.nilable(String)) }
77
77
  attr_reader :image_url
78
78
 
79
- sig { params(image_url: String).void }
79
+ sig { params(image_url: T.nilable(String)).void }
80
80
  attr_writer :image_url
81
81
 
82
82
  # Whether the reward can be earned an unlimited number of times. Defaults to
@@ -130,7 +130,7 @@ module GrowsurfRuby
130
130
  sig { returns(T.nilable(String)) }
131
131
  attr_reader :next_milestone_prefix
132
132
 
133
- sig { params(next_milestone_prefix: String).void }
133
+ sig { params(next_milestone_prefix: T.nilable(String)).void }
134
134
  attr_writer :next_milestone_prefix
135
135
 
136
136
  # Text shown after a participant's referral count in milestone-progress copy.
@@ -138,7 +138,7 @@ module GrowsurfRuby
138
138
  sig { returns(T.nilable(String)) }
139
139
  attr_reader :next_milestone_suffix
140
140
 
141
- sig { params(next_milestone_suffix: String).void }
141
+ sig { params(next_milestone_suffix: T.nilable(String)).void }
142
142
  attr_writer :next_milestone_suffix
143
143
 
144
144
  # The number of winners (`LEADERBOARD` rewards only). With `limitDuration`
@@ -162,13 +162,13 @@ module GrowsurfRuby
162
162
  sig { returns(T.nilable(String)) }
163
163
  attr_reader :referral_coupon_code
164
164
 
165
- sig { params(referral_coupon_code: String).void }
165
+ sig { params(referral_coupon_code: T.nilable(String)).void }
166
166
  attr_writer :referral_coupon_code
167
167
 
168
168
  sig { returns(T.nilable(String)) }
169
169
  attr_reader :referral_description
170
170
 
171
- sig { params(referral_description: String).void }
171
+ sig { params(referral_description: T.nilable(String)).void }
172
172
  attr_writer :referral_description
173
173
 
174
174
  sig { returns(T.nilable(T::Boolean)) }
@@ -183,7 +183,10 @@ module GrowsurfRuby
183
183
  attr_reader :referred_value
184
184
 
185
185
  sig do
186
- params(referred_value: GrowsurfRuby::RewardTaxValuation::OrHash).void
186
+ params(
187
+ referred_value:
188
+ T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash)
189
+ ).void
187
190
  end
188
191
  attr_writer :referred_value
189
192
 
@@ -198,7 +201,11 @@ module GrowsurfRuby
198
201
  sig { returns(T.nilable(GrowsurfRuby::RewardTaxValuation)) }
199
202
  attr_reader :value
200
203
 
201
- sig { params(value: GrowsurfRuby::RewardTaxValuation::OrHash).void }
204
+ sig do
205
+ params(
206
+ value: T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash)
207
+ ).void
208
+ end
202
209
  attr_writer :value
203
210
 
204
211
  sig do
@@ -207,27 +214,28 @@ module GrowsurfRuby
207
214
  campaign_reward_id: String,
208
215
  commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
209
216
  conversions_required: Integer,
210
- coupon_code: String,
217
+ coupon_code: T.nilable(String),
211
218
  description: String,
212
219
  event:
213
220
  GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event::OrSymbol,
214
- image_url: String,
221
+ image_url: T.nilable(String),
215
222
  is_unlimited: T::Boolean,
216
223
  is_visible: T::Boolean,
217
224
  limit: Integer,
218
225
  limit_duration:
219
226
  GrowsurfRuby::Models::Campaign::RewardUpdateParams::LimitDuration::OrSymbol,
220
227
  metadata: T::Hash[Symbol, T.anything],
221
- next_milestone_prefix: String,
222
- next_milestone_suffix: String,
228
+ next_milestone_prefix: T.nilable(String),
229
+ next_milestone_suffix: T.nilable(String),
223
230
  number_of_winners: Integer,
224
231
  order: Integer,
225
- referral_coupon_code: String,
226
- referral_description: String,
232
+ referral_coupon_code: T.nilable(String),
233
+ referral_description: T.nilable(String),
227
234
  referred_reward_upfront: T::Boolean,
228
- referred_value: GrowsurfRuby::RewardTaxValuation::OrHash,
235
+ referred_value:
236
+ T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash),
229
237
  title: String,
230
- value: GrowsurfRuby::RewardTaxValuation::OrHash,
238
+ value: T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash),
231
239
  request_options: GrowsurfRuby::RequestOptions::OrHash
232
240
  ).returns(T.attached_class)
233
241
  end
@@ -292,27 +300,28 @@ module GrowsurfRuby
292
300
  campaign_reward_id: String,
293
301
  commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
294
302
  conversions_required: Integer,
295
- coupon_code: String,
303
+ coupon_code: T.nilable(String),
296
304
  description: String,
297
305
  event:
298
306
  GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event::OrSymbol,
299
- image_url: String,
307
+ image_url: T.nilable(String),
300
308
  is_unlimited: T::Boolean,
301
309
  is_visible: T::Boolean,
302
310
  limit: Integer,
303
311
  limit_duration:
304
312
  GrowsurfRuby::Models::Campaign::RewardUpdateParams::LimitDuration::OrSymbol,
305
313
  metadata: T::Hash[Symbol, T.anything],
306
- next_milestone_prefix: String,
307
- next_milestone_suffix: String,
314
+ next_milestone_prefix: T.nilable(String),
315
+ next_milestone_suffix: T.nilable(String),
308
316
  number_of_winners: Integer,
309
317
  order: Integer,
310
- referral_coupon_code: String,
311
- referral_description: String,
318
+ referral_coupon_code: T.nilable(String),
319
+ referral_description: T.nilable(String),
312
320
  referred_reward_upfront: T::Boolean,
313
- referred_value: GrowsurfRuby::RewardTaxValuation::OrHash,
321
+ referred_value:
322
+ T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash),
314
323
  title: String,
315
- value: GrowsurfRuby::RewardTaxValuation::OrHash,
324
+ value: T.nilable(GrowsurfRuby::RewardTaxValuation::OrHash),
316
325
  request_options: GrowsurfRuby::RequestOptions
317
326
  }
318
327
  )
@@ -41,7 +41,7 @@ module GrowsurfRuby
41
41
  sig { returns(T.nilable(String)) }
42
42
  attr_reader :currency_iso
43
43
 
44
- sig { params(currency_iso: String).void }
44
+ sig { params(currency_iso: T.nilable(String)).void }
45
45
  attr_writer :currency_iso
46
46
 
47
47
  sig do
@@ -56,7 +56,7 @@ module GrowsurfRuby
56
56
  status: GrowsurfRuby::CampaignAPI::Status::OrSymbol,
57
57
  type: GrowsurfRuby::CampaignAPI::Type::OrSymbol,
58
58
  winner_count: Integer,
59
- currency_iso: String
59
+ currency_iso: T.nilable(String)
60
60
  ).returns(T.attached_class)
61
61
  end
62
62
  def self.new(
@@ -87,7 +87,7 @@ module GrowsurfRuby
87
87
  status: GrowsurfRuby::CampaignAPI::Status::TaggedSymbol,
88
88
  type: GrowsurfRuby::CampaignAPI::Type::TaggedSymbol,
89
89
  winner_count: Integer,
90
- currency_iso: String
90
+ currency_iso: T.nilable(String)
91
91
  }
92
92
  )
93
93
  end
@@ -441,10 +441,13 @@ module GrowsurfRuby
441
441
  OrSymbol = T.type_alias { T.any(Symbol, String) }
442
442
 
443
443
  DRAFT = T.let(:DRAFT, GrowsurfRuby::CampaignAPI::Status::TaggedSymbol)
444
+ PENDING = T.let(:PENDING, GrowsurfRuby::CampaignAPI::Status::TaggedSymbol)
444
445
  IN_PROGRESS =
445
446
  T.let(:IN_PROGRESS, GrowsurfRuby::CampaignAPI::Status::TaggedSymbol)
446
447
  COMPLETE =
447
448
  T.let(:COMPLETE, GrowsurfRuby::CampaignAPI::Status::TaggedSymbol)
449
+ CANCELLED =
450
+ T.let(:CANCELLED, GrowsurfRuby::CampaignAPI::Status::TaggedSymbol)
448
451
  DELETED =
449
452
  T.let(:DELETED, GrowsurfRuby::CampaignAPI::Status::TaggedSymbol)
450
453
 
@@ -0,0 +1,325 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignActivationAnalyticsResponse < GrowsurfRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ GrowsurfRuby::Models::CampaignActivationAnalyticsResponse,
10
+ GrowsurfRuby::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T.nilable(Integer)) }
15
+ attr_accessor :coverage_start_at
16
+
17
+ sig { returns(Integer) }
18
+ attr_accessor :metric_contract_version, :observation_window_days
19
+
20
+ sig { returns(ProgramType::OrSymbol) }
21
+ attr_accessor :program_type
22
+
23
+ sig { returns(String) }
24
+ attr_accessor :timezone, :portal_viewed_helper_text
25
+
26
+ sig { returns(CohortInterval::OrSymbol) }
27
+ attr_accessor :cohort_interval
28
+
29
+ sig { returns(PortalViewedLabel::OrSymbol) }
30
+ attr_accessor :portal_viewed_label
31
+
32
+ sig { returns(CohortResult) }
33
+ attr_accessor :aggregate
34
+
35
+ sig { returns(T::Array[CohortResult]) }
36
+ attr_accessor :cohorts
37
+
38
+ sig { params(kwargs: T.untyped).returns(T.attached_class) }
39
+ def self.new(**kwargs)
40
+ end
41
+
42
+ module ProgramType
43
+ extend GrowsurfRuby::Internal::Type::Enum
44
+
45
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
46
+ REFERRAL = T.let(:REFERRAL, Symbol)
47
+ AFFILIATE = T.let(:AFFILIATE, Symbol)
48
+ sig { override.returns(T::Array[Symbol]) }
49
+ def self.values
50
+ end
51
+ end
52
+
53
+ module CohortInterval
54
+ extend GrowsurfRuby::Internal::Type::Enum
55
+
56
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
57
+ DAY = T.let(:day, Symbol)
58
+ WEEK = T.let(:week, Symbol)
59
+ MONTH = T.let(:month, Symbol)
60
+ sig { override.returns(T::Array[Symbol]) }
61
+ def self.values
62
+ end
63
+ end
64
+
65
+ module PortalViewedLabel
66
+ extend GrowsurfRuby::Internal::Type::Enum
67
+
68
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
69
+ REFERRAL = T.let(:"Referral portal viewed", Symbol)
70
+ AFFILIATE = T.let(:"Affiliate portal viewed", Symbol)
71
+ sig { override.returns(T::Array[Symbol]) }
72
+ def self.values
73
+ end
74
+ end
75
+
76
+ module StageKey
77
+ extend GrowsurfRuby::Internal::Type::Enum
78
+
79
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
80
+ ELIGIBLE = T.let(:ELIGIBLE, Symbol)
81
+ PORTAL_VIEWED = T.let(:PORTAL_VIEWED, Symbol)
82
+ SHARE_ACTION = T.let(:SHARE_ACTION, Symbol)
83
+ UNIQUE_REFERRAL_VISIT = T.let(:UNIQUE_REFERRAL_VISIT, Symbol)
84
+ LEAD = T.let(:LEAD, Symbol)
85
+ CREDITED_REFERRAL = T.let(:CREDITED_REFERRAL, Symbol)
86
+ sig { override.returns(T::Array[Symbol]) }
87
+ def self.values
88
+ end
89
+ end
90
+
91
+ module StalledSegmentKey
92
+ extend GrowsurfRuby::Internal::Type::Enum
93
+
94
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
95
+ ELIGIBLE_NO_PORTAL_VIEW = T.let(:ELIGIBLE_NO_PORTAL_VIEW, Symbol)
96
+ PORTAL_VIEWED_NO_SHARE_ACTION =
97
+ T.let(:PORTAL_VIEWED_NO_SHARE_ACTION, Symbol)
98
+ SHARED_NO_UNIQUE_REFERRAL_VISIT =
99
+ T.let(:SHARED_NO_UNIQUE_REFERRAL_VISIT, Symbol)
100
+ UNIQUE_VISIT_NO_LEAD = T.let(:UNIQUE_VISIT_NO_LEAD, Symbol)
101
+ LEAD_NO_CREDITED_REFERRAL = T.let(:LEAD_NO_CREDITED_REFERRAL, Symbol)
102
+ sig { override.returns(T::Array[Symbol]) }
103
+ def self.values
104
+ end
105
+ end
106
+
107
+ module StalledSegmentFromStage
108
+ extend GrowsurfRuby::Internal::Type::Enum
109
+
110
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
111
+ ELIGIBLE = T.let(:ELIGIBLE, Symbol)
112
+ PORTAL_VIEWED = T.let(:PORTAL_VIEWED, Symbol)
113
+ SHARE_ACTION = T.let(:SHARE_ACTION, Symbol)
114
+ UNIQUE_REFERRAL_VISIT = T.let(:UNIQUE_REFERRAL_VISIT, Symbol)
115
+ LEAD = T.let(:LEAD, Symbol)
116
+ sig { override.returns(T::Array[Symbol]) }
117
+ def self.values
118
+ end
119
+ end
120
+
121
+ module StalledSegmentToStage
122
+ extend GrowsurfRuby::Internal::Type::Enum
123
+
124
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
125
+ PORTAL_VIEWED = T.let(:PORTAL_VIEWED, Symbol)
126
+ SHARE_ACTION = T.let(:SHARE_ACTION, Symbol)
127
+ UNIQUE_REFERRAL_VISIT = T.let(:UNIQUE_REFERRAL_VISIT, Symbol)
128
+ LEAD = T.let(:LEAD, Symbol)
129
+ CREDITED_REFERRAL = T.let(:CREDITED_REFERRAL, Symbol)
130
+ sig { override.returns(T::Array[Symbol]) }
131
+ def self.values
132
+ end
133
+ end
134
+
135
+ module ImprovementAreaKey
136
+ extend GrowsurfRuby::Internal::Type::Enum
137
+
138
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
139
+ PORTAL_ACCESS = T.let(:PORTAL_ACCESS, Symbol)
140
+ SHARING_EXPERIENCE = T.let(:SHARING_EXPERIENCE, Symbol)
141
+ SHARE_EFFECTIVENESS = T.let(:SHARE_EFFECTIVENESS, Symbol)
142
+ VISITOR_SIGNUP = T.let(:VISITOR_SIGNUP, Symbol)
143
+ ATTRIBUTION_AND_QUALIFICATION =
144
+ T.let(:ATTRIBUTION_AND_QUALIFICATION, Symbol)
145
+ sig { override.returns(T::Array[Symbol]) }
146
+ def self.values
147
+ end
148
+ end
149
+
150
+ module AnchorField
151
+ extend GrowsurfRuby::Internal::Type::Enum
152
+
153
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
154
+ ENROLLED_AS_ADVOCATE_AT = T.let(:enrolledAsAdvocateAt, Symbol)
155
+ APPROVED_AS_AFFILIATE_AT = T.let(:approvedAsAffiliateAt, Symbol)
156
+ sig { override.returns(T::Array[Symbol]) }
157
+ def self.values
158
+ end
159
+ end
160
+
161
+ class Stage < GrowsurfRuby::Internal::Type::BaseModel
162
+ OrHash = T.type_alias { T.any(Stage, GrowsurfRuby::Internal::AnyHash) }
163
+ sig { returns(StageKey::OrSymbol) }
164
+ attr_accessor :key
165
+
166
+ sig { returns(Integer) }
167
+ attr_accessor :count
168
+
169
+ sig { returns(T.nilable(Float)) }
170
+ attr_accessor :conversion_rate_from_prior,
171
+ :conversion_rate_from_eligible,
172
+ :drop_off_rate,
173
+ :median_time_to_stage_ms
174
+
175
+ sig { returns(T.nilable(Integer)) }
176
+ attr_accessor :drop_off_count
177
+
178
+ sig { returns(T.nilable(StalledSegmentKey::OrSymbol)) }
179
+ attr_accessor :stalled_segment_key
180
+
181
+ sig { params(kwargs: T.untyped).returns(T.attached_class) }
182
+ def self.new(**kwargs)
183
+ end
184
+ end
185
+
186
+ class StageCounts < GrowsurfRuby::Internal::Type::BaseModel
187
+ OrHash =
188
+ T.type_alias { T.any(StageCounts, GrowsurfRuby::Internal::AnyHash) }
189
+ sig { returns(Integer) }
190
+ attr_accessor :eligible,
191
+ :portal_viewed,
192
+ :share_action,
193
+ :unique_referral_visit,
194
+ :lead,
195
+ :credited_referral
196
+
197
+ sig { params(kwargs: T.untyped).returns(T.attached_class) }
198
+ def self.new(**kwargs)
199
+ end
200
+ end
201
+
202
+ class StalledSegment < GrowsurfRuby::Internal::Type::BaseModel
203
+ OrHash =
204
+ T.type_alias do
205
+ T.any(StalledSegment, GrowsurfRuby::Internal::AnyHash)
206
+ end
207
+ sig { returns(StalledSegmentKey::OrSymbol) }
208
+ attr_accessor :key
209
+
210
+ sig { returns(StalledSegmentFromStage::OrSymbol) }
211
+ attr_accessor :from_stage
212
+
213
+ sig { returns(StalledSegmentToStage::OrSymbol) }
214
+ attr_accessor :to_stage
215
+
216
+ sig { returns(Integer) }
217
+ attr_accessor :count
218
+
219
+ sig { params(kwargs: T.untyped).returns(T.attached_class) }
220
+ def self.new(**kwargs)
221
+ end
222
+ end
223
+
224
+ class OutcomeCount < GrowsurfRuby::Internal::Type::BaseModel
225
+ OrHash =
226
+ T.type_alias { T.any(OutcomeCount, GrowsurfRuby::Internal::AnyHash) }
227
+ sig { returns(Integer) }
228
+ attr_accessor :count
229
+
230
+ sig { params(kwargs: T.untyped).returns(T.attached_class) }
231
+ def self.new(**kwargs)
232
+ end
233
+ end
234
+
235
+ class Outcomes < GrowsurfRuby::Internal::Type::BaseModel
236
+ OrHash =
237
+ T.type_alias { T.any(Outcomes, GrowsurfRuby::Internal::AnyHash) }
238
+ sig { returns(T.nilable(OutcomeCount)) }
239
+ attr_accessor :first_reward, :first_commission, :payout_setup_completed
240
+
241
+ sig { params(kwargs: T.untyped).returns(T.attached_class) }
242
+ def self.new(**kwargs)
243
+ end
244
+ end
245
+
246
+ class LargestDrop < GrowsurfRuby::Internal::Type::BaseModel
247
+ OrHash =
248
+ T.type_alias { T.any(LargestDrop, GrowsurfRuby::Internal::AnyHash) }
249
+ sig { returns(String) }
250
+ attr_accessor :from_stage,
251
+ :to_stage,
252
+ :stalled_segment_key,
253
+ :improvement_area
254
+
255
+ sig { returns(Integer) }
256
+ attr_accessor :count
257
+
258
+ sig { returns(Float) }
259
+ attr_accessor :rate
260
+
261
+ sig { returns(ImprovementAreaKey::OrSymbol) }
262
+ attr_accessor :improvement_area_key
263
+
264
+ sig { params(kwargs: T.untyped).returns(T.attached_class) }
265
+ def self.new(**kwargs)
266
+ end
267
+ end
268
+
269
+ class CohortBounds < GrowsurfRuby::Internal::Type::BaseModel
270
+ OrHash =
271
+ T.type_alias { T.any(CohortBounds, GrowsurfRuby::Internal::AnyHash) }
272
+ sig { returns(Integer) }
273
+ attr_accessor :from, :to, :matured_at, :as_of
274
+
275
+ sig { returns(T.nilable(Integer)) }
276
+ attr_accessor :effective_from
277
+
278
+ sig { returns(AnchorField::OrSymbol) }
279
+ attr_accessor :anchor_field
280
+
281
+ sig { params(kwargs: T.untyped).returns(T.attached_class) }
282
+ def self.new(**kwargs)
283
+ end
284
+ end
285
+
286
+ class CohortResult < GrowsurfRuby::Internal::Type::BaseModel
287
+ OrHash =
288
+ T.type_alias { T.any(CohortResult, GrowsurfRuby::Internal::AnyHash) }
289
+ sig { returns(GrowsurfRuby::Models::AnalyticsAvailability::OrSymbol) }
290
+ attr_accessor :state
291
+
292
+ sig do
293
+ returns(
294
+ T.nilable(
295
+ GrowsurfRuby::Models::AnalyticsUnavailableReason::OrSymbol
296
+ )
297
+ )
298
+ end
299
+ attr_accessor :reason
300
+
301
+ sig { returns(CohortBounds) }
302
+ attr_accessor :cohort
303
+
304
+ sig { returns(T.nilable(T::Array[Stage])) }
305
+ attr_accessor :strict_stages
306
+
307
+ sig { returns(T.nilable(StageCounts)) }
308
+ attr_accessor :raw_stage_counts
309
+
310
+ sig { returns(T.nilable(T::Array[StalledSegment])) }
311
+ attr_accessor :stalled_segments
312
+
313
+ sig { returns(T.nilable(Outcomes)) }
314
+ attr_accessor :outcomes
315
+
316
+ sig { returns(T.nilable(LargestDrop)) }
317
+ attr_accessor :largest_drop
318
+
319
+ sig { params(kwargs: T.untyped).returns(T.attached_class) }
320
+ def self.new(**kwargs)
321
+ end
322
+ end
323
+ end
324
+ end
325
+ end