dub 0.12.6 → 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 (134) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dub.rb +1 -0
  3. data/lib/open_api_sdk/commissions.rb +240 -1
  4. data/lib/open_api_sdk/customers.rb +3 -3
  5. data/lib/open_api_sdk/domains.rb +2 -2
  6. data/lib/open_api_sdk/dub.rb +2 -1
  7. data/lib/open_api_sdk/events.rb +1 -1
  8. data/lib/open_api_sdk/folders.rb +2 -2
  9. data/lib/open_api_sdk/links.rb +1 -4
  10. data/lib/open_api_sdk/models/operations/applicationformdata.rb +36 -0
  11. data/lib/open_api_sdk/models/operations/applicationformdata.rbi +15 -0
  12. data/lib/open_api_sdk/models/operations/approvepartnerapplication_requestbody.rb +36 -0
  13. data/lib/open_api_sdk/models/operations/approvepartnerapplication_requestbody.rbi +15 -0
  14. data/lib/open_api_sdk/models/operations/approvepartnerapplication_responsebody.rb +32 -0
  15. data/lib/open_api_sdk/models/operations/approvepartnerapplication_responsebody.rbi +13 -0
  16. data/lib/open_api_sdk/models/operations/banpartner_requestbody.rb +1 -1
  17. data/lib/open_api_sdk/models/operations/createcommission_requestbody.rb +27 -0
  18. data/lib/open_api_sdk/models/operations/createcommission_requestbody.rbi +11 -0
  19. data/lib/open_api_sdk/models/operations/{gettags_queryparam_sortorder.rb → createcommission_requestbody_commissions_type.rb} +3 -4
  20. data/lib/open_api_sdk/models/operations/createcommission_requestbody_commissions_type.rbi +11 -0
  21. data/lib/open_api_sdk/models/operations/{gettags_queryparam_sortby.rb → createcommission_requestbody_type.rb} +3 -4
  22. data/lib/open_api_sdk/models/operations/createcommission_requestbody_type.rbi +11 -0
  23. data/lib/open_api_sdk/models/operations/createcommission_responsebody.rb +36 -0
  24. data/lib/open_api_sdk/models/operations/createcommission_responsebody.rbi +15 -0
  25. data/lib/open_api_sdk/models/operations/createpartner_networkstatus.rb +22 -0
  26. data/lib/open_api_sdk/models/operations/createpartner_networkstatus.rbi +11 -0
  27. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +32 -10
  28. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +14 -4
  29. data/lib/open_api_sdk/models/operations/createpartner_tags.rb +36 -0
  30. data/lib/open_api_sdk/models/operations/createpartner_tags.rbi +15 -0
  31. data/lib/open_api_sdk/models/operations/customer.rb +24 -16
  32. data/lib/open_api_sdk/models/operations/customer.rbi +8 -4
  33. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rb +6 -6
  34. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rbi +2 -2
  35. data/lib/open_api_sdk/models/operations/getcustomers_responsebody.rb +6 -6
  36. data/lib/open_api_sdk/models/operations/getcustomers_responsebody.rbi +2 -2
  37. data/lib/open_api_sdk/models/operations/getlinks_request.rb +2 -14
  38. data/lib/open_api_sdk/models/operations/getlinks_request.rbi +0 -6
  39. data/lib/open_api_sdk/models/operations/gettags_request.rb +4 -4
  40. data/lib/open_api_sdk/models/operations/listcommissions_customer.rb +6 -6
  41. data/lib/open_api_sdk/models/operations/listcommissions_customer.rbi +2 -2
  42. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +9 -5
  43. data/lib/open_api_sdk/models/operations/listcommissions_request.rbi +2 -0
  44. data/lib/open_api_sdk/models/operations/listcommissions_type.rb +1 -0
  45. data/lib/open_api_sdk/models/operations/listevents_request.rb +8 -4
  46. data/lib/open_api_sdk/models/operations/listevents_request.rbi +2 -0
  47. data/lib/open_api_sdk/models/operations/listevents_responsebody_customer.rb +6 -6
  48. data/lib/open_api_sdk/models/operations/listevents_responsebody_customer.rbi +2 -2
  49. data/lib/open_api_sdk/models/operations/listpartnerapplications_partner.rb +88 -0
  50. data/lib/open_api_sdk/models/operations/listpartnerapplications_partner.rbi +41 -0
  51. data/lib/open_api_sdk/models/operations/listpartnerapplications_request.rb +44 -0
  52. data/lib/open_api_sdk/models/operations/listpartnerapplications_request.rbi +19 -0
  53. data/lib/open_api_sdk/models/operations/listpartnerapplications_responsebody.rb +44 -0
  54. data/lib/open_api_sdk/models/operations/listpartnerapplications_responsebody.rbi +19 -0
  55. data/lib/open_api_sdk/models/operations/listpartnerapplications_status.rb +25 -0
  56. data/lib/open_api_sdk/models/operations/listpartnerapplications_status.rbi +11 -0
  57. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +32 -10
  58. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +14 -4
  59. data/lib/open_api_sdk/models/operations/networkstatus.rb +22 -0
  60. data/lib/open_api_sdk/models/operations/networkstatus.rbi +11 -0
  61. data/lib/open_api_sdk/models/operations/paymentprocessor.rb +2 -0
  62. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +1 -0
  63. data/lib/open_api_sdk/models/operations/queryparam_sortby.rb +3 -2
  64. data/lib/open_api_sdk/models/operations/queryparam_sortorder.rb +1 -1
  65. data/lib/open_api_sdk/models/operations/reapplicationtimeframe.rb +20 -0
  66. data/lib/open_api_sdk/models/operations/reapplicationtimeframe.rbi +11 -0
  67. data/lib/open_api_sdk/models/operations/reason.rb +1 -1
  68. data/lib/open_api_sdk/models/operations/rejectbountysubmission_rejectionreason.rb +22 -0
  69. data/lib/open_api_sdk/models/operations/rejectbountysubmission_rejectionreason.rbi +11 -0
  70. data/lib/open_api_sdk/models/operations/rejectbountysubmission_requestbody.rb +2 -2
  71. data/lib/open_api_sdk/models/operations/rejectionreason.rb +4 -5
  72. data/lib/open_api_sdk/models/operations/rejectpartnerapplication_requestbody.rb +52 -0
  73. data/lib/open_api_sdk/models/operations/rejectpartnerapplication_requestbody.rbi +23 -0
  74. data/lib/open_api_sdk/models/operations/rejectpartnerapplication_responsebody.rb +32 -0
  75. data/lib/open_api_sdk/models/operations/rejectpartnerapplication_responsebody.rbi +13 -0
  76. data/lib/open_api_sdk/models/operations/requestbody_1.rb +48 -0
  77. data/lib/open_api_sdk/models/operations/requestbody_1.rbi +21 -0
  78. data/lib/open_api_sdk/models/operations/requestbody_2.rb +56 -0
  79. data/lib/open_api_sdk/models/operations/requestbody_2.rbi +25 -0
  80. data/lib/open_api_sdk/models/operations/requestbody_3.rb +68 -0
  81. data/lib/open_api_sdk/models/operations/requestbody_3.rbi +31 -0
  82. data/lib/open_api_sdk/models/operations/requestbody_customer.rb +52 -0
  83. data/lib/open_api_sdk/models/operations/requestbody_customer.rbi +23 -0
  84. data/lib/open_api_sdk/models/operations/requestbody_type.rb +18 -0
  85. data/lib/open_api_sdk/models/operations/requestbody_type.rbi +11 -0
  86. data/lib/open_api_sdk/models/operations/responsebody_customer.rb +6 -6
  87. data/lib/open_api_sdk/models/operations/responsebody_customer.rbi +2 -2
  88. data/lib/open_api_sdk/models/operations/responsebody_paymentprocessor.rb +2 -0
  89. data/lib/open_api_sdk/models/operations/responsebody_sale.rb +6 -2
  90. data/lib/open_api_sdk/models/operations/responsebody_sale.rbi +2 -0
  91. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +6 -2
  92. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rbi +2 -0
  93. data/lib/open_api_sdk/models/operations/{retrievelinks_request.rb → retrievepartnerlinks_request.rb} +1 -1
  94. data/lib/open_api_sdk/models/operations/{retrievelinks_request.rbi → retrievepartnerlinks_request.rbi} +2 -2
  95. data/lib/open_api_sdk/models/operations/{retrievelinks_responsebody.rb → retrievepartnerlinks_responsebody.rb} +1 -1
  96. data/lib/open_api_sdk/models/operations/{retrievelinks_responsebody.rbi → retrievepartnerlinks_responsebody.rbi} +2 -2
  97. data/lib/open_api_sdk/models/operations/sortby.rb +2 -5
  98. data/lib/open_api_sdk/models/operations/tags.rb +36 -0
  99. data/lib/open_api_sdk/models/operations/tags.rbi +15 -0
  100. data/lib/open_api_sdk/models/operations/tracklead_customer.rb +44 -0
  101. data/lib/open_api_sdk/models/operations/tracklead_customer.rbi +19 -0
  102. data/lib/open_api_sdk/models/operations/tracklead_responsebody.rb +2 -2
  103. data/lib/open_api_sdk/models/operations/type.rb +2 -1
  104. data/lib/open_api_sdk/models/operations/updatecommission_customer.rb +6 -6
  105. data/lib/open_api_sdk/models/operations/updatecommission_customer.rbi +2 -2
  106. data/lib/open_api_sdk/models/operations/updatecommission_requestbody.rb +6 -6
  107. data/lib/open_api_sdk/models/operations/updatecommission_requestbody.rbi +2 -2
  108. data/lib/open_api_sdk/models/operations/updatecommission_type.rb +1 -0
  109. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rb +6 -6
  110. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rbi +2 -2
  111. data/lib/open_api_sdk/models/operations.rb +27 -5
  112. data/lib/open_api_sdk/models/shared/commissioncreatedevent_customer.rb +6 -6
  113. data/lib/open_api_sdk/models/shared/commissioncreatedevent_customer.rbi +2 -2
  114. data/lib/open_api_sdk/models/shared/commissioncreatedevent_type.rb +1 -0
  115. data/lib/open_api_sdk/models/shared/customer.rb +6 -6
  116. data/lib/open_api_sdk/models/shared/customer.rbi +2 -2
  117. data/lib/open_api_sdk/models/shared/networkstatus.rb +22 -0
  118. data/lib/open_api_sdk/models/{operations/sort.rbi → shared/networkstatus.rbi} +2 -2
  119. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +32 -10
  120. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +14 -4
  121. data/lib/open_api_sdk/models/shared/salecreatedevent_customer.rb +6 -6
  122. data/lib/open_api_sdk/models/shared/salecreatedevent_customer.rbi +2 -2
  123. data/lib/open_api_sdk/models/shared/tags.rb +36 -0
  124. data/lib/open_api_sdk/models/shared/tags.rbi +15 -0
  125. data/lib/open_api_sdk/models/shared.rb +2 -0
  126. data/lib/open_api_sdk/partner_applications.rb +750 -0
  127. data/lib/open_api_sdk/partners.rb +4 -4
  128. data/lib/open_api_sdk/payouts.rb +1 -1
  129. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  130. data/lib/open_api_sdk/tags.rb +2 -2
  131. metadata +61 -12
  132. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortby.rbi +0 -11
  133. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortorder.rbi +0 -11
  134. data/lib/open_api_sdk/models/operations/sort.rb +0 -23
@@ -16,6 +16,8 @@ module OpenApiSDK
16
16
  field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
17
17
  # The partner's full legal name.
18
18
  field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name'), required: true } }
19
+ # The partner's network status on Dub.
20
+ field :network_status, Models::Operations::NetworkStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('networkStatus'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::NetworkStatus, false) } }
19
21
  # The program's unique ID on Dub.
20
22
  field :program_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId'), required: true } }
21
23
  # The partner's unique ID on Dub.
@@ -24,14 +26,16 @@ module OpenApiSDK
24
26
  field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt'), required: true } }
25
27
  # The status of the partner's enrollment in the program.
26
28
  field :status, Models::Operations::ListPartnersStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::ListPartnersStatus, false) } }
27
- # If the partner profile type is a company, this is the partner's legal company name.
28
- field :company_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('companyName'), required: true } }
29
+ # The partner's unique username on Dub.
30
+ field :username, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('username'), required: true } }
29
31
  # The partner's email address. Should be a unique value across Dub.
30
32
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email'), required: true } }
31
33
  # The partner's avatar image.
32
34
  field :image, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image'), required: true } }
33
35
  # The partner's country (required for tax purposes).
34
36
  field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), required: true } }
37
+ # If the partner profile type is a company, this is the partner's legal company name.
38
+ field :company_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('companyName'), required: true } }
35
39
  # The partner's default payout method. Connect: Bank account payouts via Stripe Connect; Stablecoin: USDC payouts directly to a crypto wallet; PayPal: Payouts via PayPal
36
40
  field :default_payout_method, Crystalline::Nilable.new(Models::Operations::DefaultPayoutMethod), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('defaultPayoutMethod'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::DefaultPayoutMethod, false) } }
37
41
  # The partner's PayPal email (for receiving payouts via PayPal).
@@ -40,12 +44,14 @@ module OpenApiSDK
40
44
  field :stripe_connect_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('stripeConnectId'), required: true } }
41
45
  # The date when the partner enabled payouts.
42
46
  field :payouts_enabled_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('payoutsEnabledAt'), required: true } }
43
- # The date when the partner received the trusted badge in the partner network.
44
- field :trusted_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trustedAt'), required: true } }
47
+ # The date when the partner's identity was verified.
48
+ field :identity_verified_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('identityVerifiedAt'), required: true } }
45
49
  # 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.
46
50
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId'), required: true } }
47
51
  # The partner's referral links in this program.
48
52
  field :links, Crystalline::Nilable.new(Crystalline::Array.new(Models::Operations::Links)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('links'), required: true } }
53
+ # The tags associated with the partner.
54
+ field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Operations::Tags)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags') } }
49
55
  # A brief description of the partner and their background.
50
56
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
51
57
  # The partner's group ID on Dub.
@@ -59,6 +65,8 @@ module OpenApiSDK
59
65
 
60
66
  field :sale_reward_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleRewardId') } }
61
67
 
68
+ field :referral_reward_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('referralRewardId') } }
69
+
62
70
  field :discount_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('discountId') } }
63
71
  # If the partner submitted an application to join the program, this is the ID of the application.
64
72
  field :application_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('applicationId') } }
@@ -106,32 +114,40 @@ module OpenApiSDK
106
114
  field :instagram, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('instagram') } }
107
115
  # The partner's TikTok username (e.g. `johndoe`).
108
116
  field :tiktok, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
117
+ # DEPRECATED: Use `networkStatus` instead.
118
+ #
119
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
120
+ field :trusted_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trustedAt') } }
109
121
 
110
- sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::ListPartnersStatus, company_name: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), default_payout_method: T.nilable(Models::Operations::DefaultPayoutMethod), 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::Operations::Links]), description: T.nilable(::String), group_id: T.nilable(::String), total_commissions: T.nilable(::Float), click_reward_id: T.nilable(::String), lead_reward_id: T.nilable(::String), sale_reward_id: T.nilable(::String), discount_id: T.nilable(::String), application_id: T.nilable(::String), banned_at: T.nilable(::String), banned_reason: T.nilable(Models::Operations::BannedReason), referral_form_data: T.nilable(Models::Operations::ReferralFormData), application: T.nilable(Models::Operations::Application), 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 }
111
- def initialize(id:, name:, program_id:, partner_id:, created_at:, status:, company_name: nil, email: nil, image: nil, country: nil, default_payout_method: 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, referral_form_data: nil, application: 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)
122
+ sig { params(id: ::String, name: ::String, network_status: Models::Operations::NetworkStatus, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::ListPartnersStatus, username: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), company_name: T.nilable(::String), default_payout_method: T.nilable(Models::Operations::DefaultPayoutMethod), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), identity_verified_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Operations::Links]), tags: T.nilable(T::Array[Models::Operations::Tags]), 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), referral_reward_id: T.nilable(::String), discount_id: T.nilable(::String), application_id: T.nilable(::String), banned_at: T.nilable(::String), banned_reason: T.nilable(Models::Operations::BannedReason), referral_form_data: T.nilable(Models::Operations::ReferralFormData), application: T.nilable(Models::Operations::Application), 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), trusted_at: T.nilable(::String)).void }
123
+ def initialize(id:, name:, network_status:, program_id:, partner_id:, created_at:, status:, username: nil, email: nil, image: nil, country: nil, company_name: nil, default_payout_method: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_at: nil, identity_verified_at: nil, tenant_id: nil, links: nil, tags: nil, description: nil, group_id: nil, total_commissions: 0.0, click_reward_id: nil, lead_reward_id: nil, sale_reward_id: nil, referral_reward_id: nil, discount_id: nil, application_id: nil, banned_at: nil, banned_reason: nil, referral_form_data: nil, application: 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, trusted_at: nil)
112
124
  @id = id
113
125
  @name = name
126
+ @network_status = network_status
114
127
  @program_id = program_id
115
128
  @partner_id = partner_id
116
129
  @created_at = created_at
117
130
  @status = status
118
- @company_name = company_name
131
+ @username = username
119
132
  @email = email
120
133
  @image = image
121
134
  @country = country
135
+ @company_name = company_name
122
136
  @default_payout_method = default_payout_method
123
137
  @paypal_email = paypal_email
124
138
  @stripe_connect_id = stripe_connect_id
125
139
  @payouts_enabled_at = payouts_enabled_at
126
- @trusted_at = trusted_at
140
+ @identity_verified_at = identity_verified_at
127
141
  @tenant_id = tenant_id
128
142
  @links = links
143
+ @tags = tags
129
144
  @description = description
130
145
  @group_id = group_id
131
146
  @total_commissions = total_commissions
132
147
  @click_reward_id = click_reward_id
133
148
  @lead_reward_id = lead_reward_id
134
149
  @sale_reward_id = sale_reward_id
150
+ @referral_reward_id = referral_reward_id
135
151
  @discount_id = discount_id
136
152
  @application_id = application_id
137
153
  @banned_at = banned_at
@@ -156,6 +172,7 @@ module OpenApiSDK
156
172
  @linkedin = linkedin
157
173
  @instagram = instagram
158
174
  @tiktok = tiktok
175
+ @trusted_at = trusted_at
159
176
  end
160
177
 
161
178
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -163,27 +180,31 @@ module OpenApiSDK
163
180
  return false unless other.is_a? self.class
164
181
  return false unless @id == other.id
165
182
  return false unless @name == other.name
183
+ return false unless @network_status == other.network_status
166
184
  return false unless @program_id == other.program_id
167
185
  return false unless @partner_id == other.partner_id
168
186
  return false unless @created_at == other.created_at
169
187
  return false unless @status == other.status
170
- return false unless @company_name == other.company_name
188
+ return false unless @username == other.username
171
189
  return false unless @email == other.email
172
190
  return false unless @image == other.image
173
191
  return false unless @country == other.country
192
+ return false unless @company_name == other.company_name
174
193
  return false unless @default_payout_method == other.default_payout_method
175
194
  return false unless @paypal_email == other.paypal_email
176
195
  return false unless @stripe_connect_id == other.stripe_connect_id
177
196
  return false unless @payouts_enabled_at == other.payouts_enabled_at
178
- return false unless @trusted_at == other.trusted_at
197
+ return false unless @identity_verified_at == other.identity_verified_at
179
198
  return false unless @tenant_id == other.tenant_id
180
199
  return false unless @links == other.links
200
+ return false unless @tags == other.tags
181
201
  return false unless @description == other.description
182
202
  return false unless @group_id == other.group_id
183
203
  return false unless @total_commissions == other.total_commissions
184
204
  return false unless @click_reward_id == other.click_reward_id
185
205
  return false unless @lead_reward_id == other.lead_reward_id
186
206
  return false unless @sale_reward_id == other.sale_reward_id
207
+ return false unless @referral_reward_id == other.referral_reward_id
187
208
  return false unless @discount_id == other.discount_id
188
209
  return false unless @application_id == other.application_id
189
210
  return false unless @banned_at == other.banned_at
@@ -208,6 +229,7 @@ module OpenApiSDK
208
229
  return false unless @linkedin == other.linkedin
209
230
  return false unless @instagram == other.instagram
210
231
  return false unless @tiktok == other.tiktok
232
+ return false unless @trusted_at == other.trusted_at
211
233
  true
212
234
  end
213
235
  end
@@ -12,6 +12,8 @@ class OpenApiSDK::Models::Operations::ListPartnersResponseBody
12
12
  def id=(str_); end
13
13
  def name(); end
14
14
  def name=(str_); end
15
+ def network_status(); end
16
+ def network_status=(str_); end
15
17
  def program_id(); end
16
18
  def program_id=(str_); end
17
19
  def partner_id(); end
@@ -20,14 +22,16 @@ class OpenApiSDK::Models::Operations::ListPartnersResponseBody
20
22
  def created_at=(str_); end
21
23
  def status(); end
22
24
  def status=(str_); end
23
- def company_name(); end
24
- def company_name=(str_); end
25
+ def username(); end
26
+ def username=(str_); end
25
27
  def email(); end
26
28
  def email=(str_); end
27
29
  def image(); end
28
30
  def image=(str_); end
29
31
  def country(); end
30
32
  def country=(str_); end
33
+ def company_name(); end
34
+ def company_name=(str_); end
31
35
  def default_payout_method(); end
32
36
  def default_payout_method=(str_); end
33
37
  def paypal_email(); end
@@ -36,12 +40,14 @@ class OpenApiSDK::Models::Operations::ListPartnersResponseBody
36
40
  def stripe_connect_id=(str_); end
37
41
  def payouts_enabled_at(); end
38
42
  def payouts_enabled_at=(str_); end
39
- def trusted_at(); end
40
- def trusted_at=(str_); end
43
+ def identity_verified_at(); end
44
+ def identity_verified_at=(str_); end
41
45
  def tenant_id(); end
42
46
  def tenant_id=(str_); end
43
47
  def links(); end
44
48
  def links=(str_); end
49
+ def tags(); end
50
+ def tags=(str_); end
45
51
  def description(); end
46
52
  def description=(str_); end
47
53
  def group_id(); end
@@ -54,6 +60,8 @@ class OpenApiSDK::Models::Operations::ListPartnersResponseBody
54
60
  def lead_reward_id=(str_); end
55
61
  def sale_reward_id(); end
56
62
  def sale_reward_id=(str_); end
63
+ def referral_reward_id(); end
64
+ def referral_reward_id=(str_); end
57
65
  def discount_id(); end
58
66
  def discount_id=(str_); end
59
67
  def application_id(); end
@@ -102,4 +110,6 @@ class OpenApiSDK::Models::Operations::ListPartnersResponseBody
102
110
  def instagram=(str_); end
103
111
  def tiktok(); end
104
112
  def tiktok=(str_); end
113
+ def trusted_at(); end
114
+ def trusted_at=(str_); end
105
115
  end
@@ -0,0 +1,22 @@
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
+ # NetworkStatus - The partner's network status on Dub.
11
+ class NetworkStatus < T::Enum
12
+ enums do
13
+ DRAFT = new('draft')
14
+ SUBMITTED = new('submitted')
15
+ APPROVED = new('approved')
16
+ REJECTED = new('rejected')
17
+ TRUSTED = new('trusted')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::NetworkStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::NetworkStatus
11
+ 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
@@ -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
@@ -7,7 +7,7 @@
7
7
  module OpenApiSDK
8
8
  module Models
9
9
  module Operations
10
-
10
+ # Reason - The reason for banning the partner.
11
11
  class Reason < T::Enum
12
12
  enums do
13
13
  TOS_VIOLATION = new('tos_violation')
@@ -0,0 +1,22 @@
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
+ # RejectBountySubmissionRejectionReason - The reason for rejecting the submission.
11
+ class RejectBountySubmissionRejectionReason < T::Enum
12
+ enums do
13
+ INVALID_PROOF = new('invalidProof')
14
+ DUPLICATE_SUBMISSION = new('duplicateSubmission')
15
+ OUT_OF_TIME_WINDOW = new('outOfTimeWindow')
16
+ DID_NOT_MEET_CRITERIA = new('didNotMeetCriteria')
17
+ OTHER = new('other')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::RejectBountySubmissionRejectionReason
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::RejectBountySubmissionRejectionReason
11
+ end
@@ -13,11 +13,11 @@ module OpenApiSDK
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The reason for rejecting the submission.
16
- 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) } }
16
+ field :rejection_reason, Crystalline::Nilable.new(Models::Operations::RejectBountySubmissionRejectionReason), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rejectionReason'), 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::RejectBountySubmissionRejectionReason, true) } }
17
17
  # The note for rejecting the submission.
18
18
  field :rejection_note, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rejectionNote') } }
19
19
 
20
- sig { params(rejection_reason: T.nilable(Models::Operations::RejectionReason), rejection_note: T.nilable(::String)).void }
20
+ sig { params(rejection_reason: T.nilable(Models::Operations::RejectBountySubmissionRejectionReason), rejection_note: T.nilable(::String)).void }
21
21
  def initialize(rejection_reason: nil, rejection_note: nil)
22
22
  @rejection_reason = rejection_reason
23
23
  @rejection_note = rejection_note
@@ -7,13 +7,12 @@
7
7
  module OpenApiSDK
8
8
  module Models
9
9
  module Operations
10
- # RejectionReason - The reason for rejecting the submission.
10
+ # RejectionReason - The reason for rejecting the partner application. This will be shared with the partner via email.
11
11
  class RejectionReason < T::Enum
12
12
  enums do
13
- INVALID_PROOF = new('invalidProof')
14
- DUPLICATE_SUBMISSION = new('duplicateSubmission')
15
- OUT_OF_TIME_WINDOW = new('outOfTimeWindow')
16
- DID_NOT_MEET_CRITERIA = new('didNotMeetCriteria')
13
+ NEEDS_MORE_DETAIL = new('needsMoreDetail')
14
+ DOES_NOT_MEET_REQUIREMENTS = new('doesNotMeetRequirements')
15
+ NOT_THE_RIGHT_FIT = new('notTheRightFit')
17
16
  OTHER = new('other')
18
17
  end
19
18
  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
@@ -0,0 +1,32 @@
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 rejected partner
11
+ class RejectPartnerApplicationResponseBody
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The ID of the rejected partner.
16
+ field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
17
+
18
+ sig { params(partner_id: ::String).void }
19
+ def initialize(partner_id:)
20
+ @partner_id = partner_id
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @partner_id == other.partner_id
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::RejectPartnerApplicationResponseBody
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::RejectPartnerApplicationResponseBody
11
+ def partner_id(); end
12
+ def partner_id=(str_); end
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