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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +9 -9
- data/lib/growsurf_ruby/models/campaign/create.rb +93 -0
- data/lib/growsurf_ruby/models/campaign/participant.rb +13 -1
- data/lib/growsurf_ruby/models/campaign/participant_add_params.rb +2 -73
- data/lib/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rb +20 -0
- data/lib/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rb +45 -0
- data/lib/growsurf_ruby/models.rb +3 -0
- data/lib/growsurf_ruby/resources/campaign/participant.rb +7 -30
- data/lib/growsurf_ruby/resources/campaign.rb +47 -0
- data/lib/growsurf_ruby/version.rb +1 -1
- data/lib/growsurf_ruby.rb +3 -2
- data/rbi/growsurf_ruby/models/campaign/create.rbi +162 -0
- data/rbi/growsurf_ruby/models/campaign/participant.rbi +10 -0
- data/rbi/growsurf_ruby/models/campaign/participant_add_params.rbi +3 -129
- data/rbi/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rbi +38 -0
- data/rbi/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rbi +71 -0
- data/rbi/growsurf_ruby/models.rbi +3 -0
- data/rbi/growsurf_ruby/resources/campaign/participant.rbi +5 -21
- data/rbi/growsurf_ruby/resources/campaign.rbi +42 -0
- data/sig/growsurf_ruby/models/campaign/create.rbs +91 -0
- data/sig/growsurf_ruby/models/campaign/participant.rbs +5 -0
- data/sig/growsurf_ruby/models/campaign/participant_add_params.rbs +4 -72
- data/sig/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rbs +25 -0
- data/sig/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rbs +35 -0
- data/sig/growsurf_ruby/models.rbs +2 -0
- data/sig/growsurf_ruby/resources/campaign/participant.rbs +2 -7
- data/sig/growsurf_ruby/resources/campaign.rbs +14 -0
- metadata +11 -8
- data/lib/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rb +0 -28
- data/lib/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rb +0 -27
- data/rbi/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rbi +0 -48
- data/rbi/growsurf_ruby/models/campaign/participant_create_mobile_token_response.rbi +0 -44
- data/sig/growsurf_ruby/models/campaign/participant_create_mobile_token_params.rbs +0 -30
- 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::
|
|
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::
|
|
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,
|