dub 0.10.4 → 0.11.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/crystalline/module.rb +4 -0
- data/lib/crystalline/utils.rb +13 -0
- data/lib/open_api_sdk/analytics.rb +1 -1
- data/lib/open_api_sdk/commissions.rb +2 -2
- data/lib/open_api_sdk/customers.rb +5 -5
- data/lib/open_api_sdk/domains.rb +6 -6
- data/lib/open_api_sdk/embed_tokens.rb +1 -1
- data/lib/open_api_sdk/events.rb +1 -1
- data/lib/open_api_sdk/folders.rb +4 -4
- data/lib/open_api_sdk/links.rb +10 -10
- data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +6 -2
- data/lib/open_api_sdk/models/operations/createfolder_requestbody.rbi +2 -0
- data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +1 -1
- data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +25 -25
- data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +10 -10
- data/lib/open_api_sdk/models/operations/createpartner_status.rb +1 -0
- data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortby.rb +5 -7
- data/lib/open_api_sdk/models/operations/listpartners_queryparam_status.rb +1 -0
- data/lib/open_api_sdk/models/operations/listpartners_request.rb +3 -7
- data/lib/open_api_sdk/models/operations/listpartners_request.rbi +0 -2
- data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +24 -24
- data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +10 -10
- data/lib/open_api_sdk/models/operations/listpartners_status.rb +1 -0
- data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +4 -1
- data/lib/open_api_sdk/models/operations/requestbody.rb +1 -1
- data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +1 -1
- data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rb +6 -2
- data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rbi +2 -0
- 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/shared/commissioncreatedevent_partner.rb +6 -2
- data/lib/open_api_sdk/models/shared/commissioncreatedevent_partner.rbi +2 -0
- data/lib/open_api_sdk/models/shared/folderschema.rb +6 -2
- data/lib/open_api_sdk/models/shared/folderschema.rbi +2 -0
- data/lib/open_api_sdk/models/shared/leadcreatedevent_link.rb +2 -2
- data/lib/open_api_sdk/models/shared/leadevent_link.rb +2 -2
- data/lib/open_api_sdk/models/shared/link.rb +2 -2
- data/lib/open_api_sdk/models/shared/linkclickedevent_link.rb +2 -2
- data/lib/open_api_sdk/models/shared/linkschema.rb +2 -2
- data/lib/open_api_sdk/models/shared/{tagschema.rb → linktagschema.rb} +1 -1
- data/lib/open_api_sdk/models/shared/{tagschema.rbi → linktagschema.rbi} +2 -2
- data/lib/open_api_sdk/models/shared/linkwebhookevent_link.rb +2 -2
- data/lib/open_api_sdk/models/shared/partner.rb +6 -2
- data/lib/open_api_sdk/models/shared/partner.rbi +2 -0
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +24 -24
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +10 -10
- data/lib/open_api_sdk/models/shared/salecreatedevent_link.rb +2 -2
- data/lib/open_api_sdk/models/shared/salecreatedevent_partner.rb +6 -2
- data/lib/open_api_sdk/models/shared/salecreatedevent_partner.rbi +2 -0
- data/lib/open_api_sdk/models/shared/saleevent_link.rb +2 -2
- data/lib/open_api_sdk/models/shared/status.rb +1 -0
- data/lib/open_api_sdk/models/shared/workspaceschema.rb +14 -2
- data/lib/open_api_sdk/models/shared/workspaceschema.rbi +6 -0
- data/lib/open_api_sdk/models/shared.rb +1 -1
- data/lib/open_api_sdk/partners.rb +8 -8
- data/lib/open_api_sdk/qr_codes.rb +1 -1
- data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
- data/lib/open_api_sdk/tags.rb +10 -10
- data/lib/open_api_sdk/track.rb +2 -2
- data/lib/open_api_sdk/workspaces.rb +2 -2
- metadata +4 -4
|
@@ -47,7 +47,7 @@ module OpenApiSDK
|
|
|
47
47
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
|
|
48
48
|
# The partner's group ID on Dub.
|
|
49
49
|
field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
|
|
50
|
-
# The total commissions paid to the partner for their referrals
|
|
50
|
+
# The total commissions paid to the partner for their referrals
|
|
51
51
|
field :total_commissions, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalCommissions') } }
|
|
52
52
|
|
|
53
53
|
field :click_reward_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clickRewardId') } }
|
|
@@ -63,17 +63,17 @@ module OpenApiSDK
|
|
|
63
63
|
field :banned_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('bannedAt') } }
|
|
64
64
|
# If the partner was banned from the program, this is the reason for the ban.
|
|
65
65
|
field :banned_reason, Crystalline::Nilable.new(Models::Operations::ListPartnersBannedReason), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('bannedReason'), 'decoder': Utils.enum_from_string(Models::Operations::ListPartnersBannedReason, true) } }
|
|
66
|
-
# The total number of clicks on the partner's links
|
|
67
|
-
field :
|
|
68
|
-
# The total number of leads generated by the partner's links
|
|
69
|
-
field :
|
|
70
|
-
# The total number of leads that converted to paying customers
|
|
71
|
-
field :
|
|
72
|
-
# The total number of sales generated by the partner's links (includes recurring sales)
|
|
73
|
-
field :
|
|
74
|
-
# The total amount of sales (in cents) generated by the partner's links
|
|
75
|
-
field :
|
|
76
|
-
# The total net revenue generated by the partner
|
|
66
|
+
# The total number of clicks on the partner's links
|
|
67
|
+
field :total_clicks, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalClicks') } }
|
|
68
|
+
# The total number of leads generated by the partner's links
|
|
69
|
+
field :total_leads, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalLeads') } }
|
|
70
|
+
# The total number of leads that converted to paying customers
|
|
71
|
+
field :total_conversions, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalConversions') } }
|
|
72
|
+
# The total number of sales generated by the partner's links (includes recurring sales)
|
|
73
|
+
field :total_sales, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalSales') } }
|
|
74
|
+
# The total amount of sales (in cents) generated by the partner's links
|
|
75
|
+
field :total_sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalSaleAmount') } }
|
|
76
|
+
# The total net revenue generated by the partner
|
|
77
77
|
field :net_revenue, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('netRevenue') } }
|
|
78
78
|
# The partner's website URL (including the https protocol).
|
|
79
79
|
field :website, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('website') } }
|
|
@@ -88,8 +88,8 @@ module OpenApiSDK
|
|
|
88
88
|
# The partner's TikTok username (e.g. `johndoe`).
|
|
89
89
|
field :tiktok, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
|
|
90
90
|
|
|
91
|
-
sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::ListPartnersStatus, company_name: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Operations::ListPartnersLink]), description: T.nilable(::String), group_id: T.nilable(::String), total_commissions: T.nilable(::Float), click_reward_id: T.nilable(::String), lead_reward_id: T.nilable(::String), sale_reward_id: T.nilable(::String), discount_id: T.nilable(::String), application_id: T.nilable(::String), banned_at: T.nilable(::String), banned_reason: T.nilable(Models::Operations::ListPartnersBannedReason),
|
|
92
|
-
def initialize(id:, name:, program_id:, partner_id:, created_at:, status:, company_name: nil, email: nil, image: nil, country: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_at: nil, tenant_id: nil, links: nil, description: nil, group_id: nil, total_commissions: 0.0, click_reward_id: nil, lead_reward_id: nil, sale_reward_id: nil, discount_id: nil, application_id: nil, banned_at: nil, banned_reason: nil,
|
|
91
|
+
sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::ListPartnersStatus, company_name: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Operations::ListPartnersLink]), description: T.nilable(::String), group_id: T.nilable(::String), total_commissions: T.nilable(::Float), click_reward_id: T.nilable(::String), lead_reward_id: T.nilable(::String), sale_reward_id: T.nilable(::String), discount_id: T.nilable(::String), application_id: T.nilable(::String), banned_at: T.nilable(::String), banned_reason: T.nilable(Models::Operations::ListPartnersBannedReason), total_clicks: T.nilable(::Float), total_leads: T.nilable(::Float), total_conversions: T.nilable(::Float), total_sales: T.nilable(::Float), total_sale_amount: T.nilable(::Float), net_revenue: T.nilable(::Float), website: T.nilable(::String), youtube: T.nilable(::String), twitter: T.nilable(::String), linkedin: T.nilable(::String), instagram: T.nilable(::String), tiktok: T.nilable(::String)).void }
|
|
92
|
+
def initialize(id:, name:, program_id:, partner_id:, created_at:, status:, company_name: nil, email: nil, image: nil, country: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_at: nil, tenant_id: nil, links: nil, description: nil, group_id: nil, total_commissions: 0.0, click_reward_id: nil, lead_reward_id: nil, sale_reward_id: nil, discount_id: nil, application_id: nil, banned_at: nil, banned_reason: nil, total_clicks: 0.0, total_leads: 0.0, total_conversions: 0.0, total_sales: 0.0, total_sale_amount: 0.0, net_revenue: 0.0, website: nil, youtube: nil, twitter: nil, linkedin: nil, instagram: nil, tiktok: nil)
|
|
93
93
|
@id = id
|
|
94
94
|
@name = name
|
|
95
95
|
@program_id = program_id
|
|
@@ -115,11 +115,11 @@ module OpenApiSDK
|
|
|
115
115
|
@application_id = application_id
|
|
116
116
|
@banned_at = banned_at
|
|
117
117
|
@banned_reason = banned_reason
|
|
118
|
-
@
|
|
119
|
-
@
|
|
120
|
-
@
|
|
121
|
-
@
|
|
122
|
-
@
|
|
118
|
+
@total_clicks = total_clicks
|
|
119
|
+
@total_leads = total_leads
|
|
120
|
+
@total_conversions = total_conversions
|
|
121
|
+
@total_sales = total_sales
|
|
122
|
+
@total_sale_amount = total_sale_amount
|
|
123
123
|
@net_revenue = net_revenue
|
|
124
124
|
@website = website
|
|
125
125
|
@youtube = youtube
|
|
@@ -157,11 +157,11 @@ module OpenApiSDK
|
|
|
157
157
|
return false unless @application_id == other.application_id
|
|
158
158
|
return false unless @banned_at == other.banned_at
|
|
159
159
|
return false unless @banned_reason == other.banned_reason
|
|
160
|
-
return false unless @
|
|
161
|
-
return false unless @
|
|
162
|
-
return false unless @
|
|
163
|
-
return false unless @
|
|
164
|
-
return false unless @
|
|
160
|
+
return false unless @total_clicks == other.total_clicks
|
|
161
|
+
return false unless @total_leads == other.total_leads
|
|
162
|
+
return false unless @total_conversions == other.total_conversions
|
|
163
|
+
return false unless @total_sales == other.total_sales
|
|
164
|
+
return false unless @total_sale_amount == other.total_sale_amount
|
|
165
165
|
return false unless @net_revenue == other.net_revenue
|
|
166
166
|
return false unless @website == other.website
|
|
167
167
|
return false unless @youtube == other.youtube
|
|
@@ -58,16 +58,16 @@ class OpenApiSDK::Models::Operations::ListPartnersResponseBody
|
|
|
58
58
|
def banned_at=(str_); end
|
|
59
59
|
def banned_reason(); end
|
|
60
60
|
def banned_reason=(str_); end
|
|
61
|
-
def
|
|
62
|
-
def
|
|
63
|
-
def
|
|
64
|
-
def
|
|
65
|
-
def
|
|
66
|
-
def
|
|
67
|
-
def
|
|
68
|
-
def
|
|
69
|
-
def
|
|
70
|
-
def
|
|
61
|
+
def total_clicks(); end
|
|
62
|
+
def total_clicks=(str_); end
|
|
63
|
+
def total_leads(); end
|
|
64
|
+
def total_leads=(str_); end
|
|
65
|
+
def total_conversions(); end
|
|
66
|
+
def total_conversions=(str_); end
|
|
67
|
+
def total_sales(); end
|
|
68
|
+
def total_sales=(str_); end
|
|
69
|
+
def total_sale_amount(); end
|
|
70
|
+
def total_sale_amount=(str_); end
|
|
71
71
|
def net_revenue(); end
|
|
72
72
|
def net_revenue=(str_); end
|
|
73
73
|
def website(); end
|
|
@@ -26,9 +26,12 @@ module OpenApiSDK
|
|
|
26
26
|
TRIGGERS = new('triggers')
|
|
27
27
|
REFERERS = new('referers')
|
|
28
28
|
REFERER_URLS = new('referer_urls')
|
|
29
|
-
|
|
29
|
+
TOP_FOLDERS = new('top_folders')
|
|
30
|
+
TOP_LINK_TAGS = new('top_link_tags')
|
|
31
|
+
TOP_DOMAINS = new('top_domains')
|
|
30
32
|
TOP_LINKS = new('top_links')
|
|
31
33
|
TOP_URLS = new('top_urls')
|
|
34
|
+
TOP_PARTNERS = new('top_partners')
|
|
32
35
|
UTM_SOURCES = new('utm_sources')
|
|
33
36
|
UTM_MEDIUMS = new('utm_mediums')
|
|
34
37
|
UTM_CAMPAIGNS = new('utm_campaigns')
|
|
@@ -15,7 +15,7 @@ module OpenApiSDK
|
|
|
15
15
|
|
|
16
16
|
# The destination URL of the short link.
|
|
17
17
|
field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url'), required: true } }
|
|
18
|
-
# 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).
|
|
18
|
+
# The domain of the short link (without protocol). If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
|
|
19
19
|
field :domain, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domain') } }
|
|
20
20
|
# The short link slug. If not provided, a random 7-character slug will be generated.
|
|
21
21
|
field :key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
|
|
@@ -13,7 +13,7 @@ module OpenApiSDK
|
|
|
13
13
|
extend T::Sig
|
|
14
14
|
include Crystalline::MetadataFields
|
|
15
15
|
|
|
16
|
-
# The unique ID of the click that the lead conversion event is attributed to. You can read this value from `dub_id` cookie. If an empty string is provided, Dub will try to find an existing customer with the provided `customerExternalId` and use the `clickId` from the customer if found.
|
|
16
|
+
# The unique ID of the click that the lead conversion event is attributed to. You can read this value from `dub_id` cookie. [For deferred lead tracking]: If an empty string is provided, Dub will try to find an existing customer with the provided `customerExternalId` and use the `clickId` from the customer if found.
|
|
17
17
|
field :click_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clickId'), required: true } }
|
|
18
18
|
# The name of the lead event to track. Can also be used as a unique identifier to associate a given lead event for a customer for a subsequent sale event (via the `leadEventName` prop in `/track/sale`).
|
|
19
19
|
field :event_name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('eventName'), required: true } }
|
|
@@ -15,12 +15,15 @@ module OpenApiSDK
|
|
|
15
15
|
|
|
16
16
|
# The name of the folder.
|
|
17
17
|
field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
|
|
18
|
+
# The description of the folder.
|
|
19
|
+
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
|
|
18
20
|
# The access level of the folder within the workspace.
|
|
19
21
|
field :access_level, Crystalline::Nilable.new(Models::Operations::UpdateFolderAccessLevel), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('accessLevel'), 'decoder': Utils.enum_from_string(Models::Operations::UpdateFolderAccessLevel, true) } }
|
|
20
22
|
|
|
21
|
-
sig { params(name: T.nilable(::String), access_level: T.nilable(Models::Operations::UpdateFolderAccessLevel)).void }
|
|
22
|
-
def initialize(name: nil, access_level: nil)
|
|
23
|
+
sig { params(name: T.nilable(::String), description: T.nilable(::String), access_level: T.nilable(Models::Operations::UpdateFolderAccessLevel)).void }
|
|
24
|
+
def initialize(name: nil, description: nil, access_level: nil)
|
|
23
25
|
@name = name
|
|
26
|
+
@description = description
|
|
24
27
|
@access_level = access_level
|
|
25
28
|
end
|
|
26
29
|
|
|
@@ -28,6 +31,7 @@ module OpenApiSDK
|
|
|
28
31
|
def ==(other)
|
|
29
32
|
return false unless other.is_a? self.class
|
|
30
33
|
return false unless @name == other.name
|
|
34
|
+
return false unless @description == other.description
|
|
31
35
|
return false unless @access_level == other.access_level
|
|
32
36
|
true
|
|
33
37
|
end
|
|
@@ -15,7 +15,7 @@ module OpenApiSDK
|
|
|
15
15
|
|
|
16
16
|
# The destination URL of the short link.
|
|
17
17
|
field :url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
|
|
18
|
-
# 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).
|
|
18
|
+
# The domain of the short link (without protocol). If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
|
|
19
19
|
field :domain, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domain') } }
|
|
20
20
|
# The short link slug. If not provided, a random 7-character slug will be generated.
|
|
21
21
|
field :key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
|
|
@@ -15,7 +15,7 @@ module OpenApiSDK
|
|
|
15
15
|
|
|
16
16
|
# The destination URL of the short link.
|
|
17
17
|
field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url'), required: true } }
|
|
18
|
-
# 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).
|
|
18
|
+
# The domain of the short link (without protocol). If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
|
|
19
19
|
field :domain, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domain') } }
|
|
20
20
|
# The short link slug. If not provided, a random 7-character slug will be generated.
|
|
21
21
|
field :key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
|
|
@@ -38,8 +38,10 @@ module OpenApiSDK
|
|
|
38
38
|
# The partner's country (required for tax purposes).
|
|
39
39
|
field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), required: true } }
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
|
|
42
|
+
|
|
43
|
+
sig { params(id: ::String, name: ::String, total_clicks: ::Float, total_leads: ::Float, total_conversions: ::Float, total_sales: ::Float, total_sale_amount: ::Float, total_commissions: ::Float, email: T.nilable(::String), image: T.nilable(::String), payouts_enabled_at: T.nilable(::String), country: T.nilable(::String), group_id: T.nilable(::String)).void }
|
|
44
|
+
def initialize(id:, name:, total_clicks:, total_leads:, total_conversions:, total_sales:, total_sale_amount:, total_commissions:, email: nil, image: nil, payouts_enabled_at: nil, country: nil, group_id: nil)
|
|
43
45
|
@id = id
|
|
44
46
|
@name = name
|
|
45
47
|
@total_clicks = total_clicks
|
|
@@ -52,6 +54,7 @@ module OpenApiSDK
|
|
|
52
54
|
@image = image
|
|
53
55
|
@payouts_enabled_at = payouts_enabled_at
|
|
54
56
|
@country = country
|
|
57
|
+
@group_id = group_id
|
|
55
58
|
end
|
|
56
59
|
|
|
57
60
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -69,6 +72,7 @@ module OpenApiSDK
|
|
|
69
72
|
return false unless @image == other.image
|
|
70
73
|
return false unless @payouts_enabled_at == other.payouts_enabled_at
|
|
71
74
|
return false unless @country == other.country
|
|
75
|
+
return false unless @group_id == other.group_id
|
|
72
76
|
true
|
|
73
77
|
end
|
|
74
78
|
end
|
|
@@ -23,16 +23,19 @@ module OpenApiSDK
|
|
|
23
23
|
field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt'), required: true } }
|
|
24
24
|
# The date the folder was updated.
|
|
25
25
|
field :updated_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('updatedAt'), required: true } }
|
|
26
|
+
# The description of the folder.
|
|
27
|
+
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description'), required: true } }
|
|
26
28
|
# The access level of the folder within the workspace.
|
|
27
29
|
field :access_level, Crystalline::Nilable.new(Models::Shared::AccessLevel), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('accessLevel'), 'decoder': Utils.enum_from_string(Models::Shared::AccessLevel, true) } }
|
|
28
30
|
|
|
29
|
-
sig { params(id: ::String, name: ::String, type: Models::Shared::Type, created_at: ::String, updated_at: ::String, access_level: T.nilable(Models::Shared::AccessLevel)).void }
|
|
30
|
-
def initialize(id:, name:, type:, created_at:, updated_at:, access_level: nil)
|
|
31
|
+
sig { params(id: ::String, name: ::String, type: Models::Shared::Type, created_at: ::String, updated_at: ::String, description: T.nilable(::String), access_level: T.nilable(Models::Shared::AccessLevel)).void }
|
|
32
|
+
def initialize(id:, name:, type:, created_at:, updated_at:, description: nil, access_level: nil)
|
|
31
33
|
@id = id
|
|
32
34
|
@name = name
|
|
33
35
|
@type = type
|
|
34
36
|
@created_at = created_at
|
|
35
37
|
@updated_at = updated_at
|
|
38
|
+
@description = description
|
|
36
39
|
@access_level = access_level
|
|
37
40
|
end
|
|
38
41
|
|
|
@@ -44,6 +47,7 @@ module OpenApiSDK
|
|
|
44
47
|
return false unless @type == other.type
|
|
45
48
|
return false unless @created_at == other.created_at
|
|
46
49
|
return false unless @updated_at == other.updated_at
|
|
50
|
+
return false unless @description == other.description
|
|
47
51
|
return false unless @access_level == other.access_level
|
|
48
52
|
true
|
|
49
53
|
end
|
|
@@ -80,7 +80,7 @@ module OpenApiSDK
|
|
|
80
80
|
# Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
|
|
81
81
|
field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
|
|
82
82
|
# The tags assigned to the short link.
|
|
83
|
-
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::
|
|
83
|
+
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
|
|
84
84
|
# The unique ID of the folder assigned to the short link.
|
|
85
85
|
field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
|
|
86
86
|
# The comments for the short link.
|
|
@@ -118,7 +118,7 @@ module OpenApiSDK
|
|
|
118
118
|
# The total dollar value of sales (in cents) generated by the short link.
|
|
119
119
|
field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
|
120
120
|
|
|
121
|
-
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::
|
|
121
|
+
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LeadCreatedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
|
|
122
122
|
def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, test_started_at: nil, test_completed_at: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
|
|
123
123
|
@id = id
|
|
124
124
|
@domain = domain
|
|
@@ -80,7 +80,7 @@ module OpenApiSDK
|
|
|
80
80
|
# Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
|
|
81
81
|
field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
|
|
82
82
|
# The tags assigned to the short link.
|
|
83
|
-
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::
|
|
83
|
+
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
|
|
84
84
|
# The unique ID of the folder assigned to the short link.
|
|
85
85
|
field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
|
|
86
86
|
# The comments for the short link.
|
|
@@ -118,7 +118,7 @@ module OpenApiSDK
|
|
|
118
118
|
# The total dollar value of sales (in cents) generated by the short link.
|
|
119
119
|
field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
|
120
120
|
|
|
121
|
-
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::
|
|
121
|
+
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LeadEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
|
|
122
122
|
def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, test_started_at: nil, test_completed_at: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
|
|
123
123
|
@id = id
|
|
124
124
|
@domain = domain
|
|
@@ -80,7 +80,7 @@ module OpenApiSDK
|
|
|
80
80
|
# Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
|
|
81
81
|
field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
|
|
82
82
|
# The tags assigned to the short link.
|
|
83
|
-
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::
|
|
83
|
+
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
|
|
84
84
|
# The unique ID of the folder assigned to the short link.
|
|
85
85
|
field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
|
|
86
86
|
# The comments for the short link.
|
|
@@ -118,7 +118,7 @@ module OpenApiSDK
|
|
|
118
118
|
# The total dollar value of sales (in cents) generated by the short link.
|
|
119
119
|
field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
|
120
120
|
|
|
121
|
-
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::
|
|
121
|
+
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::ClickEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
|
|
122
122
|
def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, test_started_at: nil, test_completed_at: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
|
|
123
123
|
@id = id
|
|
124
124
|
@domain = domain
|
|
@@ -80,7 +80,7 @@ module OpenApiSDK
|
|
|
80
80
|
# Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
|
|
81
81
|
field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
|
|
82
82
|
# The tags assigned to the short link.
|
|
83
|
-
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::
|
|
83
|
+
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
|
|
84
84
|
# The unique ID of the folder assigned to the short link.
|
|
85
85
|
field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
|
|
86
86
|
# The comments for the short link.
|
|
@@ -118,7 +118,7 @@ module OpenApiSDK
|
|
|
118
118
|
# The total dollar value of sales (in cents) generated by the short link.
|
|
119
119
|
field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
|
120
120
|
|
|
121
|
-
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::
|
|
121
|
+
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LinkClickedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
|
|
122
122
|
def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, test_started_at: nil, test_completed_at: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
|
|
123
123
|
@id = id
|
|
124
124
|
@domain = domain
|
|
@@ -66,7 +66,7 @@ module OpenApiSDK
|
|
|
66
66
|
# Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
|
|
67
67
|
field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
|
|
68
68
|
# The tags assigned to the short link.
|
|
69
|
-
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::
|
|
69
|
+
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
|
|
70
70
|
# The unique ID of the folder assigned to the short link.
|
|
71
71
|
field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
|
|
72
72
|
# The comments for the short link.
|
|
@@ -118,7 +118,7 @@ module OpenApiSDK
|
|
|
118
118
|
# The total dollar value of sales (in cents) generated by the short link.
|
|
119
119
|
field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
|
120
120
|
|
|
121
|
-
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::
|
|
121
|
+
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), last_clicked: T.nilable(::String), tag_id: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), test_variants: T.nilable(T::Array[Models::Shared::TestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
|
|
122
122
|
def initialize(id:, domain:, key:, url:, webhook_ids:, short_link:, qr_code:, workspace_id:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, last_clicked: nil, tag_id: nil, track_conversion: false, archived: false, proxy: false, rewrite: false, do_index: false, public_stats: false, test_variants: nil, test_started_at: nil, test_completed_at: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
|
|
123
123
|
@id = id
|
|
124
124
|
@domain = domain
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
class OpenApiSDK::Models::Shared::
|
|
5
|
+
class OpenApiSDK::Models::Shared::LinkTagSchema
|
|
6
6
|
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class OpenApiSDK::Models::Shared::
|
|
10
|
+
class OpenApiSDK::Models::Shared::LinkTagSchema
|
|
11
11
|
def id(); end
|
|
12
12
|
def id=(str_); end
|
|
13
13
|
def name(); end
|
|
@@ -80,7 +80,7 @@ module OpenApiSDK
|
|
|
80
80
|
# Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
|
|
81
81
|
field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
|
|
82
82
|
# The tags assigned to the short link.
|
|
83
|
-
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::
|
|
83
|
+
field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
|
|
84
84
|
# The unique ID of the folder assigned to the short link.
|
|
85
85
|
field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
|
|
86
86
|
# The comments for the short link.
|
|
@@ -118,7 +118,7 @@ module OpenApiSDK
|
|
|
118
118
|
# The total dollar value of sales (in cents) generated by the short link.
|
|
119
119
|
field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
|
|
120
120
|
|
|
121
|
-
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::
|
|
121
|
+
sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LinkWebhookEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
|
|
122
122
|
def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, test_started_at: nil, test_completed_at: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
|
|
123
123
|
@id = id
|
|
124
124
|
@domain = domain
|
|
@@ -38,8 +38,10 @@ module OpenApiSDK
|
|
|
38
38
|
# The partner's country (required for tax purposes).
|
|
39
39
|
field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), required: true } }
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
|
|
42
|
+
|
|
43
|
+
sig { params(id: ::String, name: ::String, total_clicks: ::Float, total_leads: ::Float, total_conversions: ::Float, total_sales: ::Float, total_sale_amount: ::Float, total_commissions: ::Float, email: T.nilable(::String), image: T.nilable(::String), payouts_enabled_at: T.nilable(::String), country: T.nilable(::String), group_id: T.nilable(::String)).void }
|
|
44
|
+
def initialize(id:, name:, total_clicks:, total_leads:, total_conversions:, total_sales:, total_sale_amount:, total_commissions:, email: nil, image: nil, payouts_enabled_at: nil, country: nil, group_id: nil)
|
|
43
45
|
@id = id
|
|
44
46
|
@name = name
|
|
45
47
|
@total_clicks = total_clicks
|
|
@@ -52,6 +54,7 @@ module OpenApiSDK
|
|
|
52
54
|
@image = image
|
|
53
55
|
@payouts_enabled_at = payouts_enabled_at
|
|
54
56
|
@country = country
|
|
57
|
+
@group_id = group_id
|
|
55
58
|
end
|
|
56
59
|
|
|
57
60
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -69,6 +72,7 @@ module OpenApiSDK
|
|
|
69
72
|
return false unless @image == other.image
|
|
70
73
|
return false unless @payouts_enabled_at == other.payouts_enabled_at
|
|
71
74
|
return false unless @country == other.country
|
|
75
|
+
return false unless @group_id == other.group_id
|
|
72
76
|
true
|
|
73
77
|
end
|
|
74
78
|
end
|