dub 0.12.7 → 0.12.9

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 (147) hide show
  1. checksums.yaml +4 -4
  2. data/lib/open_api_sdk/analytics.rb +4 -4
  3. data/lib/open_api_sdk/bounties.rb +12 -12
  4. data/lib/open_api_sdk/commissions.rb +251 -12
  5. data/lib/open_api_sdk/customers.rb +16 -16
  6. data/lib/open_api_sdk/domains.rb +24 -24
  7. data/lib/open_api_sdk/embed_tokens.rb +4 -4
  8. data/lib/open_api_sdk/events.rb +4 -4
  9. data/lib/open_api_sdk/folders.rb +16 -16
  10. data/lib/open_api_sdk/links.rb +40 -43
  11. data/lib/open_api_sdk/models/operations/accesslevel.rb +1 -1
  12. data/lib/open_api_sdk/models/operations/{approvepartner_requestbody.rb → approvepartnerapplication_requestbody.rb} +1 -1
  13. data/lib/open_api_sdk/models/operations/{approvepartner_requestbody.rbi → approvepartnerapplication_requestbody.rbi} +2 -2
  14. data/lib/open_api_sdk/models/operations/{approvepartner_responsebody.rb → approvepartnerapplication_responsebody.rb} +1 -1
  15. data/lib/open_api_sdk/models/operations/{approvepartner_responsebody.rbi → approvepartnerapplication_responsebody.rbi} +2 -2
  16. data/lib/open_api_sdk/models/operations/checkdomainstatus_responsebody.rb +12 -6
  17. data/lib/open_api_sdk/models/operations/checkdomainstatus_responsebody.rbi +4 -2
  18. data/lib/open_api_sdk/models/operations/createcommission_requestbody.rb +27 -0
  19. data/lib/open_api_sdk/models/operations/createcommission_requestbody.rbi +11 -0
  20. data/lib/open_api_sdk/models/operations/{gettags_queryparam_sortorder.rb → createcommission_requestbody_commissions_type.rb} +3 -4
  21. data/lib/open_api_sdk/models/operations/createcommission_requestbody_commissions_type.rbi +11 -0
  22. data/lib/open_api_sdk/models/operations/{gettags_queryparam_sortby.rb → createcommission_requestbody_type.rb} +3 -4
  23. data/lib/open_api_sdk/models/operations/createcommission_requestbody_type.rbi +11 -0
  24. data/lib/open_api_sdk/models/operations/createcommission_responsebody.rb +36 -0
  25. data/lib/open_api_sdk/models/operations/createcommission_responsebody.rbi +15 -0
  26. data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +2 -2
  27. data/lib/open_api_sdk/models/operations/createpartner_defaultpayoutmethod.rb +1 -0
  28. data/lib/open_api_sdk/models/operations/createpartner_networkstatus.rb +22 -0
  29. data/lib/open_api_sdk/models/operations/createpartner_networkstatus.rbi +11 -0
  30. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +28 -10
  31. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +12 -4
  32. data/lib/open_api_sdk/models/operations/createpartner_tags.rb +36 -0
  33. data/lib/open_api_sdk/models/operations/createpartner_tags.rbi +15 -0
  34. data/lib/open_api_sdk/models/operations/customer.rb +24 -16
  35. data/lib/open_api_sdk/models/operations/customer.rbi +8 -4
  36. data/lib/open_api_sdk/models/operations/defaultpayoutmethod.rb +1 -0
  37. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rb +6 -6
  38. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rbi +2 -2
  39. data/lib/open_api_sdk/models/operations/getcustomers_responsebody.rb +6 -6
  40. data/lib/open_api_sdk/models/operations/getcustomers_responsebody.rbi +2 -2
  41. data/lib/open_api_sdk/models/operations/getlinks_request.rb +2 -14
  42. data/lib/open_api_sdk/models/operations/getlinks_request.rbi +0 -6
  43. data/lib/open_api_sdk/models/operations/gettags_request.rb +4 -4
  44. data/lib/open_api_sdk/models/operations/listcommissions_customer.rb +6 -6
  45. data/lib/open_api_sdk/models/operations/listcommissions_customer.rbi +2 -2
  46. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +9 -5
  47. data/lib/open_api_sdk/models/operations/listcommissions_request.rbi +2 -0
  48. data/lib/open_api_sdk/models/operations/listcommissions_type.rb +1 -0
  49. data/lib/open_api_sdk/models/operations/listevents_request.rb +8 -4
  50. data/lib/open_api_sdk/models/operations/listevents_request.rbi +2 -0
  51. data/lib/open_api_sdk/models/operations/listevents_responsebody_click.rb +6 -2
  52. data/lib/open_api_sdk/models/operations/listevents_responsebody_click.rbi +2 -0
  53. data/lib/open_api_sdk/models/operations/listevents_responsebody_customer.rb +6 -6
  54. data/lib/open_api_sdk/models/operations/listevents_responsebody_customer.rbi +2 -2
  55. data/lib/open_api_sdk/models/operations/listevents_responsebody_events_click.rb +6 -2
  56. data/lib/open_api_sdk/models/operations/listevents_responsebody_events_click.rbi +2 -0
  57. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +28 -10
  58. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +12 -4
  59. data/lib/open_api_sdk/models/operations/listpayouts_defaultpayoutmethod.rb +1 -0
  60. data/lib/open_api_sdk/models/operations/listpayouts_request.rb +6 -2
  61. data/lib/open_api_sdk/models/operations/listpayouts_request.rbi +2 -0
  62. data/lib/open_api_sdk/models/operations/method.rb +1 -0
  63. data/lib/open_api_sdk/models/operations/networkstatus.rb +22 -0
  64. data/lib/open_api_sdk/models/operations/networkstatus.rbi +11 -0
  65. data/lib/open_api_sdk/models/operations/paymentprocessor.rb +2 -0
  66. data/lib/open_api_sdk/models/operations/prices.rb +36 -0
  67. data/lib/open_api_sdk/models/operations/prices.rbi +15 -0
  68. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +1 -0
  69. data/lib/open_api_sdk/models/operations/queryparam_sortby.rb +3 -2
  70. data/lib/open_api_sdk/models/operations/queryparam_sortorder.rb +1 -1
  71. data/lib/open_api_sdk/models/operations/reapplicationtimeframe.rb +20 -0
  72. data/lib/open_api_sdk/models/operations/reapplicationtimeframe.rbi +11 -0
  73. data/lib/open_api_sdk/models/operations/rejectpartnerapplication_requestbody.rb +52 -0
  74. data/lib/open_api_sdk/models/operations/rejectpartnerapplication_requestbody.rbi +23 -0
  75. data/lib/open_api_sdk/models/operations/{rejectpartner_responsebody.rb → rejectpartnerapplication_responsebody.rb} +1 -1
  76. data/lib/open_api_sdk/models/operations/{rejectpartner_responsebody.rbi → rejectpartnerapplication_responsebody.rbi} +2 -2
  77. data/lib/open_api_sdk/models/operations/requestbody_1.rb +48 -0
  78. data/lib/open_api_sdk/models/operations/requestbody_1.rbi +21 -0
  79. data/lib/open_api_sdk/models/operations/requestbody_2.rb +56 -0
  80. data/lib/open_api_sdk/models/operations/requestbody_2.rbi +25 -0
  81. data/lib/open_api_sdk/models/operations/requestbody_3.rb +68 -0
  82. data/lib/open_api_sdk/models/operations/requestbody_3.rbi +31 -0
  83. data/lib/open_api_sdk/models/operations/requestbody_customer.rb +52 -0
  84. data/lib/open_api_sdk/models/operations/requestbody_customer.rbi +23 -0
  85. data/lib/open_api_sdk/models/operations/requestbody_type.rb +18 -0
  86. data/lib/open_api_sdk/models/operations/requestbody_type.rbi +11 -0
  87. data/lib/open_api_sdk/models/operations/responsebody_click.rb +6 -2
  88. data/lib/open_api_sdk/models/operations/responsebody_click.rbi +2 -0
  89. data/lib/open_api_sdk/models/operations/responsebody_customer.rb +6 -6
  90. data/lib/open_api_sdk/models/operations/responsebody_customer.rbi +2 -2
  91. data/lib/open_api_sdk/models/operations/responsebody_paymentprocessor.rb +2 -0
  92. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +6 -2
  93. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rbi +2 -0
  94. data/lib/open_api_sdk/models/operations/{retrievelinks_request.rb → retrievepartnerlinks_request.rb} +1 -1
  95. data/lib/open_api_sdk/models/operations/{retrievelinks_request.rbi → retrievepartnerlinks_request.rbi} +2 -2
  96. data/lib/open_api_sdk/models/operations/{retrievelinks_responsebody.rb → retrievepartnerlinks_responsebody.rb} +1 -1
  97. data/lib/open_api_sdk/models/operations/{retrievelinks_responsebody.rbi → retrievepartnerlinks_responsebody.rbi} +2 -2
  98. data/lib/open_api_sdk/models/operations/sortby.rb +2 -5
  99. data/lib/open_api_sdk/models/operations/tags.rb +36 -0
  100. data/lib/open_api_sdk/models/operations/tags.rbi +15 -0
  101. data/lib/open_api_sdk/models/operations/tracklead_customer.rb +44 -0
  102. data/lib/open_api_sdk/models/operations/tracklead_customer.rbi +19 -0
  103. data/lib/open_api_sdk/models/operations/tracklead_responsebody.rb +2 -2
  104. data/lib/open_api_sdk/models/operations/type.rb +2 -1
  105. data/lib/open_api_sdk/models/operations/updatecommission_customer.rb +6 -6
  106. data/lib/open_api_sdk/models/operations/updatecommission_customer.rbi +2 -2
  107. data/lib/open_api_sdk/models/operations/updatecommission_type.rb +1 -0
  108. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rb +6 -6
  109. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rbi +2 -2
  110. data/lib/open_api_sdk/models/operations.rb +22 -9
  111. data/lib/open_api_sdk/models/shared/accesslevel.rb +1 -1
  112. data/lib/open_api_sdk/models/shared/click.rb +6 -2
  113. data/lib/open_api_sdk/models/shared/click.rbi +2 -0
  114. data/lib/open_api_sdk/models/shared/commissioncreatedevent_customer.rb +6 -6
  115. data/lib/open_api_sdk/models/shared/commissioncreatedevent_customer.rbi +2 -2
  116. data/lib/open_api_sdk/models/shared/commissioncreatedevent_type.rb +1 -0
  117. data/lib/open_api_sdk/models/shared/customer.rb +6 -6
  118. data/lib/open_api_sdk/models/shared/customer.rbi +2 -2
  119. data/lib/open_api_sdk/models/shared/defaultpayoutmethod.rb +1 -0
  120. data/lib/open_api_sdk/models/shared/folderschema.rb +2 -2
  121. data/lib/open_api_sdk/models/shared/leadcreatedevent_click.rb +6 -2
  122. data/lib/open_api_sdk/models/shared/leadcreatedevent_click.rbi +2 -0
  123. data/lib/open_api_sdk/models/shared/networkstatus.rb +22 -0
  124. data/lib/open_api_sdk/models/{operations/sort.rbi → shared/networkstatus.rbi} +2 -2
  125. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +28 -10
  126. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +12 -4
  127. data/lib/open_api_sdk/models/shared/salecreatedevent_click.rb +6 -2
  128. data/lib/open_api_sdk/models/shared/salecreatedevent_click.rbi +2 -0
  129. data/lib/open_api_sdk/models/shared/salecreatedevent_customer.rb +6 -6
  130. data/lib/open_api_sdk/models/shared/salecreatedevent_customer.rbi +2 -2
  131. data/lib/open_api_sdk/models/shared/tags.rb +36 -0
  132. data/lib/open_api_sdk/models/shared/tags.rbi +15 -0
  133. data/lib/open_api_sdk/models/shared.rb +2 -0
  134. data/lib/open_api_sdk/partner_applications.rb +18 -18
  135. data/lib/open_api_sdk/partners.rb +36 -36
  136. data/lib/open_api_sdk/payouts.rb +4 -4
  137. data/lib/open_api_sdk/qr_codes.rb +4 -4
  138. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  139. data/lib/open_api_sdk/tags.rb +16 -16
  140. data/lib/open_api_sdk/track.rb +8 -8
  141. data/lib/open_api_sdk/utils/retries.rb +4 -1
  142. metadata +52 -22
  143. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortby.rbi +0 -11
  144. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortorder.rbi +0 -11
  145. data/lib/open_api_sdk/models/operations/rejectpartner_requestbody.rb +0 -44
  146. data/lib/open_api_sdk/models/operations/rejectpartner_requestbody.rbi +0 -19
  147. data/lib/open_api_sdk/models/operations/sort.rb +0 -23
@@ -0,0 +1,36 @@
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
+ # Price details for the domain. Will be null if the domain is not available.
11
+ class Prices
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The domain's registration price in USD cents.
16
+ field :registration, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('registration'), required: true } }
17
+ # The domain's renewal price in USD cents.
18
+ field :renewal, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('renewal'), required: true } }
19
+
20
+ sig { params(registration: T.nilable(::Float), renewal: T.nilable(::Float)).void }
21
+ def initialize(registration: nil, renewal: nil)
22
+ @registration = registration
23
+ @renewal = renewal
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @registration == other.registration
30
+ return false unless @renewal == other.renewal
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::Prices
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::Prices
11
+ def registration(); end
12
+ def registration=(str_); end
13
+ def renewal(); end
14
+ def renewal=(str_); end
15
+ end
@@ -31,6 +31,7 @@ module OpenApiSDK
31
31
  TOP_BASE_URLS = new('top_base_urls')
32
32
  TOP_PARTNERS = new('top_partners')
33
33
  TOP_GROUPS = new('top_groups')
34
+ TOP_PARTNER_TAGS = new('top_partner_tags')
34
35
  UTM_SOURCES = new('utm_sources')
35
36
  UTM_MEDIUMS = new('utm_mediums')
36
37
  UTM_CAMPAIGNS = new('utm_campaigns')
@@ -7,10 +7,11 @@
7
7
  module OpenApiSDK
8
8
  module Models
9
9
  module Operations
10
- # QueryParamSortBy - The field to sort the events by. The default is `timestamp`.
10
+ # QueryParamSortBy - The field to sort the tags by.
11
11
  class QueryParamSortBy < T::Enum
12
12
  enums do
13
- TIMESTAMP = new('timestamp')
13
+ NAME = new('name')
14
+ CREATED_AT = new('createdAt')
14
15
  end
15
16
  end
16
17
  end
@@ -7,7 +7,7 @@
7
7
  module OpenApiSDK
8
8
  module Models
9
9
  module Operations
10
- # QueryParamSortOrder - The sort order. The default is `desc`.
10
+ # QueryParamSortOrder - The order to sort the tags by.
11
11
  class QueryParamSortOrder < T::Enum
12
12
  enums do
13
13
  ASC = new('asc')
@@ -0,0 +1,20 @@
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
+ # ReapplicationTimeframe - The mode for reapplying for the program. `instant`: The partner can reapply immediately. `standard`: The partner can reapply after 30 days. `never`: The partner can never reapply for the program. Defaults to `standard` if undefined.
11
+ class ReapplicationTimeframe < T::Enum
12
+ enums do
13
+ INSTANT = new('instant')
14
+ STANDARD = new('standard')
15
+ NEVER = new('never')
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ReapplicationTimeframe
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ReapplicationTimeframe
11
+ end
@@ -0,0 +1,52 @@
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
+ class RejectPartnerApplicationRequestBody
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The ID of the partner to reject.
16
+ field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
17
+ # The reason for rejecting the partner application. This will be shared with the partner via email.
18
+ field :rejection_reason, Crystalline::Nilable.new(Models::Operations::RejectionReason), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rejectionReason'), 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::RejectionReason, true) } }
19
+ # Additional details about the rejection. This will be shared with the partner via email.
20
+ field :rejection_note, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rejectionNote') } }
21
+ # Whether to flag the partner for fraud review by the Dub team. Cannot be combined with `reapplicationTimeframe: instant`.
22
+ field :flag_for_fraud, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('flagForFraud') } }
23
+ # The reason for flagging the partner for fraud. Required when flagForFraud is true.
24
+ field :flag_for_fraud_reason, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('flagForFraudReason') } }
25
+ # The mode for reapplying for the program. `instant`: The partner can reapply immediately. `standard`: The partner can reapply after 30 days. `never`: The partner can never reapply for the program. Defaults to `standard` if undefined.
26
+ field :reapplication_timeframe, Crystalline::Nilable.new(Models::Operations::ReapplicationTimeframe), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('reapplicationTimeframe'), 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::ReapplicationTimeframe, true) } }
27
+
28
+ sig { params(partner_id: ::String, rejection_reason: T.nilable(Models::Operations::RejectionReason), rejection_note: T.nilable(::String), flag_for_fraud: T.nilable(T::Boolean), flag_for_fraud_reason: T.nilable(::String), reapplication_timeframe: T.nilable(Models::Operations::ReapplicationTimeframe)).void }
29
+ def initialize(partner_id:, rejection_reason: nil, rejection_note: nil, flag_for_fraud: nil, flag_for_fraud_reason: nil, reapplication_timeframe: Models::Operations::ReapplicationTimeframe::STANDARD)
30
+ @partner_id = partner_id
31
+ @rejection_reason = rejection_reason
32
+ @rejection_note = rejection_note
33
+ @flag_for_fraud = flag_for_fraud
34
+ @flag_for_fraud_reason = flag_for_fraud_reason
35
+ @reapplication_timeframe = reapplication_timeframe
36
+ end
37
+
38
+ sig { params(other: T.untyped).returns(T::Boolean) }
39
+ def ==(other)
40
+ return false unless other.is_a? self.class
41
+ return false unless @partner_id == other.partner_id
42
+ return false unless @rejection_reason == other.rejection_reason
43
+ return false unless @rejection_note == other.rejection_note
44
+ return false unless @flag_for_fraud == other.flag_for_fraud
45
+ return false unless @flag_for_fraud_reason == other.flag_for_fraud_reason
46
+ return false unless @reapplication_timeframe == other.reapplication_timeframe
47
+ true
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::RejectPartnerApplicationRequestBody
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::RejectPartnerApplicationRequestBody
11
+ def partner_id(); end
12
+ def partner_id=(str_); end
13
+ def rejection_reason(); end
14
+ def rejection_reason=(str_); end
15
+ def rejection_note(); end
16
+ def rejection_note=(str_); end
17
+ def flag_for_fraud(); end
18
+ def flag_for_fraud=(str_); end
19
+ def flag_for_fraud_reason(); end
20
+ def flag_for_fraud_reason=(str_); end
21
+ def reapplication_timeframe(); end
22
+ def reapplication_timeframe=(str_); end
23
+ end
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Models
9
9
  module Operations
10
10
  # The rejected partner
11
- class RejectPartnerResponseBody
11
+ class RejectPartnerApplicationResponseBody
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class OpenApiSDK::Models::Operations::RejectPartnerResponseBody
5
+ class OpenApiSDK::Models::Operations::RejectPartnerApplicationResponseBody
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class OpenApiSDK::Models::Operations::RejectPartnerResponseBody
10
+ class OpenApiSDK::Models::Operations::RejectPartnerApplicationResponseBody
11
11
  def partner_id(); end
12
12
  def partner_id=(str_); end
13
13
  end
@@ -0,0 +1,48 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+ class RequestBody1
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :type, Models::Operations::RequestBodyType, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('type'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::RequestBodyType, false) } }
17
+ # The ID of the partner to create the commission for.
18
+ field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
19
+ # The commission amount in cents.
20
+ field :amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount'), required: true } }
21
+ # If not provided, the current date will be used.
22
+ field :date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('date') } }
23
+ # The description of the commission.
24
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
25
+
26
+ sig { params(type: Models::Operations::RequestBodyType, partner_id: ::String, amount: ::Float, date: T.nilable(::String), description: T.nilable(::String)).void }
27
+ def initialize(type:, partner_id:, amount:, date: nil, description: nil)
28
+ @type = type
29
+ @partner_id = partner_id
30
+ @amount = amount
31
+ @date = date
32
+ @description = description
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @type == other.type
39
+ return false unless @partner_id == other.partner_id
40
+ return false unless @amount == other.amount
41
+ return false unless @date == other.date
42
+ return false unless @description == other.description
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::RequestBody1
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::RequestBody1
11
+ def type(); end
12
+ def type=(str_); end
13
+ def partner_id(); end
14
+ def partner_id=(str_); end
15
+ def amount(); end
16
+ def amount=(str_); end
17
+ def date(); end
18
+ def date=(str_); end
19
+ def description(); end
20
+ def description=(str_); end
21
+ end
@@ -0,0 +1,56 @@
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
+ class RequestBody2
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :type, Models::Operations::CreateCommissionRequestBodyType, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('type'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::CreateCommissionRequestBodyType, false) } }
17
+ # The ID of the partner to create the commission for.
18
+ field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
19
+ # The customer ID to associate the commission with. Useful if the customer was already created in a prior operation and you want to associate the commission with it.
20
+ field :customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerId') } }
21
+ # The full customer object to associate the commission with. Useful for creating the customer on demand.
22
+ field :customer, Crystalline::Nilable.new(Models::Operations::Customer), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customer') } }
23
+ # The partner link ID to associate the commission with. If not provided, default to the link with the most revenue.
24
+ field :link_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkId') } }
25
+ # The date and time of the lead event. If not provided, defaults to the current date and time.
26
+ field :lead_event_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leadEventDate') } }
27
+ # The name of the lead event. If not provided, defaults to 'Sign up'.
28
+ field :lead_event_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leadEventName') } }
29
+
30
+ sig { params(type: Models::Operations::CreateCommissionRequestBodyType, partner_id: ::String, customer_id: T.nilable(::String), customer: T.nilable(Models::Operations::Customer), link_id: T.nilable(::String), lead_event_date: T.nilable(::String), lead_event_name: T.nilable(::String)).void }
31
+ def initialize(type:, partner_id:, customer_id: nil, customer: nil, link_id: nil, lead_event_date: nil, lead_event_name: 'Sign up')
32
+ @type = type
33
+ @partner_id = partner_id
34
+ @customer_id = customer_id
35
+ @customer = customer
36
+ @link_id = link_id
37
+ @lead_event_date = lead_event_date
38
+ @lead_event_name = lead_event_name
39
+ end
40
+
41
+ sig { params(other: T.untyped).returns(T::Boolean) }
42
+ def ==(other)
43
+ return false unless other.is_a? self.class
44
+ return false unless @type == other.type
45
+ return false unless @partner_id == other.partner_id
46
+ return false unless @customer_id == other.customer_id
47
+ return false unless @customer == other.customer
48
+ return false unless @link_id == other.link_id
49
+ return false unless @lead_event_date == other.lead_event_date
50
+ return false unless @lead_event_name == other.lead_event_name
51
+ true
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::RequestBody2
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::RequestBody2
11
+ def type(); end
12
+ def type=(str_); end
13
+ def partner_id(); end
14
+ def partner_id=(str_); end
15
+ def customer_id(); end
16
+ def customer_id=(str_); end
17
+ def customer(); end
18
+ def customer=(str_); end
19
+ def link_id(); end
20
+ def link_id=(str_); end
21
+ def lead_event_date(); end
22
+ def lead_event_date=(str_); end
23
+ def lead_event_name(); end
24
+ def lead_event_name=(str_); end
25
+ end
@@ -0,0 +1,68 @@
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
+ class RequestBody3
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :type, Models::Operations::CreateCommissionRequestBodyCommissionsType, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('type'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::CreateCommissionRequestBodyCommissionsType, false) } }
17
+ # The ID of the partner to create the commission for.
18
+ field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
19
+ # The customer ID to associate the commission with. Useful if the customer was already created in a prior operation and you want to associate the commission with it.
20
+ field :customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerId') } }
21
+ # The full customer object to associate the commission with. Useful for creating the customer on demand.
22
+ field :customer, Crystalline::Nilable.new(Models::Operations::RequestBodyCustomer), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customer') } }
23
+ # The partner link ID to associate the commission with. If not provided, default to the link with the most revenue.
24
+ field :link_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkId') } }
25
+ # Required when `importStripeInvoices` is `false`. The sale amount in cents for the manual sale event. Ignored when importing from Stripe.
26
+ field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
27
+ # Only used when `importStripeInvoices` is `false`. The date of the manual sale event. Defaults to the current date and time if not provided.
28
+ field :sale_event_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleEventDate') } }
29
+ # Only used when `importStripeInvoices` is `false`. An optional invoice ID to attach to the generated sale event and commission entry for deduplication.
30
+ field :invoice_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId') } }
31
+ # Only used when `importStripeInvoices` is `false`. An optional product ID stored on the sale event metadata – will also impact commission earnings calculation (if a `Sale` `Product ID` modifier is set).
32
+ field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('productId') } }
33
+ # When `true`, import all unimported paid Stripe invoices for the customer and create a commission for each. When `false`, create a single manual sale event using `saleAmount`.
34
+ field :import_stripe_invoices, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('importStripeInvoices') } }
35
+
36
+ sig { params(type: Models::Operations::CreateCommissionRequestBodyCommissionsType, partner_id: ::String, customer_id: T.nilable(::String), customer: T.nilable(Models::Operations::RequestBodyCustomer), link_id: T.nilable(::String), sale_amount: T.nilable(::Float), sale_event_date: T.nilable(::String), invoice_id: T.nilable(::String), product_id: T.nilable(::String), import_stripe_invoices: T.nilable(T::Boolean)).void }
37
+ def initialize(type:, partner_id:, customer_id: nil, customer: nil, link_id: nil, sale_amount: nil, sale_event_date: nil, invoice_id: nil, product_id: nil, import_stripe_invoices: false)
38
+ @type = type
39
+ @partner_id = partner_id
40
+ @customer_id = customer_id
41
+ @customer = customer
42
+ @link_id = link_id
43
+ @sale_amount = sale_amount
44
+ @sale_event_date = sale_event_date
45
+ @invoice_id = invoice_id
46
+ @product_id = product_id
47
+ @import_stripe_invoices = import_stripe_invoices
48
+ end
49
+
50
+ sig { params(other: T.untyped).returns(T::Boolean) }
51
+ def ==(other)
52
+ return false unless other.is_a? self.class
53
+ return false unless @type == other.type
54
+ return false unless @partner_id == other.partner_id
55
+ return false unless @customer_id == other.customer_id
56
+ return false unless @customer == other.customer
57
+ return false unless @link_id == other.link_id
58
+ return false unless @sale_amount == other.sale_amount
59
+ return false unless @sale_event_date == other.sale_event_date
60
+ return false unless @invoice_id == other.invoice_id
61
+ return false unless @product_id == other.product_id
62
+ return false unless @import_stripe_invoices == other.import_stripe_invoices
63
+ true
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,31 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::RequestBody3
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::RequestBody3
11
+ def type(); end
12
+ def type=(str_); end
13
+ def partner_id(); end
14
+ def partner_id=(str_); end
15
+ def customer_id(); end
16
+ def customer_id=(str_); end
17
+ def customer(); end
18
+ def customer=(str_); end
19
+ def link_id(); end
20
+ def link_id=(str_); end
21
+ def sale_amount(); end
22
+ def sale_amount=(str_); end
23
+ def sale_event_date(); end
24
+ def sale_event_date=(str_); end
25
+ def invoice_id(); end
26
+ def invoice_id=(str_); end
27
+ def product_id(); end
28
+ def product_id=(str_); end
29
+ def import_stripe_invoices(); end
30
+ def import_stripe_invoices=(str_); end
31
+ end
@@ -0,0 +1,52 @@
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
+ # The full customer object to associate the commission with. Useful for creating the customer on demand.
11
+ class RequestBodyCustomer
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The customer's unique identifier your database. This is useful for associating subsequent conversion events from Dub's API to your internal systems.
16
+ field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId'), required: true } }
17
+ # The customer's country in ISO 3166-1 alpha-2 format. Updating this field will only affect the customer's country in Dub's system (and has no effect on existing conversion events).
18
+ field :country, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), required: true } }
19
+ # The customer's email address.
20
+ field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } }
21
+ # The customer's name. If not provided, the email address will be used, and if email is not provided, a random name will be generated.
22
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
23
+ # The customer's avatar URL. If not provided, a random avatar will be generated.
24
+ field :avatar, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('avatar') } }
25
+ # The customer's Stripe customer ID. This is useful for attributing recurring sale events to the partner who referred the customer.
26
+ field :stripe_customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('stripeCustomerId') } }
27
+
28
+ sig { params(external_id: ::String, country: ::String, email: T.nilable(::String), name: T.nilable(::String), avatar: T.nilable(::String), stripe_customer_id: T.nilable(::String)).void }
29
+ def initialize(external_id:, country:, email: nil, name: nil, avatar: nil, stripe_customer_id: nil)
30
+ @external_id = external_id
31
+ @country = country
32
+ @email = email
33
+ @name = name
34
+ @avatar = avatar
35
+ @stripe_customer_id = stripe_customer_id
36
+ end
37
+
38
+ sig { params(other: T.untyped).returns(T::Boolean) }
39
+ def ==(other)
40
+ return false unless other.is_a? self.class
41
+ return false unless @external_id == other.external_id
42
+ return false unless @country == other.country
43
+ return false unless @email == other.email
44
+ return false unless @name == other.name
45
+ return false unless @avatar == other.avatar
46
+ return false unless @stripe_customer_id == other.stripe_customer_id
47
+ true
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::RequestBodyCustomer
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::RequestBodyCustomer
11
+ def external_id(); end
12
+ def external_id=(str_); end
13
+ def country(); end
14
+ def country=(str_); end
15
+ def email(); end
16
+ def email=(str_); end
17
+ def name(); end
18
+ def name=(str_); end
19
+ def avatar(); end
20
+ def avatar=(str_); end
21
+ def stripe_customer_id(); end
22
+ def stripe_customer_id=(str_); end
23
+ end
@@ -0,0 +1,18 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+ class RequestBodyType < T::Enum
12
+ enums do
13
+ CUSTOM = new('custom')
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::RequestBodyType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::RequestBodyType
11
+ end
@@ -41,10 +41,12 @@ module OpenApiSDK
41
41
 
42
42
  field :ip, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ip'), required: true } }
43
43
 
44
+ field :ua, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ua') } }
45
+
44
46
  field :trigger, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trigger') } }
45
47
 
46
- sig { params(id: ::String, timestamp: ::String, url: ::String, country: ::String, city: ::String, region: ::String, continent: ::String, device: ::String, browser: ::String, os: ::String, referer: ::String, referer_url: ::String, qr: T::Boolean, ip: ::String, trigger: T.nilable(::String)).void }
47
- def initialize(id:, timestamp:, url:, country:, city:, region:, continent:, device:, browser:, os:, referer:, referer_url:, qr:, ip:, trigger: nil)
48
+ sig { params(id: ::String, timestamp: ::String, url: ::String, country: ::String, city: ::String, region: ::String, continent: ::String, device: ::String, browser: ::String, os: ::String, referer: ::String, referer_url: ::String, qr: T::Boolean, ip: ::String, ua: T.nilable(::String), trigger: T.nilable(::String)).void }
49
+ def initialize(id:, timestamp:, url:, country:, city:, region:, continent:, device:, browser:, os:, referer:, referer_url:, qr:, ip:, ua: nil, trigger: nil)
48
50
  @id = id
49
51
  @timestamp = timestamp
50
52
  @url = url
@@ -59,6 +61,7 @@ module OpenApiSDK
59
61
  @referer_url = referer_url
60
62
  @qr = qr
61
63
  @ip = ip
64
+ @ua = ua
62
65
  @trigger = trigger
63
66
  end
64
67
 
@@ -79,6 +82,7 @@ module OpenApiSDK
79
82
  return false unless @referer_url == other.referer_url
80
83
  return false unless @qr == other.qr
81
84
  return false unless @ip == other.ip
85
+ return false unless @ua == other.ua
82
86
  return false unless @trigger == other.trigger
83
87
  true
84
88
  end
@@ -36,6 +36,8 @@ class OpenApiSDK::Models::Operations::ResponseBodyClick
36
36
  def qr=(str_); end
37
37
  def ip(); end
38
38
  def ip=(str_); end
39
+ def ua(); end
40
+ def ua=(str_); end
39
41
  def trigger(); end
40
42
  def trigger=(str_); end
41
43
  end