growsurf-ruby 0.2.0 → 0.4.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +9 -9
  4. data/lib/growsurf_ruby/models/campaign/create.rb +93 -0
  5. data/lib/growsurf_ruby/models/campaign/participant.rb +13 -1
  6. data/lib/growsurf_ruby/models/campaign/participant_add_params.rb +2 -73
  7. data/lib/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rb +20 -0
  8. data/lib/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rb +45 -0
  9. data/lib/growsurf_ruby/models.rb +3 -0
  10. data/lib/growsurf_ruby/resources/campaign/participant.rb +7 -30
  11. data/lib/growsurf_ruby/resources/campaign.rb +47 -0
  12. data/lib/growsurf_ruby/version.rb +1 -1
  13. data/lib/growsurf_ruby.rb +3 -2
  14. data/rbi/growsurf_ruby/models/campaign/create.rbi +162 -0
  15. data/rbi/growsurf_ruby/models/campaign/participant.rbi +10 -0
  16. data/rbi/growsurf_ruby/models/campaign/participant_add_params.rbi +3 -129
  17. data/rbi/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rbi +38 -0
  18. data/rbi/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rbi +71 -0
  19. data/rbi/growsurf_ruby/models.rbi +3 -0
  20. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +5 -21
  21. data/rbi/growsurf_ruby/resources/campaign.rbi +42 -0
  22. data/sig/growsurf_ruby/models/campaign/create.rbs +91 -0
  23. data/sig/growsurf_ruby/models/campaign/participant.rbs +5 -0
  24. data/sig/growsurf_ruby/models/campaign/participant_add_params.rbs +4 -72
  25. data/sig/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rbs +25 -0
  26. data/sig/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rbs +35 -0
  27. data/sig/growsurf_ruby/models.rbs +2 -0
  28. data/sig/growsurf_ruby/resources/campaign/participant.rbs +2 -7
  29. data/sig/growsurf_ruby/resources/campaign.rbs +14 -0
  30. metadata +11 -8
  31. data/lib/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rb +0 -28
  32. data/lib/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rb +0 -27
  33. data/rbi/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rbi +0 -48
  34. data/rbi/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rbi +0 -44
  35. data/sig/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rbs +0 -30
  36. data/sig/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rbs +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 981bbbfa4ff94476ccd32bd8c6c6e3b162f299b595917e4203453b63075c5b49
4
- data.tar.gz: b60479fec6ed1cee05057a5fabd06542c1315f47bda95d3aab1eeb4ba24ad6e4
3
+ metadata.gz: 90493bdc8baea2e327326d29aa004fe7a57766653641f6ad80ac4cef4057b0b4
4
+ data.tar.gz: 18f679b7fc93472b3be00394c42cc31e2df266f0c2e0b7222cabc654c88025aa
5
5
  SHA512:
6
- metadata.gz: ed43b241c7fbf84392eeb93107946c6456eb26c9014a65660999c0523faa11a701cf6f54c51607a8e788c0c5ec96fc8f5fbbd50515012f3235a31097241da3f3
7
- data.tar.gz: 260c56e29c5f066f4e778c9c709007a93a64aba501ec13abc4c77bb29ff77702a388ffb103c444c5600ef02ac9e15dcce3ee2160150b490393479d6bc4d3b185
6
+ metadata.gz: c80ae52984154a91eb9887e9da0305fc03cc7c3877437bb034b27d7e7b2f5ac05b124f67808eeeadd51e7c148ace51fa2c7a4b653a2fd1d6ecb054d4854fe492
7
+ data.tar.gz: acfce9a0ef800f4627bd6dddccdc7c1ad3dcf0ef12b49ff0f3e4561de1dd2ee256ba40dcc92800f82286f958fc6284e7a864a92c882faac304a99c7e004335b5
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 (2026-05-20)
4
+
5
+ Full Changelog: [v0.3.0...v0.4.0](https://github.com/growsurf/growsurf-ruby/compare/v0.3.0...v0.4.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** Add Participant.mobileInstanceId ([c5ca7c3](https://github.com/growsurf/growsurf-ruby/commit/c5ca7c3334d28caf6d28afa9baf71cd9cfbfee11))
10
+
11
+ ## 0.3.0 (2026-05-19)
12
+
13
+ Full Changelog: [v0.2.0...v0.3.0](https://github.com/growsurf/growsurf-ruby/compare/v0.2.0...v0.3.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** manual updates ([929f439](https://github.com/growsurf/growsurf-ruby/commit/929f4399c265598db298eb96f5ff4ac2db6b12e8))
18
+
3
19
  ## 0.2.0 (2026-05-15)
4
20
 
5
21
  Full Changelog: [v0.1.1...v0.2.0](https://github.com/growsurf/growsurf-ruby/compare/v0.1.1...v0.2.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "growsurf-ruby", "~> 0.2.0"
20
+ gem "growsurf-ruby", "~> 0.4.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -196,25 +196,25 @@ growsurf.campaign.list(**params)
196
196
  Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
197
197
 
198
198
  ```ruby
199
- # :PENDING
200
- puts(GrowsurfRuby::CampaignListCommissionsParams::Status::PENDING)
199
+ # :CREDIT_PENDING
200
+ puts(GrowsurfRuby::Campaign::Create::ReferralStatus::CREDIT_PENDING)
201
201
 
202
- # Revealed type: `T.all(GrowsurfRuby::CampaignListCommissionsParams::Status, Symbol)`
203
- T.reveal_type(GrowsurfRuby::CampaignListCommissionsParams::Status::PENDING)
202
+ # Revealed type: `T.all(GrowsurfRuby::Campaign::Create::ReferralStatus, Symbol)`
203
+ T.reveal_type(GrowsurfRuby::Campaign::Create::ReferralStatus::CREDIT_PENDING)
204
204
  ```
205
205
 
206
206
  Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
207
207
 
208
208
  ```ruby
209
209
  # Using the enum constants preserves the tagged type information:
210
- growsurf.campaign.list_commissions(
211
- status: GrowsurfRuby::CampaignListCommissionsParams::Status::PENDING,
210
+ growsurf.campaign.create_mobile_participant_token(
211
+ referral_status: GrowsurfRuby::Campaign::Create::ReferralStatus::CREDIT_PENDING,
212
212
  # …
213
213
  )
214
214
 
215
215
  # Literal values are also permissible:
216
- growsurf.campaign.list_commissions(
217
- status: :PENDING,
216
+ growsurf.campaign.create_mobile_participant_token(
217
+ referral_status: :CREDIT_PENDING,
218
218
  # …
219
219
  )
220
220
  ```
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class Create < GrowsurfRuby::Internal::Type::BaseModel
7
+ # @!attribute email
8
+ #
9
+ # @return [String]
10
+ required :email, String
11
+
12
+ # @!attribute fingerprint
13
+ #
14
+ # @return [String, nil]
15
+ optional :fingerprint, String
16
+
17
+ # @!attribute first_name
18
+ #
19
+ # @return [String, nil]
20
+ optional :first_name, String, api_name: :firstName
21
+
22
+ # @!attribute ip_address
23
+ #
24
+ # @return [String, nil]
25
+ optional :ip_address, String, api_name: :ipAddress
26
+
27
+ # @!attribute last_name
28
+ #
29
+ # @return [String, nil]
30
+ optional :last_name, String, api_name: :lastName
31
+
32
+ # @!attribute metadata
33
+ # Shallow custom metadata object.
34
+ #
35
+ # @return [Hash{Symbol=>Object}, nil]
36
+ optional :metadata, GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown]
37
+
38
+ # @!attribute mobile_instance_id
39
+ # Optional app-install scoped identifier for native mobile anti-fraud. Recommended
40
+ # for mobile participant creation and mobile participant token flows.
41
+ #
42
+ # @return [String, nil]
43
+ optional :mobile_instance_id, String, api_name: :mobileInstanceId
44
+
45
+ # @!attribute referral_status
46
+ #
47
+ # @return [Symbol, GrowsurfRuby::Models::Campaign::Create::ReferralStatus, nil]
48
+ optional :referral_status,
49
+ enum: -> { GrowsurfRuby::Campaign::Create::ReferralStatus },
50
+ api_name: :referralStatus
51
+
52
+ # @!attribute referred_by
53
+ # Referrer participant ID or email address.
54
+ #
55
+ # @return [String, nil]
56
+ optional :referred_by, String, api_name: :referredBy
57
+
58
+ # @!method initialize(email:, fingerprint: nil, first_name: nil, ip_address: nil, last_name: nil, metadata: nil, mobile_instance_id: nil, referral_status: nil, referred_by: nil)
59
+ # Some parameter documentations has been truncated, see
60
+ # {GrowsurfRuby::Models::Campaign::Create} for more details.
61
+ #
62
+ # @param email [String]
63
+ #
64
+ # @param fingerprint [String]
65
+ #
66
+ # @param first_name [String]
67
+ #
68
+ # @param ip_address [String]
69
+ #
70
+ # @param last_name [String]
71
+ #
72
+ # @param metadata [Hash{Symbol=>Object}] Shallow custom metadata object.
73
+ #
74
+ # @param mobile_instance_id [String] Optional app-install scoped identifier for native mobile anti-fraud. Recommended
75
+ #
76
+ # @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::Create::ReferralStatus]
77
+ #
78
+ # @param referred_by [String] Referrer participant ID or email address.
79
+
80
+ # @see GrowsurfRuby::Models::Campaign::Create#referral_status
81
+ module ReferralStatus
82
+ extend GrowsurfRuby::Internal::Type::Enum
83
+
84
+ CREDIT_PENDING = :CREDIT_PENDING
85
+ CREDIT_AWARDED = :CREDIT_AWARDED
86
+
87
+ # @!method self.values
88
+ # @return [Array<Symbol>]
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -117,6 +117,13 @@ module GrowsurfRuby
117
117
  # @return [Hash{Symbol=>Object}, nil]
118
118
  optional :metadata, GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown]
119
119
 
120
+ # @!attribute mobile_instance_id
121
+ # App-install scoped mobile identifier used for anti-fraud matching when provided
122
+ # by native mobile apps. Not stored when strict GDPR/CCPA mode is enabled.
123
+ #
124
+ # @return [String, nil]
125
+ optional :mobile_instance_id, String, api_name: :mobileInstanceId, nil?: true
126
+
120
127
  # @!attribute monthly_referrals
121
128
  #
122
129
  # @return [Array<String>, nil]
@@ -207,7 +214,10 @@ module GrowsurfRuby
207
214
  # @return [Array<String>, nil]
208
215
  optional :vanity_keys, GrowsurfRuby::Internal::Type::ArrayOf[String], api_name: :vanityKeys
209
216
 
210
- # @!method initialize(id:, email:, monthly_rank:, monthly_referral_count:, rank:, referral_count:, rewards:, share_url:, all_matching_fraudsters: nil, created_at: nil, fingerprint: nil, first_name: nil, fraud_reason_code: nil, fraud_risk_level: nil, impression_count: nil, invite_count: nil, ip_address: nil, is_new: nil, is_winner: nil, last_name: nil, metadata: nil, monthly_referrals: nil, notes: nil, paypal_email_address: nil, prev_monthly_rank: nil, prev_monthly_referral_count: nil, referrals: nil, referral_source: nil, referral_status: nil, referred_by: nil, referrer: nil, share_count: nil, unique_impression_count: nil, unread_commissions_count: nil, unread_payouts_count: nil, unsubscribed: nil, vanity_keys: nil)
217
+ # @!method initialize(id:, email:, monthly_rank:, monthly_referral_count:, rank:, referral_count:, rewards:, share_url:, all_matching_fraudsters: nil, created_at: nil, fingerprint: nil, first_name: nil, fraud_reason_code: nil, fraud_risk_level: nil, impression_count: nil, invite_count: nil, ip_address: nil, is_new: nil, is_winner: nil, last_name: nil, metadata: nil, mobile_instance_id: nil, monthly_referrals: nil, notes: nil, paypal_email_address: nil, prev_monthly_rank: nil, prev_monthly_referral_count: nil, referrals: nil, referral_source: nil, referral_status: nil, referred_by: nil, referrer: nil, share_count: nil, unique_impression_count: nil, unread_commissions_count: nil, unread_payouts_count: nil, unsubscribed: nil, vanity_keys: nil)
218
+ # Some parameter documentations has been truncated, see
219
+ # {GrowsurfRuby::Models::Campaign::CampaignParticipant} for more details.
220
+ #
211
221
  # @param id [String]
212
222
  #
213
223
  # @param email [String]
@@ -250,6 +260,8 @@ module GrowsurfRuby
250
260
  #
251
261
  # @param metadata [Hash{Symbol=>Object}] Shallow custom metadata object.
252
262
  #
263
+ # @param mobile_instance_id [String, nil] App-install scoped mobile identifier used for anti-fraud matching when provided
264
+ #
253
265
  # @param monthly_referrals [Array<String>]
254
266
  #
255
267
  # @param notes [String, nil]
@@ -4,7 +4,7 @@ module GrowsurfRuby
4
4
  module Models
5
5
  module Campaign
6
6
  # @see GrowsurfRuby::Resources::Campaign::Participant#add
7
- class ParticipantAddParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ class ParticipantAddParams < GrowsurfRuby::Models::Campaign::Create
8
8
  extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
9
9
  include GrowsurfRuby::Internal::Type::RequestParameters
10
10
 
@@ -13,80 +13,9 @@ module GrowsurfRuby
13
13
  # @return [String]
14
14
  required :id, String
15
15
 
16
- # @!attribute email
17
- #
18
- # @return [String]
19
- required :email, String
20
-
21
- # @!attribute fingerprint
22
- #
23
- # @return [String, nil]
24
- optional :fingerprint, String
25
-
26
- # @!attribute first_name
27
- #
28
- # @return [String, nil]
29
- optional :first_name, String, api_name: :firstName
30
-
31
- # @!attribute ip_address
32
- #
33
- # @return [String, nil]
34
- optional :ip_address, String, api_name: :ipAddress
35
-
36
- # @!attribute last_name
37
- #
38
- # @return [String, nil]
39
- optional :last_name, String, api_name: :lastName
40
-
41
- # @!attribute metadata
42
- # Shallow custom metadata object.
43
- #
44
- # @return [Hash{Symbol=>Object}, nil]
45
- optional :metadata, GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown]
46
-
47
- # @!attribute referral_status
48
- #
49
- # @return [Symbol, GrowsurfRuby::Models::Campaign::ParticipantAddParams::ReferralStatus, nil]
50
- optional :referral_status,
51
- enum: -> { GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus },
52
- api_name: :referralStatus
53
-
54
- # @!attribute referred_by
55
- # Referrer participant ID or email address.
56
- #
57
- # @return [String, nil]
58
- optional :referred_by, String, api_name: :referredBy
59
-
60
- # @!method initialize(id:, email:, fingerprint: nil, first_name: nil, ip_address: nil, last_name: nil, metadata: nil, referral_status: nil, referred_by: nil, request_options: {})
16
+ # @!method initialize(id:, request_options: {})
61
17
  # @param id [String]
62
- #
63
- # @param email [String]
64
- #
65
- # @param fingerprint [String]
66
- #
67
- # @param first_name [String]
68
- #
69
- # @param ip_address [String]
70
- #
71
- # @param last_name [String]
72
- #
73
- # @param metadata [Hash{Symbol=>Object}] Shallow custom metadata object.
74
- #
75
- # @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::ParticipantAddParams::ReferralStatus]
76
- #
77
- # @param referred_by [String] Referrer participant ID or email address.
78
- #
79
18
  # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
80
-
81
- module ReferralStatus
82
- extend GrowsurfRuby::Internal::Type::Enum
83
-
84
- CREDIT_PENDING = :CREDIT_PENDING
85
- CREDIT_AWARDED = :CREDIT_AWARDED
86
-
87
- # @!method self.values
88
- # @return [Array<Symbol>]
89
- end
90
19
  end
91
20
  end
92
21
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#create_mobile_participant_token
6
+ class CampaignCreateMobileParticipantTokenParams < GrowsurfRuby::Models::Campaign::Create
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#create_mobile_participant_token
6
+ class CampaignCreateMobileParticipantTokenResponse < GrowsurfRuby::Internal::Type::BaseModel
7
+ # @!attribute expires_in
8
+ # Token lifetime in seconds.
9
+ #
10
+ # @return [Integer]
11
+ required :expires_in, Integer, api_name: :expiresIn
12
+
13
+ # @!attribute is_new
14
+ # Whether this request created a new participant. Returns false when the
15
+ # participant already existed.
16
+ #
17
+ # @return [Boolean]
18
+ required :is_new, GrowsurfRuby::Internal::Type::Boolean, api_name: :isNew
19
+
20
+ # @!attribute participant
21
+ #
22
+ # @return [GrowsurfRuby::Models::Campaign::CampaignParticipant]
23
+ required :participant, -> { GrowsurfRuby::Campaign::CampaignParticipant }
24
+
25
+ # @!attribute participant_token
26
+ # Participant-scoped bearer token for GrowSurf mobile SDK participant endpoints.
27
+ #
28
+ # @return [String]
29
+ required :participant_token, String, api_name: :participantToken
30
+
31
+ # @!method initialize(expires_in:, is_new:, participant:, participant_token:)
32
+ # Some parameter documentations has been truncated, see
33
+ # {GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenResponse} for more
34
+ # details.
35
+ #
36
+ # @param expires_in [Integer] Token lifetime in seconds.
37
+ #
38
+ # @param is_new [Boolean] Whether this request created a new participant. Returns false when the participa
39
+ #
40
+ # @param participant [GrowsurfRuby::Models::Campaign::CampaignParticipant]
41
+ #
42
+ # @param participant_token [String] Participant-scoped bearer token for GrowSurf mobile SDK participant endpoints.
43
+ end
44
+ end
45
+ end
@@ -43,6 +43,9 @@ module GrowsurfRuby
43
43
 
44
44
  CampaignAPI = GrowsurfRuby::Models::CampaignAPI
45
45
 
46
+ CampaignCreateMobileParticipantTokenParams =
47
+ GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenParams
48
+
46
49
  CampaignListCommissionsParams = GrowsurfRuby::Models::CampaignListCommissionsParams
47
50
 
48
51
  CampaignListLeaderboardParams = GrowsurfRuby::Models::CampaignListLeaderboardParams
@@ -102,10 +102,13 @@ module GrowsurfRuby
102
102
  )
103
103
  end
104
104
 
105
+ # Some parameter documentations has been truncated, see
106
+ # {GrowsurfRuby::Models::Campaign::ParticipantAddParams} for more details.
107
+ #
105
108
  # Adds a new participant to the program. If the email already exists, the existing
106
109
  # participant is returned.
107
110
  #
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: {})
111
+ # @overload add(id, email:, fingerprint: nil, first_name: nil, ip_address: nil, last_name: nil, metadata: nil, mobile_instance_id: nil, referral_status: nil, referred_by: nil, request_options: {})
109
112
  #
110
113
  # @param id [String] GrowSurf program ID.
111
114
  #
@@ -121,7 +124,9 @@ module GrowsurfRuby
121
124
  #
122
125
  # @param metadata [Hash{Symbol=>Object}] Shallow custom metadata object.
123
126
  #
124
- # @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::ParticipantAddParams::ReferralStatus]
127
+ # @param mobile_instance_id [String] Optional app-install scoped identifier for native mobile anti-fraud. Recommended
128
+ #
129
+ # @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::Create::ReferralStatus]
125
130
  #
126
131
  # @param referred_by [String] Referrer participant ID or email address.
127
132
  #
@@ -141,34 +146,6 @@ module GrowsurfRuby
141
146
  )
142
147
  end
143
148
 
144
- # Creates a participant-scoped token for GrowSurf mobile SDK participant
145
- # endpoints. The program must have mobile SDK access enabled.
146
- #
147
- # @overload create_mobile_token(participant_id_or_email, id:, request_options: {})
148
- #
149
- # @param participant_id_or_email [String] GrowSurf participant ID or URL-encoded participant email address.
150
- #
151
- # @param id [String] GrowSurf program ID.
152
- #
153
- # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
154
- #
155
- # @return [GrowsurfRuby::Models::Campaign::ParticipantCreateMobileTokenResponse]
156
- #
157
- # @see GrowsurfRuby::Models::Campaign::ParticipantCreateMobileTokenParams
158
- def create_mobile_token(participant_id_or_email, params)
159
- parsed, options = GrowsurfRuby::Campaign::ParticipantCreateMobileTokenParams.dump_request(params)
160
- id =
161
- parsed.delete(:id) do
162
- raise ArgumentError.new("missing required path argument #{_1}")
163
- end
164
- @client.request(
165
- method: :post,
166
- path: ["campaign/%1$s/participant/%2$s/mobile-token", id, participant_id_or_email],
167
- model: GrowsurfRuby::Models::Campaign::ParticipantCreateMobileTokenResponse,
168
- options: options
169
- )
170
- end
171
-
172
149
  # Retrieves a paged list of commissions earned by a participant.
173
150
  #
174
151
  # @overload list_commissions(participant_id_or_email, id:, limit: nil, next_id: nil, status: nil, request_options: {})
@@ -52,6 +52,53 @@ module GrowsurfRuby
52
52
  )
53
53
  end
54
54
 
55
+ # Some parameter documentations has been truncated, see
56
+ # {GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenParams} for more
57
+ # details.
58
+ #
59
+ # Creates or returns a participant using the same input behavior as Add
60
+ # Participant, then returns a participant-scoped token for GrowSurf mobile SDK
61
+ # participant endpoints. Use this endpoint from your backend after your mobile app
62
+ # authenticates a signed-in user. The program must have mobile SDK access enabled.
63
+ #
64
+ # @overload create_mobile_participant_token(id, email:, fingerprint: nil, first_name: nil, ip_address: nil, last_name: nil, metadata: nil, mobile_instance_id: nil, referral_status: nil, referred_by: nil, request_options: {})
65
+ #
66
+ # @param id [String] GrowSurf program ID.
67
+ #
68
+ # @param email [String]
69
+ #
70
+ # @param fingerprint [String]
71
+ #
72
+ # @param first_name [String]
73
+ #
74
+ # @param ip_address [String]
75
+ #
76
+ # @param last_name [String]
77
+ #
78
+ # @param metadata [Hash{Symbol=>Object}] Shallow custom metadata object.
79
+ #
80
+ # @param mobile_instance_id [String] Optional app-install scoped identifier for native mobile anti-fraud. Recommended
81
+ #
82
+ # @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::Create::ReferralStatus]
83
+ #
84
+ # @param referred_by [String] Referrer participant ID or email address.
85
+ #
86
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
87
+ #
88
+ # @return [GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenResponse]
89
+ #
90
+ # @see GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenParams
91
+ def create_mobile_participant_token(id, params)
92
+ parsed, options = GrowsurfRuby::CampaignCreateMobileParticipantTokenParams.dump_request(params)
93
+ @client.request(
94
+ method: :post,
95
+ path: ["campaign/%1$s/mobile-participant-token", id],
96
+ body: parsed,
97
+ model: GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenResponse,
98
+ options: options
99
+ )
100
+ end
101
+
55
102
  # Retrieves a paged list of all participant commissions in an affiliate program.
56
103
  #
57
104
  # @overload list_commissions(id, limit: nil, next_id: nil, status: nil, request_options: {})
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GrowsurfRuby
4
- VERSION = "0.2.0"
4
+ VERSION = "0.4.0"
5
5
  end
data/lib/growsurf_ruby.rb CHANGED
@@ -52,6 +52,7 @@ require_relative "growsurf_ruby/errors"
52
52
  require_relative "growsurf_ruby/internal/transport/base_client"
53
53
  require_relative "growsurf_ruby/internal/transport/pooled_net_requester"
54
54
  require_relative "growsurf_ruby/client"
55
+ require_relative "growsurf_ruby/models/campaign/create"
55
56
  require_relative "growsurf_ruby/models/campaign/participant"
56
57
  require_relative "growsurf_ruby/models/campaign/commission_approve_params"
57
58
  require_relative "growsurf_ruby/models/campaign/commission_approve_response"
@@ -59,8 +60,6 @@ require_relative "growsurf_ruby/models/campaign/commission_delete_params"
59
60
  require_relative "growsurf_ruby/models/campaign/commission_delete_response"
60
61
  require_relative "growsurf_ruby/models/campaign/fraud_risk_level"
61
62
  require_relative "growsurf_ruby/models/campaign/participant_add_params"
62
- require_relative "growsurf_ruby/models/campaign/participant_create_mobile_token_params"
63
- require_relative "growsurf_ruby/models/campaign/participant_create_mobile_token_response"
64
63
  require_relative "growsurf_ruby/models/campaign/participant_delete_params"
65
64
  require_relative "growsurf_ruby/models/campaign/participant_delete_response"
66
65
  require_relative "growsurf_ruby/models/campaign/participant_list_commissions_params"
@@ -86,6 +85,8 @@ require_relative "growsurf_ruby/models/campaign/reward_delete_response"
86
85
  require_relative "growsurf_ruby/models/campaign/reward_fulfill_params"
87
86
  require_relative "growsurf_ruby/models/campaign/reward_fulfill_response"
88
87
  require_relative "growsurf_ruby/models/campaign"
88
+ require_relative "growsurf_ruby/models/campaign_create_mobile_participant_token_params"
89
+ require_relative "growsurf_ruby/models/campaign_create_mobile_participant_token_response"
89
90
  require_relative "growsurf_ruby/models/campaign_list_commissions_params"
90
91
  require_relative "growsurf_ruby/models/campaign_list_leaderboard_params"
91
92
  require_relative "growsurf_ruby/models/campaign_list_params"