dub 0.10.5 → 0.12.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 +4 -241
- 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/banpartner_requestbody.rb +41 -0
- data/lib/open_api_sdk/models/operations/banpartner_requestbody.rbi +17 -0
- data/lib/open_api_sdk/models/operations/banpartner_responsebody.rb +33 -0
- data/lib/open_api_sdk/models/operations/banpartner_responsebody.rbi +13 -0
- 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 +52 -24
- data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +24 -10
- data/lib/open_api_sdk/models/operations/listcommissions_partner.rb +6 -2
- data/lib/open_api_sdk/models/operations/listcommissions_partner.rbi +2 -0
- data/lib/open_api_sdk/models/operations/listcommissions_request.rb +6 -2
- data/lib/open_api_sdk/models/operations/listcommissions_request.rbi +2 -0
- data/lib/open_api_sdk/models/operations/listevents_request.rb +6 -2
- data/lib/open_api_sdk/models/operations/listevents_request.rbi +2 -0
- data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortby.rb +11 -6
- 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 +52 -24
- data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +24 -10
- data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +6 -1
- data/lib/open_api_sdk/models/operations/reason.rb +26 -0
- data/lib/open_api_sdk/models/operations/reason.rbi +11 -0
- data/lib/open_api_sdk/models/operations/requestbody.rb +1 -1
- data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +6 -2
- data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rbi +2 -0
- data/lib/open_api_sdk/models/operations/retrievelinks_request.rb +2 -2
- data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb +10 -10
- data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rbi +4 -4
- data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +1 -1
- data/lib/open_api_sdk/models/operations/updatecommission_partner.rb +6 -2
- data/lib/open_api_sdk/models/operations/updatecommission_partner.rbi +2 -0
- 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/operations.rb +3 -6
- data/lib/open_api_sdk/models/shared/analyticstopurls.rb +1 -1
- data/lib/open_api_sdk/models/shared/applicationformdata.rb +37 -0
- data/lib/open_api_sdk/models/shared/applicationformdata.rbi +15 -0
- 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 +15 -11
- data/lib/open_api_sdk/models/shared/leadcreatedevent_link.rbi +6 -4
- data/lib/open_api_sdk/models/shared/leadevent_link.rb +15 -11
- data/lib/open_api_sdk/models/shared/leadevent_link.rbi +6 -4
- data/lib/open_api_sdk/models/shared/link.rb +15 -11
- data/lib/open_api_sdk/models/shared/link.rbi +6 -4
- data/lib/open_api_sdk/models/shared/linkclickedevent_link.rb +15 -11
- data/lib/open_api_sdk/models/shared/linkclickedevent_link.rbi +6 -4
- data/lib/open_api_sdk/models/shared/linkschema.rb +7 -3
- data/lib/open_api_sdk/models/shared/linkschema.rbi +2 -0
- 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 +15 -11
- data/lib/open_api_sdk/models/shared/linkwebhookevent_link.rbi +6 -4
- 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/partnerapplicationsubmittedevent.rb +45 -0
- data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent.rbi +19 -0
- data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_data.rb +45 -0
- data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_data.rbi +19 -0
- data/lib/open_api_sdk/models/{operations/createcustomer_type.rb → shared/partnerapplicationsubmittedevent_event.rb} +3 -4
- data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_event.rbi +11 -0
- data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_partner.rb +89 -0
- data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_partner.rbi +41 -0
- data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_status.rb +28 -0
- data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_status.rbi +11 -0
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +52 -24
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +24 -10
- data/lib/open_api_sdk/models/shared/salecreatedevent_link.rb +15 -11
- data/lib/open_api_sdk/models/shared/salecreatedevent_link.rbi +6 -4
- 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 +15 -11
- data/lib/open_api_sdk/models/shared/saleevent_link.rbi +6 -4
- data/lib/open_api_sdk/models/shared/workspaceschema.rb +10 -2
- data/lib/open_api_sdk/models/shared/workspaceschema.rbi +4 -0
- data/lib/open_api_sdk/models/shared.rb +7 -1
- data/lib/open_api_sdk/partners.rb +241 -6
- 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 +22 -16
- data/lib/open_api_sdk/models/operations/createcustomer_discount.rb +0 -61
- data/lib/open_api_sdk/models/operations/createcustomer_discount.rbi +0 -27
- data/lib/open_api_sdk/models/operations/createcustomer_link.rb +0 -53
- data/lib/open_api_sdk/models/operations/createcustomer_link.rbi +0 -23
- data/lib/open_api_sdk/models/operations/createcustomer_partner.rb +0 -45
- data/lib/open_api_sdk/models/operations/createcustomer_partner.rbi +0 -19
- data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rb +0 -49
- data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rbi +0 -21
- data/lib/open_api_sdk/models/operations/createcustomer_responsebody.rb +0 -81
- data/lib/open_api_sdk/models/operations/createcustomer_responsebody.rbi +0 -37
- data/lib/open_api_sdk/models/operations/createcustomer_type.rbi +0 -11
|
@@ -34,6 +34,8 @@ class OpenApiSDK::Models::Operations::ListPartnersResponseBody
|
|
|
34
34
|
def stripe_connect_id=(str_); end
|
|
35
35
|
def payouts_enabled_at(); end
|
|
36
36
|
def payouts_enabled_at=(str_); end
|
|
37
|
+
def trusted_at(); end
|
|
38
|
+
def trusted_at=(str_); end
|
|
37
39
|
def tenant_id(); end
|
|
38
40
|
def tenant_id=(str_); end
|
|
39
41
|
def links(); end
|
|
@@ -58,18 +60,30 @@ class OpenApiSDK::Models::Operations::ListPartnersResponseBody
|
|
|
58
60
|
def banned_at=(str_); end
|
|
59
61
|
def banned_reason(); end
|
|
60
62
|
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
|
|
63
|
+
def total_clicks(); end
|
|
64
|
+
def total_clicks=(str_); end
|
|
65
|
+
def total_leads(); end
|
|
66
|
+
def total_leads=(str_); end
|
|
67
|
+
def total_conversions(); end
|
|
68
|
+
def total_conversions=(str_); end
|
|
69
|
+
def total_sales(); end
|
|
70
|
+
def total_sales=(str_); end
|
|
71
|
+
def total_sale_amount(); end
|
|
72
|
+
def total_sale_amount=(str_); end
|
|
71
73
|
def net_revenue(); end
|
|
72
74
|
def net_revenue=(str_); end
|
|
75
|
+
def earnings_per_click(); end
|
|
76
|
+
def earnings_per_click=(str_); end
|
|
77
|
+
def average_lifetime_value(); end
|
|
78
|
+
def average_lifetime_value=(str_); end
|
|
79
|
+
def click_to_lead_rate(); end
|
|
80
|
+
def click_to_lead_rate=(str_); end
|
|
81
|
+
def click_to_conversion_rate(); end
|
|
82
|
+
def click_to_conversion_rate=(str_); end
|
|
83
|
+
def lead_to_conversion_rate(); end
|
|
84
|
+
def lead_to_conversion_rate=(str_); end
|
|
85
|
+
def return_on_ad_spend(); end
|
|
86
|
+
def return_on_ad_spend=(str_); end
|
|
73
87
|
def website(); end
|
|
74
88
|
def website=(str_); end
|
|
75
89
|
def youtube(); end
|
|
@@ -26,9 +26,14 @@ 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_BASE_URLS = new('top_base_urls')
|
|
35
|
+
TOP_PARTNERS = new('top_partners')
|
|
36
|
+
TOP_GROUPS = new('top_groups')
|
|
32
37
|
UTM_SOURCES = new('utm_sources')
|
|
33
38
|
UTM_MEDIUMS = new('utm_mediums')
|
|
34
39
|
UTM_CAMPAIGNS = new('utm_campaigns')
|
|
@@ -0,0 +1,26 @@
|
|
|
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 Models
|
|
9
|
+
module Operations
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Reason < T::Enum
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
enums do
|
|
16
|
+
TOS_VIOLATION = new('tos_violation')
|
|
17
|
+
INAPPROPRIATE_CONTENT = new('inappropriate_content')
|
|
18
|
+
FAKE_TRAFFIC = new('fake_traffic')
|
|
19
|
+
FRAUD = new('fraud')
|
|
20
|
+
SPAM = new('spam')
|
|
21
|
+
BRAND_ABUSE = new('brand_abuse')
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -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') } }
|
|
@@ -61,6 +61,8 @@ module OpenApiSDK
|
|
|
61
61
|
field :tag_ids, Crystalline::Nilable.new(Crystalline::Union.new(::String, Crystalline::Array.new(::String))), { 'query_param': { 'field_name': 'tagIds', 'style': 'form', 'explode': true } }
|
|
62
62
|
# The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links.
|
|
63
63
|
field :folder_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'folderId', 'style': 'form', 'explode': true } }
|
|
64
|
+
# The group ID to retrieve analytics for.
|
|
65
|
+
field :group_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'groupId', 'style': 'form', 'explode': true } }
|
|
64
66
|
# Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both.
|
|
65
67
|
field :root, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'query_param': { 'field_name': 'root', 'style': 'form', 'explode': true } }
|
|
66
68
|
# Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both.
|
|
@@ -90,8 +92,8 @@ module OpenApiSDK
|
|
|
90
92
|
# The ref of the short link.
|
|
91
93
|
field :ref, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'ref', 'style': 'form', 'explode': true } }
|
|
92
94
|
|
|
93
|
-
sig { params(domain: T.nilable(::String), key: T.nilable(::String), link_id: T.nilable(::String), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), customer_id: T.nilable(::String), interval: T.nilable(Models::Operations::Interval), start: T.nilable(::String), end_: T.nilable(::String), country: T.nilable(::String), city: T.nilable(::String), region: T.nilable(::String), continent: T.nilable(Models::Shared::ContinentCode), device: T.nilable(::String), browser: T.nilable(::String), os: T.nilable(::String), trigger: T.nilable(Models::Operations::Trigger), referer: T.nilable(::String), referer_url: T.nilable(::String), url: T.nilable(::String), tag_ids: T.nilable(T.any(::String, T::Array[::String])), folder_id: T.nilable(::String), root: T.nilable(T::Boolean), sale_type: T.nilable(Models::Operations::SaleType), query: T.nilable(::String), tag_id: T.nilable(::String), qr: T.nilable(T::Boolean), event: T.nilable(Models::Operations::Event), group_by: T.nilable(Models::Operations::QueryParamGroupBy), timezone: 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), ref: T.nilable(::String)).void }
|
|
94
|
-
def initialize(domain: nil, key: nil, link_id: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, customer_id: nil, interval: nil, start: nil, end_: nil, country: nil, city: nil, region: nil, continent: nil, device: nil, browser: nil, os: nil, trigger: nil, referer: nil, referer_url: nil, url: nil, tag_ids: nil, folder_id: nil, root: nil, sale_type: nil, query: nil, tag_id: nil, qr: nil, event: Models::Operations::Event::CLICKS, group_by: Models::Operations::QueryParamGroupBy::COUNT, timezone: 'UTC', utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil)
|
|
95
|
+
sig { params(domain: T.nilable(::String), key: T.nilable(::String), link_id: T.nilable(::String), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), customer_id: T.nilable(::String), interval: T.nilable(Models::Operations::Interval), start: T.nilable(::String), end_: T.nilable(::String), country: T.nilable(::String), city: T.nilable(::String), region: T.nilable(::String), continent: T.nilable(Models::Shared::ContinentCode), device: T.nilable(::String), browser: T.nilable(::String), os: T.nilable(::String), trigger: T.nilable(Models::Operations::Trigger), referer: T.nilable(::String), referer_url: T.nilable(::String), url: T.nilable(::String), tag_ids: T.nilable(T.any(::String, T::Array[::String])), folder_id: T.nilable(::String), group_id: T.nilable(::String), root: T.nilable(T::Boolean), sale_type: T.nilable(Models::Operations::SaleType), query: T.nilable(::String), tag_id: T.nilable(::String), qr: T.nilable(T::Boolean), event: T.nilable(Models::Operations::Event), group_by: T.nilable(Models::Operations::QueryParamGroupBy), timezone: 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), ref: T.nilable(::String)).void }
|
|
96
|
+
def initialize(domain: nil, key: nil, link_id: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, customer_id: nil, interval: nil, start: nil, end_: nil, country: nil, city: nil, region: nil, continent: nil, device: nil, browser: nil, os: nil, trigger: nil, referer: nil, referer_url: nil, url: nil, tag_ids: nil, folder_id: nil, group_id: nil, root: nil, sale_type: nil, query: nil, tag_id: nil, qr: nil, event: Models::Operations::Event::CLICKS, group_by: Models::Operations::QueryParamGroupBy::COUNT, timezone: 'UTC', utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil)
|
|
95
97
|
@domain = domain
|
|
96
98
|
@key = key
|
|
97
99
|
@link_id = link_id
|
|
@@ -116,6 +118,7 @@ module OpenApiSDK
|
|
|
116
118
|
@url = url
|
|
117
119
|
@tag_ids = tag_ids
|
|
118
120
|
@folder_id = folder_id
|
|
121
|
+
@group_id = group_id
|
|
119
122
|
@root = root
|
|
120
123
|
@sale_type = sale_type
|
|
121
124
|
@query = query
|
|
@@ -159,6 +162,7 @@ module OpenApiSDK
|
|
|
159
162
|
return false unless @url == other.url
|
|
160
163
|
return false unless @tag_ids == other.tag_ids
|
|
161
164
|
return false unless @folder_id == other.folder_id
|
|
165
|
+
return false unless @group_id == other.group_id
|
|
162
166
|
return false unless @root == other.root
|
|
163
167
|
return false unless @sale_type == other.sale_type
|
|
164
168
|
return false unless @query == other.query
|
|
@@ -56,6 +56,8 @@ class OpenApiSDK::Models::Operations::RetrieveAnalyticsRequest
|
|
|
56
56
|
def tag_ids=(str_); end
|
|
57
57
|
def folder_id(); end
|
|
58
58
|
def folder_id=(str_); end
|
|
59
|
+
def group_id(); end
|
|
60
|
+
def group_id=(str_); end
|
|
59
61
|
def root(); end
|
|
60
62
|
def root=(str_); end
|
|
61
63
|
def sale_type(); end
|
|
@@ -13,9 +13,9 @@ module OpenApiSDK
|
|
|
13
13
|
extend T::Sig
|
|
14
14
|
include Crystalline::MetadataFields
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
# The ID of the partner to create a link for. Will take precedence over `tenantId` if provided.
|
|
17
17
|
field :partner_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
|
|
18
|
-
|
|
18
|
+
# The ID of the partner in your system. If both `partnerId` and `tenantId` are not provided, an error will be thrown.
|
|
19
19
|
field :tenant_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'tenantId', 'style': 'form', 'explode': true } }
|
|
20
20
|
|
|
21
21
|
sig { params(partner_id: T.nilable(::String), tenant_id: T.nilable(::String)).void }
|
|
@@ -13,10 +13,6 @@ module OpenApiSDK
|
|
|
13
13
|
extend T::Sig
|
|
14
14
|
include Crystalline::MetadataFields
|
|
15
15
|
|
|
16
|
-
# The ID of the partner to retrieve analytics for.
|
|
17
|
-
field :partner_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
|
|
18
|
-
# The ID of the tenant that created the link inside your system.
|
|
19
|
-
field :tenant_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'tenantId', 'style': 'form', 'explode': true } }
|
|
20
16
|
# The interval to retrieve analytics for. If undefined, defaults to 24h.
|
|
21
17
|
field :interval, Crystalline::Nilable.new(Models::Operations::RetrievePartnerAnalyticsQueryParamInterval), { 'query_param': { 'field_name': 'interval', 'style': 'form', 'explode': true } }
|
|
22
18
|
# The start date and time when to retrieve analytics from. If set, takes precedence over `interval`.
|
|
@@ -25,19 +21,23 @@ module OpenApiSDK
|
|
|
25
21
|
field :end_, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'end', 'style': 'form', 'explode': true } }
|
|
26
22
|
# Search the events by a custom metadata value. Only available for lead and sale events.
|
|
27
23
|
field :query, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'query', 'style': 'form', 'explode': true } }
|
|
24
|
+
# The ID of the partner to create a link for. Will take precedence over `tenantId` if provided.
|
|
25
|
+
field :partner_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
|
|
26
|
+
# The ID of the partner in your system. If both `partnerId` and `tenantId` are not provided, an error will be thrown.
|
|
27
|
+
field :tenant_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'tenantId', 'style': 'form', 'explode': true } }
|
|
28
28
|
# The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.
|
|
29
29
|
field :timezone, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'timezone', 'style': 'form', 'explode': true } }
|
|
30
30
|
# The parameter to group the analytics data points by. Defaults to `count` if undefined.
|
|
31
31
|
field :group_by, Crystalline::Nilable.new(Models::Operations::RetrievePartnerAnalyticsQueryParamGroupBy), { 'query_param': { 'field_name': 'groupBy', 'style': 'form', 'explode': true } }
|
|
32
32
|
|
|
33
|
-
sig { params(
|
|
34
|
-
def initialize(
|
|
35
|
-
@partner_id = partner_id
|
|
36
|
-
@tenant_id = tenant_id
|
|
33
|
+
sig { params(interval: T.nilable(Models::Operations::RetrievePartnerAnalyticsQueryParamInterval), start: T.nilable(::String), end_: T.nilable(::String), query: T.nilable(::String), partner_id: T.nilable(::String), tenant_id: T.nilable(::String), timezone: T.nilable(::String), group_by: T.nilable(Models::Operations::RetrievePartnerAnalyticsQueryParamGroupBy)).void }
|
|
34
|
+
def initialize(interval: nil, start: nil, end_: nil, query: nil, partner_id: nil, tenant_id: nil, timezone: 'UTC', group_by: Models::Operations::RetrievePartnerAnalyticsQueryParamGroupBy::COUNT)
|
|
37
35
|
@interval = interval
|
|
38
36
|
@start = start
|
|
39
37
|
@end_ = end_
|
|
40
38
|
@query = query
|
|
39
|
+
@partner_id = partner_id
|
|
40
|
+
@tenant_id = tenant_id
|
|
41
41
|
@timezone = timezone
|
|
42
42
|
@group_by = group_by
|
|
43
43
|
end
|
|
@@ -45,12 +45,12 @@ module OpenApiSDK
|
|
|
45
45
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
46
46
|
def ==(other)
|
|
47
47
|
return false unless other.is_a? self.class
|
|
48
|
-
return false unless @partner_id == other.partner_id
|
|
49
|
-
return false unless @tenant_id == other.tenant_id
|
|
50
48
|
return false unless @interval == other.interval
|
|
51
49
|
return false unless @start == other.start
|
|
52
50
|
return false unless @end_ == other.end_
|
|
53
51
|
return false unless @query == other.query
|
|
52
|
+
return false unless @partner_id == other.partner_id
|
|
53
|
+
return false unless @tenant_id == other.tenant_id
|
|
54
54
|
return false unless @timezone == other.timezone
|
|
55
55
|
return false unless @group_by == other.group_by
|
|
56
56
|
true
|
|
@@ -8,10 +8,6 @@ end
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class OpenApiSDK::Models::Operations::RetrievePartnerAnalyticsRequest
|
|
11
|
-
def partner_id(); end
|
|
12
|
-
def partner_id=(str_); end
|
|
13
|
-
def tenant_id(); end
|
|
14
|
-
def tenant_id=(str_); end
|
|
15
11
|
def interval(); end
|
|
16
12
|
def interval=(str_); end
|
|
17
13
|
def start(); end
|
|
@@ -20,6 +16,10 @@ class OpenApiSDK::Models::Operations::RetrievePartnerAnalyticsRequest
|
|
|
20
16
|
def end_=(str_); end
|
|
21
17
|
def query(); end
|
|
22
18
|
def query=(str_); end
|
|
19
|
+
def partner_id(); end
|
|
20
|
+
def partner_id=(str_); end
|
|
21
|
+
def tenant_id(); end
|
|
22
|
+
def tenant_id=(str_); end
|
|
23
23
|
def timezone(); end
|
|
24
24
|
def timezone=(str_); end
|
|
25
25
|
def group_by(); end
|
|
@@ -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 } }
|
|
@@ -25,15 +25,18 @@ module OpenApiSDK
|
|
|
25
25
|
field :payouts_enabled_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('payoutsEnabledAt'), required: true } }
|
|
26
26
|
# The partner's country (required for tax purposes).
|
|
27
27
|
field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), required: true } }
|
|
28
|
+
# The partner's group ID on Dub.
|
|
29
|
+
field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
|
|
28
30
|
|
|
29
|
-
sig { params(id: ::String, name: ::String, email: T.nilable(::String), image: T.nilable(::String), payouts_enabled_at: T.nilable(::String), country: T.nilable(::String)).void }
|
|
30
|
-
def initialize(id:, name:, email: nil, image: nil, payouts_enabled_at: nil, country: nil)
|
|
31
|
+
sig { params(id: ::String, name: ::String, email: T.nilable(::String), image: T.nilable(::String), payouts_enabled_at: T.nilable(::String), country: T.nilable(::String), group_id: T.nilable(::String)).void }
|
|
32
|
+
def initialize(id:, name:, email: nil, image: nil, payouts_enabled_at: nil, country: nil, group_id: nil)
|
|
31
33
|
@id = id
|
|
32
34
|
@name = name
|
|
33
35
|
@email = email
|
|
34
36
|
@image = image
|
|
35
37
|
@payouts_enabled_at = payouts_enabled_at
|
|
36
38
|
@country = country
|
|
39
|
+
@group_id = group_id
|
|
37
40
|
end
|
|
38
41
|
|
|
39
42
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -45,6 +48,7 @@ module OpenApiSDK
|
|
|
45
48
|
return false unless @image == other.image
|
|
46
49
|
return false unless @payouts_enabled_at == other.payouts_enabled_at
|
|
47
50
|
return false unless @country == other.country
|
|
51
|
+
return false unless @group_id == other.group_id
|
|
48
52
|
true
|
|
49
53
|
end
|
|
50
54
|
end
|
|
@@ -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') } }
|
|
@@ -12,6 +12,8 @@ module OpenApiSDK
|
|
|
12
12
|
autoload :Four, 'open_api_sdk/models/operations/four.rb'
|
|
13
13
|
autoload :Link, 'open_api_sdk/models/operations/link.rb'
|
|
14
14
|
autoload :AccessLevel, 'open_api_sdk/models/operations/accesslevel.rb'
|
|
15
|
+
autoload :BanPartnerRequestBody, 'open_api_sdk/models/operations/banpartner_requestbody.rb'
|
|
16
|
+
autoload :BanPartnerResponseBody, 'open_api_sdk/models/operations/banpartner_responsebody.rb'
|
|
15
17
|
autoload :BannedReason, 'open_api_sdk/models/operations/bannedreason.rb'
|
|
16
18
|
autoload :BulkCreateLinksTagIds, 'open_api_sdk/models/operations/bulkcreatelinks_tagids.rb'
|
|
17
19
|
autoload :BulkCreateLinksTagNames, 'open_api_sdk/models/operations/bulkcreatelinks_tagnames.rb'
|
|
@@ -26,12 +28,6 @@ module OpenApiSDK
|
|
|
26
28
|
autoload :CheckDomainStatusResponseBody, 'open_api_sdk/models/operations/checkdomainstatus_responsebody.rb'
|
|
27
29
|
autoload :Click, 'open_api_sdk/models/operations/click.rb'
|
|
28
30
|
autoload :Color, 'open_api_sdk/models/operations/color.rb'
|
|
29
|
-
autoload :CreateCustomerLink, 'open_api_sdk/models/operations/createcustomer_link.rb'
|
|
30
|
-
autoload :CreateCustomerDiscount, 'open_api_sdk/models/operations/createcustomer_discount.rb'
|
|
31
|
-
autoload :CreateCustomerPartner, 'open_api_sdk/models/operations/createcustomer_partner.rb'
|
|
32
|
-
autoload :CreateCustomerRequestBody, 'open_api_sdk/models/operations/createcustomer_requestbody.rb'
|
|
33
|
-
autoload :CreateCustomerResponseBody, 'open_api_sdk/models/operations/createcustomer_responsebody.rb'
|
|
34
|
-
autoload :CreateCustomerType, 'open_api_sdk/models/operations/createcustomer_type.rb'
|
|
35
31
|
autoload :CreateDomainRequestBody, 'open_api_sdk/models/operations/createdomain_requestbody.rb'
|
|
36
32
|
autoload :CreateFolderRequestBody, 'open_api_sdk/models/operations/createfolder_requestbody.rb'
|
|
37
33
|
autoload :CreateLinkRequestBody, 'open_api_sdk/models/operations/createlink_requestbody.rb'
|
|
@@ -135,6 +131,7 @@ module OpenApiSDK
|
|
|
135
131
|
autoload :QueryParamTagIds, 'open_api_sdk/models/operations/queryparam_tagids.rb'
|
|
136
132
|
autoload :QueryParamTagNames, 'open_api_sdk/models/operations/queryparam_tagnames.rb'
|
|
137
133
|
autoload :QueryParamTrigger, 'open_api_sdk/models/operations/queryparam_trigger.rb'
|
|
134
|
+
autoload :Reason, 'open_api_sdk/models/operations/reason.rb'
|
|
138
135
|
autoload :RegisterDomainRequestBody, 'open_api_sdk/models/operations/registerdomain_requestbody.rb'
|
|
139
136
|
autoload :RegisterDomainResponseBody, 'open_api_sdk/models/operations/registerdomain_responsebody.rb'
|
|
140
137
|
autoload :RequestBody, 'open_api_sdk/models/operations/requestbody.rb'
|
|
@@ -13,7 +13,7 @@ module OpenApiSDK
|
|
|
13
13
|
extend T::Sig
|
|
14
14
|
include Crystalline::MetadataFields
|
|
15
15
|
|
|
16
|
-
# The destination URL
|
|
16
|
+
# The full destination URL (including query parameters)
|
|
17
17
|
field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url'), required: true } }
|
|
18
18
|
# The number of clicks from this URL
|
|
19
19
|
field :clicks, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clicks') } }
|
|
@@ -0,0 +1,37 @@
|
|
|
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 Models
|
|
9
|
+
module Shared
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ApplicationFormData
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
field :label, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('label'), required: true } }
|
|
18
|
+
|
|
19
|
+
field :value, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('value'), required: true } }
|
|
20
|
+
|
|
21
|
+
sig { params(label: ::String, value: T.nilable(::String)).void }
|
|
22
|
+
def initialize(label:, value: nil)
|
|
23
|
+
@label = label
|
|
24
|
+
@value = value
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
28
|
+
def ==(other)
|
|
29
|
+
return false unless other.is_a? self.class
|
|
30
|
+
return false unless @label == other.label
|
|
31
|
+
return false unless @value == other.value
|
|
32
|
+
true
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class OpenApiSDK::Models::Shared::ApplicationFormData
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class OpenApiSDK::Models::Shared::ApplicationFormData
|
|
11
|
+
def label(); end
|
|
12
|
+
def label=(str_); end
|
|
13
|
+
def value(); end
|
|
14
|
+
def value=(str_); end
|
|
15
|
+
end
|
|
@@ -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
|