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
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
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 (fraud/reCAPTCHA, tax documentation,
|
|
9
|
+
# notification emails, and other program settings).
|
|
10
|
+
#
|
|
11
|
+
# This is a large, nested object. See the API reference for the full field list.
|
|
12
|
+
#
|
|
13
|
+
# @overload retrieve(id, request_options: {})
|
|
14
|
+
#
|
|
15
|
+
# @param id [String] GrowSurf program ID.
|
|
16
|
+
#
|
|
17
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
18
|
+
#
|
|
19
|
+
# @return [Hash{Symbol=>Object}]
|
|
20
|
+
def retrieve(id, params = {})
|
|
21
|
+
@client.request(
|
|
22
|
+
method: :get,
|
|
23
|
+
path: ["campaign/%1$s/options", id],
|
|
24
|
+
model: GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown],
|
|
25
|
+
options: params[:request_options]
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Updates a program's options configuration. Only the fields you send are changed.
|
|
30
|
+
# Unknown fields and invalid values return a `400`.
|
|
31
|
+
#
|
|
32
|
+
# The request body is a partial {CampaignOptions} object — see the API reference
|
|
33
|
+
# for the full field list.
|
|
34
|
+
#
|
|
35
|
+
# @overload update(id, body, request_options: {})
|
|
36
|
+
#
|
|
37
|
+
# @param id [String] GrowSurf program ID.
|
|
38
|
+
#
|
|
39
|
+
# @param body [Hash{Symbol=>Object}] Partial options configuration to merge.
|
|
40
|
+
#
|
|
41
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
42
|
+
#
|
|
43
|
+
# @return [Hash{Symbol=>Object}]
|
|
44
|
+
def update(id, body, params = {})
|
|
45
|
+
@client.request(
|
|
46
|
+
method: :patch,
|
|
47
|
+
path: ["campaign/%1$s/options", id],
|
|
48
|
+
body: body,
|
|
49
|
+
model: GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown],
|
|
50
|
+
options: params[:request_options]
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# @api private
|
|
55
|
+
#
|
|
56
|
+
# @param client [GrowsurfRuby::Client]
|
|
57
|
+
def initialize(client:)
|
|
58
|
+
@client = client
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
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
|
+
#
|
|
9
|
+
# @overload list(id, request_options: {})
|
|
10
|
+
#
|
|
11
|
+
# @param id [String] GrowSurf program ID.
|
|
12
|
+
#
|
|
13
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
14
|
+
#
|
|
15
|
+
# @return [GrowsurfRuby::Models::Campaign::CampaignRewardListResponse]
|
|
16
|
+
def list(id, params = {})
|
|
17
|
+
@client.request(
|
|
18
|
+
method: :get,
|
|
19
|
+
path: ["campaign/%1$s/reward-configs", id],
|
|
20
|
+
model: GrowsurfRuby::Models::Campaign::CampaignRewardListResponse,
|
|
21
|
+
options: params[:request_options]
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Creates a reward for a program. The reward `type` must be compatible with the
|
|
26
|
+
# program type.
|
|
27
|
+
#
|
|
28
|
+
# @overload create(id, type:, commission_structure: nil, conversions_required: nil, coupon_code: nil, description: nil, image_url: nil, is_active: nil, is_unlimited: nil, is_visible: nil, limit: nil, limit_duration: nil, metadata: nil, next_milestone_prefix: nil, next_milestone_suffix: nil, number_of_winners: nil, order: nil, referral_coupon_code: nil, referral_description: nil, referred_reward_upfront: nil, referred_value: nil, title: nil, value: nil, request_options: {})
|
|
29
|
+
#
|
|
30
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
31
|
+
#
|
|
32
|
+
# @param type [Symbol, GrowsurfRuby::Models::Campaign::RewardCreateParams::Type] Body param: The reward type. Immutable after creation.
|
|
33
|
+
#
|
|
34
|
+
# @param commission_structure [GrowsurfRuby::Models::CommissionStructure] Body param
|
|
35
|
+
#
|
|
36
|
+
# @param conversions_required [Integer] Body param
|
|
37
|
+
#
|
|
38
|
+
# @param coupon_code [String] Body param
|
|
39
|
+
#
|
|
40
|
+
# @param description [String] Body param
|
|
41
|
+
#
|
|
42
|
+
# @param image_url [String] Body param
|
|
43
|
+
#
|
|
44
|
+
# @param is_active [Boolean] Body param
|
|
45
|
+
#
|
|
46
|
+
# @param is_unlimited [Boolean] Body param
|
|
47
|
+
#
|
|
48
|
+
# @param is_visible [Boolean] Body param
|
|
49
|
+
#
|
|
50
|
+
# @param limit [Integer] Body param
|
|
51
|
+
#
|
|
52
|
+
# @param limit_duration [Symbol, GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration] Body param
|
|
53
|
+
#
|
|
54
|
+
# @param metadata [Hash{Symbol=>Object}] Body param: Custom key/value metadata (single-level; values are stored as string
|
|
55
|
+
#
|
|
56
|
+
# @param next_milestone_prefix [String] Body param
|
|
57
|
+
#
|
|
58
|
+
# @param next_milestone_suffix [String] Body param
|
|
59
|
+
#
|
|
60
|
+
# @param number_of_winners [Integer] Body param
|
|
61
|
+
#
|
|
62
|
+
# @param order [Integer] Body param
|
|
63
|
+
#
|
|
64
|
+
# @param referral_coupon_code [String] Body param
|
|
65
|
+
#
|
|
66
|
+
# @param referral_description [String] Body param
|
|
67
|
+
#
|
|
68
|
+
# @param referred_reward_upfront [Boolean] Body param
|
|
69
|
+
#
|
|
70
|
+
# @param referred_value [GrowsurfRuby::Models::RewardTaxValuation] Body param: Tax valuation for the referred friend's side of a double-sided rewa
|
|
71
|
+
#
|
|
72
|
+
# @param title [String] Body param
|
|
73
|
+
#
|
|
74
|
+
# @param value [GrowsurfRuby::Models::RewardTaxValuation] Body param: Tax valuation for the reward (the referrer's side of a double-sided
|
|
75
|
+
#
|
|
76
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
77
|
+
#
|
|
78
|
+
# @return [GrowsurfRuby::Models::Campaign::Reward]
|
|
79
|
+
#
|
|
80
|
+
# @see GrowsurfRuby::Models::Campaign::RewardCreateParams
|
|
81
|
+
def create(id, params)
|
|
82
|
+
parsed, options = GrowsurfRuby::Campaign::RewardCreateParams.dump_request(params)
|
|
83
|
+
@client.request(
|
|
84
|
+
method: :post,
|
|
85
|
+
path: ["campaign/%1$s/reward-configs", id],
|
|
86
|
+
body: parsed,
|
|
87
|
+
model: GrowsurfRuby::Models::Campaign::Reward,
|
|
88
|
+
options: options
|
|
89
|
+
)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Updates an existing campaign reward. Only the fields you send are changed;
|
|
93
|
+
# `type` is immutable and must not be supplied.
|
|
94
|
+
#
|
|
95
|
+
# @overload update(campaign_reward_id, id:, commission_structure: nil, conversions_required: nil, coupon_code: nil, description: nil, image_url: nil, is_active: nil, is_unlimited: nil, is_visible: nil, limit: nil, limit_duration: nil, metadata: nil, next_milestone_prefix: nil, next_milestone_suffix: nil, number_of_winners: nil, order: nil, referral_coupon_code: nil, referral_description: nil, referred_reward_upfront: nil, referred_value: nil, title: nil, value: nil, request_options: {})
|
|
96
|
+
#
|
|
97
|
+
# @param campaign_reward_id [String] Path param: Campaign reward ID.
|
|
98
|
+
#
|
|
99
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
100
|
+
#
|
|
101
|
+
# @param commission_structure [GrowsurfRuby::Models::CommissionStructure] Body param
|
|
102
|
+
#
|
|
103
|
+
# @param conversions_required [Integer] Body param
|
|
104
|
+
#
|
|
105
|
+
# @param coupon_code [String] Body param
|
|
106
|
+
#
|
|
107
|
+
# @param description [String] Body param
|
|
108
|
+
#
|
|
109
|
+
# @param image_url [String] Body param
|
|
110
|
+
#
|
|
111
|
+
# @param is_active [Boolean] Body param
|
|
112
|
+
#
|
|
113
|
+
# @param is_unlimited [Boolean] Body param
|
|
114
|
+
#
|
|
115
|
+
# @param is_visible [Boolean] Body param
|
|
116
|
+
#
|
|
117
|
+
# @param limit [Integer] Body param
|
|
118
|
+
#
|
|
119
|
+
# @param limit_duration [Symbol, GrowsurfRuby::Models::Campaign::RewardUpdateParams::LimitDuration] Body param
|
|
120
|
+
#
|
|
121
|
+
# @param metadata [Hash{Symbol=>Object}] Body param: Custom key/value metadata (single-level; values are stored as string
|
|
122
|
+
#
|
|
123
|
+
# @param next_milestone_prefix [String] Body param
|
|
124
|
+
#
|
|
125
|
+
# @param next_milestone_suffix [String] Body param
|
|
126
|
+
#
|
|
127
|
+
# @param number_of_winners [Integer] Body param
|
|
128
|
+
#
|
|
129
|
+
# @param order [Integer] Body param
|
|
130
|
+
#
|
|
131
|
+
# @param referral_coupon_code [String] Body param
|
|
132
|
+
#
|
|
133
|
+
# @param referral_description [String] Body param
|
|
134
|
+
#
|
|
135
|
+
# @param referred_reward_upfront [Boolean] Body param
|
|
136
|
+
#
|
|
137
|
+
# @param referred_value [GrowsurfRuby::Models::RewardTaxValuation] Body param: Tax valuation for the referred friend's side of a double-sided rewa
|
|
138
|
+
#
|
|
139
|
+
# @param title [String] Body param
|
|
140
|
+
#
|
|
141
|
+
# @param value [GrowsurfRuby::Models::RewardTaxValuation] Body param: Tax valuation for the reward (the referrer's side of a double-sided
|
|
142
|
+
#
|
|
143
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
144
|
+
#
|
|
145
|
+
# @return [GrowsurfRuby::Models::Campaign::Reward]
|
|
146
|
+
#
|
|
147
|
+
# @see GrowsurfRuby::Models::Campaign::RewardUpdateParams
|
|
148
|
+
def update(campaign_reward_id, params)
|
|
149
|
+
parsed, options = GrowsurfRuby::Campaign::RewardUpdateParams.dump_request(params)
|
|
150
|
+
id =
|
|
151
|
+
parsed.delete(:id) do
|
|
152
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
153
|
+
end
|
|
154
|
+
@client.request(
|
|
155
|
+
method: :patch,
|
|
156
|
+
path: ["campaign/%1$s/reward-configs/%2$s", id, campaign_reward_id],
|
|
157
|
+
body: parsed,
|
|
158
|
+
model: GrowsurfRuby::Models::Campaign::Reward,
|
|
159
|
+
options: options
|
|
160
|
+
)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# Deletes a campaign reward.
|
|
164
|
+
#
|
|
165
|
+
# @overload delete(campaign_reward_id, id:, request_options: {})
|
|
166
|
+
#
|
|
167
|
+
# @param campaign_reward_id [String] Campaign reward ID.
|
|
168
|
+
#
|
|
169
|
+
# @param id [String] GrowSurf program ID.
|
|
170
|
+
#
|
|
171
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
172
|
+
#
|
|
173
|
+
# @return [GrowsurfRuby::Models::Campaign::DeleteRewardResponse]
|
|
174
|
+
#
|
|
175
|
+
# @see GrowsurfRuby::Models::Campaign::RewardDeleteParams
|
|
176
|
+
def delete(campaign_reward_id, params)
|
|
177
|
+
parsed, options = GrowsurfRuby::Campaign::RewardDeleteParams.dump_request(params)
|
|
178
|
+
id =
|
|
179
|
+
parsed.delete(:id) do
|
|
180
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
181
|
+
end
|
|
182
|
+
@client.request(
|
|
183
|
+
method: :delete,
|
|
184
|
+
path: ["campaign/%1$s/reward-configs/%2$s", id, campaign_reward_id],
|
|
185
|
+
model: GrowsurfRuby::Models::Campaign::DeleteRewardResponse,
|
|
186
|
+
options: options
|
|
187
|
+
)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# @api private
|
|
191
|
+
#
|
|
192
|
+
# @param client [GrowsurfRuby::Client]
|
|
193
|
+
def initialize(client:)
|
|
194
|
+
@client = client
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
end
|
|
199
|
+
end
|
|
@@ -14,6 +14,26 @@ module GrowsurfRuby
|
|
|
14
14
|
# @return [GrowsurfRuby::Resources::Campaign::Commission]
|
|
15
15
|
attr_reader :commission
|
|
16
16
|
|
|
17
|
+
# Campaign reward configuration operations.
|
|
18
|
+
# @return [GrowsurfRuby::Resources::Campaign::Rewards]
|
|
19
|
+
attr_reader :rewards
|
|
20
|
+
|
|
21
|
+
# Program Editor "Design" tab configuration operations.
|
|
22
|
+
# @return [GrowsurfRuby::Resources::Campaign::Design]
|
|
23
|
+
attr_reader :design
|
|
24
|
+
|
|
25
|
+
# Program Editor "Emails" tab configuration operations.
|
|
26
|
+
# @return [GrowsurfRuby::Resources::Campaign::Emails]
|
|
27
|
+
attr_reader :emails
|
|
28
|
+
|
|
29
|
+
# Program Editor "Options" tab configuration operations.
|
|
30
|
+
# @return [GrowsurfRuby::Resources::Campaign::Options]
|
|
31
|
+
attr_reader :options
|
|
32
|
+
|
|
33
|
+
# Program Editor "Installation" tab configuration operations.
|
|
34
|
+
# @return [GrowsurfRuby::Resources::Campaign::Installation]
|
|
35
|
+
attr_reader :installation
|
|
36
|
+
|
|
17
37
|
# Retrieves a program for the given program ID.
|
|
18
38
|
#
|
|
19
39
|
# @overload retrieve(id, request_options: {})
|
|
@@ -52,6 +72,93 @@ module GrowsurfRuby
|
|
|
52
72
|
)
|
|
53
73
|
end
|
|
54
74
|
|
|
75
|
+
# Creates a program. Only `type` is required; everything else is
|
|
76
|
+
# server-defaulted. Editor-tab configuration (design, emails, options,
|
|
77
|
+
# installation) is not accepted here — configure it via the config sub-resources
|
|
78
|
+
# (e.g. `campaign.options.update`) after the program is created.
|
|
79
|
+
#
|
|
80
|
+
# @overload create(type:, company_logo_image_url: nil, company_name: nil, currency_iso: nil, name: nil, rewards: nil, request_options: {})
|
|
81
|
+
#
|
|
82
|
+
# @param type [Symbol, GrowsurfRuby::Models::CampaignCreateParams::Type] The program type. Immutable after creation.
|
|
83
|
+
#
|
|
84
|
+
# @param company_logo_image_url [String]
|
|
85
|
+
#
|
|
86
|
+
# @param company_name [String]
|
|
87
|
+
#
|
|
88
|
+
# @param currency_iso [String] ISO 4217 currency code. Defaults to USD. Chosen when the program is created and immutable afterward — it cannot be changed on update.
|
|
89
|
+
#
|
|
90
|
+
# @param name [String] The program name. Defaults to "Untitled Program".
|
|
91
|
+
#
|
|
92
|
+
# @param rewards [Array<GrowsurfRuby::Models::Campaign::RewardCreateParams>] Optional inline rewards to create with the program.
|
|
93
|
+
#
|
|
94
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
95
|
+
#
|
|
96
|
+
# @return [GrowsurfRuby::Models::CampaignAPI]
|
|
97
|
+
#
|
|
98
|
+
# @see GrowsurfRuby::Models::CampaignCreateParams
|
|
99
|
+
def create(params)
|
|
100
|
+
parsed, options = GrowsurfRuby::CampaignCreateParams.dump_request(params)
|
|
101
|
+
@client.request(
|
|
102
|
+
method: :post,
|
|
103
|
+
path: "campaigns",
|
|
104
|
+
body: parsed,
|
|
105
|
+
model: GrowsurfRuby::CampaignAPI,
|
|
106
|
+
options: options
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Updates a program's identity and lifecycle. Only the fields you send are changed.
|
|
111
|
+
# `type`, `urlId`, and `currencyISO` are immutable. Editor-tab configuration (design, emails,
|
|
112
|
+
# options, installation) is edited via the dedicated config sub-resources
|
|
113
|
+
# (`campaign.design`, `campaign.emails`, `campaign.options`, `campaign.installation`),
|
|
114
|
+
# not here.
|
|
115
|
+
#
|
|
116
|
+
# @overload update(id, company_logo_image_url: nil, company_name: nil, name: nil, status: nil, request_options: {})
|
|
117
|
+
#
|
|
118
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
119
|
+
#
|
|
120
|
+
# @param company_logo_image_url [String] Body param
|
|
121
|
+
#
|
|
122
|
+
# @param company_name [String] Body param
|
|
123
|
+
#
|
|
124
|
+
# @param name [String] Body param
|
|
125
|
+
#
|
|
126
|
+
# @param status [Symbol, GrowsurfRuby::Models::CampaignUpdateParams::Status] Body param: The program status. Transitions are validated; DELETED is not allowe
|
|
127
|
+
#
|
|
128
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
129
|
+
#
|
|
130
|
+
# @return [GrowsurfRuby::Models::CampaignAPI]
|
|
131
|
+
#
|
|
132
|
+
# @see GrowsurfRuby::Models::CampaignUpdateParams
|
|
133
|
+
def update(id, params)
|
|
134
|
+
parsed, options = GrowsurfRuby::CampaignUpdateParams.dump_request(params)
|
|
135
|
+
@client.request(
|
|
136
|
+
method: :patch,
|
|
137
|
+
path: ["campaign/%1$s", id],
|
|
138
|
+
body: parsed,
|
|
139
|
+
model: GrowsurfRuby::CampaignAPI,
|
|
140
|
+
options: options
|
|
141
|
+
)
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# Clones an existing program, returning the newly created program.
|
|
145
|
+
#
|
|
146
|
+
# @overload clone(id, request_options: {})
|
|
147
|
+
#
|
|
148
|
+
# @param id [String] GrowSurf program ID.
|
|
149
|
+
#
|
|
150
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
151
|
+
#
|
|
152
|
+
# @return [GrowsurfRuby::Models::CampaignAPI]
|
|
153
|
+
def clone(id, params = {})
|
|
154
|
+
@client.request(
|
|
155
|
+
method: :post,
|
|
156
|
+
path: ["campaign/%1$s/clone", id],
|
|
157
|
+
model: GrowsurfRuby::CampaignAPI,
|
|
158
|
+
options: params[:request_options]
|
|
159
|
+
)
|
|
160
|
+
end
|
|
161
|
+
|
|
55
162
|
# Some parameter documentations has been truncated, see
|
|
56
163
|
# {GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenParams} for more
|
|
57
164
|
# details.
|
|
@@ -307,6 +414,11 @@ module GrowsurfRuby
|
|
|
307
414
|
@participant = GrowsurfRuby::Resources::Campaign::Participant.new(client: client)
|
|
308
415
|
@reward = GrowsurfRuby::Resources::Campaign::Reward.new(client: client)
|
|
309
416
|
@commission = GrowsurfRuby::Resources::Campaign::Commission.new(client: client)
|
|
417
|
+
@rewards = GrowsurfRuby::Resources::Campaign::Rewards.new(client: client)
|
|
418
|
+
@design = GrowsurfRuby::Resources::Campaign::Design.new(client: client)
|
|
419
|
+
@emails = GrowsurfRuby::Resources::Campaign::Emails.new(client: client)
|
|
420
|
+
@options = GrowsurfRuby::Resources::Campaign::Options.new(client: client)
|
|
421
|
+
@installation = GrowsurfRuby::Resources::Campaign::Installation.new(client: client)
|
|
310
422
|
end
|
|
311
423
|
end
|
|
312
424
|
end
|
data/lib/growsurf_ruby.rb
CHANGED
|
@@ -54,10 +54,12 @@ require_relative "growsurf_ruby/internal/transport/pooled_net_requester"
|
|
|
54
54
|
require_relative "growsurf_ruby/client"
|
|
55
55
|
require_relative "growsurf_ruby/models/campaign/create"
|
|
56
56
|
require_relative "growsurf_ruby/models/campaign/participant"
|
|
57
|
+
require_relative "growsurf_ruby/models/campaign/campaign_reward_list_response"
|
|
57
58
|
require_relative "growsurf_ruby/models/campaign/commission_approve_params"
|
|
58
59
|
require_relative "growsurf_ruby/models/campaign/commission_approve_response"
|
|
59
60
|
require_relative "growsurf_ruby/models/campaign/commission_delete_params"
|
|
60
61
|
require_relative "growsurf_ruby/models/campaign/commission_delete_response"
|
|
62
|
+
require_relative "growsurf_ruby/models/campaign/delete_reward_response"
|
|
61
63
|
require_relative "growsurf_ruby/models/campaign/fraud_risk_level"
|
|
62
64
|
require_relative "growsurf_ruby/models/campaign/participant_add_params"
|
|
63
65
|
require_relative "growsurf_ruby/models/campaign/participant_cancel_delayed_referral_params"
|
|
@@ -82,15 +84,19 @@ require_relative "growsurf_ruby/models/campaign/participant_trigger_referral_res
|
|
|
82
84
|
require_relative "growsurf_ruby/models/campaign/participant_update_params"
|
|
83
85
|
require_relative "growsurf_ruby/models/campaign/referral_source"
|
|
84
86
|
require_relative "growsurf_ruby/models/campaign/referral_status"
|
|
87
|
+
require_relative "growsurf_ruby/models/campaign/reward"
|
|
85
88
|
require_relative "growsurf_ruby/models/campaign/reward_approve_params"
|
|
86
89
|
require_relative "growsurf_ruby/models/campaign/reward_approve_response"
|
|
90
|
+
require_relative "growsurf_ruby/models/campaign/reward_create_params"
|
|
87
91
|
require_relative "growsurf_ruby/models/campaign/reward_delete_params"
|
|
88
92
|
require_relative "growsurf_ruby/models/campaign/reward_delete_response"
|
|
89
93
|
require_relative "growsurf_ruby/models/campaign/reward_fulfill_params"
|
|
90
94
|
require_relative "growsurf_ruby/models/campaign/reward_fulfill_response"
|
|
95
|
+
require_relative "growsurf_ruby/models/campaign/reward_update_params"
|
|
91
96
|
require_relative "growsurf_ruby/models/campaign"
|
|
92
97
|
require_relative "growsurf_ruby/models/campaign_create_mobile_participant_token_params"
|
|
93
98
|
require_relative "growsurf_ruby/models/campaign_create_mobile_participant_token_response"
|
|
99
|
+
require_relative "growsurf_ruby/models/campaign_create_params"
|
|
94
100
|
require_relative "growsurf_ruby/models/campaign_list_commissions_params"
|
|
95
101
|
require_relative "growsurf_ruby/models/campaign_list_leaderboard_params"
|
|
96
102
|
require_relative "growsurf_ruby/models/campaign_list_params"
|
|
@@ -101,13 +107,20 @@ require_relative "growsurf_ruby/models/campaign_list_response"
|
|
|
101
107
|
require_relative "growsurf_ruby/models/campaign_retrieve_analytics_params"
|
|
102
108
|
require_relative "growsurf_ruby/models/campaign_retrieve_analytics_response"
|
|
103
109
|
require_relative "growsurf_ruby/models/campaign_retrieve_params"
|
|
110
|
+
require_relative "growsurf_ruby/models/campaign_update_params"
|
|
104
111
|
require_relative "growsurf_ruby/models/commission_structure"
|
|
105
112
|
require_relative "growsurf_ruby/models/participant_commission_list"
|
|
106
113
|
require_relative "growsurf_ruby/models/participant_list"
|
|
107
114
|
require_relative "growsurf_ruby/models/participant_payout_list"
|
|
108
115
|
require_relative "growsurf_ruby/models/referral_list"
|
|
116
|
+
require_relative "growsurf_ruby/models/reward_tax_valuation"
|
|
109
117
|
require_relative "growsurf_ruby/models"
|
|
110
118
|
require_relative "growsurf_ruby/resources/campaign"
|
|
111
119
|
require_relative "growsurf_ruby/resources/campaign/commission"
|
|
120
|
+
require_relative "growsurf_ruby/resources/campaign/design"
|
|
121
|
+
require_relative "growsurf_ruby/resources/campaign/emails"
|
|
122
|
+
require_relative "growsurf_ruby/resources/campaign/installation"
|
|
123
|
+
require_relative "growsurf_ruby/resources/campaign/options"
|
|
112
124
|
require_relative "growsurf_ruby/resources/campaign/participant"
|
|
113
125
|
require_relative "growsurf_ruby/resources/campaign/reward"
|
|
126
|
+
require_relative "growsurf_ruby/resources/campaign/rewards"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
module Campaign
|
|
6
|
+
class CampaignRewardListResponse < GrowsurfRuby::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
GrowsurfRuby::Models::Campaign::CampaignRewardListResponse,
|
|
11
|
+
GrowsurfRuby::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# The program's active, visible, and enabled rewards.
|
|
16
|
+
sig { returns(T::Array[GrowsurfRuby::Models::Campaign::Reward]) }
|
|
17
|
+
attr_accessor :rewards
|
|
18
|
+
|
|
19
|
+
# The list of a program's configured rewards.
|
|
20
|
+
sig do
|
|
21
|
+
params(
|
|
22
|
+
rewards: T::Array[GrowsurfRuby::Models::Campaign::Reward::OrHash]
|
|
23
|
+
).returns(T.attached_class)
|
|
24
|
+
end
|
|
25
|
+
def self.new(
|
|
26
|
+
# The program's active, visible, and enabled rewards.
|
|
27
|
+
rewards:
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
override.returns(
|
|
33
|
+
{ rewards: T::Array[GrowsurfRuby::Models::Campaign::Reward] }
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
def to_hash
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
module Campaign
|
|
6
|
+
class DeleteRewardResponse < GrowsurfRuby::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
GrowsurfRuby::Models::Campaign::DeleteRewardResponse,
|
|
11
|
+
GrowsurfRuby::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# The deleted reward ID.
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :id
|
|
18
|
+
|
|
19
|
+
sig { returns(T::Boolean) }
|
|
20
|
+
attr_accessor :success
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(id: String, success: T::Boolean).returns(T.attached_class)
|
|
24
|
+
end
|
|
25
|
+
def self.new(
|
|
26
|
+
# The deleted reward ID.
|
|
27
|
+
id:,
|
|
28
|
+
success:
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig { override.returns({ id: String, success: T::Boolean }) }
|
|
33
|
+
def to_hash
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|