dub 0.11.0 → 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.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/lib/open_api_sdk/customers.rb +0 -237
  3. data/lib/open_api_sdk/models/operations/banpartner_requestbody.rb +41 -0
  4. data/lib/open_api_sdk/models/operations/banpartner_requestbody.rbi +17 -0
  5. data/lib/open_api_sdk/models/operations/banpartner_responsebody.rb +33 -0
  6. data/lib/open_api_sdk/models/operations/banpartner_responsebody.rbi +13 -0
  7. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +32 -4
  8. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +14 -0
  9. data/lib/open_api_sdk/models/operations/listcommissions_partner.rb +6 -2
  10. data/lib/open_api_sdk/models/operations/listcommissions_partner.rbi +2 -0
  11. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +6 -2
  12. data/lib/open_api_sdk/models/operations/listcommissions_request.rbi +2 -0
  13. data/lib/open_api_sdk/models/operations/listevents_request.rb +6 -2
  14. data/lib/open_api_sdk/models/operations/listevents_request.rbi +2 -0
  15. data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortby.rb +7 -0
  16. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +32 -4
  17. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +14 -0
  18. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +2 -0
  19. data/lib/open_api_sdk/models/operations/reason.rb +26 -0
  20. data/lib/open_api_sdk/models/operations/reason.rbi +11 -0
  21. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +6 -2
  22. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rbi +2 -0
  23. data/lib/open_api_sdk/models/operations/retrievelinks_request.rb +2 -2
  24. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb +10 -10
  25. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rbi +4 -4
  26. data/lib/open_api_sdk/models/operations/updatecommission_partner.rb +6 -2
  27. data/lib/open_api_sdk/models/operations/updatecommission_partner.rbi +2 -0
  28. data/lib/open_api_sdk/models/operations.rb +3 -6
  29. data/lib/open_api_sdk/models/shared/analyticstopurls.rb +1 -1
  30. data/lib/open_api_sdk/models/shared/applicationformdata.rb +37 -0
  31. data/lib/open_api_sdk/models/shared/applicationformdata.rbi +15 -0
  32. data/lib/open_api_sdk/models/shared/leadcreatedevent_link.rb +14 -10
  33. data/lib/open_api_sdk/models/shared/leadcreatedevent_link.rbi +6 -4
  34. data/lib/open_api_sdk/models/shared/leadevent_link.rb +14 -10
  35. data/lib/open_api_sdk/models/shared/leadevent_link.rbi +6 -4
  36. data/lib/open_api_sdk/models/shared/link.rb +14 -10
  37. data/lib/open_api_sdk/models/shared/link.rbi +6 -4
  38. data/lib/open_api_sdk/models/shared/linkclickedevent_link.rb +14 -10
  39. data/lib/open_api_sdk/models/shared/linkclickedevent_link.rbi +6 -4
  40. data/lib/open_api_sdk/models/shared/linkschema.rb +6 -2
  41. data/lib/open_api_sdk/models/shared/linkschema.rbi +2 -0
  42. data/lib/open_api_sdk/models/shared/linkwebhookevent_link.rb +14 -10
  43. data/lib/open_api_sdk/models/shared/linkwebhookevent_link.rbi +6 -4
  44. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent.rb +45 -0
  45. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent.rbi +19 -0
  46. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_data.rb +45 -0
  47. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_data.rbi +19 -0
  48. data/lib/open_api_sdk/models/{operations/createcustomer_type.rb → shared/partnerapplicationsubmittedevent_event.rb} +3 -4
  49. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_event.rbi +11 -0
  50. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_partner.rb +89 -0
  51. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_partner.rbi +41 -0
  52. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_status.rb +28 -0
  53. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_status.rbi +11 -0
  54. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +32 -4
  55. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +14 -0
  56. data/lib/open_api_sdk/models/shared/salecreatedevent_link.rb +14 -10
  57. data/lib/open_api_sdk/models/shared/salecreatedevent_link.rbi +6 -4
  58. data/lib/open_api_sdk/models/shared/saleevent_link.rb +14 -10
  59. data/lib/open_api_sdk/models/shared/saleevent_link.rbi +6 -4
  60. data/lib/open_api_sdk/models/shared/workspaceschema.rb +6 -2
  61. data/lib/open_api_sdk/models/shared/workspaceschema.rbi +2 -0
  62. data/lib/open_api_sdk/models/shared.rb +6 -0
  63. data/lib/open_api_sdk/partners.rb +235 -0
  64. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  65. metadata +20 -14
  66. data/lib/open_api_sdk/models/operations/createcustomer_discount.rb +0 -61
  67. data/lib/open_api_sdk/models/operations/createcustomer_discount.rbi +0 -27
  68. data/lib/open_api_sdk/models/operations/createcustomer_link.rb +0 -53
  69. data/lib/open_api_sdk/models/operations/createcustomer_link.rbi +0 -23
  70. data/lib/open_api_sdk/models/operations/createcustomer_partner.rb +0 -45
  71. data/lib/open_api_sdk/models/operations/createcustomer_partner.rbi +0 -19
  72. data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rb +0 -49
  73. data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rbi +0 -21
  74. data/lib/open_api_sdk/models/operations/createcustomer_responsebody.rb +0 -81
  75. data/lib/open_api_sdk/models/operations/createcustomer_responsebody.rbi +0 -37
  76. data/lib/open_api_sdk/models/operations/createcustomer_type.rbi +0 -11
@@ -0,0 +1,45 @@
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 PartnerApplicationSubmittedEventData
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
18
+
19
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt'), required: true } }
20
+
21
+ field :partner, Models::Shared::PartnerApplicationSubmittedEventPartner, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partner'), required: true } }
22
+
23
+ field :application_form_data, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::ApplicationFormData)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('applicationFormData'), required: true } }
24
+
25
+ sig { params(id: ::String, created_at: ::String, partner: Models::Shared::PartnerApplicationSubmittedEventPartner, application_form_data: T.nilable(T::Array[Models::Shared::ApplicationFormData])).void }
26
+ def initialize(id:, created_at:, partner:, application_form_data: nil)
27
+ @id = id
28
+ @created_at = created_at
29
+ @partner = partner
30
+ @application_form_data = application_form_data
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @id == other.id
37
+ return false unless @created_at == other.created_at
38
+ return false unless @partner == other.partner
39
+ return false unless @application_form_data == other.application_form_data
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEventData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEventData
11
+ def id(); end
12
+ def id=(str_); end
13
+ def created_at(); end
14
+ def created_at=(str_); end
15
+ def partner(); end
16
+ def partner=(str_); end
17
+ def application_form_data(); end
18
+ def application_form_data=(str_); end
19
+ end
@@ -6,15 +6,14 @@
6
6
 
7
7
  module OpenApiSDK
8
8
  module Models
9
- module Operations
9
+ module Shared
10
10
 
11
11
 
12
- class CreateCustomerType < T::Enum
12
+ class PartnerApplicationSubmittedEventEvent < T::Enum
13
13
 
14
14
 
15
15
  enums do
16
- PERCENTAGE = new('percentage')
17
- FLAT = new('flat')
16
+ PARTNER_APPLICATION_SUBMITTED = new('partner.application_submitted')
18
17
  end
19
18
  end
20
19
  end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEventEvent
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEventEvent
11
+ end
@@ -0,0 +1,89 @@
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 PartnerApplicationSubmittedEventPartner
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The partner's unique ID on Dub.
17
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
18
+ # The partner's full legal name.
19
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name'), required: true } }
20
+ # The status of the partner's enrollment in the program.
21
+ field :status, Models::Shared::PartnerApplicationSubmittedEventStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::PartnerApplicationSubmittedEventStatus, false) } }
22
+ # If the partner profile type is a company, this is the partner's legal company name.
23
+ field :company_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('companyName'), required: true } }
24
+ # The partner's email address. Should be a unique value across Dub.
25
+ field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email'), required: true } }
26
+ # The partner's avatar image.
27
+ field :image, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image'), required: true } }
28
+ # The partner's country (required for tax purposes).
29
+ field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), required: true } }
30
+ # A brief description of the partner and their background.
31
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
32
+ # The partner's group ID on Dub.
33
+ field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
34
+ # The partner's website URL (including the https protocol).
35
+ field :website, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('website') } }
36
+ # The partner's YouTube channel username (e.g. `johndoe`).
37
+ field :youtube, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtube') } }
38
+ # The partner's Twitter username (e.g. `johndoe`).
39
+ field :twitter, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('twitter') } }
40
+ # The partner's LinkedIn username (e.g. `johndoe`).
41
+ field :linkedin, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkedin') } }
42
+ # The partner's Instagram username (e.g. `johndoe`).
43
+ field :instagram, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('instagram') } }
44
+ # The partner's TikTok username (e.g. `johndoe`).
45
+ field :tiktok, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
46
+
47
+ sig { params(id: ::String, name: ::String, status: Models::Shared::PartnerApplicationSubmittedEventStatus, company_name: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), description: T.nilable(::String), group_id: T.nilable(::String), 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 }
48
+ def initialize(id:, name:, status:, company_name: nil, email: nil, image: nil, country: nil, description: nil, group_id: nil, website: nil, youtube: nil, twitter: nil, linkedin: nil, instagram: nil, tiktok: nil)
49
+ @id = id
50
+ @name = name
51
+ @status = status
52
+ @company_name = company_name
53
+ @email = email
54
+ @image = image
55
+ @country = country
56
+ @description = description
57
+ @group_id = group_id
58
+ @website = website
59
+ @youtube = youtube
60
+ @twitter = twitter
61
+ @linkedin = linkedin
62
+ @instagram = instagram
63
+ @tiktok = tiktok
64
+ end
65
+
66
+ sig { params(other: T.untyped).returns(T::Boolean) }
67
+ def ==(other)
68
+ return false unless other.is_a? self.class
69
+ return false unless @id == other.id
70
+ return false unless @name == other.name
71
+ return false unless @status == other.status
72
+ return false unless @company_name == other.company_name
73
+ return false unless @email == other.email
74
+ return false unless @image == other.image
75
+ return false unless @country == other.country
76
+ return false unless @description == other.description
77
+ return false unless @group_id == other.group_id
78
+ return false unless @website == other.website
79
+ return false unless @youtube == other.youtube
80
+ return false unless @twitter == other.twitter
81
+ return false unless @linkedin == other.linkedin
82
+ return false unless @instagram == other.instagram
83
+ return false unless @tiktok == other.tiktok
84
+ true
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,41 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEventPartner
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEventPartner
11
+ def id(); end
12
+ def id=(str_); end
13
+ def name(); end
14
+ def name=(str_); end
15
+ def status(); end
16
+ def status=(str_); end
17
+ def company_name(); end
18
+ def company_name=(str_); end
19
+ def email(); end
20
+ def email=(str_); end
21
+ def image(); end
22
+ def image=(str_); end
23
+ def country(); end
24
+ def country=(str_); end
25
+ def description(); end
26
+ def description=(str_); end
27
+ def group_id(); end
28
+ def group_id=(str_); end
29
+ def website(); end
30
+ def website=(str_); end
31
+ def youtube(); end
32
+ def youtube=(str_); end
33
+ def twitter(); end
34
+ def twitter=(str_); end
35
+ def linkedin(); end
36
+ def linkedin=(str_); end
37
+ def instagram(); end
38
+ def instagram=(str_); end
39
+ def tiktok(); end
40
+ def tiktok=(str_); end
41
+ end
@@ -0,0 +1,28 @@
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
+ # PartnerApplicationSubmittedEventStatus - The status of the partner's enrollment in the program.
12
+ class PartnerApplicationSubmittedEventStatus < T::Enum
13
+
14
+
15
+ enums do
16
+ PENDING = new('pending')
17
+ APPROVED = new('approved')
18
+ REJECTED = new('rejected')
19
+ INVITED = new('invited')
20
+ DECLINED = new('declined')
21
+ DEACTIVATED = new('deactivated')
22
+ BANNED = new('banned')
23
+ ARCHIVED = new('archived')
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEventStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEventStatus
11
+ end
@@ -39,6 +39,8 @@ module OpenApiSDK
39
39
  field :stripe_connect_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('stripeConnectId'), required: true } }
40
40
  # The date when the partner enabled payouts.
41
41
  field :payouts_enabled_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('payoutsEnabledAt'), required: true } }
42
+ # The date when the partner received the trusted badge in the partner network.
43
+ field :trusted_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trustedAt'), required: true } }
42
44
  # The partner's unique ID within your database. Can be useful for associating the partner with a user in your database and retrieving/update their data in the future.
43
45
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId'), required: true } }
44
46
  # The partner's referral links in this program.
@@ -71,10 +73,22 @@ module OpenApiSDK
71
73
  field :total_conversions, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalConversions') } }
72
74
  # The total number of sales generated by the partner's links (includes recurring sales)
73
75
  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
76
+ # Total revenue generated by the partner's links
75
77
  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
78
+ # Net revenue after commissions (`Total Revenue - Total Commissions`)
77
79
  field :net_revenue, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('netRevenue') } }
80
+ # Earnings Per Click (EPC) (`Total Revenue ÷ Total Clicks`)
81
+ field :earnings_per_click, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('earningsPerClick') } }
82
+ # Average lifetime value for each paying customer (`Total Revenue ÷ Total Conversions`)
83
+ field :average_lifetime_value, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('averageLifetimeValue') } }
84
+ # Percentage of clicks that become leads (`Total Leads ÷ Total Clicks`)
85
+ field :click_to_lead_rate, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clickToLeadRate') } }
86
+ # Percentage of clicks that convert to paying customers (`Total Conversions ÷ Total Clicks`)
87
+ field :click_to_conversion_rate, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clickToConversionRate') } }
88
+ # Percentage of leads that convert to paying customers (`Total Conversions ÷ Total Leads`)
89
+ field :lead_to_conversion_rate, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leadToConversionRate') } }
90
+ # Return On Ad Spend (ROAS) (`Total Revenue ÷ Total Commissions`)
91
+ field :return_on_ad_spend, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('returnOnAdSpend') } }
78
92
  # The partner's website URL (including the https protocol).
79
93
  field :website, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('website') } }
80
94
  # The partner's YouTube channel username (e.g. `johndoe`).
@@ -88,8 +102,8 @@ module OpenApiSDK
88
102
  # The partner's TikTok username (e.g. `johndoe`).
89
103
  field :tiktok, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
90
104
 
91
- sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Shared::Status, 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::Shared::PartnerEnrolledEventLink]), 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::Shared::BannedReason), 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)
105
+ sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Shared::Status, 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), trusted_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Shared::PartnerEnrolledEventLink]), 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::Shared::BannedReason), 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), earnings_per_click: T.nilable(::Float), average_lifetime_value: T.nilable(::Float), click_to_lead_rate: T.nilable(::Float), click_to_conversion_rate: T.nilable(::Float), lead_to_conversion_rate: T.nilable(::Float), return_on_ad_spend: 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 }
106
+ 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, trusted_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, earnings_per_click: nil, average_lifetime_value: nil, click_to_lead_rate: nil, click_to_conversion_rate: nil, lead_to_conversion_rate: nil, return_on_ad_spend: nil, website: nil, youtube: nil, twitter: nil, linkedin: nil, instagram: nil, tiktok: nil)
93
107
  @id = id
94
108
  @name = name
95
109
  @program_id = program_id
@@ -103,6 +117,7 @@ module OpenApiSDK
103
117
  @paypal_email = paypal_email
104
118
  @stripe_connect_id = stripe_connect_id
105
119
  @payouts_enabled_at = payouts_enabled_at
120
+ @trusted_at = trusted_at
106
121
  @tenant_id = tenant_id
107
122
  @links = links
108
123
  @description = description
@@ -121,6 +136,12 @@ module OpenApiSDK
121
136
  @total_sales = total_sales
122
137
  @total_sale_amount = total_sale_amount
123
138
  @net_revenue = net_revenue
139
+ @earnings_per_click = earnings_per_click
140
+ @average_lifetime_value = average_lifetime_value
141
+ @click_to_lead_rate = click_to_lead_rate
142
+ @click_to_conversion_rate = click_to_conversion_rate
143
+ @lead_to_conversion_rate = lead_to_conversion_rate
144
+ @return_on_ad_spend = return_on_ad_spend
124
145
  @website = website
125
146
  @youtube = youtube
126
147
  @twitter = twitter
@@ -145,6 +166,7 @@ module OpenApiSDK
145
166
  return false unless @paypal_email == other.paypal_email
146
167
  return false unless @stripe_connect_id == other.stripe_connect_id
147
168
  return false unless @payouts_enabled_at == other.payouts_enabled_at
169
+ return false unless @trusted_at == other.trusted_at
148
170
  return false unless @tenant_id == other.tenant_id
149
171
  return false unless @links == other.links
150
172
  return false unless @description == other.description
@@ -163,6 +185,12 @@ module OpenApiSDK
163
185
  return false unless @total_sales == other.total_sales
164
186
  return false unless @total_sale_amount == other.total_sale_amount
165
187
  return false unless @net_revenue == other.net_revenue
188
+ return false unless @earnings_per_click == other.earnings_per_click
189
+ return false unless @average_lifetime_value == other.average_lifetime_value
190
+ return false unless @click_to_lead_rate == other.click_to_lead_rate
191
+ return false unless @click_to_conversion_rate == other.click_to_conversion_rate
192
+ return false unless @lead_to_conversion_rate == other.lead_to_conversion_rate
193
+ return false unless @return_on_ad_spend == other.return_on_ad_spend
166
194
  return false unless @website == other.website
167
195
  return false unless @youtube == other.youtube
168
196
  return false unless @twitter == other.twitter
@@ -34,6 +34,8 @@ class OpenApiSDK::Models::Shared::PartnerEnrolledEventData
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
@@ -70,6 +72,18 @@ class OpenApiSDK::Models::Shared::PartnerEnrolledEventData
70
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
@@ -28,6 +28,8 @@ module OpenApiSDK
28
28
 
29
29
  field :expires_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt'), required: true } }
30
30
 
31
+ field :disabled_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('disabledAt'), required: true } }
32
+
31
33
  field :proxy, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('proxy'), required: true } }
32
34
 
33
35
  field :rewrite, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite'), required: true } }
@@ -41,6 +43,10 @@ module OpenApiSDK
41
43
  field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink'), required: true } }
42
44
  # The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`).
43
45
  field :qr_code, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('qrCode'), required: true } }
46
+
47
+ field :test_started_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testStartedAt'), required: true } }
48
+
49
+ field :test_completed_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testCompletedAt'), required: true } }
44
50
  # The workspace ID of the short link.
45
51
  field :workspace_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('workspaceId'), required: true } }
46
52
 
@@ -96,10 +102,6 @@ module OpenApiSDK
96
102
  # The UTM content of the short link.
97
103
  field :utm_content, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_content'), required: true } }
98
104
 
99
- field :test_started_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testStartedAt'), required: true } }
100
-
101
- field :test_completed_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testCompletedAt'), required: true } }
102
-
103
105
  field :user_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('userId'), required: true } }
104
106
  # Deprecated: Use `tags` instead. The unique ID of the tag assigned to the short link.
105
107
  #
@@ -118,8 +120,8 @@ module OpenApiSDK
118
120
  # The total dollar value of sales (in cents) generated by the short link.
119
121
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
120
122
 
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::SaleCreatedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
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
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_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, test_started_at: ::String, test_completed_at: ::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), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::SaleCreatedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
124
+ def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, test_started_at:, test_completed_at:, 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, 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
125
  @id = id
124
126
  @domain = domain
125
127
  @key = key
@@ -127,6 +129,7 @@ module OpenApiSDK
127
129
  @track_conversion = track_conversion
128
130
  @archived = archived
129
131
  @expires_at = expires_at
132
+ @disabled_at = disabled_at
130
133
  @proxy = proxy
131
134
  @rewrite = rewrite
132
135
  @do_index = do_index
@@ -134,6 +137,8 @@ module OpenApiSDK
134
137
  @webhook_ids = webhook_ids
135
138
  @short_link = short_link
136
139
  @qr_code = qr_code
140
+ @test_started_at = test_started_at
141
+ @test_completed_at = test_completed_at
137
142
  @workspace_id = workspace_id
138
143
  @last_clicked = last_clicked
139
144
  @created_at = created_at
@@ -160,8 +165,6 @@ module OpenApiSDK
160
165
  @utm_campaign = utm_campaign
161
166
  @utm_term = utm_term
162
167
  @utm_content = utm_content
163
- @test_started_at = test_started_at
164
- @test_completed_at = test_completed_at
165
168
  @user_id = user_id
166
169
  @tag_id = tag_id
167
170
  @test_variants = test_variants
@@ -182,6 +185,7 @@ module OpenApiSDK
182
185
  return false unless @track_conversion == other.track_conversion
183
186
  return false unless @archived == other.archived
184
187
  return false unless @expires_at == other.expires_at
188
+ return false unless @disabled_at == other.disabled_at
185
189
  return false unless @proxy == other.proxy
186
190
  return false unless @rewrite == other.rewrite
187
191
  return false unless @do_index == other.do_index
@@ -189,6 +193,8 @@ module OpenApiSDK
189
193
  return false unless @webhook_ids == other.webhook_ids
190
194
  return false unless @short_link == other.short_link
191
195
  return false unless @qr_code == other.qr_code
196
+ return false unless @test_started_at == other.test_started_at
197
+ return false unless @test_completed_at == other.test_completed_at
192
198
  return false unless @workspace_id == other.workspace_id
193
199
  return false unless @last_clicked == other.last_clicked
194
200
  return false unless @created_at == other.created_at
@@ -215,8 +221,6 @@ module OpenApiSDK
215
221
  return false unless @utm_campaign == other.utm_campaign
216
222
  return false unless @utm_term == other.utm_term
217
223
  return false unless @utm_content == other.utm_content
218
- return false unless @test_started_at == other.test_started_at
219
- return false unless @test_completed_at == other.test_completed_at
220
224
  return false unless @user_id == other.user_id
221
225
  return false unless @tag_id == other.tag_id
222
226
  return false unless @test_variants == other.test_variants
@@ -22,6 +22,8 @@ class OpenApiSDK::Models::Shared::SaleCreatedEventLink
22
22
  def archived=(str_); end
23
23
  def expires_at(); end
24
24
  def expires_at=(str_); end
25
+ def disabled_at(); end
26
+ def disabled_at=(str_); end
25
27
  def proxy(); end
26
28
  def proxy=(str_); end
27
29
  def rewrite(); end
@@ -36,6 +38,10 @@ class OpenApiSDK::Models::Shared::SaleCreatedEventLink
36
38
  def short_link=(str_); end
37
39
  def qr_code(); end
38
40
  def qr_code=(str_); end
41
+ def test_started_at(); end
42
+ def test_started_at=(str_); end
43
+ def test_completed_at(); end
44
+ def test_completed_at=(str_); end
39
45
  def workspace_id(); end
40
46
  def workspace_id=(str_); end
41
47
  def last_clicked(); end
@@ -88,10 +94,6 @@ class OpenApiSDK::Models::Shared::SaleCreatedEventLink
88
94
  def utm_term=(str_); end
89
95
  def utm_content(); end
90
96
  def utm_content=(str_); end
91
- def test_started_at(); end
92
- def test_started_at=(str_); end
93
- def test_completed_at(); end
94
- def test_completed_at=(str_); end
95
97
  def user_id(); end
96
98
  def user_id=(str_); end
97
99
  def tag_id(); end
@@ -28,6 +28,8 @@ module OpenApiSDK
28
28
 
29
29
  field :expires_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt'), required: true } }
30
30
 
31
+ field :disabled_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('disabledAt'), required: true } }
32
+
31
33
  field :proxy, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('proxy'), required: true } }
32
34
 
33
35
  field :rewrite, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite'), required: true } }
@@ -41,6 +43,10 @@ module OpenApiSDK
41
43
  field :short_link, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('shortLink'), required: true } }
42
44
  # The full URL of the QR code for the short link (e.g. `https://api.dub.co/qr?url=https://dub.sh/try`).
43
45
  field :qr_code, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('qrCode'), required: true } }
46
+
47
+ field :test_started_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testStartedAt'), required: true } }
48
+
49
+ field :test_completed_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testCompletedAt'), required: true } }
44
50
  # The workspace ID of the short link.
45
51
  field :workspace_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('workspaceId'), required: true } }
46
52
 
@@ -96,10 +102,6 @@ module OpenApiSDK
96
102
  # The UTM content of the short link.
97
103
  field :utm_content, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('utm_content'), required: true } }
98
104
 
99
- field :test_started_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testStartedAt'), required: true } }
100
-
101
- field :test_completed_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('testCompletedAt'), required: true } }
102
-
103
105
  field :user_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('userId'), required: true } }
104
106
  # Deprecated: Use `tags` instead. The unique ID of the tag assigned to the short link.
105
107
  #
@@ -118,8 +120,8 @@ module OpenApiSDK
118
120
  # The total dollar value of sales (in cents) generated by the short link.
119
121
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
120
122
 
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::SaleEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
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
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, disabled_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, test_started_at: ::String, test_completed_at: ::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), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::SaleEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
124
+ def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, disabled_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, test_started_at:, test_completed_at:, 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, 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
125
  @id = id
124
126
  @domain = domain
125
127
  @key = key
@@ -127,6 +129,7 @@ module OpenApiSDK
127
129
  @track_conversion = track_conversion
128
130
  @archived = archived
129
131
  @expires_at = expires_at
132
+ @disabled_at = disabled_at
130
133
  @proxy = proxy
131
134
  @rewrite = rewrite
132
135
  @do_index = do_index
@@ -134,6 +137,8 @@ module OpenApiSDK
134
137
  @webhook_ids = webhook_ids
135
138
  @short_link = short_link
136
139
  @qr_code = qr_code
140
+ @test_started_at = test_started_at
141
+ @test_completed_at = test_completed_at
137
142
  @workspace_id = workspace_id
138
143
  @last_clicked = last_clicked
139
144
  @created_at = created_at
@@ -160,8 +165,6 @@ module OpenApiSDK
160
165
  @utm_campaign = utm_campaign
161
166
  @utm_term = utm_term
162
167
  @utm_content = utm_content
163
- @test_started_at = test_started_at
164
- @test_completed_at = test_completed_at
165
168
  @user_id = user_id
166
169
  @tag_id = tag_id
167
170
  @test_variants = test_variants
@@ -182,6 +185,7 @@ module OpenApiSDK
182
185
  return false unless @track_conversion == other.track_conversion
183
186
  return false unless @archived == other.archived
184
187
  return false unless @expires_at == other.expires_at
188
+ return false unless @disabled_at == other.disabled_at
185
189
  return false unless @proxy == other.proxy
186
190
  return false unless @rewrite == other.rewrite
187
191
  return false unless @do_index == other.do_index
@@ -189,6 +193,8 @@ module OpenApiSDK
189
193
  return false unless @webhook_ids == other.webhook_ids
190
194
  return false unless @short_link == other.short_link
191
195
  return false unless @qr_code == other.qr_code
196
+ return false unless @test_started_at == other.test_started_at
197
+ return false unless @test_completed_at == other.test_completed_at
192
198
  return false unless @workspace_id == other.workspace_id
193
199
  return false unless @last_clicked == other.last_clicked
194
200
  return false unless @created_at == other.created_at
@@ -215,8 +221,6 @@ module OpenApiSDK
215
221
  return false unless @utm_campaign == other.utm_campaign
216
222
  return false unless @utm_term == other.utm_term
217
223
  return false unless @utm_content == other.utm_content
218
- return false unless @test_started_at == other.test_started_at
219
- return false unless @test_completed_at == other.test_completed_at
220
224
  return false unless @user_id == other.user_id
221
225
  return false unless @tag_id == other.tag_id
222
226
  return false unless @test_variants == other.test_variants