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
@@ -0,0 +1,162 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class Create < GrowsurfRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ GrowsurfRuby::Campaign::Create,
11
+ GrowsurfRuby::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :email
17
+
18
+ sig { returns(T.nilable(String)) }
19
+ attr_reader :fingerprint
20
+
21
+ sig { params(fingerprint: String).void }
22
+ attr_writer :fingerprint
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :first_name
26
+
27
+ sig { params(first_name: String).void }
28
+ attr_writer :first_name
29
+
30
+ sig { returns(T.nilable(String)) }
31
+ attr_reader :ip_address
32
+
33
+ sig { params(ip_address: String).void }
34
+ attr_writer :ip_address
35
+
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :last_name
38
+
39
+ sig { params(last_name: String).void }
40
+ attr_writer :last_name
41
+
42
+ # Shallow custom metadata object.
43
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
44
+ attr_reader :metadata
45
+
46
+ sig { params(metadata: T::Hash[Symbol, T.anything]).void }
47
+ attr_writer :metadata
48
+
49
+ # Optional app-install scoped identifier for native mobile anti-fraud. Recommended
50
+ # for mobile participant creation and mobile participant token flows.
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :mobile_instance_id
53
+
54
+ sig { params(mobile_instance_id: String).void }
55
+ attr_writer :mobile_instance_id
56
+
57
+ sig do
58
+ returns(
59
+ T.nilable(GrowsurfRuby::Campaign::Create::ReferralStatus::OrSymbol)
60
+ )
61
+ end
62
+ attr_reader :referral_status
63
+
64
+ sig do
65
+ params(
66
+ referral_status:
67
+ GrowsurfRuby::Campaign::Create::ReferralStatus::OrSymbol
68
+ ).void
69
+ end
70
+ attr_writer :referral_status
71
+
72
+ # Referrer participant ID or email address.
73
+ sig { returns(T.nilable(String)) }
74
+ attr_reader :referred_by
75
+
76
+ sig { params(referred_by: String).void }
77
+ attr_writer :referred_by
78
+
79
+ sig do
80
+ params(
81
+ email: String,
82
+ fingerprint: String,
83
+ first_name: String,
84
+ ip_address: String,
85
+ last_name: String,
86
+ metadata: T::Hash[Symbol, T.anything],
87
+ mobile_instance_id: String,
88
+ referral_status:
89
+ GrowsurfRuby::Campaign::Create::ReferralStatus::OrSymbol,
90
+ referred_by: String
91
+ ).returns(T.attached_class)
92
+ end
93
+ def self.new(
94
+ email:,
95
+ fingerprint: nil,
96
+ first_name: nil,
97
+ ip_address: nil,
98
+ last_name: nil,
99
+ # Shallow custom metadata object.
100
+ metadata: nil,
101
+ # Optional app-install scoped identifier for native mobile anti-fraud. Recommended
102
+ # for mobile participant creation and mobile participant token flows.
103
+ mobile_instance_id: nil,
104
+ referral_status: nil,
105
+ # Referrer participant ID or email address.
106
+ referred_by: nil
107
+ )
108
+ end
109
+
110
+ sig do
111
+ override.returns(
112
+ {
113
+ email: String,
114
+ fingerprint: String,
115
+ first_name: String,
116
+ ip_address: String,
117
+ last_name: String,
118
+ metadata: T::Hash[Symbol, T.anything],
119
+ mobile_instance_id: String,
120
+ referral_status:
121
+ GrowsurfRuby::Campaign::Create::ReferralStatus::OrSymbol,
122
+ referred_by: String
123
+ }
124
+ )
125
+ end
126
+ def to_hash
127
+ end
128
+
129
+ module ReferralStatus
130
+ extend GrowsurfRuby::Internal::Type::Enum
131
+
132
+ TaggedSymbol =
133
+ T.type_alias do
134
+ T.all(Symbol, GrowsurfRuby::Campaign::Create::ReferralStatus)
135
+ end
136
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
137
+
138
+ CREDIT_PENDING =
139
+ T.let(
140
+ :CREDIT_PENDING,
141
+ GrowsurfRuby::Campaign::Create::ReferralStatus::TaggedSymbol
142
+ )
143
+ CREDIT_AWARDED =
144
+ T.let(
145
+ :CREDIT_AWARDED,
146
+ GrowsurfRuby::Campaign::Create::ReferralStatus::TaggedSymbol
147
+ )
148
+
149
+ sig do
150
+ override.returns(
151
+ T::Array[
152
+ GrowsurfRuby::Campaign::Create::ReferralStatus::TaggedSymbol
153
+ ]
154
+ )
155
+ end
156
+ def self.values
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
@@ -115,6 +115,11 @@ module GrowsurfRuby
115
115
  sig { params(metadata: T::Hash[Symbol, T.anything]).void }
116
116
  attr_writer :metadata
117
117
 
118
+ # App-install scoped mobile identifier used for anti-fraud matching when provided
119
+ # by native mobile apps. Not stored when strict GDPR/CCPA mode is enabled.
120
+ sig { returns(T.nilable(String)) }
121
+ attr_accessor :mobile_instance_id
122
+
118
123
  sig { returns(T.nilable(T::Array[String])) }
119
124
  attr_reader :monthly_referrals
120
125
 
@@ -259,6 +264,7 @@ module GrowsurfRuby
259
264
  is_winner: T::Boolean,
260
265
  last_name: T.nilable(String),
261
266
  metadata: T::Hash[Symbol, T.anything],
267
+ mobile_instance_id: T.nilable(String),
262
268
  monthly_referrals: T::Array[String],
263
269
  notes: T.nilable(String),
264
270
  paypal_email_address: String,
@@ -303,6 +309,9 @@ module GrowsurfRuby
303
309
  last_name: nil,
304
310
  # Shallow custom metadata object.
305
311
  metadata: nil,
312
+ # App-install scoped mobile identifier used for anti-fraud matching when provided
313
+ # by native mobile apps. Not stored when strict GDPR/CCPA mode is enabled.
314
+ mobile_instance_id: nil,
306
315
  monthly_referrals: nil,
307
316
  notes: nil,
308
317
  paypal_email_address: nil,
@@ -347,6 +356,7 @@ module GrowsurfRuby
347
356
  is_winner: T::Boolean,
348
357
  last_name: T.nilable(String),
349
358
  metadata: T::Hash[Symbol, T.anything],
359
+ mobile_instance_id: T.nilable(String),
350
360
  monthly_referrals: T::Array[String],
351
361
  notes: T.nilable(String),
352
362
  paypal_email_address: String,
@@ -3,7 +3,7 @@
3
3
  module GrowsurfRuby
4
4
  module Models
5
5
  module Campaign
6
- class ParticipantAddParams < GrowsurfRuby::Internal::Type::BaseModel
6
+ class ParticipantAddParams < GrowsurfRuby::Models::Campaign::Create
7
7
  extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
8
  include GrowsurfRuby::Internal::Type::RequestParameters
9
9
 
@@ -18,148 +18,22 @@ module GrowsurfRuby
18
18
  sig { returns(String) }
19
19
  attr_accessor :id
20
20
 
21
- sig { returns(String) }
22
- attr_accessor :email
23
-
24
- sig { returns(T.nilable(String)) }
25
- attr_reader :fingerprint
26
-
27
- sig { params(fingerprint: String).void }
28
- attr_writer :fingerprint
29
-
30
- sig { returns(T.nilable(String)) }
31
- attr_reader :first_name
32
-
33
- sig { params(first_name: String).void }
34
- attr_writer :first_name
35
-
36
- sig { returns(T.nilable(String)) }
37
- attr_reader :ip_address
38
-
39
- sig { params(ip_address: String).void }
40
- attr_writer :ip_address
41
-
42
- sig { returns(T.nilable(String)) }
43
- attr_reader :last_name
44
-
45
- sig { params(last_name: String).void }
46
- attr_writer :last_name
47
-
48
- # Shallow custom metadata object.
49
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
50
- attr_reader :metadata
51
-
52
- sig { params(metadata: T::Hash[Symbol, T.anything]).void }
53
- attr_writer :metadata
54
-
55
- sig do
56
- returns(
57
- T.nilable(
58
- GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus::OrSymbol
59
- )
60
- )
61
- end
62
- attr_reader :referral_status
63
-
64
- sig do
65
- params(
66
- referral_status:
67
- GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus::OrSymbol
68
- ).void
69
- end
70
- attr_writer :referral_status
71
-
72
- # Referrer participant ID or email address.
73
- sig { returns(T.nilable(String)) }
74
- attr_reader :referred_by
75
-
76
- sig { params(referred_by: String).void }
77
- attr_writer :referred_by
78
-
79
21
  sig do
80
22
  params(
81
23
  id: String,
82
- email: String,
83
- fingerprint: String,
84
- first_name: String,
85
- ip_address: String,
86
- last_name: String,
87
- metadata: T::Hash[Symbol, T.anything],
88
- referral_status:
89
- GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus::OrSymbol,
90
- referred_by: String,
91
24
  request_options: GrowsurfRuby::RequestOptions::OrHash
92
25
  ).returns(T.attached_class)
93
26
  end
94
- def self.new(
95
- id:,
96
- email:,
97
- fingerprint: nil,
98
- first_name: nil,
99
- ip_address: nil,
100
- last_name: nil,
101
- # Shallow custom metadata object.
102
- metadata: nil,
103
- referral_status: nil,
104
- # Referrer participant ID or email address.
105
- referred_by: nil,
106
- request_options: {}
107
- )
27
+ def self.new(id:, request_options: {})
108
28
  end
109
29
 
110
30
  sig do
111
31
  override.returns(
112
- {
113
- id: String,
114
- email: String,
115
- fingerprint: String,
116
- first_name: String,
117
- ip_address: String,
118
- last_name: String,
119
- metadata: T::Hash[Symbol, T.anything],
120
- referral_status:
121
- GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus::OrSymbol,
122
- referred_by: String,
123
- request_options: GrowsurfRuby::RequestOptions
124
- }
32
+ { id: String, request_options: GrowsurfRuby::RequestOptions }
125
33
  )
126
34
  end
127
35
  def to_hash
128
36
  end
129
-
130
- module ReferralStatus
131
- extend GrowsurfRuby::Internal::Type::Enum
132
-
133
- TaggedSymbol =
134
- T.type_alias do
135
- T.all(
136
- Symbol,
137
- GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus
138
- )
139
- end
140
- OrSymbol = T.type_alias { T.any(Symbol, String) }
141
-
142
- CREDIT_PENDING =
143
- T.let(
144
- :CREDIT_PENDING,
145
- GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus::TaggedSymbol
146
- )
147
- CREDIT_AWARDED =
148
- T.let(
149
- :CREDIT_AWARDED,
150
- GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus::TaggedSymbol
151
- )
152
-
153
- sig do
154
- override.returns(
155
- T::Array[
156
- GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus::TaggedSymbol
157
- ]
158
- )
159
- end
160
- def self.values
161
- end
162
- end
163
37
  end
164
38
  end
165
39
  end
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignCreateMobileParticipantTokenParams < GrowsurfRuby::Models::Campaign::Create
6
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
7
+ include GrowsurfRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ GrowsurfRuby::CampaignCreateMobileParticipantTokenParams,
13
+ GrowsurfRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ sig do
21
+ params(
22
+ id: String,
23
+ request_options: GrowsurfRuby::RequestOptions::OrHash
24
+ ).returns(T.attached_class)
25
+ end
26
+ def self.new(id:, request_options: {})
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ { id: String, request_options: GrowsurfRuby::RequestOptions }
32
+ )
33
+ end
34
+ def to_hash
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,71 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignCreateMobileParticipantTokenResponse < GrowsurfRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenResponse,
10
+ GrowsurfRuby::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Token lifetime in seconds.
15
+ sig { returns(Integer) }
16
+ attr_accessor :expires_in
17
+
18
+ # Whether this request created a new participant. Returns false when the
19
+ # participant already existed.
20
+ sig { returns(T::Boolean) }
21
+ attr_accessor :is_new
22
+
23
+ sig { returns(GrowsurfRuby::Campaign::CampaignParticipant) }
24
+ attr_reader :participant
25
+
26
+ sig do
27
+ params(
28
+ participant: GrowsurfRuby::Campaign::CampaignParticipant::OrHash
29
+ ).void
30
+ end
31
+ attr_writer :participant
32
+
33
+ # Participant-scoped bearer token for GrowSurf mobile SDK participant endpoints.
34
+ sig { returns(String) }
35
+ attr_accessor :participant_token
36
+
37
+ sig do
38
+ params(
39
+ expires_in: Integer,
40
+ is_new: T::Boolean,
41
+ participant: GrowsurfRuby::Campaign::CampaignParticipant::OrHash,
42
+ participant_token: String
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # Token lifetime in seconds.
47
+ expires_in:,
48
+ # Whether this request created a new participant. Returns false when the
49
+ # participant already existed.
50
+ is_new:,
51
+ participant:,
52
+ # Participant-scoped bearer token for GrowSurf mobile SDK participant endpoints.
53
+ participant_token:
54
+ )
55
+ end
56
+
57
+ sig do
58
+ override.returns(
59
+ {
60
+ expires_in: Integer,
61
+ is_new: T::Boolean,
62
+ participant: GrowsurfRuby::Campaign::CampaignParticipant,
63
+ participant_token: String
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+ end
70
+ end
71
+ end
@@ -5,6 +5,9 @@ module GrowsurfRuby
5
5
 
6
6
  CampaignAPI = GrowsurfRuby::Models::CampaignAPI
7
7
 
8
+ CampaignCreateMobileParticipantTokenParams =
9
+ GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenParams
10
+
8
11
  CampaignListCommissionsParams =
9
12
  GrowsurfRuby::Models::CampaignListCommissionsParams
10
13
 
@@ -91,8 +91,9 @@ module GrowsurfRuby
91
91
  ip_address: String,
92
92
  last_name: String,
93
93
  metadata: T::Hash[Symbol, T.anything],
94
+ mobile_instance_id: String,
94
95
  referral_status:
95
- GrowsurfRuby::Campaign::ParticipantAddParams::ReferralStatus::OrSymbol,
96
+ GrowsurfRuby::Campaign::Create::ReferralStatus::OrSymbol,
96
97
  referred_by: String,
97
98
  request_options: GrowsurfRuby::RequestOptions::OrHash
98
99
  ).returns(GrowsurfRuby::Campaign::CampaignParticipant)
@@ -107,6 +108,9 @@ module GrowsurfRuby
107
108
  last_name: nil,
108
109
  # Shallow custom metadata object.
109
110
  metadata: nil,
111
+ # Optional app-install scoped identifier for native mobile anti-fraud. Recommended
112
+ # for mobile participant creation and mobile participant token flows.
113
+ mobile_instance_id: nil,
110
114
  referral_status: nil,
111
115
  # Referrer participant ID or email address.
112
116
  referred_by: nil,
@@ -114,26 +118,6 @@ module GrowsurfRuby
114
118
  )
115
119
  end
116
120
 
117
- # Creates a participant-scoped token for GrowSurf mobile SDK participant
118
- # endpoints. The program must have mobile SDK access enabled.
119
- sig do
120
- params(
121
- participant_id_or_email: String,
122
- id: String,
123
- request_options: GrowsurfRuby::RequestOptions::OrHash
124
- ).returns(
125
- GrowsurfRuby::Models::Campaign::ParticipantCreateMobileTokenResponse
126
- )
127
- end
128
- def create_mobile_token(
129
- # GrowSurf participant ID or URL-encoded participant email address.
130
- participant_id_or_email,
131
- # GrowSurf program ID.
132
- id:,
133
- request_options: {}
134
- )
135
- end
136
-
137
121
  # Retrieves a paged list of commissions earned by a participant.
138
122
  sig do
139
123
  params(
@@ -37,6 +37,48 @@ module GrowsurfRuby
37
37
  def list(request_options: {})
38
38
  end
39
39
 
40
+ # Creates or returns a participant using the same input behavior as Add
41
+ # Participant, then returns a participant-scoped token for GrowSurf mobile SDK
42
+ # participant endpoints. Use this endpoint from your backend after your mobile app
43
+ # authenticates a signed-in user. The program must have mobile SDK access enabled.
44
+ sig do
45
+ params(
46
+ id: String,
47
+ email: String,
48
+ fingerprint: String,
49
+ first_name: String,
50
+ ip_address: String,
51
+ last_name: String,
52
+ metadata: T::Hash[Symbol, T.anything],
53
+ mobile_instance_id: String,
54
+ referral_status:
55
+ GrowsurfRuby::Campaign::Create::ReferralStatus::OrSymbol,
56
+ referred_by: String,
57
+ request_options: GrowsurfRuby::RequestOptions::OrHash
58
+ ).returns(
59
+ GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenResponse
60
+ )
61
+ end
62
+ def create_mobile_participant_token(
63
+ # GrowSurf program ID.
64
+ id,
65
+ email:,
66
+ fingerprint: nil,
67
+ first_name: nil,
68
+ ip_address: nil,
69
+ last_name: nil,
70
+ # Shallow custom metadata object.
71
+ metadata: nil,
72
+ # Optional app-install scoped identifier for native mobile anti-fraud. Recommended
73
+ # for mobile participant creation and mobile participant token flows.
74
+ mobile_instance_id: nil,
75
+ referral_status: nil,
76
+ # Referrer participant ID or email address.
77
+ referred_by: nil,
78
+ request_options: {}
79
+ )
80
+ end
81
+
40
82
  # Retrieves a paged list of all participant commissions in an affiliate program.
41
83
  sig do
42
84
  params(
@@ -0,0 +1,91 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ module Campaign
4
+ type create =
5
+ {
6
+ email: String,
7
+ fingerprint: String,
8
+ first_name: String,
9
+ ip_address: String,
10
+ last_name: String,
11
+ metadata: ::Hash[Symbol, top],
12
+ mobile_instance_id: String,
13
+ referral_status: GrowsurfRuby::Models::Campaign::Create::referral_status,
14
+ referred_by: String
15
+ }
16
+
17
+ class Create < GrowsurfRuby::Internal::Type::BaseModel
18
+ attr_accessor email: String
19
+
20
+ attr_reader fingerprint: String?
21
+
22
+ def fingerprint=: (String) -> String
23
+
24
+ attr_reader first_name: String?
25
+
26
+ def first_name=: (String) -> String
27
+
28
+ attr_reader ip_address: String?
29
+
30
+ def ip_address=: (String) -> String
31
+
32
+ attr_reader last_name: String?
33
+
34
+ def last_name=: (String) -> String
35
+
36
+ attr_reader metadata: ::Hash[Symbol, top]?
37
+
38
+ def metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
39
+
40
+ attr_reader mobile_instance_id: String?
41
+
42
+ def mobile_instance_id=: (String) -> String
43
+
44
+ attr_reader referral_status: GrowsurfRuby::Models::Campaign::Create::referral_status?
45
+
46
+ def referral_status=: (
47
+ GrowsurfRuby::Models::Campaign::Create::referral_status
48
+ ) -> GrowsurfRuby::Models::Campaign::Create::referral_status
49
+
50
+ attr_reader referred_by: String?
51
+
52
+ def referred_by=: (String) -> String
53
+
54
+ def initialize: (
55
+ email: String,
56
+ ?fingerprint: String,
57
+ ?first_name: String,
58
+ ?ip_address: String,
59
+ ?last_name: String,
60
+ ?metadata: ::Hash[Symbol, top],
61
+ ?mobile_instance_id: String,
62
+ ?referral_status: GrowsurfRuby::Models::Campaign::Create::referral_status,
63
+ ?referred_by: String
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ email: String,
68
+ fingerprint: String,
69
+ first_name: String,
70
+ ip_address: String,
71
+ last_name: String,
72
+ metadata: ::Hash[Symbol, top],
73
+ mobile_instance_id: String,
74
+ referral_status: GrowsurfRuby::Models::Campaign::Create::referral_status,
75
+ referred_by: String
76
+ }
77
+
78
+ type referral_status = :CREDIT_PENDING | :CREDIT_AWARDED
79
+
80
+ module ReferralStatus
81
+ extend GrowsurfRuby::Internal::Type::Enum
82
+
83
+ CREDIT_PENDING: :CREDIT_PENDING
84
+ CREDIT_AWARDED: :CREDIT_AWARDED
85
+
86
+ def self?.values: -> ::Array[GrowsurfRuby::Models::Campaign::Create::referral_status]
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -24,6 +24,7 @@ module GrowsurfRuby
24
24
  is_winner: bool,
25
25
  last_name: String?,
26
26
  metadata: ::Hash[Symbol, top],
27
+ mobile_instance_id: String?,
27
28
  monthly_referrals: ::Array[String],
28
29
  notes: String?,
29
30
  paypal_email_address: String,
@@ -107,6 +108,8 @@ module GrowsurfRuby
107
108
 
108
109
  def metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
109
110
 
111
+ attr_accessor mobile_instance_id: String?
112
+
110
113
  attr_reader monthly_referrals: ::Array[String]?
111
114
 
112
115
  def monthly_referrals=: (::Array[String]) -> ::Array[String]
@@ -193,6 +196,7 @@ module GrowsurfRuby
193
196
  ?is_winner: bool,
194
197
  ?last_name: String?,
195
198
  ?metadata: ::Hash[Symbol, top],
199
+ ?mobile_instance_id: String?,
196
200
  ?monthly_referrals: ::Array[String],
197
201
  ?notes: String?,
198
202
  ?paypal_email_address: String,
@@ -233,6 +237,7 @@ module GrowsurfRuby
233
237
  is_winner: bool,
234
238
  last_name: String?,
235
239
  metadata: ::Hash[Symbol, top],
240
+ mobile_instance_id: String?,
236
241
  monthly_referrals: ::Array[String],
237
242
  notes: String?,
238
243
  paypal_email_address: String,