growsurf-ruby 1.8.1 → 1.9.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 +12 -0
- data/README.md +1 -1
- data/lib/growsurf_ruby/models/campaign/participant.rb +20 -2
- data/lib/growsurf_ruby/models/campaign_capture_referral_flow_screenshots_response.rb +122 -0
- data/lib/growsurf_ruby/resources/campaign.rb +24 -0
- data/lib/growsurf_ruby/version.rb +1 -1
- data/lib/growsurf_ruby.rb +1 -0
- data/rbi/growsurf_ruby/models/campaign/participant.rbi +26 -0
- data/rbi/growsurf_ruby/models/campaign_capture_referral_flow_screenshots_response.rbi +199 -0
- data/rbi/growsurf_ruby/resources/campaign.rbi +22 -0
- data/sig/growsurf_ruby/models/campaign/participant.rbs +18 -0
- data/sig/growsurf_ruby/models/campaign_capture_referral_flow_screenshots_response.rbs +88 -0
- data/sig/growsurf_ruby/resources/campaign.rbs +5 -0
- metadata +5 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e83bd0694ba044332c08da0da8988ee637e3f63ef7c61ec33586296b3fe9416b
|
|
4
|
+
data.tar.gz: 3a0f1d1430a51745b6685b351560ff87d15cf6d39eff13099d394d57190cda0c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bcf542dd230cd55467e19c8805e08460da9fa30de186ba5158386f74c2c42f35ef14967e171114bdc581cba9895e0604eceae2e382c8210200ed452512d86ef6
|
|
7
|
+
data.tar.gz: cf92458633b01f014b47b735d152c6caf66396749c78a5cc27a1f3b2ccad5e4a78f03fbeff577c3277a7ba1a7d784bab973365554bc68ed79cfd97bde34586cf
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.9.0](https://github.com/growsurf/growsurf-ruby/compare/v1.8.1...v1.9.0) (2026-09-21)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **api:** add referral-flow screenshot capture and participant leadCount ([5063d8e](https://github.com/growsurf/growsurf-ruby/commit/5063d8ec000bcab673eb783af42dd670cc0d475c))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Chores
|
|
12
|
+
|
|
13
|
+
* merge origin/main ([10f605f](https://github.com/growsurf/growsurf-ruby/commit/10f605fee31fc665e2fc17a1f930231d840d34be))
|
|
14
|
+
|
|
3
15
|
## [1.8.1](https://github.com/growsurf/growsurf-ruby/compare/v1.8.0...v1.8.1) (2026-09-19)
|
|
4
16
|
|
|
5
17
|
|
data/README.md
CHANGED
|
@@ -135,6 +135,13 @@ module GrowsurfRuby
|
|
|
135
135
|
# @return [String, nil]
|
|
136
136
|
optional :last_name, String, api_name: :lastName, nil?: true
|
|
137
137
|
|
|
138
|
+
# @!attribute lead_count
|
|
139
|
+
# The number of pending referrals the participant made that have not converted
|
|
140
|
+
# into successful referrals yet.
|
|
141
|
+
#
|
|
142
|
+
# @return [Integer, nil]
|
|
143
|
+
optional :lead_count, Integer, api_name: :leadCount
|
|
144
|
+
|
|
138
145
|
# @!attribute metadata
|
|
139
146
|
# Shallow custom metadata object.
|
|
140
147
|
#
|
|
@@ -249,7 +256,7 @@ module GrowsurfRuby
|
|
|
249
256
|
# @return [Array<String>, nil]
|
|
250
257
|
optional :vanity_keys, GrowsurfRuby::Internal::Type::ArrayOf[String], api_name: :vanityKeys
|
|
251
258
|
|
|
252
|
-
# @!method initialize(id:, email:, monthly_rank:, monthly_referral_count:, rank:, referral_count:, rewards:, share_url: nil, affiliate_enrollment_source: nil, affiliate_status: nil, 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_affiliate: nil, is_new: nil, is_winner: nil, last_name: nil, metadata: nil, mobile_instance_id: nil, monthly_referrals: nil, notes: nil, payout_settings: 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)
|
|
259
|
+
# @!method initialize(id:, email:, monthly_rank:, monthly_referral_count:, rank:, referral_count:, rewards:, share_url: nil, affiliate_enrollment_source: nil, affiliate_status: nil, 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_affiliate: nil, is_new: nil, is_winner: nil, last_name: nil, lead_count: nil, metadata: nil, mobile_instance_id: nil, monthly_referrals: nil, notes: nil, payout_settings: 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)
|
|
253
260
|
# Some parameter documentations has been truncated, see
|
|
254
261
|
# {GrowsurfRuby::Models::Campaign::CampaignParticipant} for more details.
|
|
255
262
|
#
|
|
@@ -300,6 +307,8 @@ module GrowsurfRuby
|
|
|
300
307
|
#
|
|
301
308
|
# @param last_name [String, nil]
|
|
302
309
|
#
|
|
310
|
+
# @param lead_count [Integer] The number of pending referrals the participant made that have not converted
|
|
311
|
+
#
|
|
303
312
|
# @param metadata [Hash{Symbol=>Object}] Shallow custom metadata object.
|
|
304
313
|
#
|
|
305
314
|
# @param mobile_instance_id [String, nil] App-install scoped mobile identifier used for anti-fraud matching when provided
|
|
@@ -436,6 +445,13 @@ module GrowsurfRuby
|
|
|
436
445
|
# @return [String, nil]
|
|
437
446
|
optional :last_name, String, api_name: :lastName, nil?: true
|
|
438
447
|
|
|
448
|
+
# @!attribute lead_count
|
|
449
|
+
# The number of pending referrals the participant made that have not converted
|
|
450
|
+
# into successful referrals yet.
|
|
451
|
+
#
|
|
452
|
+
# @return [Integer, nil]
|
|
453
|
+
optional :lead_count, Integer, api_name: :leadCount
|
|
454
|
+
|
|
439
455
|
# @!attribute metadata
|
|
440
456
|
# Shallow custom metadata object.
|
|
441
457
|
#
|
|
@@ -522,7 +538,7 @@ module GrowsurfRuby
|
|
|
522
538
|
# @return [Boolean, nil]
|
|
523
539
|
optional :unsubscribed, GrowsurfRuby::Internal::Type::Boolean
|
|
524
540
|
|
|
525
|
-
# @!method initialize(id: nil, created_at: nil, email: nil, fingerprint: nil, first_name: nil, fraud_reason_code: nil, fraud_risk_level: nil, impression_count: nil, invite_count: nil, ip_address: nil, is_winner: nil, last_name: nil, metadata: nil, monthly_rank: nil, monthly_referral_count: nil, monthly_referrals: nil, prev_monthly_rank: nil, prev_monthly_referral_count: nil, rank: nil, referral_count: nil, referrals: nil, referral_source: nil, referral_status: nil, share_count: nil, share_url: nil, unique_impression_count: nil, unsubscribed: nil)
|
|
541
|
+
# @!method initialize(id: nil, created_at: nil, email: nil, fingerprint: nil, first_name: nil, fraud_reason_code: nil, fraud_risk_level: nil, impression_count: nil, invite_count: nil, ip_address: nil, is_winner: nil, last_name: nil, lead_count: nil, metadata: nil, monthly_rank: nil, monthly_referral_count: nil, monthly_referrals: nil, prev_monthly_rank: nil, prev_monthly_referral_count: nil, rank: nil, referral_count: nil, referrals: nil, referral_source: nil, referral_status: nil, share_count: nil, share_url: nil, unique_impression_count: nil, unsubscribed: nil)
|
|
526
542
|
# @param id [String]
|
|
527
543
|
#
|
|
528
544
|
# @param created_at [Integer]
|
|
@@ -547,6 +563,8 @@ module GrowsurfRuby
|
|
|
547
563
|
#
|
|
548
564
|
# @param last_name [String, nil]
|
|
549
565
|
#
|
|
566
|
+
# @param lead_count [Integer] The number of pending referrals the participant made that have not converted
|
|
567
|
+
#
|
|
550
568
|
# @param metadata [Hash{Symbol=>Object}] Shallow custom metadata object.
|
|
551
569
|
#
|
|
552
570
|
# @param monthly_rank [Integer]
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
# @see GrowsurfRuby::Resources::Campaign#capture_referral_flow_screenshots
|
|
6
|
+
class CampaignCaptureReferralFlowScreenshotsResponse < GrowsurfRuby::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute expires_at
|
|
8
|
+
# When every screenshot URL in this response stops working. Capture again after
|
|
9
|
+
# this time for a fresh view.
|
|
10
|
+
#
|
|
11
|
+
# @return [Time]
|
|
12
|
+
required :expires_at, Time, api_name: :expiresAt
|
|
13
|
+
|
|
14
|
+
# @!attribute generated_at
|
|
15
|
+
# When these screenshots were rendered.
|
|
16
|
+
#
|
|
17
|
+
# @return [Time]
|
|
18
|
+
required :generated_at, Time, api_name: :generatedAt
|
|
19
|
+
|
|
20
|
+
# @!attribute screenshots
|
|
21
|
+
# One preview image per view: the referrer window a participant sees, and the
|
|
22
|
+
# referred-friend experience.
|
|
23
|
+
#
|
|
24
|
+
# @return [Array<GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot>]
|
|
25
|
+
required :screenshots,
|
|
26
|
+
-> {
|
|
27
|
+
GrowsurfRuby::Internal::Type::ArrayOf[
|
|
28
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
# @!method initialize(expires_at:, generated_at:, screenshots:)
|
|
33
|
+
# Some parameter documentations has been truncated, see
|
|
34
|
+
# {GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse} for more
|
|
35
|
+
# details.
|
|
36
|
+
#
|
|
37
|
+
# @param expires_at [Time] When every screenshot URL in this response stops working. Capture again after th
|
|
38
|
+
#
|
|
39
|
+
# @param generated_at [Time] When these screenshots were rendered.
|
|
40
|
+
#
|
|
41
|
+
# @param screenshots [Array<GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot>] One preview image per view: the referrer window a participant sees, and the refe
|
|
42
|
+
|
|
43
|
+
class Screenshot < GrowsurfRuby::Internal::Type::BaseModel
|
|
44
|
+
# @!attribute content_type
|
|
45
|
+
# Media type of the image, such as `image/png`.
|
|
46
|
+
#
|
|
47
|
+
# @return [String]
|
|
48
|
+
required :content_type, String, api_name: :contentType
|
|
49
|
+
|
|
50
|
+
# @!attribute expires_at
|
|
51
|
+
# When this screenshot URL stops working.
|
|
52
|
+
#
|
|
53
|
+
# @return [Time]
|
|
54
|
+
required :expires_at, Time, api_name: :expiresAt
|
|
55
|
+
|
|
56
|
+
# @!attribute height
|
|
57
|
+
# Image height in pixels.
|
|
58
|
+
#
|
|
59
|
+
# @return [Integer]
|
|
60
|
+
required :height, Integer
|
|
61
|
+
|
|
62
|
+
# @!attribute label
|
|
63
|
+
# Human-readable name for the view, suitable for a caption.
|
|
64
|
+
#
|
|
65
|
+
# @return [String]
|
|
66
|
+
required :label, String
|
|
67
|
+
|
|
68
|
+
# @!attribute url
|
|
69
|
+
# Private URL of the image. It expires at `expiresAt`; do not store it.
|
|
70
|
+
#
|
|
71
|
+
# @return [String]
|
|
72
|
+
required :url, String
|
|
73
|
+
|
|
74
|
+
# @!attribute view
|
|
75
|
+
# Which part of the referral flow the image shows. `referrer` is the window a
|
|
76
|
+
# participant sees; `referredFriend` is the experience their referred friend sees.
|
|
77
|
+
#
|
|
78
|
+
# @return [Symbol, GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::View]
|
|
79
|
+
required :view, enum: -> { GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::View }
|
|
80
|
+
|
|
81
|
+
# @!attribute width
|
|
82
|
+
# Image width in pixels.
|
|
83
|
+
#
|
|
84
|
+
# @return [Integer]
|
|
85
|
+
required :width, Integer
|
|
86
|
+
|
|
87
|
+
# @!method initialize(content_type:, expires_at:, height:, label:, url:, view:, width:)
|
|
88
|
+
# Some parameter documentations has been truncated, see
|
|
89
|
+
# {GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot}
|
|
90
|
+
# for more details.
|
|
91
|
+
#
|
|
92
|
+
# @param content_type [String] Media type of the image, such as `image/png`.
|
|
93
|
+
#
|
|
94
|
+
# @param expires_at [Time] When this screenshot URL stops working.
|
|
95
|
+
#
|
|
96
|
+
# @param height [Integer] Image height in pixels.
|
|
97
|
+
#
|
|
98
|
+
# @param label [String] Human-readable name for the view, suitable for a caption.
|
|
99
|
+
#
|
|
100
|
+
# @param url [String] Private URL of the image. It expires at `expiresAt`; do not store it.
|
|
101
|
+
#
|
|
102
|
+
# @param view [Symbol, GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::View] Which part of the referral flow the image shows. `referrer` is the window a parti
|
|
103
|
+
#
|
|
104
|
+
# @param width [Integer] Image width in pixels.
|
|
105
|
+
|
|
106
|
+
# Which part of the referral flow the image shows. `referrer` is the window a
|
|
107
|
+
# participant sees; `referredFriend` is the experience their referred friend sees.
|
|
108
|
+
#
|
|
109
|
+
# @see GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot#view
|
|
110
|
+
module View
|
|
111
|
+
extend GrowsurfRuby::Internal::Type::Enum
|
|
112
|
+
|
|
113
|
+
REFERRER = :referrer
|
|
114
|
+
REFERRED_FRIEND = :referredFriend
|
|
115
|
+
|
|
116
|
+
# @!method self.values
|
|
117
|
+
# @return [Array<Symbol>]
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end
|
|
@@ -172,6 +172,30 @@ module GrowsurfRuby
|
|
|
172
172
|
)
|
|
173
173
|
end
|
|
174
174
|
|
|
175
|
+
# Renders the program's current saved configuration into two preview images: the
|
|
176
|
+
# referrer window a participant sees, and the referred-friend experience. Use them
|
|
177
|
+
# to show a person what the draft looks like before anything launches. The images
|
|
178
|
+
# render GrowSurf's own preview, not the program's installed website, so they do
|
|
179
|
+
# not prove an installation. Each URL is private and expires; capture again when
|
|
180
|
+
# you need a fresh view. Only the account owner's credential can capture
|
|
181
|
+
# screenshots, and the endpoint takes no request body.
|
|
182
|
+
#
|
|
183
|
+
# @overload capture_referral_flow_screenshots(id, request_options: {})
|
|
184
|
+
#
|
|
185
|
+
# @param id [String] GrowSurf program ID.
|
|
186
|
+
#
|
|
187
|
+
# @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
188
|
+
#
|
|
189
|
+
# @return [GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse]
|
|
190
|
+
def capture_referral_flow_screenshots(id, params = {})
|
|
191
|
+
@client.request(
|
|
192
|
+
method: :post,
|
|
193
|
+
path: ["campaign/%1$s/referral-flow-screenshots", id],
|
|
194
|
+
model: GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse,
|
|
195
|
+
options: params[:request_options]
|
|
196
|
+
)
|
|
197
|
+
end
|
|
198
|
+
|
|
175
199
|
# Invites someone to join the affiliate program. GrowSurf emails them a single-use
|
|
176
200
|
# accept link; accepting it enrolls them as an approved affiliate without going
|
|
177
201
|
# through the public application. One active invite can exist per email address.
|
data/lib/growsurf_ruby.rb
CHANGED
|
@@ -143,6 +143,7 @@ require_relative "growsurf_ruby/models/team_resend_owner_verification_email_resp
|
|
|
143
143
|
require_relative "growsurf_ruby/models/team_rotate_api_key_response"
|
|
144
144
|
require_relative "growsurf_ruby/models/team_update_params"
|
|
145
145
|
require_relative "growsurf_ruby/models/campaign"
|
|
146
|
+
require_relative "growsurf_ruby/models/campaign_capture_referral_flow_screenshots_response"
|
|
146
147
|
require_relative "growsurf_ruby/models/campaign_create_affiliate_invite_params"
|
|
147
148
|
require_relative "growsurf_ruby/models/campaign_create_mobile_participant_token_params"
|
|
148
149
|
require_relative "growsurf_ruby/models/campaign_create_mobile_participant_token_response"
|
|
@@ -132,6 +132,14 @@ module GrowsurfRuby
|
|
|
132
132
|
sig { returns(T.nilable(String)) }
|
|
133
133
|
attr_accessor :last_name
|
|
134
134
|
|
|
135
|
+
# The number of pending referrals the participant made that have not converted
|
|
136
|
+
# into successful referrals yet.
|
|
137
|
+
sig { returns(T.nilable(Integer)) }
|
|
138
|
+
attr_reader :lead_count
|
|
139
|
+
|
|
140
|
+
sig { params(lead_count: Integer).void }
|
|
141
|
+
attr_writer :lead_count
|
|
142
|
+
|
|
135
143
|
# Shallow custom metadata object.
|
|
136
144
|
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
137
145
|
attr_reader :metadata
|
|
@@ -311,6 +319,7 @@ module GrowsurfRuby
|
|
|
311
319
|
is_new: T::Boolean,
|
|
312
320
|
is_winner: T::Boolean,
|
|
313
321
|
last_name: T.nilable(String),
|
|
322
|
+
lead_count: Integer,
|
|
314
323
|
metadata: T::Hash[Symbol, T.anything],
|
|
315
324
|
mobile_instance_id: T.nilable(String),
|
|
316
325
|
monthly_referrals: T::Array[String],
|
|
@@ -369,6 +378,9 @@ module GrowsurfRuby
|
|
|
369
378
|
is_new: nil,
|
|
370
379
|
is_winner: nil,
|
|
371
380
|
last_name: nil,
|
|
381
|
+
# The number of pending referrals the participant made that have not converted
|
|
382
|
+
# into successful referrals yet.
|
|
383
|
+
lead_count: nil,
|
|
372
384
|
# Shallow custom metadata object.
|
|
373
385
|
metadata: nil,
|
|
374
386
|
# App-install scoped mobile identifier used for anti-fraud matching when provided
|
|
@@ -425,6 +437,7 @@ module GrowsurfRuby
|
|
|
425
437
|
is_new: T::Boolean,
|
|
426
438
|
is_winner: T::Boolean,
|
|
427
439
|
last_name: T.nilable(String),
|
|
440
|
+
lead_count: Integer,
|
|
428
441
|
metadata: T::Hash[Symbol, T.anything],
|
|
429
442
|
mobile_instance_id: T.nilable(String),
|
|
430
443
|
monthly_referrals: T::Array[String],
|
|
@@ -629,6 +642,14 @@ module GrowsurfRuby
|
|
|
629
642
|
sig { returns(T.nilable(String)) }
|
|
630
643
|
attr_accessor :last_name
|
|
631
644
|
|
|
645
|
+
# The number of pending referrals the participant made that have not converted
|
|
646
|
+
# into successful referrals yet.
|
|
647
|
+
sig { returns(T.nilable(Integer)) }
|
|
648
|
+
attr_reader :lead_count
|
|
649
|
+
|
|
650
|
+
sig { params(lead_count: Integer).void }
|
|
651
|
+
attr_writer :lead_count
|
|
652
|
+
|
|
632
653
|
# Shallow custom metadata object.
|
|
633
654
|
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
634
655
|
attr_reader :metadata
|
|
@@ -751,6 +772,7 @@ module GrowsurfRuby
|
|
|
751
772
|
ip_address: T.nilable(String),
|
|
752
773
|
is_winner: T::Boolean,
|
|
753
774
|
last_name: T.nilable(String),
|
|
775
|
+
lead_count: Integer,
|
|
754
776
|
metadata: T::Hash[Symbol, T.anything],
|
|
755
777
|
monthly_rank: Integer,
|
|
756
778
|
monthly_referral_count: Integer,
|
|
@@ -781,6 +803,9 @@ module GrowsurfRuby
|
|
|
781
803
|
ip_address: nil,
|
|
782
804
|
is_winner: nil,
|
|
783
805
|
last_name: nil,
|
|
806
|
+
# The number of pending referrals the participant made that have not converted
|
|
807
|
+
# into successful referrals yet.
|
|
808
|
+
lead_count: nil,
|
|
784
809
|
# Shallow custom metadata object.
|
|
785
810
|
metadata: nil,
|
|
786
811
|
monthly_rank: nil,
|
|
@@ -816,6 +841,7 @@ module GrowsurfRuby
|
|
|
816
841
|
ip_address: T.nilable(String),
|
|
817
842
|
is_winner: T::Boolean,
|
|
818
843
|
last_name: T.nilable(String),
|
|
844
|
+
lead_count: Integer,
|
|
819
845
|
metadata: T::Hash[Symbol, T.anything],
|
|
820
846
|
monthly_rank: Integer,
|
|
821
847
|
monthly_referral_count: Integer,
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module GrowsurfRuby
|
|
4
|
+
module Models
|
|
5
|
+
class CampaignCaptureReferralFlowScreenshotsResponse < GrowsurfRuby::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse,
|
|
10
|
+
GrowsurfRuby::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# When every screenshot URL in this response stops working. Capture again after
|
|
15
|
+
# this time for a fresh view.
|
|
16
|
+
sig { returns(Time) }
|
|
17
|
+
attr_accessor :expires_at
|
|
18
|
+
|
|
19
|
+
# When these screenshots were rendered.
|
|
20
|
+
sig { returns(Time) }
|
|
21
|
+
attr_accessor :generated_at
|
|
22
|
+
|
|
23
|
+
# One preview image per view: the referrer window a participant sees, and the
|
|
24
|
+
# referred-friend experience.
|
|
25
|
+
sig do
|
|
26
|
+
returns(
|
|
27
|
+
T::Array[
|
|
28
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot
|
|
29
|
+
]
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
attr_accessor :screenshots
|
|
33
|
+
|
|
34
|
+
sig do
|
|
35
|
+
params(
|
|
36
|
+
expires_at: Time,
|
|
37
|
+
generated_at: Time,
|
|
38
|
+
screenshots:
|
|
39
|
+
T::Array[
|
|
40
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::OrHash
|
|
41
|
+
]
|
|
42
|
+
).returns(T.attached_class)
|
|
43
|
+
end
|
|
44
|
+
def self.new(
|
|
45
|
+
# When every screenshot URL in this response stops working. Capture again after
|
|
46
|
+
# this time for a fresh view.
|
|
47
|
+
expires_at:,
|
|
48
|
+
# When these screenshots were rendered.
|
|
49
|
+
generated_at:,
|
|
50
|
+
# One preview image per view: the referrer window a participant sees, and the
|
|
51
|
+
# referred-friend experience.
|
|
52
|
+
screenshots:
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
sig do
|
|
57
|
+
override.returns(
|
|
58
|
+
{
|
|
59
|
+
expires_at: Time,
|
|
60
|
+
generated_at: Time,
|
|
61
|
+
screenshots:
|
|
62
|
+
T::Array[
|
|
63
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
def to_hash
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
class Screenshot < GrowsurfRuby::Internal::Type::BaseModel
|
|
72
|
+
OrHash =
|
|
73
|
+
T.type_alias do
|
|
74
|
+
T.any(
|
|
75
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot,
|
|
76
|
+
GrowsurfRuby::Internal::AnyHash
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Media type of the image, such as `image/png`.
|
|
81
|
+
sig { returns(String) }
|
|
82
|
+
attr_accessor :content_type
|
|
83
|
+
|
|
84
|
+
# When this screenshot URL stops working.
|
|
85
|
+
sig { returns(Time) }
|
|
86
|
+
attr_accessor :expires_at
|
|
87
|
+
|
|
88
|
+
# Image height in pixels.
|
|
89
|
+
sig { returns(Integer) }
|
|
90
|
+
attr_accessor :height
|
|
91
|
+
|
|
92
|
+
# Human-readable name for the view, suitable for a caption.
|
|
93
|
+
sig { returns(String) }
|
|
94
|
+
attr_accessor :label
|
|
95
|
+
|
|
96
|
+
# Private URL of the image. It expires at `expiresAt`; do not store it.
|
|
97
|
+
sig { returns(String) }
|
|
98
|
+
attr_accessor :url
|
|
99
|
+
|
|
100
|
+
# Which part of the referral flow the image shows. `referrer` is the window a
|
|
101
|
+
# participant sees; `referredFriend` is the experience their referred friend sees.
|
|
102
|
+
sig do
|
|
103
|
+
returns(
|
|
104
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::View::TaggedSymbol
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
attr_accessor :view
|
|
108
|
+
|
|
109
|
+
# Image width in pixels.
|
|
110
|
+
sig { returns(Integer) }
|
|
111
|
+
attr_accessor :width
|
|
112
|
+
|
|
113
|
+
sig do
|
|
114
|
+
params(
|
|
115
|
+
content_type: String,
|
|
116
|
+
expires_at: Time,
|
|
117
|
+
height: Integer,
|
|
118
|
+
label: String,
|
|
119
|
+
url: String,
|
|
120
|
+
view:
|
|
121
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::View::OrSymbol,
|
|
122
|
+
width: Integer
|
|
123
|
+
).returns(T.attached_class)
|
|
124
|
+
end
|
|
125
|
+
def self.new(
|
|
126
|
+
# Media type of the image, such as `image/png`.
|
|
127
|
+
content_type:,
|
|
128
|
+
# When this screenshot URL stops working.
|
|
129
|
+
expires_at:,
|
|
130
|
+
# Image height in pixels.
|
|
131
|
+
height:,
|
|
132
|
+
# Human-readable name for the view, suitable for a caption.
|
|
133
|
+
label:,
|
|
134
|
+
# Private URL of the image. It expires at `expiresAt`; do not store it.
|
|
135
|
+
url:,
|
|
136
|
+
# Which part of the referral flow the image shows. `referrer` is the window a
|
|
137
|
+
# participant sees; `referredFriend` is the experience their referred friend sees.
|
|
138
|
+
view:,
|
|
139
|
+
# Image width in pixels.
|
|
140
|
+
width:
|
|
141
|
+
)
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
sig do
|
|
145
|
+
override.returns(
|
|
146
|
+
{
|
|
147
|
+
content_type: String,
|
|
148
|
+
expires_at: Time,
|
|
149
|
+
height: Integer,
|
|
150
|
+
label: String,
|
|
151
|
+
url: String,
|
|
152
|
+
view:
|
|
153
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::View::TaggedSymbol,
|
|
154
|
+
width: Integer
|
|
155
|
+
}
|
|
156
|
+
)
|
|
157
|
+
end
|
|
158
|
+
def to_hash
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
# Which part of the referral flow the image shows. `referrer` is the window a
|
|
162
|
+
# participant sees; `referredFriend` is the experience their referred friend sees.
|
|
163
|
+
module View
|
|
164
|
+
extend GrowsurfRuby::Internal::Type::Enum
|
|
165
|
+
|
|
166
|
+
TaggedSymbol =
|
|
167
|
+
T.type_alias do
|
|
168
|
+
T.all(
|
|
169
|
+
Symbol,
|
|
170
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::View
|
|
171
|
+
)
|
|
172
|
+
end
|
|
173
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
174
|
+
|
|
175
|
+
REFERRER =
|
|
176
|
+
T.let(
|
|
177
|
+
:referrer,
|
|
178
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::View::TaggedSymbol
|
|
179
|
+
)
|
|
180
|
+
REFERRED_FRIEND =
|
|
181
|
+
T.let(
|
|
182
|
+
:referredFriend,
|
|
183
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::View::TaggedSymbol
|
|
184
|
+
)
|
|
185
|
+
|
|
186
|
+
sig do
|
|
187
|
+
override.returns(
|
|
188
|
+
T::Array[
|
|
189
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::View::TaggedSymbol
|
|
190
|
+
]
|
|
191
|
+
)
|
|
192
|
+
end
|
|
193
|
+
def self.values
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
end
|
|
199
|
+
end
|
|
@@ -151,6 +151,28 @@ module GrowsurfRuby
|
|
|
151
151
|
)
|
|
152
152
|
end
|
|
153
153
|
|
|
154
|
+
# Renders the program's current saved configuration into two preview images: the
|
|
155
|
+
# referrer window a participant sees, and the referred-friend experience. Use them
|
|
156
|
+
# to show a person what the draft looks like before anything launches. The images
|
|
157
|
+
# render GrowSurf's own preview, not the program's installed website, so they do
|
|
158
|
+
# not prove an installation. Each URL is private and expires; capture again when
|
|
159
|
+
# you need a fresh view. Only the account owner's credential can capture
|
|
160
|
+
# screenshots, and the endpoint takes no request body.
|
|
161
|
+
sig do
|
|
162
|
+
params(
|
|
163
|
+
id: String,
|
|
164
|
+
request_options: GrowsurfRuby::RequestOptions::OrHash
|
|
165
|
+
).returns(
|
|
166
|
+
GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse
|
|
167
|
+
)
|
|
168
|
+
end
|
|
169
|
+
def capture_referral_flow_screenshots(
|
|
170
|
+
# GrowSurf program ID.
|
|
171
|
+
id,
|
|
172
|
+
request_options: {}
|
|
173
|
+
)
|
|
174
|
+
end
|
|
175
|
+
|
|
154
176
|
# Invites someone to join the affiliate program. GrowSurf emails them a single-use
|
|
155
177
|
# accept link; accepting it enrolls them as an approved affiliate without going
|
|
156
178
|
# through the public application. One active invite can exist per email address.
|
|
@@ -26,6 +26,7 @@ module GrowsurfRuby
|
|
|
26
26
|
is_new: bool,
|
|
27
27
|
is_winner: bool,
|
|
28
28
|
last_name: String?,
|
|
29
|
+
lead_count: Integer,
|
|
29
30
|
metadata: ::Hash[Symbol, top],
|
|
30
31
|
mobile_instance_id: String?,
|
|
31
32
|
monthly_referrals: ::Array[String],
|
|
@@ -118,6 +119,12 @@ module GrowsurfRuby
|
|
|
118
119
|
|
|
119
120
|
attr_accessor last_name: String?
|
|
120
121
|
|
|
122
|
+
|
|
123
|
+
attr_reader lead_count: Integer?
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def lead_count=: (Integer) -> Integer
|
|
127
|
+
|
|
121
128
|
attr_reader metadata: ::Hash[Symbol, top]?
|
|
122
129
|
|
|
123
130
|
def metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
|
|
@@ -218,6 +225,7 @@ module GrowsurfRuby
|
|
|
218
225
|
?is_new: bool,
|
|
219
226
|
?is_winner: bool,
|
|
220
227
|
?last_name: String?,
|
|
228
|
+
?lead_count: Integer,
|
|
221
229
|
?metadata: ::Hash[Symbol, top],
|
|
222
230
|
?mobile_instance_id: String?,
|
|
223
231
|
?monthly_referrals: ::Array[String],
|
|
@@ -263,6 +271,7 @@ module GrowsurfRuby
|
|
|
263
271
|
is_new: bool,
|
|
264
272
|
is_winner: bool,
|
|
265
273
|
last_name: String?,
|
|
274
|
+
lead_count: Integer,
|
|
266
275
|
metadata: ::Hash[Symbol, top],
|
|
267
276
|
mobile_instance_id: String?,
|
|
268
277
|
monthly_referrals: ::Array[String],
|
|
@@ -330,6 +339,7 @@ module GrowsurfRuby
|
|
|
330
339
|
ip_address: String?,
|
|
331
340
|
is_winner: bool,
|
|
332
341
|
last_name: String?,
|
|
342
|
+
lead_count: Integer,
|
|
333
343
|
metadata: ::Hash[Symbol, top],
|
|
334
344
|
monthly_rank: Integer,
|
|
335
345
|
monthly_referral_count: Integer,
|
|
@@ -390,6 +400,12 @@ module GrowsurfRuby
|
|
|
390
400
|
|
|
391
401
|
attr_accessor last_name: String?
|
|
392
402
|
|
|
403
|
+
|
|
404
|
+
attr_reader lead_count: Integer?
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
def lead_count=: (Integer) -> Integer
|
|
408
|
+
|
|
393
409
|
attr_reader metadata: ::Hash[Symbol, top]?
|
|
394
410
|
|
|
395
411
|
def metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
|
|
@@ -467,6 +483,7 @@ module GrowsurfRuby
|
|
|
467
483
|
?ip_address: String?,
|
|
468
484
|
?is_winner: bool,
|
|
469
485
|
?last_name: String?,
|
|
486
|
+
?lead_count: Integer,
|
|
470
487
|
?metadata: ::Hash[Symbol, top],
|
|
471
488
|
?monthly_rank: Integer,
|
|
472
489
|
?monthly_referral_count: Integer,
|
|
@@ -497,6 +514,7 @@ module GrowsurfRuby
|
|
|
497
514
|
ip_address: String?,
|
|
498
515
|
is_winner: bool,
|
|
499
516
|
last_name: String?,
|
|
517
|
+
lead_count: Integer,
|
|
500
518
|
metadata: ::Hash[Symbol, top],
|
|
501
519
|
monthly_rank: Integer,
|
|
502
520
|
monthly_referral_count: Integer,
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
module GrowsurfRuby
|
|
2
|
+
module Models
|
|
3
|
+
type campaign_capture_referral_flow_screenshots_response =
|
|
4
|
+
{
|
|
5
|
+
expires_at: Time,
|
|
6
|
+
generated_at: Time,
|
|
7
|
+
screenshots: ::Array[GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
class CampaignCaptureReferralFlowScreenshotsResponse < GrowsurfRuby::Internal::Type::BaseModel
|
|
11
|
+
attr_accessor expires_at: Time
|
|
12
|
+
|
|
13
|
+
attr_accessor generated_at: Time
|
|
14
|
+
|
|
15
|
+
attr_accessor screenshots: ::Array[GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot]
|
|
16
|
+
|
|
17
|
+
def initialize: (
|
|
18
|
+
expires_at: Time,
|
|
19
|
+
generated_at: Time,
|
|
20
|
+
screenshots: ::Array[GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot]
|
|
21
|
+
) -> void
|
|
22
|
+
|
|
23
|
+
def to_hash: -> {
|
|
24
|
+
expires_at: Time,
|
|
25
|
+
generated_at: Time,
|
|
26
|
+
screenshots: ::Array[GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot]
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type screenshot =
|
|
30
|
+
{
|
|
31
|
+
content_type: String,
|
|
32
|
+
expires_at: Time,
|
|
33
|
+
height: Integer,
|
|
34
|
+
label: String,
|
|
35
|
+
url: String,
|
|
36
|
+
view: GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::view,
|
|
37
|
+
width: Integer
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
class Screenshot < GrowsurfRuby::Internal::Type::BaseModel
|
|
41
|
+
attr_accessor content_type: String
|
|
42
|
+
|
|
43
|
+
attr_accessor expires_at: Time
|
|
44
|
+
|
|
45
|
+
attr_accessor height: Integer
|
|
46
|
+
|
|
47
|
+
attr_accessor label: String
|
|
48
|
+
|
|
49
|
+
attr_accessor url: String
|
|
50
|
+
|
|
51
|
+
attr_accessor view: GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::view
|
|
52
|
+
|
|
53
|
+
attr_accessor width: Integer
|
|
54
|
+
|
|
55
|
+
def initialize: (
|
|
56
|
+
content_type: String,
|
|
57
|
+
expires_at: Time,
|
|
58
|
+
height: Integer,
|
|
59
|
+
label: String,
|
|
60
|
+
url: String,
|
|
61
|
+
view: GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::view,
|
|
62
|
+
width: Integer
|
|
63
|
+
) -> void
|
|
64
|
+
|
|
65
|
+
def to_hash: -> {
|
|
66
|
+
content_type: String,
|
|
67
|
+
expires_at: Time,
|
|
68
|
+
height: Integer,
|
|
69
|
+
label: String,
|
|
70
|
+
url: String,
|
|
71
|
+
view: GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::view,
|
|
72
|
+
width: Integer
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
type view = :referrer | :referredFriend
|
|
76
|
+
|
|
77
|
+
module View
|
|
78
|
+
extend GrowsurfRuby::Internal::Type::Enum
|
|
79
|
+
|
|
80
|
+
REFERRER: :referrer
|
|
81
|
+
REFERRED_FRIEND: :referredFriend
|
|
82
|
+
|
|
83
|
+
def self?.values: -> ::Array[GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse::Screenshot::view]
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
@@ -57,6 +57,11 @@ module GrowsurfRuby
|
|
|
57
57
|
?request_options: GrowsurfRuby::request_opts
|
|
58
58
|
) -> GrowsurfRuby::CampaignAPI
|
|
59
59
|
|
|
60
|
+
def capture_referral_flow_screenshots: (
|
|
61
|
+
String id,
|
|
62
|
+
?request_options: GrowsurfRuby::request_opts
|
|
63
|
+
) -> GrowsurfRuby::Models::CampaignCaptureReferralFlowScreenshotsResponse
|
|
64
|
+
|
|
60
65
|
def create_affiliate_invite: (
|
|
61
66
|
String id,
|
|
62
67
|
email: String,
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: growsurf-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Growsurf
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-09-
|
|
11
|
+
date: 2026-09-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|
|
@@ -156,6 +156,7 @@ files:
|
|
|
156
156
|
- lib/growsurf_ruby/models/campaign/webhook_test_response.rb
|
|
157
157
|
- lib/growsurf_ruby/models/campaign/webhook_update_params.rb
|
|
158
158
|
- lib/growsurf_ruby/models/campaign_activation_analytics_response.rb
|
|
159
|
+
- lib/growsurf_ruby/models/campaign_capture_referral_flow_screenshots_response.rb
|
|
159
160
|
- lib/growsurf_ruby/models/campaign_create_affiliate_invite_params.rb
|
|
160
161
|
- lib/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rb
|
|
161
162
|
- lib/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rb
|
|
@@ -311,6 +312,7 @@ files:
|
|
|
311
312
|
- rbi/growsurf_ruby/models/campaign/webhook_test_response.rbi
|
|
312
313
|
- rbi/growsurf_ruby/models/campaign/webhook_update_params.rbi
|
|
313
314
|
- rbi/growsurf_ruby/models/campaign_activation_analytics_response.rbi
|
|
315
|
+
- rbi/growsurf_ruby/models/campaign_capture_referral_flow_screenshots_response.rbi
|
|
314
316
|
- rbi/growsurf_ruby/models/campaign_create_affiliate_invite_params.rbi
|
|
315
317
|
- rbi/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rbi
|
|
316
318
|
- rbi/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rbi
|
|
@@ -465,6 +467,7 @@ files:
|
|
|
465
467
|
- sig/growsurf_ruby/models/campaign/webhook_test_response.rbs
|
|
466
468
|
- sig/growsurf_ruby/models/campaign/webhook_update_params.rbs
|
|
467
469
|
- sig/growsurf_ruby/models/campaign_activation_analytics_response.rbs
|
|
470
|
+
- sig/growsurf_ruby/models/campaign_capture_referral_flow_screenshots_response.rbs
|
|
468
471
|
- sig/growsurf_ruby/models/campaign_create_affiliate_invite_params.rbs
|
|
469
472
|
- sig/growsurf_ruby/models/campaign_create_mobile_participant_token_params.rbs
|
|
470
473
|
- sig/growsurf_ruby/models/campaign_create_mobile_participant_token_response.rbs
|