dub 0.3.0 → 0.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/lib/open_api_sdk/models/operations/bannedreason.rb +22 -0
- data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +1 -1
- data/lib/open_api_sdk/models/operations/createpartner_link.rb +3 -3
- data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +75 -29
- data/lib/open_api_sdk/models/operations/data.rb +1 -1
- data/lib/open_api_sdk/models/operations/getlinks_request.rb +1 -1
- data/lib/open_api_sdk/models/operations/getlinkscount_request.rb +1 -1
- data/lib/open_api_sdk/models/operations/link.rb +3 -3
- data/lib/open_api_sdk/models/operations/listcommissions_customer.rb +48 -0
- data/lib/open_api_sdk/models/operations/listcommissions_partner.rb +39 -0
- data/lib/open_api_sdk/models/operations/listcommissions_responsebody.rb +19 -7
- data/lib/open_api_sdk/models/operations/listevents_request.rb +11 -5
- data/lib/open_api_sdk/models/operations/listpartners_bannedreason.rb +22 -0
- data/lib/open_api_sdk/models/operations/listpartners_link.rb +48 -0
- data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortby.rb +23 -0
- data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortorder.rb +18 -0
- data/lib/open_api_sdk/models/operations/listpartners_queryparam_status.rb +23 -0
- data/lib/open_api_sdk/models/operations/listpartners_request.rb +48 -0
- data/lib/open_api_sdk/models/operations/listpartners_response.rb +60 -0
- data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +150 -0
- data/lib/open_api_sdk/models/operations/listpartners_status.rb +23 -0
- data/lib/open_api_sdk/models/operations/paymentprocessor.rb +1 -0
- data/lib/open_api_sdk/models/operations/queryparam_saletype.rb +18 -0
- data/lib/open_api_sdk/models/operations/queryparam_trigger.rb +3 -1
- data/lib/open_api_sdk/models/operations/requestbody.rb +1 -1
- data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +11 -5
- data/lib/open_api_sdk/models/operations/saletype.rb +18 -0
- data/lib/open_api_sdk/models/operations/trigger.rb +3 -1
- data/lib/open_api_sdk/models/operations/updatecommission_customer.rb +48 -0
- data/lib/open_api_sdk/models/operations/updatecommission_partner.rb +39 -0
- data/lib/open_api_sdk/models/operations/updatecommission_responsebody.rb +19 -7
- data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +1 -1
- data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +1 -1
- data/lib/open_api_sdk/models/operations.rb +16 -0
- data/lib/open_api_sdk/models/shared/linkschema.rb +10 -7
- data/lib/open_api_sdk/models/shared/registereddomain.rb +8 -2
- data/lib/open_api_sdk/partners.rb +130 -0
- data/lib/open_api_sdk/sdkconfiguration.rb +2 -2
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60286f7ccf87659b71536ba162373a0ec3e2a75cfeb7035d96343afd222db80b
|
4
|
+
data.tar.gz: 20a5c25781158a3482e5ef14d95b3957a1386176242de74a0ffedb15d73562ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c18d26ff308b39b2b9d5222c21563afb896c8e6e0407c8a525bafc91f045fe5ed6630c95e995f4fe364fcd413ea7e5b5af35369fa7e50daaf8fc874ec1dba5d
|
7
|
+
data.tar.gz: 3d3e284aa138a76da0d457acb591827709291ce14a1560393e38e269c7adcacd519d379febb3d45a599338f94c1a41e298fa38248491e0a604cc56c6c18b48c8
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module OpenApiSDK
|
8
|
+
module Operations
|
9
|
+
|
10
|
+
# BannedReason - If the partner was banned from the program, this is the reason for the ban.
|
11
|
+
class BannedReason < T::Enum
|
12
|
+
enums do
|
13
|
+
TOS_VIOLATION = new('tos_violation')
|
14
|
+
INAPPROPRIATE_CONTENT = new('inappropriate_content')
|
15
|
+
FAKE_TRAFFIC = new('fake_traffic')
|
16
|
+
FRAUD = new('fraud')
|
17
|
+
SPAM = new('spam')
|
18
|
+
BRAND_ABUSE = new('brand_abuse')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -61,7 +61,7 @@ module OpenApiSDK
|
|
61
61
|
field :ref, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ref') } }
|
62
62
|
# Whether the short link uses link cloaking. Defaults to `false` if not provided.
|
63
63
|
field :rewrite, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite') } }
|
64
|
-
# The unique ID of the tag assigned to the short link.
|
64
|
+
# Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link.
|
65
65
|
#
|
66
66
|
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
67
67
|
field :tag_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagId') } }
|
@@ -19,11 +19,11 @@ module OpenApiSDK
|
|
19
19
|
field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
|
20
20
|
# The short link slug. If not provided, a random 7-character slug will be generated.
|
21
21
|
field :key, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
|
22
|
-
# The number of leads the short
|
22
|
+
# The number of leads the short link has generated.
|
23
23
|
field :leads, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leads') } }
|
24
|
-
# The total dollar
|
24
|
+
# The total dollar value of sales (in cents) generated by the short link.
|
25
25
|
field :sale_amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
26
|
-
# The number of sales the short
|
26
|
+
# The total number of sales (includes recurring sales) generated by the short link.
|
27
27
|
field :sales, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
|
28
28
|
# The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
|
29
29
|
field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink') } }
|
@@ -11,43 +11,37 @@ module OpenApiSDK
|
|
11
11
|
class CreatePartnerResponseBody < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
# The total number of clicks on the partner's links.
|
14
|
+
# The total number of clicks on the partner's links. Defaults to 0 if `includeExpandedFields` is false.
|
15
15
|
field :clicks, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clicks') } }
|
16
16
|
# The partner's country (required for tax purposes).
|
17
17
|
field :country, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country') } }
|
18
|
-
|
18
|
+
|
19
19
|
field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
|
20
|
-
# DEPRECATED: The total earnings/commissions accrued by the partner's links.
|
21
|
-
#
|
22
|
-
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
23
|
-
field :earnings, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('earnings') } }
|
24
20
|
# The partner's email address. Should be a unique value across Dub.
|
25
21
|
field :email, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } }
|
26
22
|
# The partner's unique ID on Dub.
|
27
23
|
field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
|
28
24
|
# The partner's avatar image.
|
29
25
|
field :image, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
|
30
|
-
# The partner's
|
31
|
-
field :instagram, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('instagram') } }
|
32
|
-
# The total number of leads generated by the partner's links.
|
26
|
+
# The total number of leads generated by the partner's links. Defaults to 0 if `includeExpandedFields` is false.
|
33
27
|
field :leads, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leads') } }
|
34
|
-
# The partner's LinkedIn username (e.g. `johndoe`).
|
35
|
-
field :linkedin, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkedin') } }
|
36
28
|
# The partner's referral links in this program.
|
37
29
|
field :links, T::Array[::OpenApiSDK::Operations::CreatePartnerLink], { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('links') } }
|
38
30
|
# The partner's full legal name.
|
39
31
|
field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
|
40
|
-
# The total net revenue generated by the partner.
|
32
|
+
# The total net revenue generated by the partner. Defaults to 0 if `includeExpandedFields` is false.
|
41
33
|
field :net_revenue, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('netRevenue') } }
|
34
|
+
# The partner's unique ID on Dub.
|
35
|
+
field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId') } }
|
42
36
|
# The date when the partner enabled payouts.
|
43
37
|
field :payouts_enabled_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('payoutsEnabledAt') } }
|
44
38
|
# The partner's PayPal email (for receiving payouts via PayPal).
|
45
39
|
field :paypal_email, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('paypalEmail') } }
|
46
40
|
# The program's unique ID on Dub.
|
47
41
|
field :program_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId') } }
|
48
|
-
# The total amount of sales (in cents) generated by the partner's links.
|
42
|
+
# The total amount of sales (in cents) generated by the partner's links. Defaults to 0 if `includeExpandedFields` is false.
|
49
43
|
field :sale_amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
50
|
-
# The total number of sales generated by the partner's links.
|
44
|
+
# The total number of sales generated by the partner's links. Defaults to 0 if `includeExpandedFields` is false.
|
51
45
|
field :sales, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
|
52
46
|
# The status of the partner's enrollment in the program.
|
53
47
|
field :status, ::OpenApiSDK::Operations::CreatePartnerStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::CreatePartnerStatus, false) } }
|
@@ -55,35 +49,69 @@ module OpenApiSDK
|
|
55
49
|
field :stripe_connect_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('stripeConnectId') } }
|
56
50
|
# The partner's unique ID within your database. Can be useful for associating the partner with a user in your database and retrieving/update their data in the future.
|
57
51
|
field :tenant_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
|
58
|
-
# The partner
|
59
|
-
field :tiktok, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
|
60
|
-
# The total commissions paid to the partner for their referrals.
|
52
|
+
# The total commissions paid to the partner for their referrals. Defaults to 0 if `includeExpandedFields` is false.
|
61
53
|
field :total_commissions, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalCommissions') } }
|
54
|
+
# If the partner submitted an application to join the program, this is the ID of the application.
|
55
|
+
field :application_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('applicationId') } }
|
56
|
+
# If the partner was banned from the program, this is the date of the ban.
|
57
|
+
field :banned_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('bannedAt') } }
|
58
|
+
# If the partner was banned from the program, this is the reason for the ban.
|
59
|
+
field :banned_reason, T.nilable(::OpenApiSDK::Operations::BannedReason), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('bannedReason'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::BannedReason, true) } }
|
60
|
+
|
61
|
+
field :click_reward_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clickRewardId') } }
|
62
|
+
# A brief description of the partner and their background.
|
63
|
+
field :description, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
|
64
|
+
|
65
|
+
field :discount_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('discountId') } }
|
66
|
+
# The partner's Instagram username (e.g. `johndoe`).
|
67
|
+
field :instagram, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('instagram') } }
|
68
|
+
|
69
|
+
field :instagram_verified_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('instagramVerifiedAt') } }
|
70
|
+
|
71
|
+
field :lead_reward_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leadRewardId') } }
|
72
|
+
# The partner's LinkedIn username (e.g. `johndoe`).
|
73
|
+
field :linkedin, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkedin') } }
|
74
|
+
|
75
|
+
field :linkedin_verified_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkedinVerifiedAt') } }
|
76
|
+
|
77
|
+
field :sale_reward_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleRewardId') } }
|
78
|
+
# The partner's TikTok username (e.g. `johndoe`).
|
79
|
+
field :tiktok, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
|
80
|
+
|
81
|
+
field :tiktok_verified_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktokVerifiedAt') } }
|
62
82
|
# The partner's Twitter username (e.g. `johndoe`).
|
63
|
-
field :twitter, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('twitter') } }
|
83
|
+
field :twitter, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('twitter') } }
|
84
|
+
|
85
|
+
field :twitter_verified_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('twitterVerifiedAt') } }
|
64
86
|
# The partner's website URL (including the https protocol).
|
65
|
-
field :website, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('website') } }
|
87
|
+
field :website, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('website') } }
|
88
|
+
|
89
|
+
field :website_txt_record, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('websiteTxtRecord') } }
|
90
|
+
|
91
|
+
field :website_verified_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('websiteVerifiedAt') } }
|
66
92
|
# The partner's YouTube channel username (e.g. `johndoe`).
|
67
|
-
field :youtube, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtube') } }
|
68
|
-
|
69
|
-
field :
|
93
|
+
field :youtube, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtube') } }
|
94
|
+
|
95
|
+
field :youtube_subscriber_count, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtubeSubscriberCount') } }
|
96
|
+
|
97
|
+
field :youtube_verified_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtubeVerifiedAt') } }
|
98
|
+
|
99
|
+
field :youtube_view_count, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtubeViewCount') } }
|
70
100
|
|
71
101
|
|
72
|
-
sig { params(clicks: ::Float, country: ::String, created_at: ::String,
|
73
|
-
def initialize(clicks: nil, country: nil, created_at: nil,
|
102
|
+
sig { params(clicks: ::Float, country: ::String, created_at: ::String, email: ::String, id: ::String, image: ::String, leads: ::Float, links: T::Array[::OpenApiSDK::Operations::CreatePartnerLink], name: ::String, net_revenue: ::Float, partner_id: ::String, payouts_enabled_at: ::String, paypal_email: ::String, program_id: ::String, sale_amount: ::Float, sales: ::Float, status: ::OpenApiSDK::Operations::CreatePartnerStatus, stripe_connect_id: ::String, tenant_id: ::String, total_commissions: ::Float, application_id: T.nilable(::String), banned_at: T.nilable(::String), banned_reason: T.nilable(::OpenApiSDK::Operations::BannedReason), click_reward_id: T.nilable(::String), description: T.nilable(::String), discount_id: T.nilable(::String), instagram: T.nilable(::String), instagram_verified_at: T.nilable(::String), lead_reward_id: T.nilable(::String), linkedin: T.nilable(::String), linkedin_verified_at: T.nilable(::String), sale_reward_id: T.nilable(::String), tiktok: T.nilable(::String), tiktok_verified_at: T.nilable(::String), twitter: T.nilable(::String), twitter_verified_at: T.nilable(::String), website: T.nilable(::String), website_txt_record: T.nilable(::String), website_verified_at: T.nilable(::String), youtube: T.nilable(::String), youtube_subscriber_count: T.nilable(::Float), youtube_verified_at: T.nilable(::String), youtube_view_count: T.nilable(::Float)).void }
|
103
|
+
def initialize(clicks: nil, country: nil, created_at: nil, email: nil, id: nil, image: nil, leads: nil, links: nil, name: nil, net_revenue: nil, partner_id: nil, payouts_enabled_at: nil, paypal_email: nil, program_id: nil, sale_amount: nil, sales: nil, status: nil, stripe_connect_id: nil, tenant_id: nil, total_commissions: nil, application_id: nil, banned_at: nil, banned_reason: nil, click_reward_id: nil, description: nil, discount_id: nil, instagram: nil, instagram_verified_at: nil, lead_reward_id: nil, linkedin: nil, linkedin_verified_at: nil, sale_reward_id: nil, tiktok: nil, tiktok_verified_at: nil, twitter: nil, twitter_verified_at: nil, website: nil, website_txt_record: nil, website_verified_at: nil, youtube: nil, youtube_subscriber_count: nil, youtube_verified_at: nil, youtube_view_count: nil)
|
74
104
|
@clicks = clicks
|
75
105
|
@country = country
|
76
106
|
@created_at = created_at
|
77
|
-
@earnings = earnings
|
78
107
|
@email = email
|
79
108
|
@id = id
|
80
109
|
@image = image
|
81
|
-
@instagram = instagram
|
82
110
|
@leads = leads
|
83
|
-
@linkedin = linkedin
|
84
111
|
@links = links
|
85
112
|
@name = name
|
86
113
|
@net_revenue = net_revenue
|
114
|
+
@partner_id = partner_id
|
87
115
|
@payouts_enabled_at = payouts_enabled_at
|
88
116
|
@paypal_email = paypal_email
|
89
117
|
@program_id = program_id
|
@@ -92,12 +120,30 @@ module OpenApiSDK
|
|
92
120
|
@status = status
|
93
121
|
@stripe_connect_id = stripe_connect_id
|
94
122
|
@tenant_id = tenant_id
|
95
|
-
@tiktok = tiktok
|
96
123
|
@total_commissions = total_commissions
|
124
|
+
@application_id = application_id
|
125
|
+
@banned_at = banned_at
|
126
|
+
@banned_reason = banned_reason
|
127
|
+
@click_reward_id = click_reward_id
|
128
|
+
@description = description
|
129
|
+
@discount_id = discount_id
|
130
|
+
@instagram = instagram
|
131
|
+
@instagram_verified_at = instagram_verified_at
|
132
|
+
@lead_reward_id = lead_reward_id
|
133
|
+
@linkedin = linkedin
|
134
|
+
@linkedin_verified_at = linkedin_verified_at
|
135
|
+
@sale_reward_id = sale_reward_id
|
136
|
+
@tiktok = tiktok
|
137
|
+
@tiktok_verified_at = tiktok_verified_at
|
97
138
|
@twitter = twitter
|
139
|
+
@twitter_verified_at = twitter_verified_at
|
98
140
|
@website = website
|
141
|
+
@website_txt_record = website_txt_record
|
142
|
+
@website_verified_at = website_verified_at
|
99
143
|
@youtube = youtube
|
100
|
-
@
|
144
|
+
@youtube_subscriber_count = youtube_subscriber_count
|
145
|
+
@youtube_verified_at = youtube_verified_at
|
146
|
+
@youtube_view_count = youtube_view_count
|
101
147
|
end
|
102
148
|
end
|
103
149
|
end
|
@@ -49,7 +49,7 @@ module OpenApiSDK
|
|
49
49
|
field :ref, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ref') } }
|
50
50
|
# Whether the short link uses link cloaking. Defaults to `false` if not provided.
|
51
51
|
field :rewrite, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite') } }
|
52
|
-
# The unique ID of the tag assigned to the short link.
|
52
|
+
# Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link.
|
53
53
|
#
|
54
54
|
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
55
55
|
field :tag_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagId') } }
|
@@ -29,7 +29,7 @@ module OpenApiSDK
|
|
29
29
|
field :sort_by, T.nilable(::OpenApiSDK::Operations::SortBy), { 'query_param': { 'field_name': 'sortBy', 'style': 'form', 'explode': true } }
|
30
30
|
# The sort order. The default is `desc`.
|
31
31
|
field :sort_order, T.nilable(::OpenApiSDK::Operations::SortOrder), { 'query_param': { 'field_name': 'sortOrder', 'style': 'form', 'explode': true } }
|
32
|
-
# Deprecated
|
32
|
+
# Deprecated: Use `tagIds` instead. The tag ID to filter the links by.
|
33
33
|
field :tag_id, T.nilable(::String), { 'query_param': { 'field_name': 'tagId', 'style': 'form', 'explode': true } }
|
34
34
|
# The tag IDs to filter the links by.
|
35
35
|
field :tag_ids, T.nilable(::Object), { 'query_param': { 'field_name': 'tagIds', 'style': 'form', 'explode': false } }
|
@@ -21,7 +21,7 @@ module OpenApiSDK
|
|
21
21
|
field :search, T.nilable(::String), { 'query_param': { 'field_name': 'search', 'style': 'form', 'explode': true } }
|
22
22
|
# Whether to include archived links in the response. Defaults to `false` if not provided.
|
23
23
|
field :show_archived, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'showArchived', 'style': 'form', 'explode': true } }
|
24
|
-
# Deprecated
|
24
|
+
# Deprecated: Use `tagIds` instead. The tag ID to filter the links by.
|
25
25
|
field :tag_id, T.nilable(::String), { 'query_param': { 'field_name': 'tagId', 'style': 'form', 'explode': true } }
|
26
26
|
# The tag IDs to filter the links by.
|
27
27
|
field :tag_ids, T.nilable(::Object), { 'query_param': { 'field_name': 'tagIds', 'style': 'form', 'explode': false } }
|
@@ -19,11 +19,11 @@ module OpenApiSDK
|
|
19
19
|
field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
|
20
20
|
# The short link slug. If not provided, a random 7-character slug will be generated.
|
21
21
|
field :key, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
|
22
|
-
# The number of leads the short
|
22
|
+
# The number of leads the short link has generated.
|
23
23
|
field :leads, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leads') } }
|
24
|
-
# The total dollar
|
24
|
+
# The total dollar value of sales (in cents) generated by the short link.
|
25
25
|
field :sale_amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
26
|
-
# The number of sales the short
|
26
|
+
# The total number of sales (includes recurring sales) generated by the short link.
|
27
27
|
field :sales, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
|
28
28
|
# The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
|
29
29
|
field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink') } }
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module OpenApiSDK
|
8
|
+
module Operations
|
9
|
+
|
10
|
+
|
11
|
+
class ListCommissionsCustomer < ::Crystalline::FieldAugmented
|
12
|
+
extend T::Sig
|
13
|
+
|
14
|
+
# The date the customer was created.
|
15
|
+
field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
|
16
|
+
# Unique identifier for the customer in the client's app.
|
17
|
+
field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
|
18
|
+
# The unique ID of the customer. You may use either the customer's `id` on Dub (obtained via `/customers` endpoint) or their `externalId` (unique ID within your system, prefixed with `ext_`, e.g. `ext_123`).
|
19
|
+
field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
|
20
|
+
# Name of the customer.
|
21
|
+
field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
|
22
|
+
# Avatar URL of the customer.
|
23
|
+
field :avatar, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('avatar') } }
|
24
|
+
# Country of the customer.
|
25
|
+
field :country, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country') } }
|
26
|
+
# Email of the customer.
|
27
|
+
field :email, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } }
|
28
|
+
# Total amount of sales for the customer.
|
29
|
+
field :sale_amount, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
30
|
+
# Total number of sales for the customer.
|
31
|
+
field :sales, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
|
32
|
+
|
33
|
+
|
34
|
+
sig { params(created_at: ::String, external_id: ::String, id: ::String, name: ::String, avatar: T.nilable(::String), country: T.nilable(::String), email: T.nilable(::String), sale_amount: T.nilable(::Float), sales: T.nilable(::Float)).void }
|
35
|
+
def initialize(created_at: nil, external_id: nil, id: nil, name: nil, avatar: nil, country: nil, email: nil, sale_amount: nil, sales: nil)
|
36
|
+
@created_at = created_at
|
37
|
+
@external_id = external_id
|
38
|
+
@id = id
|
39
|
+
@name = name
|
40
|
+
@avatar = avatar
|
41
|
+
@country = country
|
42
|
+
@email = email
|
43
|
+
@sale_amount = sale_amount
|
44
|
+
@sales = sales
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module OpenApiSDK
|
8
|
+
module Operations
|
9
|
+
|
10
|
+
|
11
|
+
class ListCommissionsPartner < ::Crystalline::FieldAugmented
|
12
|
+
extend T::Sig
|
13
|
+
|
14
|
+
# The partner's country (required for tax purposes).
|
15
|
+
field :country, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country') } }
|
16
|
+
# The partner's email address. Should be a unique value across Dub.
|
17
|
+
field :email, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } }
|
18
|
+
# The partner's unique ID on Dub.
|
19
|
+
field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
|
20
|
+
# The partner's avatar image.
|
21
|
+
field :image, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
|
22
|
+
# The partner's full legal name.
|
23
|
+
field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
|
24
|
+
# The date when the partner enabled payouts.
|
25
|
+
field :payouts_enabled_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('payoutsEnabledAt') } }
|
26
|
+
|
27
|
+
|
28
|
+
sig { params(country: ::String, email: ::String, id: ::String, image: ::String, name: ::String, payouts_enabled_at: ::String).void }
|
29
|
+
def initialize(country: nil, email: nil, id: nil, image: nil, name: nil, payouts_enabled_at: nil)
|
30
|
+
@country = country
|
31
|
+
@email = email
|
32
|
+
@id = id
|
33
|
+
@image = image
|
34
|
+
@name = name
|
35
|
+
@payouts_enabled_at = payouts_enabled_at
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -18,33 +18,45 @@ module OpenApiSDK
|
|
18
18
|
|
19
19
|
field :currency, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('currency') } }
|
20
20
|
|
21
|
+
field :description, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
|
22
|
+
|
21
23
|
field :earnings, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('earnings') } }
|
22
24
|
# The commission's unique ID on Dub.
|
23
25
|
field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
|
24
26
|
|
27
|
+
field :invoice_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId') } }
|
28
|
+
|
29
|
+
field :partner, ::OpenApiSDK::Operations::ListCommissionsPartner, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partner') } }
|
30
|
+
|
31
|
+
field :quantity, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('quantity') } }
|
32
|
+
|
25
33
|
field :status, ::OpenApiSDK::Operations::ListCommissionsStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::ListCommissionsStatus, false) } }
|
26
34
|
|
27
35
|
field :updated_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('updatedAt') } }
|
28
36
|
|
29
|
-
field :
|
30
|
-
|
31
|
-
field :invoice_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId') } }
|
37
|
+
field :customer, T.nilable(::OpenApiSDK::Operations::ListCommissionsCustomer), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customer') } }
|
32
38
|
|
33
39
|
field :type, T.nilable(::OpenApiSDK::Operations::ListCommissionsType), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::ListCommissionsType, true) } }
|
40
|
+
# The user who created the manual commission.
|
41
|
+
field :user_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('userId') } }
|
34
42
|
|
35
43
|
|
36
|
-
sig { params(amount: ::Float, created_at: ::String, currency: ::String, earnings: ::Float, id: ::String, status: ::OpenApiSDK::Operations::ListCommissionsStatus, updated_at: ::String,
|
37
|
-
def initialize(amount: nil, created_at: nil, currency: nil, earnings: nil, id: nil, status: nil, updated_at: nil,
|
44
|
+
sig { params(amount: ::Float, created_at: ::String, currency: ::String, description: ::String, earnings: ::Float, id: ::String, invoice_id: ::String, partner: ::OpenApiSDK::Operations::ListCommissionsPartner, quantity: ::Float, status: ::OpenApiSDK::Operations::ListCommissionsStatus, updated_at: ::String, customer: T.nilable(::OpenApiSDK::Operations::ListCommissionsCustomer), type: T.nilable(::OpenApiSDK::Operations::ListCommissionsType), user_id: T.nilable(::String)).void }
|
45
|
+
def initialize(amount: nil, created_at: nil, currency: nil, description: nil, earnings: nil, id: nil, invoice_id: nil, partner: nil, quantity: nil, status: nil, updated_at: nil, customer: nil, type: nil, user_id: nil)
|
38
46
|
@amount = amount
|
39
47
|
@created_at = created_at
|
40
48
|
@currency = currency
|
49
|
+
@description = description
|
41
50
|
@earnings = earnings
|
42
51
|
@id = id
|
52
|
+
@invoice_id = invoice_id
|
53
|
+
@partner = partner
|
54
|
+
@quantity = quantity
|
43
55
|
@status = status
|
44
56
|
@updated_at = updated_at
|
45
|
-
@
|
46
|
-
@invoice_id = invoice_id
|
57
|
+
@customer = customer
|
47
58
|
@type = type
|
59
|
+
@user_id = user_id
|
48
60
|
end
|
49
61
|
end
|
50
62
|
end
|
@@ -51,8 +51,10 @@ module OpenApiSDK
|
|
51
51
|
field :partner_id, T.nilable(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
|
52
52
|
# The ID of the program to retrieve analytics for.
|
53
53
|
field :program_id, T.nilable(::String), { 'query_param': { 'field_name': 'programId', 'style': 'form', 'explode': true } }
|
54
|
-
# Deprecated
|
54
|
+
# Deprecated: Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both.
|
55
55
|
field :qr, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'qr', 'style': 'form', 'explode': true } }
|
56
|
+
# Search the events by a custom metadata value. Only available for lead and sale events.
|
57
|
+
field :query, T.nilable(::String), { 'query_param': { 'field_name': 'query', 'style': 'form', 'explode': true } }
|
56
58
|
# The referer to retrieve analytics for.
|
57
59
|
field :referer, T.nilable(::String), { 'query_param': { 'field_name': 'referer', 'style': 'form', 'explode': true } }
|
58
60
|
# The full referer URL to retrieve analytics for.
|
@@ -61,13 +63,15 @@ module OpenApiSDK
|
|
61
63
|
field :region, T.nilable(::String), { 'query_param': { 'field_name': 'region', 'style': 'form', 'explode': true } }
|
62
64
|
# Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both.
|
63
65
|
field :root, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'root', 'style': 'form', 'explode': true } }
|
66
|
+
# Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both.
|
67
|
+
field :sale_type, T.nilable(::OpenApiSDK::Operations::QueryParamSaleType), { 'query_param': { 'field_name': 'saleType', 'style': 'form', 'explode': true } }
|
64
68
|
# The field to sort the events by. The default is `timestamp`.
|
65
69
|
field :sort_by, T.nilable(::OpenApiSDK::Operations::QueryParamSortBy), { 'query_param': { 'field_name': 'sortBy', 'style': 'form', 'explode': true } }
|
66
70
|
# The sort order. The default is `desc`.
|
67
71
|
field :sort_order, T.nilable(::OpenApiSDK::Operations::QueryParamSortOrder), { 'query_param': { 'field_name': 'sortOrder', 'style': 'form', 'explode': true } }
|
68
72
|
# The start date and time when to retrieve analytics from. If set, takes precedence over `interval`.
|
69
73
|
field :start, T.nilable(::String), { 'query_param': { 'field_name': 'start', 'style': 'form', 'explode': true } }
|
70
|
-
# Deprecated
|
74
|
+
# Deprecated: Use `tagIds` instead. The tag ID to retrieve analytics for.
|
71
75
|
field :tag_id, T.nilable(::String), { 'query_param': { 'field_name': 'tagId', 'style': 'form', 'explode': true } }
|
72
76
|
# The tag IDs to retrieve analytics for.
|
73
77
|
field :tag_ids, T.nilable(::Object), { 'query_param': { 'field_name': 'tagIds', 'style': 'form', 'explode': true } }
|
@@ -75,7 +79,7 @@ module OpenApiSDK
|
|
75
79
|
field :tenant_id, T.nilable(::String), { 'query_param': { 'field_name': 'tenantId', 'style': 'form', 'explode': true } }
|
76
80
|
# The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.
|
77
81
|
field :timezone, T.nilable(::String), { 'query_param': { 'field_name': 'timezone', 'style': 'form', 'explode': true } }
|
78
|
-
# The trigger to retrieve analytics for. If undefined,
|
82
|
+
# The trigger to retrieve analytics for. If undefined, returns all trigger types.
|
79
83
|
field :trigger, T.nilable(::OpenApiSDK::Operations::QueryParamTrigger), { 'query_param': { 'field_name': 'trigger', 'style': 'form', 'explode': true } }
|
80
84
|
# The URL to retrieve analytics for.
|
81
85
|
field :url, T.nilable(::String), { 'query_param': { 'field_name': 'url', 'style': 'form', 'explode': true } }
|
@@ -91,8 +95,8 @@ module OpenApiSDK
|
|
91
95
|
field :utm_term, T.nilable(::String), { 'query_param': { 'field_name': 'utm_term', 'style': 'form', 'explode': true } }
|
92
96
|
|
93
97
|
|
94
|
-
sig { params(browser: T.nilable(::String), city: T.nilable(::String), continent: T.nilable(::OpenApiSDK::Shared::ContinentCode), country: T.nilable(::OpenApiSDK::Shared::CountryCode), customer_id: T.nilable(::String), device: T.nilable(::String), domain: T.nilable(::String), end_: T.nilable(::String), event: T.nilable(::OpenApiSDK::Operations::QueryParamEvent), external_id: T.nilable(::String), folder_id: T.nilable(::String), interval: T.nilable(::OpenApiSDK::Operations::QueryParamInterval), key: T.nilable(::String), limit: T.nilable(::Float), link_id: T.nilable(::String), order: T.nilable(::OpenApiSDK::Operations::Order), os: T.nilable(::String), page: T.nilable(::Float), partner_id: T.nilable(::String), program_id: T.nilable(::String), qr: T.nilable(T::Boolean), referer: T.nilable(::String), referer_url: T.nilable(::String), region: T.nilable(::String), root: T.nilable(T::Boolean), sort_by: T.nilable(::OpenApiSDK::Operations::QueryParamSortBy), sort_order: T.nilable(::OpenApiSDK::Operations::QueryParamSortOrder), start: T.nilable(::String), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tenant_id: T.nilable(::String), timezone: T.nilable(::String), trigger: T.nilable(::OpenApiSDK::Operations::QueryParamTrigger), url: T.nilable(::String), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String)).void }
|
95
|
-
def initialize(browser: nil, city: nil, continent: nil, country: nil, customer_id: nil, device: nil, domain: nil, end_: nil, event: nil, external_id: nil, folder_id: nil, interval: nil, key: nil, limit: nil, link_id: nil, order: nil, os: nil, page: nil, partner_id: nil, program_id: nil, qr: nil, referer: nil, referer_url: nil, region: nil, root: nil, sort_by: nil, sort_order: nil, start: nil, tag_id: nil, tag_ids: nil, tenant_id: nil, timezone: nil, trigger: nil, url: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil)
|
98
|
+
sig { params(browser: T.nilable(::String), city: T.nilable(::String), continent: T.nilable(::OpenApiSDK::Shared::ContinentCode), country: T.nilable(::OpenApiSDK::Shared::CountryCode), customer_id: T.nilable(::String), device: T.nilable(::String), domain: T.nilable(::String), end_: T.nilable(::String), event: T.nilable(::OpenApiSDK::Operations::QueryParamEvent), external_id: T.nilable(::String), folder_id: T.nilable(::String), interval: T.nilable(::OpenApiSDK::Operations::QueryParamInterval), key: T.nilable(::String), limit: T.nilable(::Float), link_id: T.nilable(::String), order: T.nilable(::OpenApiSDK::Operations::Order), os: T.nilable(::String), page: T.nilable(::Float), partner_id: T.nilable(::String), program_id: T.nilable(::String), qr: T.nilable(T::Boolean), query: T.nilable(::String), referer: T.nilable(::String), referer_url: T.nilable(::String), region: T.nilable(::String), root: T.nilable(T::Boolean), sale_type: T.nilable(::OpenApiSDK::Operations::QueryParamSaleType), sort_by: T.nilable(::OpenApiSDK::Operations::QueryParamSortBy), sort_order: T.nilable(::OpenApiSDK::Operations::QueryParamSortOrder), start: T.nilable(::String), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tenant_id: T.nilable(::String), timezone: T.nilable(::String), trigger: T.nilable(::OpenApiSDK::Operations::QueryParamTrigger), url: T.nilable(::String), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String)).void }
|
99
|
+
def initialize(browser: nil, city: nil, continent: nil, country: nil, customer_id: nil, device: nil, domain: nil, end_: nil, event: nil, external_id: nil, folder_id: nil, interval: nil, key: nil, limit: nil, link_id: nil, order: nil, os: nil, page: nil, partner_id: nil, program_id: nil, qr: nil, query: nil, referer: nil, referer_url: nil, region: nil, root: nil, sale_type: nil, sort_by: nil, sort_order: nil, start: nil, tag_id: nil, tag_ids: nil, tenant_id: nil, timezone: nil, trigger: nil, url: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil)
|
96
100
|
@browser = browser
|
97
101
|
@city = city
|
98
102
|
@continent = continent
|
@@ -114,10 +118,12 @@ module OpenApiSDK
|
|
114
118
|
@partner_id = partner_id
|
115
119
|
@program_id = program_id
|
116
120
|
@qr = qr
|
121
|
+
@query = query
|
117
122
|
@referer = referer
|
118
123
|
@referer_url = referer_url
|
119
124
|
@region = region
|
120
125
|
@root = root
|
126
|
+
@sale_type = sale_type
|
121
127
|
@sort_by = sort_by
|
122
128
|
@sort_order = sort_order
|
123
129
|
@start = start
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module OpenApiSDK
|
8
|
+
module Operations
|
9
|
+
|
10
|
+
# ListPartnersBannedReason - If the partner was banned from the program, this is the reason for the ban.
|
11
|
+
class ListPartnersBannedReason < T::Enum
|
12
|
+
enums do
|
13
|
+
TOS_VIOLATION = new('tos_violation')
|
14
|
+
INAPPROPRIATE_CONTENT = new('inappropriate_content')
|
15
|
+
FAKE_TRAFFIC = new('fake_traffic')
|
16
|
+
FRAUD = new('fraud')
|
17
|
+
SPAM = new('spam')
|
18
|
+
BRAND_ABUSE = new('brand_abuse')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module OpenApiSDK
|
8
|
+
module Operations
|
9
|
+
|
10
|
+
|
11
|
+
class ListPartnersLink < ::Crystalline::FieldAugmented
|
12
|
+
extend T::Sig
|
13
|
+
|
14
|
+
# The number of clicks on the short link.
|
15
|
+
field :clicks, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clicks') } }
|
16
|
+
# The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
|
17
|
+
field :domain, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domain') } }
|
18
|
+
# The unique ID of the short link.
|
19
|
+
field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
|
20
|
+
# The short link slug. If not provided, a random 7-character slug will be generated.
|
21
|
+
field :key, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
|
22
|
+
# The number of leads the short link has generated.
|
23
|
+
field :leads, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leads') } }
|
24
|
+
# The total dollar value of sales (in cents) generated by the short link.
|
25
|
+
field :sale_amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
26
|
+
# The total number of sales (includes recurring sales) generated by the short link.
|
27
|
+
field :sales, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
|
28
|
+
# The full URL of the short link, including the https protocol (e.g. `https://dub.sh/try`).
|
29
|
+
field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink') } }
|
30
|
+
# The destination URL of the short link.
|
31
|
+
field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
|
32
|
+
|
33
|
+
|
34
|
+
sig { params(clicks: ::Float, domain: ::String, id: ::String, key: ::String, leads: ::Float, sale_amount: ::Float, sales: ::Float, short_link: ::String, url: ::String).void }
|
35
|
+
def initialize(clicks: nil, domain: nil, id: nil, key: nil, leads: nil, sale_amount: nil, sales: nil, short_link: nil, url: nil)
|
36
|
+
@clicks = clicks
|
37
|
+
@domain = domain
|
38
|
+
@id = id
|
39
|
+
@key = key
|
40
|
+
@leads = leads
|
41
|
+
@sale_amount = sale_amount
|
42
|
+
@sales = sales
|
43
|
+
@short_link = short_link
|
44
|
+
@url = url
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module OpenApiSDK
|
8
|
+
module Operations
|
9
|
+
|
10
|
+
# ListPartnersQueryParamSortBy - The field to sort the partners by. The default is `saleAmount`.
|
11
|
+
class ListPartnersQueryParamSortBy < T::Enum
|
12
|
+
enums do
|
13
|
+
CREATED_AT = new('createdAt')
|
14
|
+
CLICKS = new('clicks')
|
15
|
+
LEADS = new('leads')
|
16
|
+
SALES = new('sales')
|
17
|
+
SALE_AMOUNT = new('saleAmount')
|
18
|
+
COMMISSIONS = new('commissions')
|
19
|
+
NET_REVENUE = new('netRevenue')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module OpenApiSDK
|
8
|
+
module Operations
|
9
|
+
|
10
|
+
# ListPartnersQueryParamSortOrder - The sort order. The default is `desc`.
|
11
|
+
class ListPartnersQueryParamSortOrder < T::Enum
|
12
|
+
enums do
|
13
|
+
ASC = new('asc')
|
14
|
+
DESC = new('desc')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|