growsurf-ruby 0.8.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/README.md +1 -1
- data/lib/growsurf_ruby/client.rb +4 -0
- data/lib/growsurf_ruby/models/account.rb +90 -0
- data/lib/growsurf_ruby/models/account_create_params.rb +46 -0
- data/lib/growsurf_ruby/models/account_create_response.rb +64 -0
- data/lib/growsurf_ruby/models/account_resend_verification_email_response.rb +33 -0
- data/lib/growsurf_ruby/models/account_rotate_api_key_response.rb +17 -0
- data/lib/growsurf_ruby/models/account_update_params.rb +35 -0
- data/lib/growsurf_ruby/models/campaign/campaign_reward_list_response.rb +2 -2
- data/lib/growsurf_ruby/models/campaign/create.rb +5 -1
- data/lib/growsurf_ruby/models/campaign/participant_activity_logs_response.rb +65 -0
- data/lib/growsurf_ruby/models/campaign/participant_analytics_response.rb +421 -0
- data/lib/growsurf_ruby/models/campaign/participant_bulk_delete_params.rb +35 -0
- data/lib/growsurf_ruby/models/campaign/participant_bulk_delete_response.rb +151 -0
- data/lib/growsurf_ruby/models/campaign/participant_email_params.rb +76 -0
- data/lib/growsurf_ruby/models/campaign/participant_email_response.rb +38 -0
- data/lib/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rb +46 -0
- data/lib/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rb +98 -0
- data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +21 -1
- data/lib/growsurf_ruby/models/campaign/reward.rb +43 -5
- data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +48 -15
- data/lib/growsurf_ruby/models/campaign/reward_delete_params.rb +4 -4
- data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +51 -18
- data/lib/growsurf_ruby/models/campaign/webhook.rb +72 -0
- data/lib/growsurf_ruby/models/campaign/webhook_create_params.rb +52 -0
- data/lib/growsurf_ruby/models/campaign/webhook_delete_params.rb +28 -0
- data/lib/growsurf_ruby/models/campaign/webhook_delete_response.rb +24 -0
- data/lib/growsurf_ruby/models/campaign/webhook_event.rb +23 -0
- data/lib/growsurf_ruby/models/campaign/webhook_list_response.rb +18 -0
- data/lib/growsurf_ruby/models/campaign/webhook_test_params.rb +42 -0
- data/lib/growsurf_ruby/models/campaign/webhook_test_response.rb +50 -0
- data/lib/growsurf_ruby/models/campaign/webhook_update_params.rb +59 -0
- data/lib/growsurf_ruby/models/campaign.rb +43 -5
- data/lib/growsurf_ruby/models/campaign_create_params.rb +1 -15
- data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +36 -1
- data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +538 -1
- data/lib/growsurf_ruby/models/campaign_update_params.rb +1 -53
- data/lib/growsurf_ruby/models/commission_structure.rb +8 -2
- data/lib/growsurf_ruby/models/referral_flow_screenshots_response.rb +72 -0
- data/lib/growsurf_ruby/models/reward_tax_valuation.rb +35 -0
- data/lib/growsurf_ruby/models.rb +10 -0
- data/lib/growsurf_ruby/resources/account.rb +159 -0
- data/lib/growsurf_ruby/resources/campaign/design.rb +68 -0
- data/lib/growsurf_ruby/resources/campaign/emails.rb +66 -0
- data/lib/growsurf_ruby/resources/campaign/installation.rb +67 -0
- data/lib/growsurf_ruby/resources/campaign/options.rb +66 -0
- data/lib/growsurf_ruby/resources/campaign/participant.rb +170 -2
- data/lib/growsurf_ruby/resources/campaign/rewards.rb +36 -32
- data/lib/growsurf_ruby/resources/campaign/webhooks.rb +157 -0
- data/lib/growsurf_ruby/resources/campaign.rb +62 -27
- data/lib/growsurf_ruby/version.rb +1 -1
- data/lib/growsurf_ruby.rb +31 -0
- data/rbi/growsurf_ruby/client.rbi +3 -0
- data/rbi/growsurf_ruby/models/account.rbi +125 -0
- data/rbi/growsurf_ruby/models/account_create_params.rbi +73 -0
- data/rbi/growsurf_ruby/models/account_create_response.rbi +115 -0
- data/rbi/growsurf_ruby/models/account_resend_verification_email_response.rbi +76 -0
- data/rbi/growsurf_ruby/models/account_rotate_api_key_response.rbi +30 -0
- data/rbi/growsurf_ruby/models/account_update_params.rbi +65 -0
- data/rbi/growsurf_ruby/models/campaign/campaign_reward_list_response.rbi +2 -2
- data/rbi/growsurf_ruby/models/campaign/create.rbi +8 -0
- data/rbi/growsurf_ruby/models/campaign/participant_activity_logs_response.rbi +111 -0
- data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +630 -0
- data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_params.rbi +56 -0
- data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbi +285 -0
- data/rbi/growsurf_ruby/models/campaign/participant_email_params.rbi +118 -0
- data/rbi/growsurf_ruby/models/campaign/participant_email_response.rbi +84 -0
- data/rbi/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rbi +74 -0
- data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +207 -0
- data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +24 -0
- data/rbi/growsurf_ruby/models/campaign/reward.rbi +63 -3
- data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +62 -9
- data/rbi/growsurf_ruby/models/campaign/reward_delete_params.rbi +4 -4
- data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +66 -13
- data/rbi/growsurf_ruby/models/campaign/webhook.rbi +93 -0
- data/rbi/growsurf_ruby/models/campaign/webhook_create_params.rbi +91 -0
- data/rbi/growsurf_ruby/models/campaign/webhook_delete_params.rbi +48 -0
- data/rbi/growsurf_ruby/models/campaign/webhook_delete_response.rbi +33 -0
- data/rbi/growsurf_ruby/models/campaign/webhook_event.rbi +60 -0
- data/rbi/growsurf_ruby/models/campaign/webhook_list_response.rbi +36 -0
- data/rbi/growsurf_ruby/models/campaign/webhook_test_params.rbi +69 -0
- data/rbi/growsurf_ruby/models/campaign/webhook_test_response.rbi +102 -0
- data/rbi/growsurf_ruby/models/campaign/webhook_update_params.rbi +98 -0
- data/rbi/growsurf_ruby/models/campaign.rbi +63 -3
- data/rbi/growsurf_ruby/models/campaign_create_params.rbi +0 -18
- data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +91 -0
- data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +1011 -3
- data/rbi/growsurf_ruby/models/campaign_update_params.rbi +0 -78
- data/rbi/growsurf_ruby/models/commission_structure.rbi +8 -2
- data/rbi/growsurf_ruby/models/referral_flow_screenshots_response.rbi +94 -0
- data/rbi/growsurf_ruby/models/reward_tax_valuation.rbi +56 -0
- data/rbi/growsurf_ruby/models.rbi +11 -0
- data/rbi/growsurf_ruby/resources/account.rbi +112 -0
- data/rbi/growsurf_ruby/resources/campaign/design.rbi +52 -0
- data/rbi/growsurf_ruby/resources/campaign/emails.rbi +51 -0
- data/rbi/growsurf_ruby/resources/campaign/installation.rbi +53 -0
- data/rbi/growsurf_ruby/resources/campaign/options.rbi +51 -0
- data/rbi/growsurf_ruby/resources/campaign/participant.rbi +160 -0
- data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +61 -29
- data/rbi/growsurf_ruby/resources/campaign/webhooks.rbi +123 -0
- data/rbi/growsurf_ruby/resources/campaign.rbi +58 -32
- data/sig/growsurf_ruby/client.rbs +2 -0
- data/sig/growsurf_ruby/models/account.rbs +67 -0
- data/sig/growsurf_ruby/models/account_create_params.rbs +42 -0
- data/sig/growsurf_ruby/models/account_create_response.rbs +47 -0
- data/sig/growsurf_ruby/models/account_resend_verification_email_response.rbs +35 -0
- data/sig/growsurf_ruby/models/account_rotate_api_key_response.rbs +13 -0
- data/sig/growsurf_ruby/models/account_update_params.rbs +42 -0
- data/sig/growsurf_ruby/models/campaign/participant_activity_logs_response.rbs +59 -0
- data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +407 -0
- data/sig/growsurf_ruby/models/campaign/participant_bulk_delete_params.rbs +30 -0
- data/sig/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbs +125 -0
- data/sig/growsurf_ruby/models/campaign/participant_email_params.rbs +61 -0
- data/sig/growsurf_ruby/models/campaign/participant_email_response.rbs +37 -0
- data/sig/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rbs +47 -0
- data/sig/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbs +90 -0
- data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +14 -0
- data/sig/growsurf_ruby/models/campaign/reward.rbs +18 -3
- data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +19 -8
- data/sig/growsurf_ruby/models/campaign/reward_delete_params.rbs +4 -4
- data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +23 -12
- data/sig/growsurf_ruby/models/campaign/webhook.rbs +52 -0
- data/sig/growsurf_ruby/models/campaign/webhook_create_params.rbs +51 -0
- data/sig/growsurf_ruby/models/campaign/webhook_delete_params.rbs +30 -0
- data/sig/growsurf_ruby/models/campaign/webhook_delete_response.rbs +17 -0
- data/sig/growsurf_ruby/models/campaign/webhook_event.rbs +28 -0
- data/sig/growsurf_ruby/models/campaign/webhook_list_response.rbs +18 -0
- data/sig/growsurf_ruby/models/campaign/webhook_test_params.rbs +42 -0
- data/sig/growsurf_ruby/models/campaign/webhook_test_response.rbs +54 -0
- data/sig/growsurf_ruby/models/campaign/webhook_update_params.rbs +63 -0
- data/sig/growsurf_ruby/models/campaign.rbs +18 -3
- data/sig/growsurf_ruby/models/campaign_create_params.rbs +0 -14
- data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +35 -1
- data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +533 -3
- data/sig/growsurf_ruby/models/campaign_update_params.rbs +1 -53
- data/sig/growsurf_ruby/models/commission_structure.rbs +7 -2
- data/sig/growsurf_ruby/models/referral_flow_screenshots_response.rbs +54 -0
- data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +22 -0
- data/sig/growsurf_ruby/models.rbs +10 -0
- data/sig/growsurf_ruby/resources/account.rbs +38 -0
- data/sig/growsurf_ruby/resources/campaign/design.rbs +20 -0
- data/sig/growsurf_ruby/resources/campaign/emails.rbs +20 -0
- data/sig/growsurf_ruby/resources/campaign/installation.rbs +20 -0
- data/sig/growsurf_ruby/resources/campaign/options.rbs +20 -0
- data/sig/growsurf_ruby/resources/campaign/participant.rbs +37 -0
- data/sig/growsurf_ruby/resources/campaign/rewards.rbs +6 -4
- data/sig/growsurf_ruby/resources/campaign/webhooks.rbs +46 -0
- data/sig/growsurf_ruby/resources/campaign.rbs +17 -9
- metadata +95 -2
|
@@ -19,7 +19,7 @@ module GrowsurfRuby
|
|
|
19
19
|
attr_accessor :id
|
|
20
20
|
|
|
21
21
|
sig { returns(String) }
|
|
22
|
-
attr_accessor :
|
|
22
|
+
attr_accessor :campaign_reward_id
|
|
23
23
|
|
|
24
24
|
sig { returns(T.nilable(GrowsurfRuby::CommissionStructure)) }
|
|
25
25
|
attr_reader :commission_structure
|
|
@@ -37,6 +37,9 @@ module GrowsurfRuby
|
|
|
37
37
|
sig { params(conversions_required: Integer).void }
|
|
38
38
|
attr_writer :conversions_required
|
|
39
39
|
|
|
40
|
+
# Legacy static coupon code shown to the referrer in the reward-won email and
|
|
41
|
+
# webhook. Display text only; superseded by a connected billing integration's
|
|
42
|
+
# issued coupon when one exists.
|
|
40
43
|
sig { returns(T.nilable(String)) }
|
|
41
44
|
attr_reader :coupon_code
|
|
42
45
|
|
|
@@ -55,18 +58,16 @@ module GrowsurfRuby
|
|
|
55
58
|
sig { params(image_url: String).void }
|
|
56
59
|
attr_writer :image_url
|
|
57
60
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
sig { params(is_active: T::Boolean).void }
|
|
62
|
-
attr_writer :is_active
|
|
63
|
-
|
|
61
|
+
# Whether the reward can be earned an unlimited number of times. Defaults to
|
|
62
|
+
# `true`, except `MILESTONE` rewards, which can only be earned once.
|
|
64
63
|
sig { returns(T.nilable(T::Boolean)) }
|
|
65
64
|
attr_reader :is_unlimited
|
|
66
65
|
|
|
67
66
|
sig { params(is_unlimited: T::Boolean).void }
|
|
68
67
|
attr_writer :is_unlimited
|
|
69
68
|
|
|
69
|
+
# Whether the reward is enabled. When `false` the reward is disabled: hidden from
|
|
70
|
+
# participants and no longer awarded, including those who already earned it.
|
|
70
71
|
sig { returns(T.nilable(T::Boolean)) }
|
|
71
72
|
attr_reader :is_visible
|
|
72
73
|
|
|
@@ -103,18 +104,25 @@ module GrowsurfRuby
|
|
|
103
104
|
sig { params(metadata: T::Hash[Symbol, T.anything]).void }
|
|
104
105
|
attr_writer :metadata
|
|
105
106
|
|
|
107
|
+
# Text shown before a participant's referral count in milestone-progress copy.
|
|
108
|
+
# Applies to `MILESTONE` rewards.
|
|
106
109
|
sig { returns(T.nilable(String)) }
|
|
107
110
|
attr_reader :next_milestone_prefix
|
|
108
111
|
|
|
109
112
|
sig { params(next_milestone_prefix: String).void }
|
|
110
113
|
attr_writer :next_milestone_prefix
|
|
111
114
|
|
|
115
|
+
# Text shown after a participant's referral count in milestone-progress copy.
|
|
116
|
+
# Applies to `MILESTONE` rewards.
|
|
112
117
|
sig { returns(T.nilable(String)) }
|
|
113
118
|
attr_reader :next_milestone_suffix
|
|
114
119
|
|
|
115
120
|
sig { params(next_milestone_suffix: String).void }
|
|
116
121
|
attr_writer :next_milestone_suffix
|
|
117
122
|
|
|
123
|
+
# The number of winners (`LEADERBOARD` rewards only). With `limitDuration`
|
|
124
|
+
# `PER_MONTH` this many win each month, otherwise this many win in total;
|
|
125
|
+
# omitting it defaults to `3`.
|
|
118
126
|
sig { returns(T.nilable(Integer)) }
|
|
119
127
|
attr_reader :number_of_winners
|
|
120
128
|
|
|
@@ -127,6 +135,9 @@ module GrowsurfRuby
|
|
|
127
135
|
sig { params(order: Integer).void }
|
|
128
136
|
attr_writer :order
|
|
129
137
|
|
|
138
|
+
# Legacy static coupon code shown to the referred friend (double-sided rewards)
|
|
139
|
+
# in the reward-won email and webhook. Display text only; superseded by a
|
|
140
|
+
# connected billing integration's issued coupon when one exists.
|
|
130
141
|
sig { returns(T.nilable(String)) }
|
|
131
142
|
attr_reader :referral_coupon_code
|
|
132
143
|
|
|
@@ -145,22 +156,39 @@ module GrowsurfRuby
|
|
|
145
156
|
sig { params(referred_reward_upfront: T::Boolean).void }
|
|
146
157
|
attr_writer :referred_reward_upfront
|
|
147
158
|
|
|
159
|
+
# Tax valuation for the referred friend's side of a double-sided reward.
|
|
160
|
+
# Defaults to not tax-reportable (a purchase rebate).
|
|
161
|
+
sig { returns(T.nilable(GrowsurfRuby::RewardTaxValuation)) }
|
|
162
|
+
attr_reader :referred_value
|
|
163
|
+
|
|
164
|
+
sig do
|
|
165
|
+
params(referred_value: GrowsurfRuby::RewardTaxValuation::OrHash).void
|
|
166
|
+
end
|
|
167
|
+
attr_writer :referred_value
|
|
168
|
+
|
|
148
169
|
sig { returns(T.nilable(String)) }
|
|
149
170
|
attr_reader :title
|
|
150
171
|
|
|
151
172
|
sig { params(title: String).void }
|
|
152
173
|
attr_writer :title
|
|
153
174
|
|
|
175
|
+
# Tax valuation for the reward (the referrer's side of a double-sided reward).
|
|
176
|
+
# Used by tax documentation / 1099 reporting.
|
|
177
|
+
sig { returns(T.nilable(GrowsurfRuby::RewardTaxValuation)) }
|
|
178
|
+
attr_reader :value
|
|
179
|
+
|
|
180
|
+
sig { params(value: GrowsurfRuby::RewardTaxValuation::OrHash).void }
|
|
181
|
+
attr_writer :value
|
|
182
|
+
|
|
154
183
|
sig do
|
|
155
184
|
params(
|
|
156
185
|
id: String,
|
|
157
|
-
|
|
186
|
+
campaign_reward_id: String,
|
|
158
187
|
commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
|
|
159
188
|
conversions_required: Integer,
|
|
160
189
|
coupon_code: String,
|
|
161
190
|
description: String,
|
|
162
191
|
image_url: String,
|
|
163
|
-
is_active: T::Boolean,
|
|
164
192
|
is_unlimited: T::Boolean,
|
|
165
193
|
is_visible: T::Boolean,
|
|
166
194
|
limit: Integer,
|
|
@@ -174,33 +202,57 @@ module GrowsurfRuby
|
|
|
174
202
|
referral_coupon_code: String,
|
|
175
203
|
referral_description: String,
|
|
176
204
|
referred_reward_upfront: T::Boolean,
|
|
205
|
+
referred_value: GrowsurfRuby::RewardTaxValuation::OrHash,
|
|
177
206
|
title: String,
|
|
207
|
+
value: GrowsurfRuby::RewardTaxValuation::OrHash,
|
|
178
208
|
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
179
209
|
).returns(T.attached_class)
|
|
180
210
|
end
|
|
181
211
|
def self.new(
|
|
182
212
|
id:,
|
|
183
|
-
|
|
213
|
+
campaign_reward_id:,
|
|
184
214
|
commission_structure: nil,
|
|
185
215
|
conversions_required: nil,
|
|
216
|
+
# Legacy static coupon code shown to the referrer in the reward-won email and
|
|
217
|
+
# webhook. Display text only; superseded by a connected billing integration's
|
|
218
|
+
# issued coupon when one exists.
|
|
186
219
|
coupon_code: nil,
|
|
187
220
|
description: nil,
|
|
188
221
|
image_url: nil,
|
|
189
|
-
|
|
222
|
+
# Whether the reward can be earned an unlimited number of times. Defaults to
|
|
223
|
+
# `true`, except `MILESTONE` rewards, which can only be earned once.
|
|
190
224
|
is_unlimited: nil,
|
|
225
|
+
# Whether the reward is enabled. When `false` the reward is disabled: hidden from
|
|
226
|
+
# participants and no longer awarded, including those who already earned it.
|
|
191
227
|
is_visible: nil,
|
|
192
228
|
limit: nil,
|
|
193
229
|
limit_duration: nil,
|
|
194
230
|
# Custom key/value metadata (single-level; values are stored as strings).
|
|
195
231
|
metadata: nil,
|
|
232
|
+
# Text shown before a participant's referral count in milestone-progress copy.
|
|
233
|
+
# Applies to `MILESTONE` rewards.
|
|
196
234
|
next_milestone_prefix: nil,
|
|
235
|
+
# Text shown after a participant's referral count in milestone-progress copy.
|
|
236
|
+
# Applies to `MILESTONE` rewards.
|
|
197
237
|
next_milestone_suffix: nil,
|
|
238
|
+
# The number of winners (`LEADERBOARD` rewards only). With `limitDuration`
|
|
239
|
+
# `PER_MONTH` this many win each month, otherwise this many win in total;
|
|
240
|
+
# omitting it defaults to `3`.
|
|
198
241
|
number_of_winners: nil,
|
|
199
242
|
order: nil,
|
|
243
|
+
# Legacy static coupon code shown to the referred friend (double-sided rewards)
|
|
244
|
+
# in the reward-won email and webhook. Display text only; superseded by a
|
|
245
|
+
# connected billing integration's issued coupon when one exists.
|
|
200
246
|
referral_coupon_code: nil,
|
|
201
247
|
referral_description: nil,
|
|
202
248
|
referred_reward_upfront: nil,
|
|
249
|
+
# Tax valuation for the referred friend's side of a double-sided reward.
|
|
250
|
+
# Defaults to not tax-reportable (a purchase rebate).
|
|
251
|
+
referred_value: nil,
|
|
203
252
|
title: nil,
|
|
253
|
+
# Tax valuation for the reward (the referrer's side of a double-sided reward).
|
|
254
|
+
# Used by tax documentation / 1099 reporting.
|
|
255
|
+
value: nil,
|
|
204
256
|
request_options: {}
|
|
205
257
|
)
|
|
206
258
|
end
|
|
@@ -209,13 +261,12 @@ module GrowsurfRuby
|
|
|
209
261
|
override.returns(
|
|
210
262
|
{
|
|
211
263
|
id: String,
|
|
212
|
-
|
|
264
|
+
campaign_reward_id: String,
|
|
213
265
|
commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
|
|
214
266
|
conversions_required: Integer,
|
|
215
267
|
coupon_code: String,
|
|
216
268
|
description: String,
|
|
217
269
|
image_url: String,
|
|
218
|
-
is_active: T::Boolean,
|
|
219
270
|
is_unlimited: T::Boolean,
|
|
220
271
|
is_visible: T::Boolean,
|
|
221
272
|
limit: Integer,
|
|
@@ -229,7 +280,9 @@ module GrowsurfRuby
|
|
|
229
280
|
referral_coupon_code: String,
|
|
230
281
|
referral_description: String,
|
|
231
282
|
referred_reward_upfront: T::Boolean,
|
|
283
|
+
referred_value: GrowsurfRuby::RewardTaxValuation::OrHash,
|
|
232
284
|
title: String,
|
|
285
|
+
value: GrowsurfRuby::RewardTaxValuation::OrHash,
|
|
233
286
|
request_options: GrowsurfRuby::RequestOptions
|
|
234
287
|
}
|
|
235
288
|
)
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
module Campaign
|
|
6
|
+
class Webhook < GrowsurfRuby::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
GrowsurfRuby::Models::Campaign::Webhook,
|
|
11
|
+
GrowsurfRuby::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Read-only. Whether GrowSurf auto-disabled this webhook after repeated delivery
|
|
16
|
+
# failures.
|
|
17
|
+
sig { returns(T::Boolean) }
|
|
18
|
+
attr_accessor :auto_disabled_due_to_failures
|
|
19
|
+
|
|
20
|
+
sig do
|
|
21
|
+
returns(T::Array[GrowsurfRuby::Campaign::WebhookEvent::TaggedSymbol])
|
|
22
|
+
end
|
|
23
|
+
attr_accessor :events
|
|
24
|
+
|
|
25
|
+
# Read-only. Consecutive delivery failures.
|
|
26
|
+
sig { returns(Integer) }
|
|
27
|
+
attr_accessor :failure_count
|
|
28
|
+
|
|
29
|
+
# The webhook id (`primary` for the program's primary webhook).
|
|
30
|
+
sig { returns(String) }
|
|
31
|
+
attr_accessor :id
|
|
32
|
+
|
|
33
|
+
sig { returns(T::Boolean) }
|
|
34
|
+
attr_accessor :is_enabled
|
|
35
|
+
|
|
36
|
+
# Read-only. When the last delivery failure occurred, as a Unix timestamp in
|
|
37
|
+
# milliseconds.
|
|
38
|
+
sig { returns(T.nilable(Integer)) }
|
|
39
|
+
attr_accessor :last_failure_at
|
|
40
|
+
|
|
41
|
+
# The URL that receives webhook deliveries.
|
|
42
|
+
sig { returns(T.nilable(String)) }
|
|
43
|
+
attr_accessor :payload_url
|
|
44
|
+
|
|
45
|
+
sig do
|
|
46
|
+
params(
|
|
47
|
+
auto_disabled_due_to_failures: T::Boolean,
|
|
48
|
+
events: T::Array[GrowsurfRuby::Campaign::WebhookEvent::OrSymbol],
|
|
49
|
+
failure_count: Integer,
|
|
50
|
+
id: String,
|
|
51
|
+
is_enabled: T::Boolean,
|
|
52
|
+
last_failure_at: T.nilable(Integer),
|
|
53
|
+
payload_url: T.nilable(String)
|
|
54
|
+
).returns(T.attached_class)
|
|
55
|
+
end
|
|
56
|
+
def self.new(
|
|
57
|
+
# Read-only. Whether GrowSurf auto-disabled this webhook after repeated delivery
|
|
58
|
+
# failures.
|
|
59
|
+
auto_disabled_due_to_failures:,
|
|
60
|
+
events:,
|
|
61
|
+
# Read-only. Consecutive delivery failures.
|
|
62
|
+
failure_count:,
|
|
63
|
+
# The webhook id (`primary` for the program's primary webhook).
|
|
64
|
+
id:,
|
|
65
|
+
is_enabled:,
|
|
66
|
+
# Read-only. When the last delivery failure occurred, as a Unix timestamp in
|
|
67
|
+
# milliseconds.
|
|
68
|
+
last_failure_at: nil,
|
|
69
|
+
# The URL that receives webhook deliveries.
|
|
70
|
+
payload_url: nil
|
|
71
|
+
)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
sig do
|
|
75
|
+
override.returns(
|
|
76
|
+
{
|
|
77
|
+
auto_disabled_due_to_failures: T::Boolean,
|
|
78
|
+
events:
|
|
79
|
+
T::Array[GrowsurfRuby::Campaign::WebhookEvent::TaggedSymbol],
|
|
80
|
+
failure_count: Integer,
|
|
81
|
+
id: String,
|
|
82
|
+
is_enabled: T::Boolean,
|
|
83
|
+
last_failure_at: T.nilable(Integer),
|
|
84
|
+
payload_url: T.nilable(String)
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
def to_hash
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
module Campaign
|
|
6
|
+
class WebhookCreateParams < 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::WebhookCreateParams,
|
|
14
|
+
GrowsurfRuby::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# The URL that receives webhook deliveries.
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :payload_url
|
|
21
|
+
|
|
22
|
+
# The events this webhook is subscribed to. When omitted, it is subscribed to no
|
|
23
|
+
# events.
|
|
24
|
+
sig do
|
|
25
|
+
returns(
|
|
26
|
+
T.nilable(T::Array[GrowsurfRuby::Campaign::WebhookEvent::OrSymbol])
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
attr_reader :events
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
params(
|
|
33
|
+
events: T::Array[GrowsurfRuby::Campaign::WebhookEvent::OrSymbol]
|
|
34
|
+
).void
|
|
35
|
+
end
|
|
36
|
+
attr_writer :events
|
|
37
|
+
|
|
38
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
39
|
+
attr_reader :is_enabled
|
|
40
|
+
|
|
41
|
+
sig { params(is_enabled: T::Boolean).void }
|
|
42
|
+
attr_writer :is_enabled
|
|
43
|
+
|
|
44
|
+
# Write-only. Used to sign deliveries (the `GrowSurf-Signature` HMAC header). Never
|
|
45
|
+
# returned.
|
|
46
|
+
sig { returns(T.nilable(String)) }
|
|
47
|
+
attr_reader :secret
|
|
48
|
+
|
|
49
|
+
sig { params(secret: String).void }
|
|
50
|
+
attr_writer :secret
|
|
51
|
+
|
|
52
|
+
sig do
|
|
53
|
+
params(
|
|
54
|
+
payload_url: String,
|
|
55
|
+
events: T::Array[GrowsurfRuby::Campaign::WebhookEvent::OrSymbol],
|
|
56
|
+
is_enabled: T::Boolean,
|
|
57
|
+
secret: String,
|
|
58
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
59
|
+
).returns(T.attached_class)
|
|
60
|
+
end
|
|
61
|
+
def self.new(
|
|
62
|
+
# The URL that receives webhook deliveries.
|
|
63
|
+
payload_url:,
|
|
64
|
+
# The events this webhook is subscribed to. When omitted, it is subscribed to no
|
|
65
|
+
# events.
|
|
66
|
+
events: nil,
|
|
67
|
+
is_enabled: nil,
|
|
68
|
+
# Write-only. Used to sign deliveries (the `GrowSurf-Signature` HMAC header). Never
|
|
69
|
+
# returned.
|
|
70
|
+
secret: nil,
|
|
71
|
+
request_options: {}
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
sig do
|
|
76
|
+
override.returns(
|
|
77
|
+
{
|
|
78
|
+
payload_url: String,
|
|
79
|
+
events: T::Array[GrowsurfRuby::Campaign::WebhookEvent::OrSymbol],
|
|
80
|
+
is_enabled: T::Boolean,
|
|
81
|
+
secret: String,
|
|
82
|
+
request_options: GrowsurfRuby::RequestOptions
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
def to_hash
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
module Campaign
|
|
6
|
+
class WebhookDeleteParams < 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::WebhookDeleteParams,
|
|
14
|
+
GrowsurfRuby::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :id
|
|
20
|
+
|
|
21
|
+
sig { returns(String) }
|
|
22
|
+
attr_accessor :webhook_id
|
|
23
|
+
|
|
24
|
+
sig do
|
|
25
|
+
params(
|
|
26
|
+
id: String,
|
|
27
|
+
webhook_id: String,
|
|
28
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
29
|
+
).returns(T.attached_class)
|
|
30
|
+
end
|
|
31
|
+
def self.new(id:, webhook_id:, request_options: {})
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
sig do
|
|
35
|
+
override.returns(
|
|
36
|
+
{
|
|
37
|
+
id: String,
|
|
38
|
+
webhook_id: String,
|
|
39
|
+
request_options: GrowsurfRuby::RequestOptions
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
def to_hash
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
module Campaign
|
|
6
|
+
class WebhookDeleteResponse < GrowsurfRuby::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
GrowsurfRuby::Models::Campaign::WebhookDeleteResponse,
|
|
11
|
+
GrowsurfRuby::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
18
|
+
sig { returns(T::Boolean) }
|
|
19
|
+
attr_accessor :success
|
|
20
|
+
|
|
21
|
+
sig do
|
|
22
|
+
params(id: String, success: T::Boolean).returns(T.attached_class)
|
|
23
|
+
end
|
|
24
|
+
def self.new(id:, success:)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
sig { override.returns({ id: String, success: T::Boolean }) }
|
|
28
|
+
def to_hash
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
module Campaign
|
|
6
|
+
# A webhook event name.
|
|
7
|
+
module WebhookEvent
|
|
8
|
+
extend GrowsurfRuby::Internal::Type::Enum
|
|
9
|
+
|
|
10
|
+
TaggedSymbol =
|
|
11
|
+
T.type_alias { T.all(Symbol, GrowsurfRuby::Campaign::WebhookEvent) }
|
|
12
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
13
|
+
|
|
14
|
+
PARTICIPANT_REACHED_A_GOAL =
|
|
15
|
+
T.let(
|
|
16
|
+
:PARTICIPANT_REACHED_A_GOAL,
|
|
17
|
+
GrowsurfRuby::Campaign::WebhookEvent::TaggedSymbol
|
|
18
|
+
)
|
|
19
|
+
NEW_PARTICIPANT_ADDED =
|
|
20
|
+
T.let(
|
|
21
|
+
:NEW_PARTICIPANT_ADDED,
|
|
22
|
+
GrowsurfRuby::Campaign::WebhookEvent::TaggedSymbol
|
|
23
|
+
)
|
|
24
|
+
CAMPAIGN_ENDED =
|
|
25
|
+
T.let(
|
|
26
|
+
:CAMPAIGN_ENDED,
|
|
27
|
+
GrowsurfRuby::Campaign::WebhookEvent::TaggedSymbol
|
|
28
|
+
)
|
|
29
|
+
PARTICIPANT_FRAUD_STATUS_UPDATED =
|
|
30
|
+
T.let(
|
|
31
|
+
:PARTICIPANT_FRAUD_STATUS_UPDATED,
|
|
32
|
+
GrowsurfRuby::Campaign::WebhookEvent::TaggedSymbol
|
|
33
|
+
)
|
|
34
|
+
NEW_COMMISSION_ADDED =
|
|
35
|
+
T.let(
|
|
36
|
+
:NEW_COMMISSION_ADDED,
|
|
37
|
+
GrowsurfRuby::Campaign::WebhookEvent::TaggedSymbol
|
|
38
|
+
)
|
|
39
|
+
COMMISSION_ADJUSTED =
|
|
40
|
+
T.let(
|
|
41
|
+
:COMMISSION_ADJUSTED,
|
|
42
|
+
GrowsurfRuby::Campaign::WebhookEvent::TaggedSymbol
|
|
43
|
+
)
|
|
44
|
+
NEW_PAYOUT_ISSUED =
|
|
45
|
+
T.let(
|
|
46
|
+
:NEW_PAYOUT_ISSUED,
|
|
47
|
+
GrowsurfRuby::Campaign::WebhookEvent::TaggedSymbol
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
sig do
|
|
51
|
+
override.returns(
|
|
52
|
+
T::Array[GrowsurfRuby::Campaign::WebhookEvent::TaggedSymbol]
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
def self.values
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
module Campaign
|
|
6
|
+
class WebhookListResponse < GrowsurfRuby::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
GrowsurfRuby::Models::Campaign::WebhookListResponse,
|
|
11
|
+
GrowsurfRuby::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
sig { returns(T::Array[GrowsurfRuby::Models::Campaign::Webhook]) }
|
|
16
|
+
attr_accessor :webhooks
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(
|
|
20
|
+
webhooks: T::Array[GrowsurfRuby::Models::Campaign::Webhook::OrHash]
|
|
21
|
+
).returns(T.attached_class)
|
|
22
|
+
end
|
|
23
|
+
def self.new(webhooks:)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig do
|
|
27
|
+
override.returns(
|
|
28
|
+
{ webhooks: T::Array[GrowsurfRuby::Models::Campaign::Webhook] }
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
def to_hash
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
module Campaign
|
|
6
|
+
class WebhookTestParams < 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::WebhookTestParams,
|
|
14
|
+
GrowsurfRuby::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :id
|
|
20
|
+
|
|
21
|
+
sig { returns(String) }
|
|
22
|
+
attr_accessor :webhook_id
|
|
23
|
+
|
|
24
|
+
# The event to simulate. When omitted, the webhook's first enabled event is used
|
|
25
|
+
# (returns `400` if it has no enabled events).
|
|
26
|
+
sig do
|
|
27
|
+
returns(T.nilable(GrowsurfRuby::Campaign::WebhookEvent::OrSymbol))
|
|
28
|
+
end
|
|
29
|
+
attr_reader :event
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
params(event: GrowsurfRuby::Campaign::WebhookEvent::OrSymbol).void
|
|
33
|
+
end
|
|
34
|
+
attr_writer :event
|
|
35
|
+
|
|
36
|
+
sig do
|
|
37
|
+
params(
|
|
38
|
+
id: String,
|
|
39
|
+
webhook_id: String,
|
|
40
|
+
event: GrowsurfRuby::Campaign::WebhookEvent::OrSymbol,
|
|
41
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
42
|
+
).returns(T.attached_class)
|
|
43
|
+
end
|
|
44
|
+
def self.new(
|
|
45
|
+
id:,
|
|
46
|
+
webhook_id:,
|
|
47
|
+
# The event to simulate. When omitted, the webhook's first enabled event is used
|
|
48
|
+
# (returns `400` if it has no enabled events).
|
|
49
|
+
event: nil,
|
|
50
|
+
request_options: {}
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
sig do
|
|
55
|
+
override.returns(
|
|
56
|
+
{
|
|
57
|
+
id: String,
|
|
58
|
+
webhook_id: String,
|
|
59
|
+
event: GrowsurfRuby::Campaign::WebhookEvent::OrSymbol,
|
|
60
|
+
request_options: GrowsurfRuby::RequestOptions
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
def to_hash
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|