growsurf-ruby 0.7.0 → 1.0.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/models/campaign/campaign_reward_list_response.rb +21 -0
- data/lib/growsurf_ruby/models/campaign/delete_reward_response.rb +26 -0
- data/lib/growsurf_ruby/models/campaign/reward.rb +193 -0
- data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +212 -0
- data/lib/growsurf_ruby/models/campaign/reward_delete_params.rb +4 -4
- data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +205 -0
- data/lib/growsurf_ruby/models/campaign.rb +28 -1
- data/lib/growsurf_ruby/models/campaign_create_params.rb +68 -0
- data/lib/growsurf_ruby/models/campaign_update_params.rb +63 -0
- data/lib/growsurf_ruby/models/reward_tax_valuation.rb +35 -0
- data/lib/growsurf_ruby/models.rb +6 -0
- data/lib/growsurf_ruby/resources/campaign/design.rb +66 -0
- data/lib/growsurf_ruby/resources/campaign/emails.rb +63 -0
- data/lib/growsurf_ruby/resources/campaign/installation.rb +65 -0
- data/lib/growsurf_ruby/resources/campaign/options.rb +63 -0
- data/lib/growsurf_ruby/resources/campaign/rewards.rb +199 -0
- data/lib/growsurf_ruby/resources/campaign.rb +112 -0
- data/lib/growsurf_ruby/version.rb +1 -1
- data/lib/growsurf_ruby.rb +13 -0
- data/rbi/growsurf_ruby/models/campaign/campaign_reward_list_response.rbi +41 -0
- data/rbi/growsurf_ruby/models/campaign/delete_reward_response.rbi +38 -0
- data/rbi/growsurf_ruby/models/campaign/reward.rbi +291 -0
- data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +358 -0
- data/rbi/growsurf_ruby/models/campaign/reward_delete_params.rbi +4 -4
- data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +309 -0
- data/rbi/growsurf_ruby/models/campaign.rbi +42 -3
- data/rbi/growsurf_ruby/models/campaign_create_params.rbi +125 -0
- data/rbi/growsurf_ruby/models/campaign_update_params.rbi +130 -0
- data/rbi/growsurf_ruby/models/reward_tax_valuation.rbi +56 -0
- data/rbi/growsurf_ruby/models.rbi +6 -0
- data/rbi/growsurf_ruby/resources/campaign/design.rbi +50 -0
- data/rbi/growsurf_ruby/resources/campaign/emails.rbi +49 -0
- data/rbi/growsurf_ruby/resources/campaign/installation.rbi +50 -0
- data/rbi/growsurf_ruby/resources/campaign/options.rbi +49 -0
- data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +216 -0
- data/rbi/growsurf_ruby/resources/campaign.rbi +94 -0
- data/sig/growsurf_ruby/models/campaign/campaign_reward_list_response.rbs +18 -0
- data/sig/growsurf_ruby/models/campaign/delete_reward_response.rbs +17 -0
- data/sig/growsurf_ruby/models/campaign/reward.rbs +146 -0
- data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +210 -0
- data/sig/growsurf_ruby/models/campaign/reward_delete_params.rbs +4 -4
- data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +200 -0
- data/sig/growsurf_ruby/models/campaign.rbs +18 -3
- data/sig/growsurf_ruby/models/campaign_create_params.rbs +74 -0
- data/sig/growsurf_ruby/models/campaign_update_params.rbs +70 -0
- data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +19 -0
- data/sig/growsurf_ruby/models.rbs +6 -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/rewards.rbs +74 -0
- data/sig/growsurf_ruby/resources/campaign.rbs +34 -0
- metadata +41 -2
|
@@ -8,6 +8,8 @@ module GrowsurfRuby
|
|
|
8
8
|
CampaignCreateMobileParticipantTokenParams =
|
|
9
9
|
GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenParams
|
|
10
10
|
|
|
11
|
+
CampaignCreateParams = GrowsurfRuby::Models::CampaignCreateParams
|
|
12
|
+
|
|
11
13
|
CampaignListCommissionsParams =
|
|
12
14
|
GrowsurfRuby::Models::CampaignListCommissionsParams
|
|
13
15
|
|
|
@@ -29,6 +31,8 @@ module GrowsurfRuby
|
|
|
29
31
|
|
|
30
32
|
CampaignRetrieveParams = GrowsurfRuby::Models::CampaignRetrieveParams
|
|
31
33
|
|
|
34
|
+
CampaignUpdateParams = GrowsurfRuby::Models::CampaignUpdateParams
|
|
35
|
+
|
|
32
36
|
CommissionStructure = GrowsurfRuby::Models::CommissionStructure
|
|
33
37
|
|
|
34
38
|
ParticipantCommissionList = GrowsurfRuby::Models::ParticipantCommissionList
|
|
@@ -38,4 +42,6 @@ module GrowsurfRuby
|
|
|
38
42
|
ParticipantPayoutList = GrowsurfRuby::Models::ParticipantPayoutList
|
|
39
43
|
|
|
40
44
|
ReferralList = GrowsurfRuby::Models::ReferralList
|
|
45
|
+
|
|
46
|
+
RewardTaxValuation = GrowsurfRuby::Models::RewardTaxValuation
|
|
41
47
|
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Resources
|
|
5
|
+
class Campaign
|
|
6
|
+
class Design
|
|
7
|
+
# Retrieves a program's design configuration — the same surface as the dashboard
|
|
8
|
+
# Program Editor's **Design** tab. This is a large, deeply nested object whose
|
|
9
|
+
# available fields depend on the program type. See the API reference for the full
|
|
10
|
+
# field list.
|
|
11
|
+
sig do
|
|
12
|
+
params(
|
|
13
|
+
id: String,
|
|
14
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
15
|
+
).returns(T::Hash[Symbol, T.anything])
|
|
16
|
+
end
|
|
17
|
+
def retrieve(
|
|
18
|
+
# GrowSurf program ID.
|
|
19
|
+
id,
|
|
20
|
+
request_options: {}
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Updates a program's design configuration. Only the fields you send are changed.
|
|
25
|
+
# The request body is a partial design object — see the API reference for the full
|
|
26
|
+
# field list.
|
|
27
|
+
sig do
|
|
28
|
+
params(
|
|
29
|
+
id: String,
|
|
30
|
+
body: T::Hash[Symbol, T.anything],
|
|
31
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
32
|
+
).returns(T::Hash[Symbol, T.anything])
|
|
33
|
+
end
|
|
34
|
+
def update(
|
|
35
|
+
# GrowSurf program ID.
|
|
36
|
+
id,
|
|
37
|
+
# Partial design configuration to merge.
|
|
38
|
+
body,
|
|
39
|
+
request_options: {}
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @api private
|
|
44
|
+
sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
|
|
45
|
+
def self.new(client:)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Resources
|
|
5
|
+
class Campaign
|
|
6
|
+
class Emails
|
|
7
|
+
# Retrieves a program's email configuration — the same surface as the dashboard
|
|
8
|
+
# Program Editor's **Emails** tab. This is a large, nested object. See the API
|
|
9
|
+
# reference for the full field list.
|
|
10
|
+
sig do
|
|
11
|
+
params(
|
|
12
|
+
id: String,
|
|
13
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
14
|
+
).returns(T::Hash[Symbol, T.anything])
|
|
15
|
+
end
|
|
16
|
+
def retrieve(
|
|
17
|
+
# GrowSurf program ID.
|
|
18
|
+
id,
|
|
19
|
+
request_options: {}
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Updates a program's email configuration. Only the fields you send are changed.
|
|
24
|
+
# The request body is a partial email configuration object — see the API reference
|
|
25
|
+
# for the full field list.
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
id: String,
|
|
29
|
+
body: T::Hash[Symbol, T.anything],
|
|
30
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
31
|
+
).returns(T::Hash[Symbol, T.anything])
|
|
32
|
+
end
|
|
33
|
+
def update(
|
|
34
|
+
# GrowSurf program ID.
|
|
35
|
+
id,
|
|
36
|
+
# Partial email configuration to merge.
|
|
37
|
+
body,
|
|
38
|
+
request_options: {}
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# @api private
|
|
43
|
+
sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
|
|
44
|
+
def self.new(client:)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Resources
|
|
5
|
+
class Campaign
|
|
6
|
+
class Installation
|
|
7
|
+
# Retrieves a program's installation configuration — the same surface as the
|
|
8
|
+
# dashboard Program Editor's **Installation** tab. This is a nested object whose
|
|
9
|
+
# available fields depend on the program type. See the API reference for the full
|
|
10
|
+
# field list.
|
|
11
|
+
sig do
|
|
12
|
+
params(
|
|
13
|
+
id: String,
|
|
14
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
15
|
+
).returns(T::Hash[Symbol, T.anything])
|
|
16
|
+
end
|
|
17
|
+
def retrieve(
|
|
18
|
+
# GrowSurf program ID.
|
|
19
|
+
id,
|
|
20
|
+
request_options: {}
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Updates a program's installation configuration. Only the fields you send are
|
|
25
|
+
# changed. The request body is a partial installation configuration object — see
|
|
26
|
+
# the API reference for the full field list.
|
|
27
|
+
sig do
|
|
28
|
+
params(
|
|
29
|
+
id: String,
|
|
30
|
+
body: T::Hash[Symbol, T.anything],
|
|
31
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
32
|
+
).returns(T::Hash[Symbol, T.anything])
|
|
33
|
+
end
|
|
34
|
+
def update(
|
|
35
|
+
# GrowSurf program ID.
|
|
36
|
+
id,
|
|
37
|
+
# Partial installation configuration to merge.
|
|
38
|
+
body,
|
|
39
|
+
request_options: {}
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @api private
|
|
44
|
+
sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
|
|
45
|
+
def self.new(client:)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Resources
|
|
5
|
+
class Campaign
|
|
6
|
+
class Options
|
|
7
|
+
# Retrieves a program's options configuration — the same surface as the dashboard
|
|
8
|
+
# Program Editor's **Options** tab. This is a large, nested object. See the API
|
|
9
|
+
# reference for the full field list.
|
|
10
|
+
sig do
|
|
11
|
+
params(
|
|
12
|
+
id: String,
|
|
13
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
14
|
+
).returns(T::Hash[Symbol, T.anything])
|
|
15
|
+
end
|
|
16
|
+
def retrieve(
|
|
17
|
+
# GrowSurf program ID.
|
|
18
|
+
id,
|
|
19
|
+
request_options: {}
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Updates a program's options configuration. Only the fields you send are changed.
|
|
24
|
+
# The request body is a partial options configuration object — see the API
|
|
25
|
+
# reference for the full field list.
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
id: String,
|
|
29
|
+
body: T::Hash[Symbol, T.anything],
|
|
30
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
31
|
+
).returns(T::Hash[Symbol, T.anything])
|
|
32
|
+
end
|
|
33
|
+
def update(
|
|
34
|
+
# GrowSurf program ID.
|
|
35
|
+
id,
|
|
36
|
+
# Partial options configuration to merge.
|
|
37
|
+
body,
|
|
38
|
+
request_options: {}
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# @api private
|
|
43
|
+
sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
|
|
44
|
+
def self.new(client:)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Resources
|
|
5
|
+
class Campaign
|
|
6
|
+
class Rewards
|
|
7
|
+
# Retrieves the active, visible, and enabled rewards configured for a program.
|
|
8
|
+
sig do
|
|
9
|
+
params(
|
|
10
|
+
id: String,
|
|
11
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
12
|
+
).returns(GrowsurfRuby::Models::Campaign::CampaignRewardListResponse)
|
|
13
|
+
end
|
|
14
|
+
def list(
|
|
15
|
+
# GrowSurf program ID.
|
|
16
|
+
id,
|
|
17
|
+
request_options: {}
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Creates a reward for a program. The reward `type` must be compatible with the
|
|
22
|
+
# program type.
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
id: String,
|
|
26
|
+
type:
|
|
27
|
+
GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::OrSymbol,
|
|
28
|
+
commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
|
|
29
|
+
conversions_required: Integer,
|
|
30
|
+
coupon_code: String,
|
|
31
|
+
description: String,
|
|
32
|
+
image_url: String,
|
|
33
|
+
is_active: T::Boolean,
|
|
34
|
+
is_unlimited: T::Boolean,
|
|
35
|
+
is_visible: T::Boolean,
|
|
36
|
+
limit: Integer,
|
|
37
|
+
limit_duration:
|
|
38
|
+
GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::OrSymbol,
|
|
39
|
+
metadata: T::Hash[Symbol, T.anything],
|
|
40
|
+
next_milestone_prefix: String,
|
|
41
|
+
next_milestone_suffix: String,
|
|
42
|
+
number_of_winners: Integer,
|
|
43
|
+
order: Integer,
|
|
44
|
+
referral_coupon_code: String,
|
|
45
|
+
referral_description: String,
|
|
46
|
+
referred_reward_upfront: T::Boolean,
|
|
47
|
+
referred_value: GrowsurfRuby::RewardTaxValuation::OrHash,
|
|
48
|
+
title: String,
|
|
49
|
+
value: GrowsurfRuby::RewardTaxValuation::OrHash,
|
|
50
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
51
|
+
).returns(GrowsurfRuby::Models::Campaign::Reward)
|
|
52
|
+
end
|
|
53
|
+
def create(
|
|
54
|
+
# Path param: GrowSurf program ID.
|
|
55
|
+
id,
|
|
56
|
+
# Body param: The reward type. Immutable after creation.
|
|
57
|
+
type:,
|
|
58
|
+
# Body param
|
|
59
|
+
commission_structure: nil,
|
|
60
|
+
# Body param
|
|
61
|
+
conversions_required: nil,
|
|
62
|
+
# Body param
|
|
63
|
+
coupon_code: nil,
|
|
64
|
+
# Body param
|
|
65
|
+
description: nil,
|
|
66
|
+
# Body param
|
|
67
|
+
image_url: nil,
|
|
68
|
+
# Body param
|
|
69
|
+
is_active: nil,
|
|
70
|
+
# Body param
|
|
71
|
+
is_unlimited: nil,
|
|
72
|
+
# Body param
|
|
73
|
+
is_visible: nil,
|
|
74
|
+
# Body param
|
|
75
|
+
limit: nil,
|
|
76
|
+
# Body param
|
|
77
|
+
limit_duration: nil,
|
|
78
|
+
# Body param: Custom key/value metadata (single-level; values are stored as
|
|
79
|
+
# strings).
|
|
80
|
+
metadata: nil,
|
|
81
|
+
# Body param
|
|
82
|
+
next_milestone_prefix: nil,
|
|
83
|
+
# Body param
|
|
84
|
+
next_milestone_suffix: nil,
|
|
85
|
+
# Body param
|
|
86
|
+
number_of_winners: nil,
|
|
87
|
+
# Body param
|
|
88
|
+
order: nil,
|
|
89
|
+
# Body param
|
|
90
|
+
referral_coupon_code: nil,
|
|
91
|
+
# Body param
|
|
92
|
+
referral_description: nil,
|
|
93
|
+
# Body param
|
|
94
|
+
referred_reward_upfront: nil,
|
|
95
|
+
# Body param: Tax valuation for the referred friend's side of a double-sided
|
|
96
|
+
# reward. Defaults to not tax-reportable (a purchase rebate).
|
|
97
|
+
referred_value: nil,
|
|
98
|
+
# Body param
|
|
99
|
+
title: nil,
|
|
100
|
+
# Body param: Tax valuation for the reward (the referrer's side of a
|
|
101
|
+
# double-sided reward). Used by tax documentation / 1099 reporting.
|
|
102
|
+
value: nil,
|
|
103
|
+
request_options: {}
|
|
104
|
+
)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Updates an existing campaign reward. Only the fields you send are changed; `type`
|
|
108
|
+
# is immutable and must not be supplied.
|
|
109
|
+
sig do
|
|
110
|
+
params(
|
|
111
|
+
campaign_reward_id: String,
|
|
112
|
+
id: String,
|
|
113
|
+
commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
|
|
114
|
+
conversions_required: Integer,
|
|
115
|
+
coupon_code: String,
|
|
116
|
+
description: String,
|
|
117
|
+
image_url: String,
|
|
118
|
+
is_active: T::Boolean,
|
|
119
|
+
is_unlimited: T::Boolean,
|
|
120
|
+
is_visible: T::Boolean,
|
|
121
|
+
limit: Integer,
|
|
122
|
+
limit_duration:
|
|
123
|
+
GrowsurfRuby::Models::Campaign::RewardUpdateParams::LimitDuration::OrSymbol,
|
|
124
|
+
metadata: T::Hash[Symbol, T.anything],
|
|
125
|
+
next_milestone_prefix: String,
|
|
126
|
+
next_milestone_suffix: String,
|
|
127
|
+
number_of_winners: Integer,
|
|
128
|
+
order: Integer,
|
|
129
|
+
referral_coupon_code: String,
|
|
130
|
+
referral_description: String,
|
|
131
|
+
referred_reward_upfront: T::Boolean,
|
|
132
|
+
referred_value: GrowsurfRuby::RewardTaxValuation::OrHash,
|
|
133
|
+
title: String,
|
|
134
|
+
value: GrowsurfRuby::RewardTaxValuation::OrHash,
|
|
135
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
136
|
+
).returns(GrowsurfRuby::Models::Campaign::Reward)
|
|
137
|
+
end
|
|
138
|
+
def update(
|
|
139
|
+
# Path param: Campaign reward ID.
|
|
140
|
+
campaign_reward_id,
|
|
141
|
+
# Path param: GrowSurf program ID.
|
|
142
|
+
id:,
|
|
143
|
+
# Body param
|
|
144
|
+
commission_structure: nil,
|
|
145
|
+
# Body param
|
|
146
|
+
conversions_required: nil,
|
|
147
|
+
# Body param
|
|
148
|
+
coupon_code: nil,
|
|
149
|
+
# Body param
|
|
150
|
+
description: nil,
|
|
151
|
+
# Body param
|
|
152
|
+
image_url: nil,
|
|
153
|
+
# Body param
|
|
154
|
+
is_active: nil,
|
|
155
|
+
# Body param
|
|
156
|
+
is_unlimited: nil,
|
|
157
|
+
# Body param
|
|
158
|
+
is_visible: nil,
|
|
159
|
+
# Body param
|
|
160
|
+
limit: nil,
|
|
161
|
+
# Body param
|
|
162
|
+
limit_duration: nil,
|
|
163
|
+
# Body param: Custom key/value metadata (single-level; values are stored as
|
|
164
|
+
# strings).
|
|
165
|
+
metadata: nil,
|
|
166
|
+
# Body param
|
|
167
|
+
next_milestone_prefix: nil,
|
|
168
|
+
# Body param
|
|
169
|
+
next_milestone_suffix: nil,
|
|
170
|
+
# Body param
|
|
171
|
+
number_of_winners: nil,
|
|
172
|
+
# Body param
|
|
173
|
+
order: nil,
|
|
174
|
+
# Body param
|
|
175
|
+
referral_coupon_code: nil,
|
|
176
|
+
# Body param
|
|
177
|
+
referral_description: nil,
|
|
178
|
+
# Body param
|
|
179
|
+
referred_reward_upfront: nil,
|
|
180
|
+
# Body param: Tax valuation for the referred friend's side of a double-sided
|
|
181
|
+
# reward. Defaults to not tax-reportable (a purchase rebate).
|
|
182
|
+
referred_value: nil,
|
|
183
|
+
# Body param
|
|
184
|
+
title: nil,
|
|
185
|
+
# Body param: Tax valuation for the reward (the referrer's side of a
|
|
186
|
+
# double-sided reward). Used by tax documentation / 1099 reporting.
|
|
187
|
+
value: nil,
|
|
188
|
+
request_options: {}
|
|
189
|
+
)
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
# Deletes a campaign reward.
|
|
193
|
+
sig do
|
|
194
|
+
params(
|
|
195
|
+
campaign_reward_id: String,
|
|
196
|
+
id: String,
|
|
197
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
198
|
+
).returns(GrowsurfRuby::Models::Campaign::DeleteRewardResponse)
|
|
199
|
+
end
|
|
200
|
+
def delete(
|
|
201
|
+
# Campaign reward ID.
|
|
202
|
+
campaign_reward_id,
|
|
203
|
+
# GrowSurf program ID.
|
|
204
|
+
id:,
|
|
205
|
+
request_options: {}
|
|
206
|
+
)
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
# @api private
|
|
210
|
+
sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
|
|
211
|
+
def self.new(client:)
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
end
|
|
@@ -14,6 +14,26 @@ module GrowsurfRuby
|
|
|
14
14
|
sig { returns(GrowsurfRuby::Resources::Campaign::Commission) }
|
|
15
15
|
attr_reader :commission
|
|
16
16
|
|
|
17
|
+
# Campaign reward configuration operations.
|
|
18
|
+
sig { returns(GrowsurfRuby::Resources::Campaign::Rewards) }
|
|
19
|
+
attr_reader :rewards
|
|
20
|
+
|
|
21
|
+
# Program Editor "Design" tab configuration operations.
|
|
22
|
+
sig { returns(GrowsurfRuby::Resources::Campaign::Design) }
|
|
23
|
+
attr_reader :design
|
|
24
|
+
|
|
25
|
+
# Program Editor "Emails" tab configuration operations.
|
|
26
|
+
sig { returns(GrowsurfRuby::Resources::Campaign::Emails) }
|
|
27
|
+
attr_reader :emails
|
|
28
|
+
|
|
29
|
+
# Program Editor "Options" tab configuration operations.
|
|
30
|
+
sig { returns(GrowsurfRuby::Resources::Campaign::Options) }
|
|
31
|
+
attr_reader :options
|
|
32
|
+
|
|
33
|
+
# Program Editor "Installation" tab configuration operations.
|
|
34
|
+
sig { returns(GrowsurfRuby::Resources::Campaign::Installation) }
|
|
35
|
+
attr_reader :installation
|
|
36
|
+
|
|
17
37
|
# Retrieves a program for the given program ID.
|
|
18
38
|
sig do
|
|
19
39
|
params(
|
|
@@ -37,6 +57,80 @@ module GrowsurfRuby
|
|
|
37
57
|
def list(request_options: {})
|
|
38
58
|
end
|
|
39
59
|
|
|
60
|
+
# Creates a program. Only `type` is required; everything else is server-defaulted.
|
|
61
|
+
# Editor-tab configuration (design, emails, options, installation) is not accepted
|
|
62
|
+
# here — configure it via the config sub-resources after the program is created.
|
|
63
|
+
sig do
|
|
64
|
+
params(
|
|
65
|
+
type: GrowsurfRuby::CampaignCreateParams::Type::OrSymbol,
|
|
66
|
+
company_logo_image_url: String,
|
|
67
|
+
company_name: String,
|
|
68
|
+
currency_iso: String,
|
|
69
|
+
name: String,
|
|
70
|
+
rewards: T::Array[GrowsurfRuby::Campaign::RewardCreateParams::OrHash],
|
|
71
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
72
|
+
).returns(GrowsurfRuby::CampaignAPI)
|
|
73
|
+
end
|
|
74
|
+
def create(
|
|
75
|
+
# The program type. Immutable after creation.
|
|
76
|
+
type:,
|
|
77
|
+
company_logo_image_url: nil,
|
|
78
|
+
company_name: nil,
|
|
79
|
+
# ISO 4217 currency code. Defaults to USD. Chosen when the program is created and
|
|
80
|
+
# immutable afterward — it cannot be changed on update.
|
|
81
|
+
currency_iso: nil,
|
|
82
|
+
# The program name. Defaults to "Untitled Program".
|
|
83
|
+
name: nil,
|
|
84
|
+
# Optional inline rewards to create with the program.
|
|
85
|
+
rewards: nil,
|
|
86
|
+
request_options: {}
|
|
87
|
+
)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Updates a program's identity and lifecycle. Only the fields you send are changed.
|
|
91
|
+
# `type`, `urlId`, and `currencyISO` are immutable. Editor-tab configuration (design, emails,
|
|
92
|
+
# options, installation) is edited via the dedicated config sub-resources, not
|
|
93
|
+
# here.
|
|
94
|
+
sig do
|
|
95
|
+
params(
|
|
96
|
+
id: String,
|
|
97
|
+
company_logo_image_url: String,
|
|
98
|
+
company_name: String,
|
|
99
|
+
name: String,
|
|
100
|
+
status: GrowsurfRuby::CampaignUpdateParams::Status::OrSymbol,
|
|
101
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
102
|
+
).returns(GrowsurfRuby::CampaignAPI)
|
|
103
|
+
end
|
|
104
|
+
def update(
|
|
105
|
+
# Path param: GrowSurf program ID.
|
|
106
|
+
id,
|
|
107
|
+
# Body param
|
|
108
|
+
company_logo_image_url: nil,
|
|
109
|
+
# Body param
|
|
110
|
+
company_name: nil,
|
|
111
|
+
# Body param
|
|
112
|
+
name: nil,
|
|
113
|
+
# Body param: The program status. Transitions are validated; DELETED is not
|
|
114
|
+
# allowed.
|
|
115
|
+
status: nil,
|
|
116
|
+
request_options: {}
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Clones an existing program, returning the newly created program.
|
|
121
|
+
sig do
|
|
122
|
+
params(
|
|
123
|
+
id: String,
|
|
124
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
125
|
+
).returns(GrowsurfRuby::CampaignAPI)
|
|
126
|
+
end
|
|
127
|
+
def clone(
|
|
128
|
+
# GrowSurf program ID.
|
|
129
|
+
id,
|
|
130
|
+
request_options: {}
|
|
131
|
+
)
|
|
132
|
+
end
|
|
133
|
+
|
|
40
134
|
# Creates or returns a participant using the same input behavior as Add
|
|
41
135
|
# Participant, then returns a participant-scoped token for GrowSurf mobile SDK
|
|
42
136
|
# participant endpoints. Use this endpoint from your backend after your mobile app
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module GrowsurfRuby
|
|
2
|
+
module Models
|
|
3
|
+
module Campaign
|
|
4
|
+
type campaign_reward_list_response =
|
|
5
|
+
{ rewards: ::Array[GrowsurfRuby::Campaign::Reward] }
|
|
6
|
+
|
|
7
|
+
class CampaignRewardListResponse < GrowsurfRuby::Internal::Type::BaseModel
|
|
8
|
+
attr_accessor rewards: ::Array[GrowsurfRuby::Campaign::Reward]
|
|
9
|
+
|
|
10
|
+
def initialize: (
|
|
11
|
+
rewards: ::Array[GrowsurfRuby::Campaign::Reward]
|
|
12
|
+
) -> void
|
|
13
|
+
|
|
14
|
+
def to_hash: -> { rewards: ::Array[GrowsurfRuby::Campaign::Reward] }
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module GrowsurfRuby
|
|
2
|
+
module Models
|
|
3
|
+
module Campaign
|
|
4
|
+
type delete_reward_response = { id: String, success: bool }
|
|
5
|
+
|
|
6
|
+
class DeleteRewardResponse < GrowsurfRuby::Internal::Type::BaseModel
|
|
7
|
+
attr_accessor id: String
|
|
8
|
+
|
|
9
|
+
attr_accessor success: bool
|
|
10
|
+
|
|
11
|
+
def initialize: (id: String, success: bool) -> void
|
|
12
|
+
|
|
13
|
+
def to_hash: -> { id: String, success: bool }
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|