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,446 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
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
|
+
#
|
|
9
|
+
# @overload retrieve(participant_id_or_email, id:, request_options: {})
|
|
10
|
+
#
|
|
11
|
+
# @param participant_id_or_email [String] GrowSurf participant ID or URL-encoded participant email address.
|
|
12
|
+
#
|
|
13
|
+
# @param id [String] GrowSurf program ID.
|
|
14
|
+
#
|
|
15
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
16
|
+
#
|
|
17
|
+
# @return [GrowsurfRuby::Models::Campaign::CampaignParticipant]
|
|
18
|
+
#
|
|
19
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantRetrieveParams
|
|
20
|
+
def retrieve(participant_id_or_email, params)
|
|
21
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantRetrieveParams.dump_request(params)
|
|
22
|
+
id =
|
|
23
|
+
parsed.delete(:id) do
|
|
24
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
25
|
+
end
|
|
26
|
+
@client.request(
|
|
27
|
+
method: :get,
|
|
28
|
+
path: ["campaign/%1$s/participant/%2$s", id, participant_id_or_email],
|
|
29
|
+
model: GrowsurfRuby::Campaign::CampaignParticipant,
|
|
30
|
+
options: options
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Updates a participant by GrowSurf participant ID or email address.
|
|
35
|
+
#
|
|
36
|
+
# @overload update(participant_id_or_email, id:, email: nil, first_name: nil, last_name: nil, metadata: nil, referral_status: nil, referred_by: nil, unsubscribed: nil, vanity_keys: nil, request_options: {})
|
|
37
|
+
#
|
|
38
|
+
# @param participant_id_or_email [String] Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
39
|
+
#
|
|
40
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
41
|
+
#
|
|
42
|
+
# @param email [String] Body param
|
|
43
|
+
#
|
|
44
|
+
# @param first_name [String] Body param
|
|
45
|
+
#
|
|
46
|
+
# @param last_name [String] Body param
|
|
47
|
+
#
|
|
48
|
+
# @param metadata [Hash{Symbol=>Object}] Body param: Shallow custom metadata object.
|
|
49
|
+
#
|
|
50
|
+
# @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::ParticipantUpdateParams::ReferralStatus] Body param
|
|
51
|
+
#
|
|
52
|
+
# @param referred_by [String] Body param
|
|
53
|
+
#
|
|
54
|
+
# @param unsubscribed [Boolean] Body param
|
|
55
|
+
#
|
|
56
|
+
# @param vanity_keys [Array<String>] Body param
|
|
57
|
+
#
|
|
58
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
59
|
+
#
|
|
60
|
+
# @return [GrowsurfRuby::Models::Campaign::CampaignParticipant]
|
|
61
|
+
#
|
|
62
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantUpdateParams
|
|
63
|
+
def update(participant_id_or_email, params)
|
|
64
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantUpdateParams.dump_request(params)
|
|
65
|
+
id =
|
|
66
|
+
parsed.delete(:id) do
|
|
67
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
68
|
+
end
|
|
69
|
+
@client.request(
|
|
70
|
+
method: :post,
|
|
71
|
+
path: ["campaign/%1$s/participant/%2$s", id, participant_id_or_email],
|
|
72
|
+
body: parsed,
|
|
73
|
+
model: GrowsurfRuby::Campaign::CampaignParticipant,
|
|
74
|
+
options: options
|
|
75
|
+
)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Removes a participant by GrowSurf participant ID or email address.
|
|
79
|
+
#
|
|
80
|
+
# @overload delete(participant_id_or_email, id:, request_options: {})
|
|
81
|
+
#
|
|
82
|
+
# @param participant_id_or_email [String] GrowSurf participant ID or URL-encoded participant email address.
|
|
83
|
+
#
|
|
84
|
+
# @param id [String] GrowSurf program ID.
|
|
85
|
+
#
|
|
86
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
87
|
+
#
|
|
88
|
+
# @return [GrowsurfRuby::Models::Campaign::ParticipantDeleteResponse]
|
|
89
|
+
#
|
|
90
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantDeleteParams
|
|
91
|
+
def delete(participant_id_or_email, params)
|
|
92
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantDeleteParams.dump_request(params)
|
|
93
|
+
id =
|
|
94
|
+
parsed.delete(:id) do
|
|
95
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
96
|
+
end
|
|
97
|
+
@client.request(
|
|
98
|
+
method: :delete,
|
|
99
|
+
path: ["campaign/%1$s/participant/%2$s", id, participant_id_or_email],
|
|
100
|
+
model: GrowsurfRuby::Models::Campaign::ParticipantDeleteResponse,
|
|
101
|
+
options: options
|
|
102
|
+
)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Adds a new participant to the program. If the email already exists, the existing
|
|
106
|
+
# participant is returned.
|
|
107
|
+
#
|
|
108
|
+
# @overload add(id, email:, fingerprint: nil, first_name: nil, ip_address: nil, last_name: nil, metadata: nil, referral_status: nil, referred_by: nil, request_options: {})
|
|
109
|
+
#
|
|
110
|
+
# @param id [String] GrowSurf program ID.
|
|
111
|
+
#
|
|
112
|
+
# @param email [String]
|
|
113
|
+
#
|
|
114
|
+
# @param fingerprint [String]
|
|
115
|
+
#
|
|
116
|
+
# @param first_name [String]
|
|
117
|
+
#
|
|
118
|
+
# @param ip_address [String]
|
|
119
|
+
#
|
|
120
|
+
# @param last_name [String]
|
|
121
|
+
#
|
|
122
|
+
# @param metadata [Hash{Symbol=>Object}] Shallow custom metadata object.
|
|
123
|
+
#
|
|
124
|
+
# @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::ParticipantAddParams::ReferralStatus]
|
|
125
|
+
#
|
|
126
|
+
# @param referred_by [String] Referrer participant ID or email address.
|
|
127
|
+
#
|
|
128
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
129
|
+
#
|
|
130
|
+
# @return [GrowsurfRuby::Models::Campaign::CampaignParticipant]
|
|
131
|
+
#
|
|
132
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantAddParams
|
|
133
|
+
def add(id, params)
|
|
134
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantAddParams.dump_request(params)
|
|
135
|
+
@client.request(
|
|
136
|
+
method: :post,
|
|
137
|
+
path: ["campaign/%1$s/participant", id],
|
|
138
|
+
body: parsed,
|
|
139
|
+
model: GrowsurfRuby::Campaign::CampaignParticipant,
|
|
140
|
+
options: options
|
|
141
|
+
)
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# Retrieves a paged list of commissions earned by a participant.
|
|
145
|
+
#
|
|
146
|
+
# @overload list_commissions(participant_id_or_email, id:, limit: nil, next_id: nil, status: nil, request_options: {})
|
|
147
|
+
#
|
|
148
|
+
# @param participant_id_or_email [String] Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
149
|
+
#
|
|
150
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
151
|
+
#
|
|
152
|
+
# @param limit [Integer] Query param: Number of results to return. Maximum 100.
|
|
153
|
+
#
|
|
154
|
+
# @param next_id [String] Query param: ID to start the next paged result set with.
|
|
155
|
+
#
|
|
156
|
+
# @param status [Symbol, GrowsurfRuby::Models::Campaign::ParticipantListCommissionsParams::Status] Query param: Participant commission status.
|
|
157
|
+
#
|
|
158
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
159
|
+
#
|
|
160
|
+
# @return [GrowsurfRuby::Models::ParticipantCommissionList]
|
|
161
|
+
#
|
|
162
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantListCommissionsParams
|
|
163
|
+
def list_commissions(participant_id_or_email, params)
|
|
164
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantListCommissionsParams.dump_request(params)
|
|
165
|
+
query = GrowsurfRuby::Internal::Util.encode_query_params(parsed)
|
|
166
|
+
id =
|
|
167
|
+
parsed.delete(:id) do
|
|
168
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
169
|
+
end
|
|
170
|
+
@client.request(
|
|
171
|
+
method: :get,
|
|
172
|
+
path: ["campaign/%1$s/participant/%2$s/commissions", id, participant_id_or_email],
|
|
173
|
+
query: query.transform_keys(next_id: "nextId"),
|
|
174
|
+
model: GrowsurfRuby::ParticipantCommissionList,
|
|
175
|
+
options: options
|
|
176
|
+
)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# Retrieves a paged list of payouts that belong to a participant.
|
|
180
|
+
#
|
|
181
|
+
# @overload list_payouts(participant_id_or_email, id:, limit: nil, next_id: nil, status: nil, request_options: {})
|
|
182
|
+
#
|
|
183
|
+
# @param participant_id_or_email [String] Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
184
|
+
#
|
|
185
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
186
|
+
#
|
|
187
|
+
# @param limit [Integer] Query param: Number of results to return. Maximum 100.
|
|
188
|
+
#
|
|
189
|
+
# @param next_id [String] Query param: ID to start the next paged result set with.
|
|
190
|
+
#
|
|
191
|
+
# @param status [Symbol, GrowsurfRuby::Models::Campaign::ParticipantListPayoutsParams::Status] Query param: Participant payout status.
|
|
192
|
+
#
|
|
193
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
194
|
+
#
|
|
195
|
+
# @return [GrowsurfRuby::Models::ParticipantPayoutList]
|
|
196
|
+
#
|
|
197
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantListPayoutsParams
|
|
198
|
+
def list_payouts(participant_id_or_email, params)
|
|
199
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantListPayoutsParams.dump_request(params)
|
|
200
|
+
query = GrowsurfRuby::Internal::Util.encode_query_params(parsed)
|
|
201
|
+
id =
|
|
202
|
+
parsed.delete(:id) do
|
|
203
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
204
|
+
end
|
|
205
|
+
@client.request(
|
|
206
|
+
method: :get,
|
|
207
|
+
path: ["campaign/%1$s/participant/%2$s/payouts", id, participant_id_or_email],
|
|
208
|
+
query: query.transform_keys(next_id: "nextId"),
|
|
209
|
+
model: GrowsurfRuby::ParticipantPayoutList,
|
|
210
|
+
options: options
|
|
211
|
+
)
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
# Retrieves referrals and email invites made by a participant.
|
|
215
|
+
#
|
|
216
|
+
# @overload list_referrals(participant_id_or_email, id:, desc: nil, email: nil, first_name: nil, last_name: nil, limit: nil, next_id: nil, offset: nil, referral_status: nil, sort_by: nil, request_options: {})
|
|
217
|
+
#
|
|
218
|
+
# @param participant_id_or_email [String] Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
219
|
+
#
|
|
220
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
221
|
+
#
|
|
222
|
+
# @param desc [Boolean] Query param: Return results in descending order when true.
|
|
223
|
+
#
|
|
224
|
+
# @param email [String] Query param: URL-encoded email value to filter referral results.
|
|
225
|
+
#
|
|
226
|
+
# @param first_name [String] Query param: First name value to filter results.
|
|
227
|
+
#
|
|
228
|
+
# @param last_name [String] Query param: Last name value to filter results.
|
|
229
|
+
#
|
|
230
|
+
# @param limit [Integer] Query param: Number of results to return. Maximum 100.
|
|
231
|
+
#
|
|
232
|
+
# @param next_id [String] Query param: ID to start the next paged result set with.
|
|
233
|
+
#
|
|
234
|
+
# @param offset [Integer] Query param: Offset number used to skip through a result set.
|
|
235
|
+
#
|
|
236
|
+
# @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::ReferralStatus] Query param
|
|
237
|
+
#
|
|
238
|
+
# @param sort_by [Symbol, GrowsurfRuby::Models::Campaign::ParticipantListReferralsParams::SortBy] Query param: Field used to sort referral results.
|
|
239
|
+
#
|
|
240
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
241
|
+
#
|
|
242
|
+
# @return [GrowsurfRuby::Models::ReferralList]
|
|
243
|
+
#
|
|
244
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantListReferralsParams
|
|
245
|
+
def list_referrals(participant_id_or_email, params)
|
|
246
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantListReferralsParams.dump_request(params)
|
|
247
|
+
query = GrowsurfRuby::Internal::Util.encode_query_params(parsed)
|
|
248
|
+
id =
|
|
249
|
+
parsed.delete(:id) do
|
|
250
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
251
|
+
end
|
|
252
|
+
@client.request(
|
|
253
|
+
method: :get,
|
|
254
|
+
path: ["campaign/%1$s/participant/%2$s/referrals", id, participant_id_or_email],
|
|
255
|
+
query: query.transform_keys(
|
|
256
|
+
first_name: "firstName",
|
|
257
|
+
last_name: "lastName",
|
|
258
|
+
next_id: "nextId",
|
|
259
|
+
referral_status: "referralStatus",
|
|
260
|
+
sort_by: "sortBy"
|
|
261
|
+
),
|
|
262
|
+
model: GrowsurfRuby::ReferralList,
|
|
263
|
+
options: options
|
|
264
|
+
)
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
# Retrieves a paged list of rewards earned by a participant.
|
|
268
|
+
#
|
|
269
|
+
# @overload list_rewards(participant_id_or_email, id:, limit: nil, next_id: nil, request_options: {})
|
|
270
|
+
#
|
|
271
|
+
# @param participant_id_or_email [String] Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
272
|
+
#
|
|
273
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
274
|
+
#
|
|
275
|
+
# @param limit [Integer] Query param: Number of results to return. Maximum 100.
|
|
276
|
+
#
|
|
277
|
+
# @param next_id [String] Query param: ID to start the next paged result set with.
|
|
278
|
+
#
|
|
279
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
280
|
+
#
|
|
281
|
+
# @return [GrowsurfRuby::Models::Campaign::ParticipantListRewardsResponse]
|
|
282
|
+
#
|
|
283
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantListRewardsParams
|
|
284
|
+
def list_rewards(participant_id_or_email, params)
|
|
285
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantListRewardsParams.dump_request(params)
|
|
286
|
+
query = GrowsurfRuby::Internal::Util.encode_query_params(parsed)
|
|
287
|
+
id =
|
|
288
|
+
parsed.delete(:id) do
|
|
289
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
290
|
+
end
|
|
291
|
+
@client.request(
|
|
292
|
+
method: :get,
|
|
293
|
+
path: ["campaign/%1$s/participant/%2$s/rewards", id, participant_id_or_email],
|
|
294
|
+
query: query.transform_keys(next_id: "nextId"),
|
|
295
|
+
model: GrowsurfRuby::Models::Campaign::ParticipantListRewardsResponse,
|
|
296
|
+
options: options
|
|
297
|
+
)
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
# Records a sale made by a referred customer and generates affiliate commissions
|
|
301
|
+
# for their referrer when applicable.
|
|
302
|
+
#
|
|
303
|
+
# @overload record_transaction(participant_id_or_email, id:, currency:, gross_amount:, amount_cash_net: nil, amount_paid: nil, charge_id: nil, customer_id: nil, description: nil, external_id: nil, invoice_id: nil, invoice_subtotal_excluding_tax: nil, invoice_total: nil, invoice_total_excluding_tax: nil, net_amount: nil, order_id: nil, paid_at: nil, payment_id: nil, payment_intent_id: nil, subscription_id: nil, tax_amount: nil, total_tax_amount: nil, total_tax_amounts: nil, total_taxes: nil, transaction_id: nil, request_options: {})
|
|
304
|
+
#
|
|
305
|
+
# @param participant_id_or_email [String] Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
306
|
+
#
|
|
307
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
308
|
+
#
|
|
309
|
+
# @param currency [String] Body param
|
|
310
|
+
#
|
|
311
|
+
# @param gross_amount [Integer] Body param
|
|
312
|
+
#
|
|
313
|
+
# @param amount_cash_net [Integer] Body param
|
|
314
|
+
#
|
|
315
|
+
# @param amount_paid [Integer] Body param
|
|
316
|
+
#
|
|
317
|
+
# @param charge_id [String] Body param
|
|
318
|
+
#
|
|
319
|
+
# @param customer_id [String] Body param
|
|
320
|
+
#
|
|
321
|
+
# @param description [String] Body param
|
|
322
|
+
#
|
|
323
|
+
# @param external_id [String] Body param
|
|
324
|
+
#
|
|
325
|
+
# @param invoice_id [String] Body param
|
|
326
|
+
#
|
|
327
|
+
# @param invoice_subtotal_excluding_tax [Integer] Body param
|
|
328
|
+
#
|
|
329
|
+
# @param invoice_total [Integer] Body param
|
|
330
|
+
#
|
|
331
|
+
# @param invoice_total_excluding_tax [Integer] Body param
|
|
332
|
+
#
|
|
333
|
+
# @param net_amount [Integer] Body param
|
|
334
|
+
#
|
|
335
|
+
# @param order_id [String] Body param
|
|
336
|
+
#
|
|
337
|
+
# @param paid_at [Integer] Body param
|
|
338
|
+
#
|
|
339
|
+
# @param payment_id [String] Body param
|
|
340
|
+
#
|
|
341
|
+
# @param payment_intent_id [String] Body param
|
|
342
|
+
#
|
|
343
|
+
# @param subscription_id [String] Body param
|
|
344
|
+
#
|
|
345
|
+
# @param tax_amount [Integer] Body param
|
|
346
|
+
#
|
|
347
|
+
# @param total_tax_amount [Integer] Body param
|
|
348
|
+
#
|
|
349
|
+
# @param total_tax_amounts [Array<Hash{Symbol=>Object}>] Body param
|
|
350
|
+
#
|
|
351
|
+
# @param total_taxes [Array<Hash{Symbol=>Object}>] Body param
|
|
352
|
+
#
|
|
353
|
+
# @param transaction_id [String] Body param
|
|
354
|
+
#
|
|
355
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
356
|
+
#
|
|
357
|
+
# @return [GrowsurfRuby::Models::Campaign::ParticipantRecordTransactionResponse::UnionMember0, GrowsurfRuby::Models::Campaign::ParticipantRecordTransactionResponse::UnionMember1]
|
|
358
|
+
#
|
|
359
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantRecordTransactionParams
|
|
360
|
+
def record_transaction(participant_id_or_email, params)
|
|
361
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantRecordTransactionParams.dump_request(params)
|
|
362
|
+
id =
|
|
363
|
+
parsed.delete(:id) do
|
|
364
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
365
|
+
end
|
|
366
|
+
@client.request(
|
|
367
|
+
method: :post,
|
|
368
|
+
path: ["campaign/%1$s/participant/%2$s/transaction", id, participant_id_or_email],
|
|
369
|
+
body: parsed,
|
|
370
|
+
model: GrowsurfRuby::Models::Campaign::ParticipantRecordTransactionResponse,
|
|
371
|
+
options: options
|
|
372
|
+
)
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
# Sends email invites on behalf of a participant to a list of email addresses.
|
|
376
|
+
#
|
|
377
|
+
# @overload send_invites(participant_id_or_email, id:, email_addresses:, message_text:, subject_text:, request_options: {})
|
|
378
|
+
#
|
|
379
|
+
# @param participant_id_or_email [String] Path param: GrowSurf participant ID or URL-encoded participant email address.
|
|
380
|
+
#
|
|
381
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
382
|
+
#
|
|
383
|
+
# @param email_addresses [Array<String>] Body param
|
|
384
|
+
#
|
|
385
|
+
# @param message_text [String] Body param
|
|
386
|
+
#
|
|
387
|
+
# @param subject_text [String] Body param
|
|
388
|
+
#
|
|
389
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
390
|
+
#
|
|
391
|
+
# @return [GrowsurfRuby::Models::Campaign::ParticipantSendInvitesResponse]
|
|
392
|
+
#
|
|
393
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantSendInvitesParams
|
|
394
|
+
def send_invites(participant_id_or_email, params)
|
|
395
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantSendInvitesParams.dump_request(params)
|
|
396
|
+
id =
|
|
397
|
+
parsed.delete(:id) do
|
|
398
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
399
|
+
end
|
|
400
|
+
@client.request(
|
|
401
|
+
method: :post,
|
|
402
|
+
path: ["campaign/%1$s/participant/%2$s/invites", id, participant_id_or_email],
|
|
403
|
+
body: parsed,
|
|
404
|
+
model: GrowsurfRuby::Models::Campaign::ParticipantSendInvitesResponse,
|
|
405
|
+
options: options
|
|
406
|
+
)
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
# Triggers referral credit for an existing referred participant by GrowSurf
|
|
410
|
+
# participant ID or email address.
|
|
411
|
+
#
|
|
412
|
+
# @overload trigger_referral(participant_id_or_email, id:, request_options: {})
|
|
413
|
+
#
|
|
414
|
+
# @param participant_id_or_email [String] GrowSurf participant ID or URL-encoded participant email address.
|
|
415
|
+
#
|
|
416
|
+
# @param id [String] GrowSurf program ID.
|
|
417
|
+
#
|
|
418
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
419
|
+
#
|
|
420
|
+
# @return [GrowsurfRuby::Models::Campaign::ParticipantTriggerReferralResponse]
|
|
421
|
+
#
|
|
422
|
+
# @see GrowsurfRuby::Models::Campaign::ParticipantTriggerReferralParams
|
|
423
|
+
def trigger_referral(participant_id_or_email, params)
|
|
424
|
+
parsed, options = GrowsurfRuby::Campaign::ParticipantTriggerReferralParams.dump_request(params)
|
|
425
|
+
id =
|
|
426
|
+
parsed.delete(:id) do
|
|
427
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
428
|
+
end
|
|
429
|
+
@client.request(
|
|
430
|
+
method: :post,
|
|
431
|
+
path: ["campaign/%1$s/participant/%2$s/ref", id, participant_id_or_email],
|
|
432
|
+
model: GrowsurfRuby::Models::Campaign::ParticipantTriggerReferralResponse,
|
|
433
|
+
options: options
|
|
434
|
+
)
|
|
435
|
+
end
|
|
436
|
+
|
|
437
|
+
# @api private
|
|
438
|
+
#
|
|
439
|
+
# @param client [GrowsurfRuby::Client]
|
|
440
|
+
def initialize(client:)
|
|
441
|
+
@client = client
|
|
442
|
+
end
|
|
443
|
+
end
|
|
444
|
+
end
|
|
445
|
+
end
|
|
446
|
+
end
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
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
|
+
#
|
|
11
|
+
# @overload delete(reward_id, id:, request_options: {})
|
|
12
|
+
#
|
|
13
|
+
# @param reward_id [String] Participant reward ID.
|
|
14
|
+
#
|
|
15
|
+
# @param id [String] GrowSurf program ID.
|
|
16
|
+
#
|
|
17
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
18
|
+
#
|
|
19
|
+
# @return [GrowsurfRuby::Models::Campaign::RewardDeleteResponse]
|
|
20
|
+
#
|
|
21
|
+
# @see GrowsurfRuby::Models::Campaign::RewardDeleteParams
|
|
22
|
+
def delete(reward_id, params)
|
|
23
|
+
parsed, options = GrowsurfRuby::Campaign::RewardDeleteParams.dump_request(params)
|
|
24
|
+
id =
|
|
25
|
+
parsed.delete(:id) do
|
|
26
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
27
|
+
end
|
|
28
|
+
@client.request(
|
|
29
|
+
method: :delete,
|
|
30
|
+
path: ["campaign/%1$s/reward/%2$s", id, reward_id],
|
|
31
|
+
model: GrowsurfRuby::Models::Campaign::RewardDeleteResponse,
|
|
32
|
+
options: options
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Approves a manually approved reward earned by a participant.
|
|
37
|
+
#
|
|
38
|
+
# @overload approve(reward_id, id:, fulfill: nil, request_options: {})
|
|
39
|
+
#
|
|
40
|
+
# @param reward_id [String] Path param: Participant reward ID.
|
|
41
|
+
#
|
|
42
|
+
# @param id [String] Path param: GrowSurf program ID.
|
|
43
|
+
#
|
|
44
|
+
# @param fulfill [Boolean] Body param: Set true to mark the reward as fulfilled after approval.
|
|
45
|
+
#
|
|
46
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
47
|
+
#
|
|
48
|
+
# @return [GrowsurfRuby::Models::Campaign::RewardApproveResponse]
|
|
49
|
+
#
|
|
50
|
+
# @see GrowsurfRuby::Models::Campaign::RewardApproveParams
|
|
51
|
+
def approve(reward_id, params)
|
|
52
|
+
parsed, options = GrowsurfRuby::Campaign::RewardApproveParams.dump_request(params)
|
|
53
|
+
id =
|
|
54
|
+
parsed.delete(:id) do
|
|
55
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
56
|
+
end
|
|
57
|
+
@client.request(
|
|
58
|
+
method: :post,
|
|
59
|
+
path: ["campaign/%1$s/reward/%2$s/approve", id, reward_id],
|
|
60
|
+
body: parsed,
|
|
61
|
+
model: GrowsurfRuby::Models::Campaign::RewardApproveResponse,
|
|
62
|
+
options: options
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Marks an approved participant reward as fulfilled.
|
|
67
|
+
#
|
|
68
|
+
# @overload fulfill(reward_id, id:, request_options: {})
|
|
69
|
+
#
|
|
70
|
+
# @param reward_id [String] Participant reward ID.
|
|
71
|
+
#
|
|
72
|
+
# @param id [String] GrowSurf program ID.
|
|
73
|
+
#
|
|
74
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
75
|
+
#
|
|
76
|
+
# @return [GrowsurfRuby::Models::Campaign::RewardFulfillResponse]
|
|
77
|
+
#
|
|
78
|
+
# @see GrowsurfRuby::Models::Campaign::RewardFulfillParams
|
|
79
|
+
def fulfill(reward_id, params)
|
|
80
|
+
parsed, options = GrowsurfRuby::Campaign::RewardFulfillParams.dump_request(params)
|
|
81
|
+
id =
|
|
82
|
+
parsed.delete(:id) do
|
|
83
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
84
|
+
end
|
|
85
|
+
@client.request(
|
|
86
|
+
method: :post,
|
|
87
|
+
path: ["campaign/%1$s/reward/%2$s/fulfill", id, reward_id],
|
|
88
|
+
model: GrowsurfRuby::Models::Campaign::RewardFulfillResponse,
|
|
89
|
+
options: options
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# @api private
|
|
94
|
+
#
|
|
95
|
+
# @param client [GrowsurfRuby::Client]
|
|
96
|
+
def initialize(client:)
|
|
97
|
+
@client = client
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|