dub 0.12.7 → 0.12.8

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 (108) hide show
  1. checksums.yaml +4 -4
  2. data/lib/open_api_sdk/commissions.rb +239 -0
  3. data/lib/open_api_sdk/links.rb +0 -3
  4. data/lib/open_api_sdk/models/operations/{approvepartner_requestbody.rb → approvepartnerapplication_requestbody.rb} +1 -1
  5. data/lib/open_api_sdk/models/operations/{approvepartner_requestbody.rbi → approvepartnerapplication_requestbody.rbi} +2 -2
  6. data/lib/open_api_sdk/models/operations/{approvepartner_responsebody.rb → approvepartnerapplication_responsebody.rb} +1 -1
  7. data/lib/open_api_sdk/models/operations/{approvepartner_responsebody.rbi → approvepartnerapplication_responsebody.rbi} +2 -2
  8. data/lib/open_api_sdk/models/operations/createcommission_requestbody.rb +27 -0
  9. data/lib/open_api_sdk/models/operations/createcommission_requestbody.rbi +11 -0
  10. data/lib/open_api_sdk/models/operations/{gettags_queryparam_sortorder.rb → createcommission_requestbody_commissions_type.rb} +3 -4
  11. data/lib/open_api_sdk/models/operations/createcommission_requestbody_commissions_type.rbi +11 -0
  12. data/lib/open_api_sdk/models/operations/{gettags_queryparam_sortby.rb → createcommission_requestbody_type.rb} +3 -4
  13. data/lib/open_api_sdk/models/operations/createcommission_requestbody_type.rbi +11 -0
  14. data/lib/open_api_sdk/models/operations/createcommission_responsebody.rb +36 -0
  15. data/lib/open_api_sdk/models/operations/createcommission_responsebody.rbi +15 -0
  16. data/lib/open_api_sdk/models/operations/createpartner_networkstatus.rb +22 -0
  17. data/lib/open_api_sdk/models/operations/createpartner_networkstatus.rbi +11 -0
  18. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +28 -10
  19. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +12 -4
  20. data/lib/open_api_sdk/models/operations/createpartner_tags.rb +36 -0
  21. data/lib/open_api_sdk/models/operations/createpartner_tags.rbi +15 -0
  22. data/lib/open_api_sdk/models/operations/customer.rb +24 -16
  23. data/lib/open_api_sdk/models/operations/customer.rbi +8 -4
  24. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rb +6 -6
  25. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rbi +2 -2
  26. data/lib/open_api_sdk/models/operations/getcustomers_responsebody.rb +6 -6
  27. data/lib/open_api_sdk/models/operations/getcustomers_responsebody.rbi +2 -2
  28. data/lib/open_api_sdk/models/operations/getlinks_request.rb +2 -14
  29. data/lib/open_api_sdk/models/operations/getlinks_request.rbi +0 -6
  30. data/lib/open_api_sdk/models/operations/gettags_request.rb +4 -4
  31. data/lib/open_api_sdk/models/operations/listcommissions_customer.rb +6 -6
  32. data/lib/open_api_sdk/models/operations/listcommissions_customer.rbi +2 -2
  33. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +9 -5
  34. data/lib/open_api_sdk/models/operations/listcommissions_request.rbi +2 -0
  35. data/lib/open_api_sdk/models/operations/listcommissions_type.rb +1 -0
  36. data/lib/open_api_sdk/models/operations/listevents_request.rb +8 -4
  37. data/lib/open_api_sdk/models/operations/listevents_request.rbi +2 -0
  38. data/lib/open_api_sdk/models/operations/listevents_responsebody_customer.rb +6 -6
  39. data/lib/open_api_sdk/models/operations/listevents_responsebody_customer.rbi +2 -2
  40. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +28 -10
  41. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +12 -4
  42. data/lib/open_api_sdk/models/operations/networkstatus.rb +22 -0
  43. data/lib/open_api_sdk/models/operations/networkstatus.rbi +11 -0
  44. data/lib/open_api_sdk/models/operations/paymentprocessor.rb +2 -0
  45. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +1 -0
  46. data/lib/open_api_sdk/models/operations/queryparam_sortby.rb +3 -2
  47. data/lib/open_api_sdk/models/operations/queryparam_sortorder.rb +1 -1
  48. data/lib/open_api_sdk/models/operations/reapplicationtimeframe.rb +20 -0
  49. data/lib/open_api_sdk/models/operations/reapplicationtimeframe.rbi +11 -0
  50. data/lib/open_api_sdk/models/operations/rejectpartnerapplication_requestbody.rb +52 -0
  51. data/lib/open_api_sdk/models/operations/rejectpartnerapplication_requestbody.rbi +23 -0
  52. data/lib/open_api_sdk/models/operations/{rejectpartner_responsebody.rb → rejectpartnerapplication_responsebody.rb} +1 -1
  53. data/lib/open_api_sdk/models/operations/{rejectpartner_responsebody.rbi → rejectpartnerapplication_responsebody.rbi} +2 -2
  54. data/lib/open_api_sdk/models/operations/requestbody_1.rb +48 -0
  55. data/lib/open_api_sdk/models/operations/requestbody_1.rbi +21 -0
  56. data/lib/open_api_sdk/models/operations/requestbody_2.rb +56 -0
  57. data/lib/open_api_sdk/models/operations/requestbody_2.rbi +25 -0
  58. data/lib/open_api_sdk/models/operations/requestbody_3.rb +68 -0
  59. data/lib/open_api_sdk/models/operations/requestbody_3.rbi +31 -0
  60. data/lib/open_api_sdk/models/operations/requestbody_customer.rb +52 -0
  61. data/lib/open_api_sdk/models/operations/requestbody_customer.rbi +23 -0
  62. data/lib/open_api_sdk/models/operations/requestbody_type.rb +18 -0
  63. data/lib/open_api_sdk/models/operations/requestbody_type.rbi +11 -0
  64. data/lib/open_api_sdk/models/operations/responsebody_customer.rb +6 -6
  65. data/lib/open_api_sdk/models/operations/responsebody_customer.rbi +2 -2
  66. data/lib/open_api_sdk/models/operations/responsebody_paymentprocessor.rb +2 -0
  67. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +6 -2
  68. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rbi +2 -0
  69. data/lib/open_api_sdk/models/operations/{retrievelinks_request.rb → retrievepartnerlinks_request.rb} +1 -1
  70. data/lib/open_api_sdk/models/operations/{retrievelinks_request.rbi → retrievepartnerlinks_request.rbi} +2 -2
  71. data/lib/open_api_sdk/models/operations/{retrievelinks_responsebody.rb → retrievepartnerlinks_responsebody.rb} +1 -1
  72. data/lib/open_api_sdk/models/operations/{retrievelinks_responsebody.rbi → retrievepartnerlinks_responsebody.rbi} +2 -2
  73. data/lib/open_api_sdk/models/operations/sortby.rb +2 -5
  74. data/lib/open_api_sdk/models/operations/tags.rb +36 -0
  75. data/lib/open_api_sdk/models/operations/tags.rbi +15 -0
  76. data/lib/open_api_sdk/models/operations/tracklead_customer.rb +44 -0
  77. data/lib/open_api_sdk/models/operations/tracklead_customer.rbi +19 -0
  78. data/lib/open_api_sdk/models/operations/tracklead_responsebody.rb +2 -2
  79. data/lib/open_api_sdk/models/operations/type.rb +2 -1
  80. data/lib/open_api_sdk/models/operations/updatecommission_customer.rb +6 -6
  81. data/lib/open_api_sdk/models/operations/updatecommission_customer.rbi +2 -2
  82. data/lib/open_api_sdk/models/operations/updatecommission_type.rb +1 -0
  83. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rb +6 -6
  84. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rbi +2 -2
  85. data/lib/open_api_sdk/models/operations.rb +21 -9
  86. data/lib/open_api_sdk/models/shared/commissioncreatedevent_customer.rb +6 -6
  87. data/lib/open_api_sdk/models/shared/commissioncreatedevent_customer.rbi +2 -2
  88. data/lib/open_api_sdk/models/shared/commissioncreatedevent_type.rb +1 -0
  89. data/lib/open_api_sdk/models/shared/customer.rb +6 -6
  90. data/lib/open_api_sdk/models/shared/customer.rbi +2 -2
  91. data/lib/open_api_sdk/models/shared/networkstatus.rb +22 -0
  92. data/lib/open_api_sdk/models/{operations/sort.rbi → shared/networkstatus.rbi} +2 -2
  93. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +28 -10
  94. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +12 -4
  95. data/lib/open_api_sdk/models/shared/salecreatedevent_customer.rb +6 -6
  96. data/lib/open_api_sdk/models/shared/salecreatedevent_customer.rbi +2 -2
  97. data/lib/open_api_sdk/models/shared/tags.rb +36 -0
  98. data/lib/open_api_sdk/models/shared/tags.rbi +15 -0
  99. data/lib/open_api_sdk/models/shared.rb +2 -0
  100. data/lib/open_api_sdk/partner_applications.rb +6 -6
  101. data/lib/open_api_sdk/partners.rb +4 -4
  102. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  103. metadata +48 -20
  104. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortby.rbi +0 -11
  105. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortorder.rbi +0 -11
  106. data/lib/open_api_sdk/models/operations/rejectpartner_requestbody.rb +0 -44
  107. data/lib/open_api_sdk/models/operations/rejectpartner_requestbody.rbi +0 -19
  108. data/lib/open_api_sdk/models/operations/sort.rb +0 -23
@@ -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
@@ -14,12 +14,12 @@ module OpenApiSDK
14
14
 
15
15
  # The unique ID of the customer. You may use either the customer's `id` on Dub (obtained via `/customers` endpoint) or their `externalId` (unique ID within your system, prefixed with `ext_`, e.g. `ext_123`).
16
16
  field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
17
- # Name of the customer.
18
- field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name'), required: true } }
19
17
  # Unique identifier for the customer in the client's app.
20
18
  field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId'), required: true } }
21
19
  # The date the customer was created (usually the signup date or trial start date).
22
20
  field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt'), required: true } }
21
+ # Name of the customer.
22
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
23
23
  # Email of the customer.
24
24
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } }
25
25
  # Avatar URL of the customer.
@@ -37,12 +37,12 @@ module OpenApiSDK
37
37
  # The date the customer canceled their subscription. Useful for calculating LTV and churn rate.
38
38
  field :subscription_canceled_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('subscriptionCanceledAt') } }
39
39
 
40
- sig { params(id: ::String, name: ::String, external_id: ::String, created_at: ::String, email: T.nilable(::String), avatar: T.nilable(::String), stripe_customer_id: T.nilable(::String), country: T.nilable(::String), sales: T.nilable(::Float), sale_amount: T.nilable(::Float), first_sale_at: T.nilable(::String), subscription_canceled_at: T.nilable(::String)).void }
41
- def initialize(id:, name:, external_id:, created_at:, email: nil, avatar: nil, stripe_customer_id: nil, country: nil, sales: nil, sale_amount: nil, first_sale_at: nil, subscription_canceled_at: nil)
40
+ sig { params(id: ::String, external_id: ::String, created_at: ::String, name: T.nilable(::String), email: T.nilable(::String), avatar: T.nilable(::String), stripe_customer_id: T.nilable(::String), country: T.nilable(::String), sales: T.nilable(::Float), sale_amount: T.nilable(::Float), first_sale_at: T.nilable(::String), subscription_canceled_at: T.nilable(::String)).void }
41
+ def initialize(id:, external_id:, created_at:, name: nil, email: nil, avatar: nil, stripe_customer_id: nil, country: nil, sales: nil, sale_amount: nil, first_sale_at: nil, subscription_canceled_at: nil)
42
42
  @id = id
43
- @name = name
44
43
  @external_id = external_id
45
44
  @created_at = created_at
45
+ @name = name
46
46
  @email = email
47
47
  @avatar = avatar
48
48
  @stripe_customer_id = stripe_customer_id
@@ -57,9 +57,9 @@ module OpenApiSDK
57
57
  def ==(other)
58
58
  return false unless other.is_a? self.class
59
59
  return false unless @id == other.id
60
- return false unless @name == other.name
61
60
  return false unless @external_id == other.external_id
62
61
  return false unless @created_at == other.created_at
62
+ return false unless @name == other.name
63
63
  return false unless @email == other.email
64
64
  return false unless @avatar == other.avatar
65
65
  return false unless @stripe_customer_id == other.stripe_customer_id
@@ -10,12 +10,12 @@ end
10
10
  class OpenApiSDK::Models::Operations::ResponseBodyCustomer
11
11
  def id(); end
12
12
  def id=(str_); end
13
- def name(); end
14
- def name=(str_); end
15
13
  def external_id(); end
16
14
  def external_id=(str_); end
17
15
  def created_at(); end
18
16
  def created_at=(str_); end
17
+ def name(); end
18
+ def name=(str_); end
19
19
  def email(); end
20
20
  def email=(str_); end
21
21
  def avatar(); end
@@ -14,7 +14,9 @@ module OpenApiSDK
14
14
  SHOPIFY = new('shopify')
15
15
  POLAR = new('polar')
16
16
  PADDLE = new('paddle')
17
+ APPLE = new('apple')
17
18
  REVENUECAT = new('revenuecat')
19
+ DUB = new('dub')
18
20
  CUSTOM = new('custom')
19
21
  end
20
22
  end
@@ -26,6 +26,8 @@ module OpenApiSDK
26
26
  field :tag_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'tagId', 'style': 'form', 'explode': true } }
27
27
  # The folder ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `folder_123`, `folder_123,folder_456`, `-folder_789`. If not provided, return analytics for all links.
28
28
  field :folder_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'folderId', 'style': 'form', 'explode': true } }
29
+ # The partner tag ID(s) to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `ptag_123`, `ptag_123,ptag_456`, `-ptag_789`.
30
+ field :partner_tag_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'partnerTagId', 'style': 'form', 'explode': true } }
29
31
  # The group ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `grp_123`, `grp_123,grp_456`, `-grp_789`.
30
32
  field :group_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'groupId', 'style': 'form', 'explode': true } }
31
33
  # The ID of the partner to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `pn_123`, `pn_123,pn_456`, `-pn_789`.
@@ -89,8 +91,8 @@ module OpenApiSDK
89
91
  # The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.
90
92
  field :timezone, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'timezone', 'style': 'form', 'explode': true } }
91
93
 
92
- 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), tag_id: T.nilable(::String), folder_id: T.nilable(::String), group_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(::String), device: T.nilable(::String), browser: T.nilable(::String), os: T.nilable(::String), trigger: T.nilable(::String), referer: T.nilable(::String), referer_url: T.nilable(::String), url: 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), root: T.nilable(T::Boolean), sale_type: T.nilable(Models::Operations::SaleType), query: T.nilable(::String), program_id: T.nilable(::String), tag_ids: 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)).void }
93
- def initialize(domain: nil, key: nil, link_id: nil, external_id: nil, tenant_id: nil, tag_id: nil, folder_id: nil, group_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, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, root: nil, sale_type: nil, query: nil, program_id: nil, tag_ids: nil, qr: nil, event: Models::Operations::Event::CLICKS, group_by: Models::Operations::QueryParamGroupBy::COUNT, timezone: 'UTC')
94
+ 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), tag_id: T.nilable(::String), folder_id: T.nilable(::String), partner_tag_id: T.nilable(::String), group_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(::String), device: T.nilable(::String), browser: T.nilable(::String), os: T.nilable(::String), trigger: T.nilable(::String), referer: T.nilable(::String), referer_url: T.nilable(::String), url: 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), root: T.nilable(T::Boolean), sale_type: T.nilable(Models::Operations::SaleType), query: T.nilable(::String), program_id: T.nilable(::String), tag_ids: 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)).void }
95
+ def initialize(domain: nil, key: nil, link_id: nil, external_id: nil, tenant_id: nil, tag_id: nil, folder_id: nil, partner_tag_id: nil, group_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, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, root: nil, sale_type: nil, query: nil, program_id: nil, tag_ids: nil, qr: nil, event: Models::Operations::Event::CLICKS, group_by: Models::Operations::QueryParamGroupBy::COUNT, timezone: 'UTC')
94
96
  @domain = domain
95
97
  @key = key
96
98
  @link_id = link_id
@@ -98,6 +100,7 @@ module OpenApiSDK
98
100
  @tenant_id = tenant_id
99
101
  @tag_id = tag_id
100
102
  @folder_id = folder_id
103
+ @partner_tag_id = partner_tag_id
101
104
  @group_id = group_id
102
105
  @partner_id = partner_id
103
106
  @customer_id = customer_id
@@ -141,6 +144,7 @@ module OpenApiSDK
141
144
  return false unless @tenant_id == other.tenant_id
142
145
  return false unless @tag_id == other.tag_id
143
146
  return false unless @folder_id == other.folder_id
147
+ return false unless @partner_tag_id == other.partner_tag_id
144
148
  return false unless @group_id == other.group_id
145
149
  return false unless @partner_id == other.partner_id
146
150
  return false unless @customer_id == other.customer_id
@@ -22,6 +22,8 @@ class OpenApiSDK::Models::Operations::RetrieveAnalyticsRequest
22
22
  def tag_id=(str_); end
23
23
  def folder_id(); end
24
24
  def folder_id=(str_); end
25
+ def partner_tag_id(); end
26
+ def partner_tag_id=(str_); end
25
27
  def group_id(); end
26
28
  def group_id=(str_); end
27
29
  def partner_id(); end
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- class RetrieveLinksRequest
11
+ class RetrievePartnerLinksRequest
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::RetrieveLinksRequest
5
+ class OpenApiSDK::Models::Operations::RetrievePartnerLinksRequest
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class OpenApiSDK::Models::Operations::RetrieveLinksRequest
10
+ class OpenApiSDK::Models::Operations::RetrievePartnerLinksRequest
11
11
  def partner_id(); end
12
12
  def partner_id=(str_); end
13
13
  def tenant_id(); end
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- class RetrieveLinksResponseBody
11
+ class RetrievePartnerLinksResponseBody
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::RetrieveLinksResponseBody
5
+ class OpenApiSDK::Models::Operations::RetrievePartnerLinksResponseBody
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class OpenApiSDK::Models::Operations::RetrieveLinksResponseBody
10
+ class OpenApiSDK::Models::Operations::RetrievePartnerLinksResponseBody
11
11
  def id(); end
12
12
  def id=(str_); end
13
13
  def domain(); end
@@ -7,13 +7,10 @@
7
7
  module OpenApiSDK
8
8
  module Models
9
9
  module Operations
10
- # SortBy - The field to sort the links by. The default is `createdAt`.
10
+ # SortBy - The field to sort the events by. The default is `timestamp`.
11
11
  class SortBy < T::Enum
12
12
  enums do
13
- CREATED_AT = new('createdAt')
14
- CLICKS = new('clicks')
15
- SALE_AMOUNT = new('saleAmount')
16
- LAST_CLICKED = new('lastClicked')
13
+ TIMESTAMP = new('timestamp')
17
14
  end
18
15
  end
19
16
  end
@@ -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
+
11
+ class Tags
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
17
+
18
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name'), required: true } }
19
+
20
+ sig { params(id: ::String, name: ::String).void }
21
+ def initialize(id:, name:)
22
+ @id = id
23
+ @name = name
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 @id == other.id
30
+ return false unless @name == other.name
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::Tags
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::Tags
11
+ def id(); end
12
+ def id=(str_); end
13
+ def name(); end
14
+ def name=(str_); end
15
+ end