growsurf-ruby 0.0.2
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 +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +11 -0
- data/README.md +234 -0
- data/SECURITY.md +23 -0
- data/lib/growsurf_ruby/client.rb +90 -0
- data/lib/growsurf_ruby/errors.rb +228 -0
- data/lib/growsurf_ruby/file_part.rb +58 -0
- data/lib/growsurf_ruby/internal/transport/base_client.rb +573 -0
- data/lib/growsurf_ruby/internal/transport/pooled_net_requester.rb +210 -0
- data/lib/growsurf_ruby/internal/type/array_of.rb +168 -0
- data/lib/growsurf_ruby/internal/type/base_model.rb +531 -0
- data/lib/growsurf_ruby/internal/type/base_page.rb +55 -0
- data/lib/growsurf_ruby/internal/type/boolean.rb +77 -0
- data/lib/growsurf_ruby/internal/type/converter.rb +327 -0
- data/lib/growsurf_ruby/internal/type/enum.rb +156 -0
- data/lib/growsurf_ruby/internal/type/file_input.rb +111 -0
- data/lib/growsurf_ruby/internal/type/hash_of.rb +188 -0
- data/lib/growsurf_ruby/internal/type/request_parameters.rb +42 -0
- data/lib/growsurf_ruby/internal/type/union.rb +254 -0
- data/lib/growsurf_ruby/internal/type/unknown.rb +81 -0
- data/lib/growsurf_ruby/internal/util.rb +966 -0
- data/lib/growsurf_ruby/internal.rb +20 -0
- data/lib/growsurf_ruby/models/campaign/commission_approve_params.rb +28 -0
- data/lib/growsurf_ruby/models/campaign/commission_approve_response.rb +18 -0
- data/lib/growsurf_ruby/models/campaign/commission_delete_params.rb +28 -0
- data/lib/growsurf_ruby/models/campaign/commission_delete_response.rb +18 -0
- data/lib/growsurf_ruby/models/campaign/fraud_risk_level.rb +18 -0
- data/lib/growsurf_ruby/models/campaign/participant.rb +495 -0
- data/lib/growsurf_ruby/models/campaign/participant_add_params.rb +93 -0
- data/lib/growsurf_ruby/models/campaign/participant_delete_params.rb +28 -0
- data/lib/growsurf_ruby/models/campaign/participant_delete_response.rb +18 -0
- data/lib/growsurf_ruby/models/campaign/participant_list_commissions_params.rb +68 -0
- data/lib/growsurf_ruby/models/campaign/participant_list_payouts_params.rb +67 -0
- data/lib/growsurf_ruby/models/campaign/participant_list_referrals_params.rb +117 -0
- data/lib/growsurf_ruby/models/campaign/participant_list_rewards_params.rb +46 -0
- data/lib/growsurf_ruby/models/campaign/participant_list_rewards_response.rb +30 -0
- data/lib/growsurf_ruby/models/campaign/participant_record_transaction_params.rb +170 -0
- data/lib/growsurf_ruby/models/campaign/participant_record_transaction_response.rb +91 -0
- data/lib/growsurf_ruby/models/campaign/participant_retrieve_params.rb +28 -0
- data/lib/growsurf_ruby/models/campaign/participant_reward.rb +103 -0
- data/lib/growsurf_ruby/models/campaign/participant_send_invites_params.rb +46 -0
- data/lib/growsurf_ruby/models/campaign/participant_send_invites_response.rb +30 -0
- data/lib/growsurf_ruby/models/campaign/participant_trigger_referral_params.rb +28 -0
- data/lib/growsurf_ruby/models/campaign/participant_trigger_referral_response.rb +24 -0
- data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +100 -0
- data/lib/growsurf_ruby/models/campaign/referral_source.rb +17 -0
- data/lib/growsurf_ruby/models/campaign/referral_status.rb +19 -0
- data/lib/growsurf_ruby/models/campaign/reward_approve_params.rb +38 -0
- data/lib/growsurf_ruby/models/campaign/reward_approve_response.rb +18 -0
- data/lib/growsurf_ruby/models/campaign/reward_delete_params.rb +28 -0
- data/lib/growsurf_ruby/models/campaign/reward_delete_response.rb +18 -0
- data/lib/growsurf_ruby/models/campaign/reward_fulfill_params.rb +28 -0
- data/lib/growsurf_ruby/models/campaign/reward_fulfill_response.rb +18 -0
- data/lib/growsurf_ruby/models/campaign.rb +257 -0
- data/lib/growsurf_ruby/models/campaign_list_commissions_params.rb +59 -0
- data/lib/growsurf_ruby/models/campaign_list_leaderboard_params.rb +71 -0
- data/lib/growsurf_ruby/models/campaign_list_params.rb +14 -0
- data/lib/growsurf_ruby/models/campaign_list_participants_params.rb +37 -0
- data/lib/growsurf_ruby/models/campaign_list_payouts_params.rb +58 -0
- data/lib/growsurf_ruby/models/campaign_list_referrals_params.rb +108 -0
- data/lib/growsurf_ruby/models/campaign_list_response.rb +16 -0
- data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +50 -0
- data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +215 -0
- data/lib/growsurf_ruby/models/campaign_retrieve_params.rb +20 -0
- data/lib/growsurf_ruby/models/commission_structure.rb +137 -0
- data/lib/growsurf_ruby/models/participant_commission_list.rb +170 -0
- data/lib/growsurf_ruby/models/participant_list.rb +29 -0
- data/lib/growsurf_ruby/models/participant_payout_list.rb +136 -0
- data/lib/growsurf_ruby/models/referral_list.rb +96 -0
- data/lib/growsurf_ruby/models.rb +71 -0
- data/lib/growsurf_ruby/request_options.rb +77 -0
- data/lib/growsurf_ruby/resources/campaign/commission.rb +71 -0
- data/lib/growsurf_ruby/resources/campaign/participant.rb +446 -0
- data/lib/growsurf_ruby/resources/campaign/reward.rb +102 -0
- data/lib/growsurf_ruby/resources/campaign.rb +266 -0
- data/lib/growsurf_ruby/version.rb +5 -0
- data/lib/growsurf_ruby.rb +106 -0
- data/manifest.yaml +17 -0
- data/rbi/growsurf_ruby/client.rbi +51 -0
- data/rbi/growsurf_ruby/errors.rbi +205 -0
- data/rbi/growsurf_ruby/file_part.rbi +37 -0
- data/rbi/growsurf_ruby/internal/transport/base_client.rbi +305 -0
- data/rbi/growsurf_ruby/internal/transport/pooled_net_requester.rbi +84 -0
- data/rbi/growsurf_ruby/internal/type/array_of.rbi +104 -0
- data/rbi/growsurf_ruby/internal/type/base_model.rbi +314 -0
- data/rbi/growsurf_ruby/internal/type/base_page.rbi +43 -0
- data/rbi/growsurf_ruby/internal/type/boolean.rbi +58 -0
- data/rbi/growsurf_ruby/internal/type/converter.rbi +222 -0
- data/rbi/growsurf_ruby/internal/type/enum.rbi +82 -0
- data/rbi/growsurf_ruby/internal/type/file_input.rbi +59 -0
- data/rbi/growsurf_ruby/internal/type/hash_of.rbi +104 -0
- data/rbi/growsurf_ruby/internal/type/request_parameters.rbi +31 -0
- data/rbi/growsurf_ruby/internal/type/union.rbi +128 -0
- data/rbi/growsurf_ruby/internal/type/unknown.rbi +58 -0
- data/rbi/growsurf_ruby/internal/util.rbi +515 -0
- data/rbi/growsurf_ruby/internal.rbi +18 -0
- data/rbi/growsurf_ruby/models/campaign/commission_approve_params.rbi +48 -0
- data/rbi/growsurf_ruby/models/campaign/commission_approve_response.rbi +28 -0
- data/rbi/growsurf_ruby/models/campaign/commission_delete_params.rbi +48 -0
- data/rbi/growsurf_ruby/models/campaign/commission_delete_response.rbi +28 -0
- data/rbi/growsurf_ruby/models/campaign/fraud_risk_level.rbi +29 -0
- data/rbi/growsurf_ruby/models/campaign/participant.rbi +667 -0
- data/rbi/growsurf_ruby/models/campaign/participant_add_params.rbi +166 -0
- data/rbi/growsurf_ruby/models/campaign/participant_delete_params.rbi +48 -0
- data/rbi/growsurf_ruby/models/campaign/participant_delete_response.rbi +28 -0
- data/rbi/growsurf_ruby/models/campaign/participant_list_commissions_params.rbi +148 -0
- data/rbi/growsurf_ruby/models/campaign/participant_list_payouts_params.rbi +143 -0
- data/rbi/growsurf_ruby/models/campaign/participant_list_referrals_params.rbi +228 -0
- data/rbi/growsurf_ruby/models/campaign/participant_list_rewards_params.rbi +74 -0
- data/rbi/growsurf_ruby/models/campaign/participant_list_rewards_response.rbi +48 -0
- data/rbi/growsurf_ruby/models/campaign/participant_record_transaction_params.rbi +255 -0
- data/rbi/growsurf_ruby/models/campaign/participant_record_transaction_response.rbi +138 -0
- data/rbi/growsurf_ruby/models/campaign/participant_retrieve_params.rbi +48 -0
- data/rbi/growsurf_ruby/models/campaign/participant_reward.rbi +185 -0
- data/rbi/growsurf_ruby/models/campaign/participant_send_invites_params.rbi +70 -0
- data/rbi/growsurf_ruby/models/campaign/participant_send_invites_response.rbi +44 -0
- data/rbi/growsurf_ruby/models/campaign/participant_trigger_referral_params.rbi +48 -0
- data/rbi/growsurf_ruby/models/campaign/participant_trigger_referral_response.rbi +36 -0
- data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +178 -0
- data/rbi/growsurf_ruby/models/campaign/referral_source.rbi +31 -0
- data/rbi/growsurf_ruby/models/campaign/referral_status.rbi +44 -0
- data/rbi/growsurf_ruby/models/campaign/reward_approve_params.rbi +63 -0
- data/rbi/growsurf_ruby/models/campaign/reward_approve_response.rbi +28 -0
- data/rbi/growsurf_ruby/models/campaign/reward_delete_params.rbi +48 -0
- data/rbi/growsurf_ruby/models/campaign/reward_delete_response.rbi +28 -0
- data/rbi/growsurf_ruby/models/campaign/reward_fulfill_params.rbi +48 -0
- data/rbi/growsurf_ruby/models/campaign/reward_fulfill_response.rbi +28 -0
- data/rbi/growsurf_ruby/models/campaign.rbi +376 -0
- data/rbi/growsurf_ruby/models/campaign_list_commissions_params.rbi +135 -0
- data/rbi/growsurf_ruby/models/campaign_list_leaderboard_params.rbi +171 -0
- data/rbi/growsurf_ruby/models/campaign_list_params.rbi +32 -0
- data/rbi/growsurf_ruby/models/campaign_list_participants_params.rbi +66 -0
- data/rbi/growsurf_ruby/models/campaign_list_payouts_params.rbi +127 -0
- data/rbi/growsurf_ruby/models/campaign_list_referrals_params.rbi +213 -0
- data/rbi/growsurf_ruby/models/campaign_list_response.rbi +32 -0
- data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +81 -0
- data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +320 -0
- data/rbi/growsurf_ruby/models/campaign_retrieve_params.rbi +38 -0
- data/rbi/growsurf_ruby/models/commission_structure.rbi +174 -0
- data/rbi/growsurf_ruby/models/participant_commission_list.rbi +269 -0
- data/rbi/growsurf_ruby/models/participant_list.rbi +44 -0
- data/rbi/growsurf_ruby/models/participant_payout_list.rbi +219 -0
- data/rbi/growsurf_ruby/models/referral_list.rbi +129 -0
- data/rbi/growsurf_ruby/models.rbi +38 -0
- data/rbi/growsurf_ruby/request_options.rbi +59 -0
- data/rbi/growsurf_ruby/resources/campaign/commission.rbi +49 -0
- data/rbi/growsurf_ruby/resources/campaign/participant.rbi +385 -0
- data/rbi/growsurf_ruby/resources/campaign/reward.rbi +70 -0
- data/rbi/growsurf_ruby/resources/campaign.rbi +205 -0
- data/rbi/growsurf_ruby/version.rbi +5 -0
- data/sig/growsurf_ruby/client.rbs +26 -0
- data/sig/growsurf_ruby/errors.rbs +117 -0
- data/sig/growsurf_ruby/file_part.rbs +21 -0
- data/sig/growsurf_ruby/internal/transport/base_client.rbs +133 -0
- data/sig/growsurf_ruby/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/growsurf_ruby/internal/type/array_of.rbs +48 -0
- data/sig/growsurf_ruby/internal/type/base_model.rbs +104 -0
- data/sig/growsurf_ruby/internal/type/base_page.rbs +24 -0
- data/sig/growsurf_ruby/internal/type/boolean.rbs +26 -0
- data/sig/growsurf_ruby/internal/type/converter.rbs +79 -0
- data/sig/growsurf_ruby/internal/type/enum.rbs +32 -0
- data/sig/growsurf_ruby/internal/type/file_input.rbs +25 -0
- data/sig/growsurf_ruby/internal/type/hash_of.rbs +48 -0
- data/sig/growsurf_ruby/internal/type/request_parameters.rbs +19 -0
- data/sig/growsurf_ruby/internal/type/union.rbs +52 -0
- data/sig/growsurf_ruby/internal/type/unknown.rbs +26 -0
- data/sig/growsurf_ruby/internal/util.rbs +199 -0
- data/sig/growsurf_ruby/internal.rbs +9 -0
- data/sig/growsurf_ruby/models/campaign/commission_approve_params.rbs +30 -0
- data/sig/growsurf_ruby/models/campaign/commission_approve_response.rbs +15 -0
- data/sig/growsurf_ruby/models/campaign/commission_delete_params.rbs +30 -0
- data/sig/growsurf_ruby/models/campaign/commission_delete_response.rbs +15 -0
- data/sig/growsurf_ruby/models/campaign/fraud_risk_level.rbs +17 -0
- data/sig/growsurf_ruby/models/campaign/participant.rbs +455 -0
- data/sig/growsurf_ruby/models/campaign/participant_add_params.rbs +95 -0
- data/sig/growsurf_ruby/models/campaign/participant_delete_params.rbs +30 -0
- data/sig/growsurf_ruby/models/campaign/participant_delete_response.rbs +15 -0
- data/sig/growsurf_ruby/models/campaign/participant_list_commissions_params.rbs +70 -0
- data/sig/growsurf_ruby/models/campaign/participant_list_payouts_params.rbs +69 -0
- data/sig/growsurf_ruby/models/campaign/participant_list_referrals_params.rbs +123 -0
- data/sig/growsurf_ruby/models/campaign/participant_list_rewards_params.rbs +47 -0
- data/sig/growsurf_ruby/models/campaign/participant_list_rewards_response.rbs +32 -0
- data/sig/growsurf_ruby/models/campaign/participant_record_transaction_params.rbs +194 -0
- data/sig/growsurf_ruby/models/campaign/participant_record_transaction_response.rbs +84 -0
- data/sig/growsurf_ruby/models/campaign/participant_retrieve_params.rbs +30 -0
- data/sig/growsurf_ruby/models/campaign/participant_reward.rbs +111 -0
- data/sig/growsurf_ruby/models/campaign/participant_send_invites_params.rbs +48 -0
- data/sig/growsurf_ruby/models/campaign/participant_send_invites_response.rbs +28 -0
- data/sig/growsurf_ruby/models/campaign/participant_trigger_referral_params.rbs +30 -0
- data/sig/growsurf_ruby/models/campaign/participant_trigger_referral_response.rbs +20 -0
- data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +104 -0
- data/sig/growsurf_ruby/models/campaign/referral_source.rbs +16 -0
- data/sig/growsurf_ruby/models/campaign/referral_status.rbs +19 -0
- data/sig/growsurf_ruby/models/campaign/reward_approve_params.rbs +36 -0
- data/sig/growsurf_ruby/models/campaign/reward_approve_response.rbs +15 -0
- data/sig/growsurf_ruby/models/campaign/reward_delete_params.rbs +30 -0
- data/sig/growsurf_ruby/models/campaign/reward_delete_response.rbs +15 -0
- data/sig/growsurf_ruby/models/campaign/reward_fulfill_params.rbs +30 -0
- data/sig/growsurf_ruby/models/campaign/reward_fulfill_response.rbs +15 -0
- data/sig/growsurf_ruby/models/campaign.rbs +221 -0
- data/sig/growsurf_ruby/models/campaign_list_commissions_params.rbs +63 -0
- data/sig/growsurf_ruby/models/campaign_list_leaderboard_params.rbs +83 -0
- data/sig/growsurf_ruby/models/campaign_list_params.rbs +15 -0
- data/sig/growsurf_ruby/models/campaign_list_participants_params.rbs +36 -0
- data/sig/growsurf_ruby/models/campaign_list_payouts_params.rbs +62 -0
- data/sig/growsurf_ruby/models/campaign_list_referrals_params.rbs +116 -0
- data/sig/growsurf_ruby/models/campaign_list_response.rbs +14 -0
- data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +42 -0
- data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +217 -0
- data/sig/growsurf_ruby/models/campaign_retrieve_params.rbs +23 -0
- data/sig/growsurf_ruby/models/commission_structure.rbs +121 -0
- data/sig/growsurf_ruby/models/participant_commission_list.rbs +166 -0
- data/sig/growsurf_ruby/models/participant_list.rbs +30 -0
- data/sig/growsurf_ruby/models/participant_payout_list.rbs +136 -0
- data/sig/growsurf_ruby/models/referral_list.rbs +92 -0
- data/sig/growsurf_ruby/models.rbs +31 -0
- data/sig/growsurf_ruby/request_options.rbs +36 -0
- data/sig/growsurf_ruby/resources/campaign/commission.rbs +21 -0
- data/sig/growsurf_ruby/resources/campaign/participant.rbs +133 -0
- data/sig/growsurf_ruby/resources/campaign/reward.rbs +28 -0
- data/sig/growsurf_ruby/resources/campaign.rbs +76 -0
- data/sig/growsurf_ruby/version.rbs +3 -0
- metadata +295 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
# Specify HTTP behaviour to use for a specific request. These options supplement
|
|
5
|
+
# or override those provided at the client level.
|
|
6
|
+
#
|
|
7
|
+
# When making a request, you can pass an actual {RequestOptions} instance, or
|
|
8
|
+
# simply pass a Hash with symbol keys matching the attributes on this class.
|
|
9
|
+
class RequestOptions < GrowsurfRuby::Internal::Type::BaseModel
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(GrowsurfRuby::RequestOptions, GrowsurfRuby::Internal::AnyHash)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @api private
|
|
16
|
+
sig { params(opts: GrowsurfRuby::RequestOptions::OrHash).void }
|
|
17
|
+
def self.validate!(opts)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Idempotency key to send with request and all associated retries. Will only be
|
|
21
|
+
# sent for write requests.
|
|
22
|
+
sig { returns(T.nilable(String)) }
|
|
23
|
+
attr_accessor :idempotency_key
|
|
24
|
+
|
|
25
|
+
# Extra query params to send with the request. These are `.merge`’d into any
|
|
26
|
+
# `query` given at the client level.
|
|
27
|
+
sig do
|
|
28
|
+
returns(
|
|
29
|
+
T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))])
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
attr_accessor :extra_query
|
|
33
|
+
|
|
34
|
+
# Extra headers to send with the request. These are `.merged`’d into any
|
|
35
|
+
# `extra_headers` given at the client level.
|
|
36
|
+
sig { returns(T.nilable(T::Hash[String, T.nilable(String)])) }
|
|
37
|
+
attr_accessor :extra_headers
|
|
38
|
+
|
|
39
|
+
# Extra data to send with the request. These are deep merged into any data
|
|
40
|
+
# generated as part of the normal request.
|
|
41
|
+
sig { returns(T.nilable(T.anything)) }
|
|
42
|
+
attr_accessor :extra_body
|
|
43
|
+
|
|
44
|
+
# Maximum number of retries to attempt after a failed initial request.
|
|
45
|
+
sig { returns(T.nilable(Integer)) }
|
|
46
|
+
attr_accessor :max_retries
|
|
47
|
+
|
|
48
|
+
# Request timeout in seconds.
|
|
49
|
+
sig { returns(T.nilable(Float)) }
|
|
50
|
+
attr_accessor :timeout
|
|
51
|
+
|
|
52
|
+
# Returns a new instance of RequestOptions.
|
|
53
|
+
sig do
|
|
54
|
+
params(values: GrowsurfRuby::Internal::AnyHash).returns(T.attached_class)
|
|
55
|
+
end
|
|
56
|
+
def self.new(values = {})
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Resources
|
|
5
|
+
class Campaign
|
|
6
|
+
# Affiliate transaction, commission, and payout operations.
|
|
7
|
+
class Commission
|
|
8
|
+
# Removes a pending participant commission.
|
|
9
|
+
sig do
|
|
10
|
+
params(
|
|
11
|
+
commission_id: String,
|
|
12
|
+
id: String,
|
|
13
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
14
|
+
).returns(GrowsurfRuby::Models::Campaign::CommissionDeleteResponse)
|
|
15
|
+
end
|
|
16
|
+
def delete(
|
|
17
|
+
# Participant commission ID.
|
|
18
|
+
commission_id,
|
|
19
|
+
# GrowSurf program ID.
|
|
20
|
+
id:,
|
|
21
|
+
request_options: {}
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Approves a pending participant commission so it can become eligible for payout.
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
commission_id: String,
|
|
29
|
+
id: String,
|
|
30
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
31
|
+
).returns(GrowsurfRuby::Models::Campaign::CommissionApproveResponse)
|
|
32
|
+
end
|
|
33
|
+
def approve(
|
|
34
|
+
# Participant commission ID.
|
|
35
|
+
commission_id,
|
|
36
|
+
# GrowSurf program ID.
|
|
37
|
+
id:,
|
|
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,385 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Resources
|
|
5
|
+
class Campaign
|
|
6
|
+
class Participant
|
|
7
|
+
# Retrieves a single participant by GrowSurf participant ID or email address.
|
|
8
|
+
sig do
|
|
9
|
+
params(
|
|
10
|
+
participant_id_or_email: String,
|
|
11
|
+
id: String,
|
|
12
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
13
|
+
).returns(GrowsurfRuby::Campaign::CampaignParticipant)
|
|
14
|
+
end
|
|
15
|
+
def retrieve(
|
|
16
|
+
# GrowSurf participant ID or URL-encoded participant email address.
|
|
17
|
+
participant_id_or_email,
|
|
18
|
+
# GrowSurf program ID.
|
|
19
|
+
id:,
|
|
20
|
+
request_options: {}
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Updates a participant by GrowSurf participant ID or email address.
|
|
25
|
+
sig do
|
|
26
|
+
params(
|
|
27
|
+
participant_id_or_email: String,
|
|
28
|
+
id: String,
|
|
29
|
+
email: String,
|
|
30
|
+
first_name: String,
|
|
31
|
+
last_name: String,
|
|
32
|
+
metadata: T::Hash[Symbol, T.anything],
|
|
33
|
+
referral_status:
|
|
34
|
+
GrowsurfRuby::Campaign::ParticipantUpdateParams::ReferralStatus::OrSymbol,
|
|
35
|
+
referred_by: String,
|
|
36
|
+
unsubscribed: T::Boolean,
|
|
37
|
+
vanity_keys: T::Array[String],
|
|
38
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
39
|
+
).returns(GrowsurfRuby::Campaign::CampaignParticipant)
|
|
40
|
+
end
|
|
41
|
+
def update(
|
|
42
|
+
# Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
43
|
+
participant_id_or_email,
|
|
44
|
+
# Path param: GrowSurf program ID.
|
|
45
|
+
id:,
|
|
46
|
+
# Body param
|
|
47
|
+
email: nil,
|
|
48
|
+
# Body param
|
|
49
|
+
first_name: nil,
|
|
50
|
+
# Body param
|
|
51
|
+
last_name: nil,
|
|
52
|
+
# Body param: Shallow custom metadata object.
|
|
53
|
+
metadata: nil,
|
|
54
|
+
# Body param
|
|
55
|
+
referral_status: nil,
|
|
56
|
+
# Body param
|
|
57
|
+
referred_by: nil,
|
|
58
|
+
# Body param
|
|
59
|
+
unsubscribed: nil,
|
|
60
|
+
# Body param
|
|
61
|
+
vanity_keys: nil,
|
|
62
|
+
request_options: {}
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Removes a participant by GrowSurf participant ID or email address.
|
|
67
|
+
sig do
|
|
68
|
+
params(
|
|
69
|
+
participant_id_or_email: String,
|
|
70
|
+
id: String,
|
|
71
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
72
|
+
).returns(GrowsurfRuby::Models::Campaign::ParticipantDeleteResponse)
|
|
73
|
+
end
|
|
74
|
+
def delete(
|
|
75
|
+
# GrowSurf participant ID or URL-encoded participant email address.
|
|
76
|
+
participant_id_or_email,
|
|
77
|
+
# GrowSurf program ID.
|
|
78
|
+
id:,
|
|
79
|
+
request_options: {}
|
|
80
|
+
)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Adds a new participant to the program. If the email already exists, the existing
|
|
84
|
+
# participant is returned.
|
|
85
|
+
sig do
|
|
86
|
+
params(
|
|
87
|
+
id: String,
|
|
88
|
+
email: String,
|
|
89
|
+
fingerprint: String,
|
|
90
|
+
first_name: String,
|
|
91
|
+
ip_address: String,
|
|
92
|
+
last_name: String,
|
|
93
|
+
metadata: T::Hash[Symbol, T.anything],
|
|
94
|
+
referral_status:
|
|
95
|
+
GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus::OrSymbol,
|
|
96
|
+
referred_by: String,
|
|
97
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
98
|
+
).returns(GrowsurfRuby::Campaign::CampaignParticipant)
|
|
99
|
+
end
|
|
100
|
+
def add(
|
|
101
|
+
# GrowSurf program ID.
|
|
102
|
+
id,
|
|
103
|
+
email:,
|
|
104
|
+
fingerprint: nil,
|
|
105
|
+
first_name: nil,
|
|
106
|
+
ip_address: nil,
|
|
107
|
+
last_name: nil,
|
|
108
|
+
# Shallow custom metadata object.
|
|
109
|
+
metadata: nil,
|
|
110
|
+
referral_status: nil,
|
|
111
|
+
# Referrer participant ID or email address.
|
|
112
|
+
referred_by: nil,
|
|
113
|
+
request_options: {}
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Retrieves a paged list of commissions earned by a participant.
|
|
118
|
+
sig do
|
|
119
|
+
params(
|
|
120
|
+
participant_id_or_email: String,
|
|
121
|
+
id: String,
|
|
122
|
+
limit: Integer,
|
|
123
|
+
next_id: String,
|
|
124
|
+
status:
|
|
125
|
+
GrowsurfRuby::Campaign::ParticipantListCommissionsParams::Status::OrSymbol,
|
|
126
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
127
|
+
).returns(GrowsurfRuby::ParticipantCommissionList)
|
|
128
|
+
end
|
|
129
|
+
def list_commissions(
|
|
130
|
+
# Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
131
|
+
participant_id_or_email,
|
|
132
|
+
# Path param: GrowSurf program ID.
|
|
133
|
+
id:,
|
|
134
|
+
# Query param: Number of results to return. Maximum 100.
|
|
135
|
+
limit: nil,
|
|
136
|
+
# Query param: ID to start the next paged result set with.
|
|
137
|
+
next_id: nil,
|
|
138
|
+
# Query param: Participant commission status.
|
|
139
|
+
status: nil,
|
|
140
|
+
request_options: {}
|
|
141
|
+
)
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# Retrieves a paged list of payouts that belong to a participant.
|
|
145
|
+
sig do
|
|
146
|
+
params(
|
|
147
|
+
participant_id_or_email: String,
|
|
148
|
+
id: String,
|
|
149
|
+
limit: Integer,
|
|
150
|
+
next_id: String,
|
|
151
|
+
status:
|
|
152
|
+
GrowsurfRuby::Campaign::ParticipantListPayoutsParams::Status::OrSymbol,
|
|
153
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
154
|
+
).returns(GrowsurfRuby::ParticipantPayoutList)
|
|
155
|
+
end
|
|
156
|
+
def list_payouts(
|
|
157
|
+
# Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
158
|
+
participant_id_or_email,
|
|
159
|
+
# Path param: GrowSurf program ID.
|
|
160
|
+
id:,
|
|
161
|
+
# Query param: Number of results to return. Maximum 100.
|
|
162
|
+
limit: nil,
|
|
163
|
+
# Query param: ID to start the next paged result set with.
|
|
164
|
+
next_id: nil,
|
|
165
|
+
# Query param: Participant payout status.
|
|
166
|
+
status: nil,
|
|
167
|
+
request_options: {}
|
|
168
|
+
)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Retrieves referrals and email invites made by a participant.
|
|
172
|
+
sig do
|
|
173
|
+
params(
|
|
174
|
+
participant_id_or_email: String,
|
|
175
|
+
id: String,
|
|
176
|
+
desc: T::Boolean,
|
|
177
|
+
email: String,
|
|
178
|
+
first_name: String,
|
|
179
|
+
last_name: String,
|
|
180
|
+
limit: Integer,
|
|
181
|
+
next_id: String,
|
|
182
|
+
offset: Integer,
|
|
183
|
+
referral_status: GrowsurfRuby::Campaign::ReferralStatus::OrSymbol,
|
|
184
|
+
sort_by:
|
|
185
|
+
GrowsurfRuby::Campaign::ParticipantListReferralsParams::SortBy::OrSymbol,
|
|
186
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
187
|
+
).returns(GrowsurfRuby::ReferralList)
|
|
188
|
+
end
|
|
189
|
+
def list_referrals(
|
|
190
|
+
# Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
191
|
+
participant_id_or_email,
|
|
192
|
+
# Path param: GrowSurf program ID.
|
|
193
|
+
id:,
|
|
194
|
+
# Query param: Return results in descending order when true.
|
|
195
|
+
desc: nil,
|
|
196
|
+
# Query param: URL-encoded email value to filter referral results.
|
|
197
|
+
email: nil,
|
|
198
|
+
# Query param: First name value to filter results.
|
|
199
|
+
first_name: nil,
|
|
200
|
+
# Query param: Last name value to filter results.
|
|
201
|
+
last_name: nil,
|
|
202
|
+
# Query param: Number of results to return. Maximum 100.
|
|
203
|
+
limit: nil,
|
|
204
|
+
# Query param: ID to start the next paged result set with.
|
|
205
|
+
next_id: nil,
|
|
206
|
+
# Query param: Offset number used to skip through a result set.
|
|
207
|
+
offset: nil,
|
|
208
|
+
# Query param
|
|
209
|
+
referral_status: nil,
|
|
210
|
+
# Query param: Field used to sort referral results.
|
|
211
|
+
sort_by: nil,
|
|
212
|
+
request_options: {}
|
|
213
|
+
)
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# Retrieves a paged list of rewards earned by a participant.
|
|
217
|
+
sig do
|
|
218
|
+
params(
|
|
219
|
+
participant_id_or_email: String,
|
|
220
|
+
id: String,
|
|
221
|
+
limit: Integer,
|
|
222
|
+
next_id: String,
|
|
223
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
224
|
+
).returns(
|
|
225
|
+
GrowsurfRuby::Models::Campaign::ParticipantListRewardsResponse
|
|
226
|
+
)
|
|
227
|
+
end
|
|
228
|
+
def list_rewards(
|
|
229
|
+
# Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
230
|
+
participant_id_or_email,
|
|
231
|
+
# Path param: GrowSurf program ID.
|
|
232
|
+
id:,
|
|
233
|
+
# Query param: Number of results to return. Maximum 100.
|
|
234
|
+
limit: nil,
|
|
235
|
+
# Query param: ID to start the next paged result set with.
|
|
236
|
+
next_id: nil,
|
|
237
|
+
request_options: {}
|
|
238
|
+
)
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
# Records a sale made by a referred customer and generates affiliate commissions
|
|
242
|
+
# for their referrer when applicable.
|
|
243
|
+
sig do
|
|
244
|
+
params(
|
|
245
|
+
participant_id_or_email: String,
|
|
246
|
+
id: String,
|
|
247
|
+
currency: String,
|
|
248
|
+
gross_amount: Integer,
|
|
249
|
+
amount_cash_net: Integer,
|
|
250
|
+
amount_paid: Integer,
|
|
251
|
+
charge_id: String,
|
|
252
|
+
customer_id: String,
|
|
253
|
+
description: String,
|
|
254
|
+
external_id: String,
|
|
255
|
+
invoice_id: String,
|
|
256
|
+
invoice_subtotal_excluding_tax: Integer,
|
|
257
|
+
invoice_total: Integer,
|
|
258
|
+
invoice_total_excluding_tax: Integer,
|
|
259
|
+
net_amount: Integer,
|
|
260
|
+
order_id: String,
|
|
261
|
+
paid_at: Integer,
|
|
262
|
+
payment_id: String,
|
|
263
|
+
payment_intent_id: String,
|
|
264
|
+
subscription_id: String,
|
|
265
|
+
tax_amount: Integer,
|
|
266
|
+
total_tax_amount: Integer,
|
|
267
|
+
total_tax_amounts: T::Array[T::Hash[Symbol, T.anything]],
|
|
268
|
+
total_taxes: T::Array[T::Hash[Symbol, T.anything]],
|
|
269
|
+
transaction_id: String,
|
|
270
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
271
|
+
).returns(
|
|
272
|
+
GrowsurfRuby::Models::Campaign::ParticipantRecordTransactionResponse::Variants
|
|
273
|
+
)
|
|
274
|
+
end
|
|
275
|
+
def record_transaction(
|
|
276
|
+
# Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
277
|
+
participant_id_or_email,
|
|
278
|
+
# Path param: GrowSurf program ID.
|
|
279
|
+
id:,
|
|
280
|
+
# Body param
|
|
281
|
+
currency:,
|
|
282
|
+
# Body param
|
|
283
|
+
gross_amount:,
|
|
284
|
+
# Body param
|
|
285
|
+
amount_cash_net: nil,
|
|
286
|
+
# Body param
|
|
287
|
+
amount_paid: nil,
|
|
288
|
+
# Body param
|
|
289
|
+
charge_id: nil,
|
|
290
|
+
# Body param
|
|
291
|
+
customer_id: nil,
|
|
292
|
+
# Body param
|
|
293
|
+
description: nil,
|
|
294
|
+
# Body param
|
|
295
|
+
external_id: nil,
|
|
296
|
+
# Body param
|
|
297
|
+
invoice_id: nil,
|
|
298
|
+
# Body param
|
|
299
|
+
invoice_subtotal_excluding_tax: nil,
|
|
300
|
+
# Body param
|
|
301
|
+
invoice_total: nil,
|
|
302
|
+
# Body param
|
|
303
|
+
invoice_total_excluding_tax: nil,
|
|
304
|
+
# Body param
|
|
305
|
+
net_amount: nil,
|
|
306
|
+
# Body param
|
|
307
|
+
order_id: nil,
|
|
308
|
+
# Body param
|
|
309
|
+
paid_at: nil,
|
|
310
|
+
# Body param
|
|
311
|
+
payment_id: nil,
|
|
312
|
+
# Body param
|
|
313
|
+
payment_intent_id: nil,
|
|
314
|
+
# Body param
|
|
315
|
+
subscription_id: nil,
|
|
316
|
+
# Body param
|
|
317
|
+
tax_amount: nil,
|
|
318
|
+
# Body param
|
|
319
|
+
total_tax_amount: nil,
|
|
320
|
+
# Body param
|
|
321
|
+
total_tax_amounts: nil,
|
|
322
|
+
# Body param
|
|
323
|
+
total_taxes: nil,
|
|
324
|
+
# Body param
|
|
325
|
+
transaction_id: nil,
|
|
326
|
+
request_options: {}
|
|
327
|
+
)
|
|
328
|
+
end
|
|
329
|
+
|
|
330
|
+
# Sends email invites on behalf of a participant to a list of email addresses.
|
|
331
|
+
sig do
|
|
332
|
+
params(
|
|
333
|
+
participant_id_or_email: String,
|
|
334
|
+
id: String,
|
|
335
|
+
email_addresses: T::Array[String],
|
|
336
|
+
message_text: String,
|
|
337
|
+
subject_text: String,
|
|
338
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
339
|
+
).returns(
|
|
340
|
+
GrowsurfRuby::Models::Campaign::ParticipantSendInvitesResponse
|
|
341
|
+
)
|
|
342
|
+
end
|
|
343
|
+
def send_invites(
|
|
344
|
+
# Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
345
|
+
participant_id_or_email,
|
|
346
|
+
# Path param: GrowSurf program ID.
|
|
347
|
+
id:,
|
|
348
|
+
# Body param
|
|
349
|
+
email_addresses:,
|
|
350
|
+
# Body param
|
|
351
|
+
message_text:,
|
|
352
|
+
# Body param
|
|
353
|
+
subject_text:,
|
|
354
|
+
request_options: {}
|
|
355
|
+
)
|
|
356
|
+
end
|
|
357
|
+
|
|
358
|
+
# Triggers referral credit for an existing referred participant by GrowSurf
|
|
359
|
+
# participant ID or email address.
|
|
360
|
+
sig do
|
|
361
|
+
params(
|
|
362
|
+
participant_id_or_email: String,
|
|
363
|
+
id: String,
|
|
364
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
365
|
+
).returns(
|
|
366
|
+
GrowsurfRuby::Models::Campaign::ParticipantTriggerReferralResponse
|
|
367
|
+
)
|
|
368
|
+
end
|
|
369
|
+
def trigger_referral(
|
|
370
|
+
# GrowSurf participant ID or URL-encoded participant email address.
|
|
371
|
+
participant_id_or_email,
|
|
372
|
+
# GrowSurf program ID.
|
|
373
|
+
id:,
|
|
374
|
+
request_options: {}
|
|
375
|
+
)
|
|
376
|
+
end
|
|
377
|
+
|
|
378
|
+
# @api private
|
|
379
|
+
sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
|
|
380
|
+
def self.new(client:)
|
|
381
|
+
end
|
|
382
|
+
end
|
|
383
|
+
end
|
|
384
|
+
end
|
|
385
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Resources
|
|
5
|
+
class Campaign
|
|
6
|
+
# Participant reward retrieval and manual reward operations.
|
|
7
|
+
class Reward
|
|
8
|
+
# Removes a manually approved participant reward that has not already been
|
|
9
|
+
# approved.
|
|
10
|
+
sig do
|
|
11
|
+
params(
|
|
12
|
+
reward_id: String,
|
|
13
|
+
id: String,
|
|
14
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
15
|
+
).returns(GrowsurfRuby::Models::Campaign::RewardDeleteResponse)
|
|
16
|
+
end
|
|
17
|
+
def delete(
|
|
18
|
+
# Participant reward ID.
|
|
19
|
+
reward_id,
|
|
20
|
+
# GrowSurf program ID.
|
|
21
|
+
id:,
|
|
22
|
+
request_options: {}
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Approves a manually approved reward earned by a participant.
|
|
27
|
+
sig do
|
|
28
|
+
params(
|
|
29
|
+
reward_id: String,
|
|
30
|
+
id: String,
|
|
31
|
+
fulfill: T::Boolean,
|
|
32
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
33
|
+
).returns(GrowsurfRuby::Models::Campaign::RewardApproveResponse)
|
|
34
|
+
end
|
|
35
|
+
def approve(
|
|
36
|
+
# Path param: Participant reward ID.
|
|
37
|
+
reward_id,
|
|
38
|
+
# Path param: GrowSurf program ID.
|
|
39
|
+
id:,
|
|
40
|
+
# Body param: Set true to mark the reward as fulfilled after approval.
|
|
41
|
+
fulfill: nil,
|
|
42
|
+
request_options: {}
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Marks an approved participant reward as fulfilled.
|
|
47
|
+
sig do
|
|
48
|
+
params(
|
|
49
|
+
reward_id: String,
|
|
50
|
+
id: String,
|
|
51
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
52
|
+
).returns(GrowsurfRuby::Models::Campaign::RewardFulfillResponse)
|
|
53
|
+
end
|
|
54
|
+
def fulfill(
|
|
55
|
+
# Participant reward ID.
|
|
56
|
+
reward_id,
|
|
57
|
+
# GrowSurf program ID.
|
|
58
|
+
id:,
|
|
59
|
+
request_options: {}
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# @api private
|
|
64
|
+
sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
|
|
65
|
+
def self.new(client:)
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|