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
@@ -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
@@ -35,6 +35,16 @@ module GrowsurfRuby
35
35
  sig { params(currency_iso: String).void }
36
36
  attr_writer :currency_iso
37
37
 
38
+ sig do
39
+ returns(T.nilable(GrowsurfRuby::CampaignCreateParams::Goal::OrSymbol))
40
+ end
41
+ attr_reader :goal
42
+
43
+ sig do
44
+ params(goal: GrowsurfRuby::CampaignCreateParams::Goal::OrSymbol).void
45
+ end
46
+ attr_writer :goal
47
+
38
48
  sig { returns(T.nilable(String)) }
39
49
  attr_reader :name
40
50
 
@@ -59,6 +69,7 @@ module GrowsurfRuby
59
69
  company_logo_image_url: String,
60
70
  company_name: String,
61
71
  currency_iso: String,
72
+ goal: GrowsurfRuby::CampaignCreateParams::Goal::OrSymbol,
62
73
  name: String,
63
74
  rewards: T::Array[GrowsurfRuby::Campaign::RewardCreateParams::OrHash],
64
75
  request_options: GrowsurfRuby::RequestOptions::OrHash
@@ -69,6 +80,7 @@ module GrowsurfRuby
69
80
  company_logo_image_url: nil,
70
81
  company_name: nil,
71
82
  currency_iso: nil,
83
+ goal: nil,
72
84
  name: nil,
73
85
  rewards: nil,
74
86
  request_options: {}
@@ -82,6 +94,7 @@ module GrowsurfRuby
82
94
  company_logo_image_url: String,
83
95
  company_name: String,
84
96
  currency_iso: String,
97
+ goal: GrowsurfRuby::CampaignCreateParams::Goal::OrSymbol,
85
98
  name: String,
86
99
  rewards:
87
100
  T::Array[GrowsurfRuby::Campaign::RewardCreateParams::OrHash],
@@ -120,6 +133,84 @@ module GrowsurfRuby
120
133
  def self.values
121
134
  end
122
135
  end
136
+
137
+ module Goal
138
+ extend GrowsurfRuby::Internal::Type::Enum
139
+
140
+ TaggedSymbol =
141
+ T.type_alias do
142
+ T.all(Symbol, GrowsurfRuby::CampaignCreateParams::Goal)
143
+ end
144
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
145
+
146
+ CUSTOMERS =
147
+ T.let(
148
+ :CUSTOMERS,
149
+ GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol
150
+ )
151
+
152
+ USERS =
153
+ T.let(
154
+ :USERS,
155
+ GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol
156
+ )
157
+
158
+ SUBSCRIBERS =
159
+ T.let(
160
+ :SUBSCRIBERS,
161
+ GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol
162
+ )
163
+
164
+ WAITLIST =
165
+ T.let(
166
+ :WAITLIST,
167
+ GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol
168
+ )
169
+
170
+ B2B_SAAS_SELF_SERVICE =
171
+ T.let(
172
+ :B2B_SAAS_SELF_SERVICE,
173
+ GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol
174
+ )
175
+
176
+ B2B_SAAS_ENTERPRISE =
177
+ T.let(
178
+ :B2B_SAAS_ENTERPRISE,
179
+ GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol
180
+ )
181
+
182
+ B2C_SUBSCRIPTIONS =
183
+ T.let(
184
+ :B2C_SUBSCRIPTIONS,
185
+ GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol
186
+ )
187
+
188
+ FINANCIAL_SERVICES =
189
+ T.let(
190
+ :FINANCIAL_SERVICES,
191
+ GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol
192
+ )
193
+
194
+ ONLINE_EDUCATION =
195
+ T.let(
196
+ :ONLINE_EDUCATION,
197
+ GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol
198
+ )
199
+
200
+ ONLINE_INSURANCE =
201
+ T.let(
202
+ :ONLINE_INSURANCE,
203
+ GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol
204
+ )
205
+
206
+ sig do
207
+ override.returns(
208
+ T::Array[GrowsurfRuby::CampaignCreateParams::Goal::TaggedSymbol]
209
+ )
210
+ end
211
+ def self.values
212
+ end
213
+ end
123
214
  end
124
215
  end
125
216
  end