dub 0.12.17 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dub.rb +1 -1
  3. data/lib/open_api_sdk/commissions.rb +1 -0
  4. data/lib/open_api_sdk/discount_codes.rb +1 -1
  5. data/lib/open_api_sdk/dub.rb +2 -2
  6. data/lib/open_api_sdk/models/operations/approvebountysubmission_responsebody.rb +6 -2
  7. data/lib/open_api_sdk/models/operations/approvebountysubmission_responsebody.rbi +2 -0
  8. data/lib/open_api_sdk/models/operations/approvebountysubmission_status.rb +1 -0
  9. data/lib/open_api_sdk/models/operations/{approvepartnerapplication_requestbody.rb → approveprogramapplication_requestbody.rb} +7 -3
  10. data/lib/open_api_sdk/models/operations/{approvepartnerapplication_requestbody.rbi → approveprogramapplication_requestbody.rbi} +4 -2
  11. data/lib/open_api_sdk/models/operations/{approvepartnerapplication_responsebody.rb → approveprogramapplication_responsebody.rb} +1 -1
  12. data/lib/open_api_sdk/models/operations/{approvepartnerapplication_responsebody.rbi → approveprogramapplication_responsebody.rbi} +2 -2
  13. data/lib/open_api_sdk/models/operations/creatediscountcode_requestbody.rb +1 -1
  14. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +2 -2
  15. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +6 -2
  16. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +2 -0
  17. data/lib/open_api_sdk/models/operations/createpartnerlink_linkprops.rb +2 -2
  18. data/lib/open_api_sdk/models/operations/createpartnerlink_requestbody.rb +1 -1
  19. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_linkprops.rb +2 -2
  20. data/lib/open_api_sdk/models/operations/data.rb +1 -1
  21. data/lib/open_api_sdk/models/operations/getcustomers_request.rb +1 -1
  22. data/lib/open_api_sdk/models/operations/linkprops.rb +2 -2
  23. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_status.rb +1 -0
  24. data/lib/open_api_sdk/models/operations/listbountysubmissions_responsebody.rb +6 -2
  25. data/lib/open_api_sdk/models/operations/listbountysubmissions_responsebody.rbi +2 -0
  26. data/lib/open_api_sdk/models/operations/listbountysubmissions_status.rb +1 -0
  27. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_status.rb +25 -0
  28. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_status.rbi +11 -0
  29. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +7 -3
  30. data/lib/open_api_sdk/models/operations/listcommissions_request.rbi +2 -0
  31. data/lib/open_api_sdk/models/operations/listcommissions_responsebody.rb +1 -1
  32. data/lib/open_api_sdk/models/operations/listdiscountcodes_request.rb +6 -2
  33. data/lib/open_api_sdk/models/operations/listdiscountcodes_request.rbi +2 -0
  34. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +6 -2
  35. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +2 -0
  36. data/lib/open_api_sdk/models/operations/listprogramapplications_defaultpayoutmethod.rb +21 -0
  37. data/lib/open_api_sdk/models/operations/listprogramapplications_defaultpayoutmethod.rbi +11 -0
  38. data/lib/open_api_sdk/models/operations/listprogramapplications_networkstatus.rb +22 -0
  39. data/lib/open_api_sdk/models/operations/listprogramapplications_networkstatus.rbi +11 -0
  40. data/lib/open_api_sdk/models/operations/{listpartnerapplications_partner.rb → listprogramapplications_partner.rb} +20 -4
  41. data/lib/open_api_sdk/models/operations/{listpartnerapplications_partner.rbi → listprogramapplications_partner.rbi} +10 -2
  42. data/lib/open_api_sdk/models/operations/listprogramapplications_queryparam_sortorder.rb +19 -0
  43. data/lib/open_api_sdk/models/operations/listprogramapplications_queryparam_sortorder.rbi +11 -0
  44. data/lib/open_api_sdk/models/operations/{listpartnerapplications_request.rb → listprogramapplications_request.rb} +15 -3
  45. data/lib/open_api_sdk/models/operations/{listpartnerapplications_request.rbi → listprogramapplications_request.rbi} +8 -2
  46. data/lib/open_api_sdk/models/operations/{listpartnerapplications_responsebody.rb → listprogramapplications_responsebody.rb} +3 -3
  47. data/lib/open_api_sdk/models/operations/{listpartnerapplications_responsebody.rbi → listprogramapplications_responsebody.rbi} +2 -2
  48. data/lib/open_api_sdk/models/operations/{listpartnerapplications_status.rb → listprogramapplications_status.rb} +2 -2
  49. data/lib/open_api_sdk/models/operations/listprogramapplications_status.rbi +11 -0
  50. data/lib/open_api_sdk/models/operations/listprogramapplications_type.rb +23 -0
  51. data/lib/open_api_sdk/models/operations/listprogramapplications_type.rbi +11 -0
  52. data/lib/open_api_sdk/models/operations/platforms.rb +40 -0
  53. data/lib/open_api_sdk/models/operations/platforms.rbi +17 -0
  54. data/lib/open_api_sdk/models/operations/queryparam_status.rb +3 -8
  55. data/lib/open_api_sdk/models/operations/rejectbountysubmission_responsebody.rb +6 -2
  56. data/lib/open_api_sdk/models/operations/rejectbountysubmission_responsebody.rbi +2 -0
  57. data/lib/open_api_sdk/models/operations/rejectbountysubmission_status.rb +1 -0
  58. data/lib/open_api_sdk/models/operations/{rejectpartnerapplication_requestbody.rb → rejectprogramapplication_requestbody.rb} +1 -1
  59. data/lib/open_api_sdk/models/operations/{rejectpartnerapplication_requestbody.rbi → rejectprogramapplication_requestbody.rbi} +2 -2
  60. data/lib/open_api_sdk/models/operations/{rejectpartnerapplication_responsebody.rb → rejectprogramapplication_responsebody.rb} +1 -1
  61. data/lib/open_api_sdk/models/operations/{rejectpartnerapplication_responsebody.rbi → rejectprogramapplication_responsebody.rbi} +2 -2
  62. data/lib/open_api_sdk/models/operations/requestbody.rb +2 -2
  63. data/lib/open_api_sdk/models/operations/requestbody_3.rb +13 -7
  64. data/lib/open_api_sdk/models/operations/requestbody_3.rbi +4 -2
  65. data/lib/open_api_sdk/models/operations/stripeinvoicestoimport.rb +27 -0
  66. data/lib/open_api_sdk/models/operations/stripeinvoicestoimport.rbi +11 -0
  67. data/lib/open_api_sdk/models/operations/stripeinvoicestoimport_1.rb +18 -0
  68. data/lib/open_api_sdk/models/operations/stripeinvoicestoimport_1.rbi +11 -0
  69. data/lib/open_api_sdk/models/operations/updatecommission_responsebody.rb +1 -1
  70. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rb +6 -2
  71. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rbi +2 -0
  72. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +2 -2
  73. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +2 -2
  74. data/lib/open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb +2 -2
  75. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +1 -1
  76. data/lib/open_api_sdk/models/operations.rb +16 -8
  77. data/lib/open_api_sdk/models/shared/commissioncreatedevent_data.rb +1 -1
  78. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +6 -2
  79. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +2 -0
  80. data/lib/open_api_sdk/models/shared/platforms.rb +40 -0
  81. data/lib/open_api_sdk/models/shared/platforms.rbi +17 -0
  82. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent.rb +44 -0
  83. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent.rbi +19 -0
  84. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_applicationformdata.rb +36 -0
  85. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_applicationformdata.rbi +15 -0
  86. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_data.rb +44 -0
  87. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_data.rbi +19 -0
  88. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_defaultpayoutmethod.rb +21 -0
  89. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_defaultpayoutmethod.rbi +11 -0
  90. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_event.rb +18 -0
  91. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_event.rbi +11 -0
  92. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_networkstatus.rb +22 -0
  93. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_networkstatus.rbi +11 -0
  94. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_partner.rb +104 -0
  95. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_partner.rbi +49 -0
  96. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_status.rb +25 -0
  97. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_status.rbi +11 -0
  98. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_type.rb +23 -0
  99. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_type.rbi +11 -0
  100. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent.rb → programapplicationsubmittedevent.rb} +7 -5
  101. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent.rbi → programapplicationsubmittedevent.rbi} +2 -2
  102. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_data.rb → programapplicationsubmittedevent_data.rb} +3 -3
  103. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_data.rbi → programapplicationsubmittedevent_data.rbi} +2 -2
  104. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_event.rb → programapplicationsubmittedevent_event.rb} +1 -1
  105. data/lib/open_api_sdk/models/shared/programapplicationsubmittedevent_event.rbi +11 -0
  106. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_partner.rb → programapplicationsubmittedevent_partner.rb} +3 -3
  107. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_partner.rbi → programapplicationsubmittedevent_partner.rbi} +2 -2
  108. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_status.rb → programapplicationsubmittedevent_status.rb} +2 -2
  109. data/lib/open_api_sdk/models/shared/programapplicationsubmittedevent_status.rbi +11 -0
  110. data/lib/open_api_sdk/models/shared.rb +15 -5
  111. data/lib/open_api_sdk/{partner_applications.rb → program_applications.rb} +16 -16
  112. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  113. data/lib/open_api_sdk/utils/utils.rb +6 -2
  114. metadata +65 -29
  115. data/lib/open_api_sdk/models/operations/listpartnerapplications_status.rbi +0 -11
  116. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_event.rbi +0 -11
  117. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_status.rbi +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 237499cf0b91b7cd89e6561c5fc84046f3e6845b4ad461da24c581007821b40d
4
- data.tar.gz: f8f0b36da1bbbd5d60028c11c31afb94e5561e702491d0ffd925b9392b2cdbe5
3
+ metadata.gz: c0396f8f73b650a3b96976c55608ce97c61e3dfaeaffcca53eb3d77aad29aaf2
4
+ data.tar.gz: b9a09c7cb722b6860796ba10bf89aa00e0c4c4003f57ecf8f76968309e31b061
5
5
  SHA512:
6
- metadata.gz: 8504e3804470ccbb0e2ada08187135d53e227633e3bc2c0769450e9b2f9000d1993c06fc092ee9bbb398da3e8aafc4e5c065c0c22dd05b5ab149f359bde4d118
7
- data.tar.gz: 56f2cebc7f4ccbfbb1267770cc73bf0b50a639dd673e40f30992699a0a731b9ddafacea04670ff3d22c2d44f19f0871de05deace032b9d52c31c337cfa6ded03
6
+ metadata.gz: b38fa433e90d9347d4115048433107df7ee5c324ffb6faa9566be3589ecf480689af1c1ea66e8fa1ecf552fa77a009a08b3f951a57b772c229b58acc794b62c7
7
+ data.tar.gz: ac1a36c68405a9af20aa7b8436f8dab42aa7d0a375e1f067d5936d594fdf72f32feab97a82f0f0f04cdd02bd1844b55b05c67880da59f5c1246394b95644fc25
data/lib/dub.rb CHANGED
@@ -14,7 +14,7 @@ module OpenApiSDK
14
14
  autoload :Track, 'open_api_sdk/track'
15
15
  autoload :Customers, 'open_api_sdk/customers'
16
16
  autoload :Partners, 'open_api_sdk/partners'
17
- autoload :PartnerApplications, 'open_api_sdk/partner_applications'
17
+ autoload :ProgramApplications, 'open_api_sdk/program_applications'
18
18
  autoload :DiscountCodes, 'open_api_sdk/discount_codes'
19
19
  autoload :Commissions, 'open_api_sdk/commissions'
20
20
  autoload :Payouts, 'open_api_sdk/payouts'
@@ -151,6 +151,7 @@ module OpenApiSDK
151
151
  type: request.type,
152
152
  customer_id: request.customer_id,
153
153
  payout_id: request.payout_id,
154
+ bounty_submission_id: request.bounty_submission_id,
154
155
  partner_id: request.partner_id,
155
156
  tenant_id: request.tenant_id,
156
157
  group_id: request.group_id,
@@ -44,7 +44,7 @@ module OpenApiSDK
44
44
  sig { params(request: Models::Operations::ListDiscountCodesRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(T::Array[Models::Shared::DiscountCodeSchema]) }
45
45
  def list(request:, timeout_ms: nil, http_headers: nil)
46
46
  # list - List discount codes
47
- # Retrieve a paginated list of discount codes for a partner / a given discount / the whole program.
47
+ # Retrieve a paginated list of discount codes in a program or filtered by partner, discount, or code.
48
48
  url, params = @sdk_configuration.get_server_details
49
49
  base_url = Utils.template_url(url, params)
50
50
  url = "#{base_url}/discount-codes"
@@ -16,7 +16,7 @@ module OpenApiSDK
16
16
  class Dub
17
17
  extend T::Sig
18
18
 
19
- attr_accessor :links, :analytics, :events, :tags, :folders, :domains, :track, :customers, :partners, :partner_applications, :discount_codes, :commissions, :payouts, :embed_tokens, :qr_codes, :bounties
19
+ attr_accessor :links, :analytics, :events, :tags, :folders, :domains, :track, :customers, :partners, :program_applications, :discount_codes, :commissions, :payouts, :embed_tokens, :qr_codes, :bounties
20
20
 
21
21
  # Instantiates the SDK, configuring it with the provided parameters.
22
22
  #
@@ -87,7 +87,7 @@ module OpenApiSDK
87
87
  @track = Track.new(@sdk_configuration)
88
88
  @customers = Customers.new(@sdk_configuration)
89
89
  @partners = Partners.new(@sdk_configuration)
90
- @partner_applications = PartnerApplications.new(@sdk_configuration)
90
+ @program_applications = ProgramApplications.new(@sdk_configuration)
91
91
  @discount_codes = DiscountCodes.new(@sdk_configuration)
92
92
  @commissions = Commissions.new(@sdk_configuration)
93
93
  @payouts = Payouts.new(@sdk_configuration)
@@ -44,9 +44,11 @@ module OpenApiSDK
44
44
  field :rejection_note, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rejectionNote'), required: true } }
45
45
  # The date and time the submission's social metrics were last synced
46
46
  field :social_metrics_last_synced_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('socialMetricsLastSyncedAt') } }
47
+ # The highest social metric milestone that has been approved and paid out for this submission
48
+ field :approved_social_metric_threshold, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('approvedSocialMetricThreshold') } }
47
49
 
48
- sig { params(id: ::String, bounty_id: ::String, partner_id: ::String, status: Models::Operations::ApproveBountySubmissionStatus, created_at: ::String, period_number: ::Integer, description: T.nilable(::String), urls: T.nilable(T::Array[::String]), files: T.nilable(T::Array[Models::Operations::ApproveBountySubmissionFiles]), performance_count: T.nilable(::Float), social_metric_count: T.nilable(::Integer), completed_at: T.nilable(::String), reviewed_at: T.nilable(::String), rejection_reason: T.nilable(::String), rejection_note: T.nilable(::String), social_metrics_last_synced_at: T.nilable(::String)).void }
49
- def initialize(id:, bounty_id:, partner_id:, status:, created_at:, period_number:, description: nil, urls: nil, files: nil, performance_count: nil, social_metric_count: nil, completed_at: nil, reviewed_at: nil, rejection_reason: nil, rejection_note: nil, social_metrics_last_synced_at: nil)
50
+ sig { params(id: ::String, bounty_id: ::String, partner_id: ::String, status: Models::Operations::ApproveBountySubmissionStatus, created_at: ::String, period_number: ::Integer, description: T.nilable(::String), urls: T.nilable(T::Array[::String]), files: T.nilable(T::Array[Models::Operations::ApproveBountySubmissionFiles]), performance_count: T.nilable(::Float), social_metric_count: T.nilable(::Integer), completed_at: T.nilable(::String), reviewed_at: T.nilable(::String), rejection_reason: T.nilable(::String), rejection_note: T.nilable(::String), social_metrics_last_synced_at: T.nilable(::String), approved_social_metric_threshold: T.nilable(::Integer)).void }
51
+ def initialize(id:, bounty_id:, partner_id:, status:, created_at:, period_number:, description: nil, urls: nil, files: nil, performance_count: nil, social_metric_count: nil, completed_at: nil, reviewed_at: nil, rejection_reason: nil, rejection_note: nil, social_metrics_last_synced_at: nil, approved_social_metric_threshold: nil)
50
52
  @id = id
51
53
  @bounty_id = bounty_id
52
54
  @partner_id = partner_id
@@ -63,6 +65,7 @@ module OpenApiSDK
63
65
  @rejection_reason = rejection_reason
64
66
  @rejection_note = rejection_note
65
67
  @social_metrics_last_synced_at = social_metrics_last_synced_at
68
+ @approved_social_metric_threshold = approved_social_metric_threshold
66
69
  end
67
70
 
68
71
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -84,6 +87,7 @@ module OpenApiSDK
84
87
  return false unless @rejection_reason == other.rejection_reason
85
88
  return false unless @rejection_note == other.rejection_note
86
89
  return false unless @social_metrics_last_synced_at == other.social_metrics_last_synced_at
90
+ return false unless @approved_social_metric_threshold == other.approved_social_metric_threshold
87
91
  true
88
92
  end
89
93
  end
@@ -40,4 +40,6 @@ class OpenApiSDK::Models::Operations::ApproveBountySubmissionResponseBody
40
40
  def rejection_note=(str_); end
41
41
  def social_metrics_last_synced_at(); end
42
42
  def social_metrics_last_synced_at=(str_); end
43
+ def approved_social_metric_threshold(); end
44
+ def approved_social_metric_threshold=(str_); end
43
45
  end
@@ -14,6 +14,7 @@ module OpenApiSDK
14
14
  SUBMITTED = new('submitted')
15
15
  APPROVED = new('approved')
16
16
  REJECTED = new('rejected')
17
+ PARTIALLY_APPROVED = new('partiallyApproved')
17
18
  end
18
19
  end
19
20
  end
@@ -8,18 +8,21 @@ module OpenApiSDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- class ApprovePartnerApplicationRequestBody
11
+ class ApproveProgramApplicationRequestBody
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The ID of the partner to approve.
16
16
  field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
17
+ # The ID of the application to approve. If not provided, the partner's most recent pending or rejected application is used. For a partner who is already approved in the program, only a pending application is used.
18
+ field :application_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('applicationId') } }
17
19
  # The ID of the group to assign the partner to. If not provided, the partner will be assigned to the group they applied to, or the program's default group if no application group is set.
18
20
  field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
19
21
 
20
- sig { params(partner_id: ::String, group_id: T.nilable(::String)).void }
21
- def initialize(partner_id:, group_id: nil)
22
+ sig { params(partner_id: ::String, application_id: T.nilable(::String), group_id: T.nilable(::String)).void }
23
+ def initialize(partner_id:, application_id: nil, group_id: nil)
22
24
  @partner_id = partner_id
25
+ @application_id = application_id
23
26
  @group_id = group_id
24
27
  end
25
28
 
@@ -27,6 +30,7 @@ module OpenApiSDK
27
30
  def ==(other)
28
31
  return false unless other.is_a? self.class
29
32
  return false unless @partner_id == other.partner_id
33
+ return false unless @application_id == other.application_id
30
34
  return false unless @group_id == other.group_id
31
35
  true
32
36
  end
@@ -2,14 +2,16 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class OpenApiSDK::Models::Operations::ApprovePartnerApplicationRequestBody
5
+ class OpenApiSDK::Models::Operations::ApproveProgramApplicationRequestBody
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class OpenApiSDK::Models::Operations::ApprovePartnerApplicationRequestBody
10
+ class OpenApiSDK::Models::Operations::ApproveProgramApplicationRequestBody
11
11
  def partner_id(); end
12
12
  def partner_id=(str_); end
13
+ def application_id(); end
14
+ def application_id=(str_); end
13
15
  def group_id(); end
14
16
  def group_id=(str_); end
15
17
  end
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Models
9
9
  module Operations
10
10
  # The approved partner
11
- class ApprovePartnerApplicationResponseBody
11
+ class ApproveProgramApplicationResponseBody
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::ApprovePartnerApplicationResponseBody
5
+ class OpenApiSDK::Models::Operations::ApproveProgramApplicationResponseBody
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class OpenApiSDK::Models::Operations::ApprovePartnerApplicationResponseBody
10
+ class OpenApiSDK::Models::Operations::ApproveProgramApplicationResponseBody
11
11
  def partner_id(); end
12
12
  def partner_id=(str_); end
13
13
  end
@@ -16,7 +16,7 @@ module OpenApiSDK
16
16
  field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
17
17
  # The ID of the partner's referral link to associate this discount code with. Each link can only have one discount code.
18
18
  field :link_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkId'), required: true } }
19
- # The discount code to create. If omitted, a unique code will be generated automatically from the partner's name.
19
+ # The discount code to create. If omitted, a unique code will be generated automatically from the partner's name. Stripe and Shopify codes can only contain letters, numbers, dashes, and underscores. Custom provider codes can contain any characters.
20
20
  field :code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('code') } }
21
21
 
22
22
  sig { params(partner_id: ::String, link_id: ::String, code: T.nilable(::String)).void }
@@ -40,9 +40,9 @@ module OpenApiSDK
40
40
  #
41
41
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
42
42
  field :public_stats, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats') } }
43
- # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
43
+ # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace. Pass `null` or an empty string to remove it.
44
44
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
45
- # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
45
+ # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant. Pass `null` or an empty string to remove it.
46
46
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
47
47
  # The ID of the program the short link is associated with.
48
48
  field :program_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId') } }
@@ -67,6 +67,8 @@ module OpenApiSDK
67
67
 
68
68
  field :referral_reward_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('referralRewardId') } }
69
69
 
70
+ field :custom_reward_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customRewardId') } }
71
+
70
72
  field :discount_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('discountId') } }
71
73
  # If the partner submitted an application to join the program, this is the ID of the application.
72
74
  field :application_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('applicationId') } }
@@ -119,8 +121,8 @@ module OpenApiSDK
119
121
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
120
122
  field :trusted_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trustedAt') } }
121
123
 
122
- sig { params(id: ::String, name: ::String, network_status: Models::Operations::CreatePartnerNetworkStatus, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::CreatePartnerStatus, 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::CreatePartnerDefaultPayoutMethod), 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::CreatePartnerLinks]), tags: T.nilable(T::Array[Models::Operations::CreatePartnerTags]), 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::CreatePartnerBannedReason), referral_form_data: T.nilable(Models::Operations::CreatePartnerReferralFormData), application: T.nilable(Models::Operations::CreatePartnerApplication), 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)
124
+ sig { params(id: ::String, name: ::String, network_status: Models::Operations::CreatePartnerNetworkStatus, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::CreatePartnerStatus, 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::CreatePartnerDefaultPayoutMethod), 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::CreatePartnerLinks]), tags: T.nilable(T::Array[Models::Operations::CreatePartnerTags]), 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), custom_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::CreatePartnerBannedReason), referral_form_data: T.nilable(Models::Operations::CreatePartnerReferralFormData), application: T.nilable(Models::Operations::CreatePartnerApplication), 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 }
125
+ 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, custom_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)
124
126
  @id = id
125
127
  @name = name
126
128
  @network_status = network_status
@@ -148,6 +150,7 @@ module OpenApiSDK
148
150
  @lead_reward_id = lead_reward_id
149
151
  @sale_reward_id = sale_reward_id
150
152
  @referral_reward_id = referral_reward_id
153
+ @custom_reward_id = custom_reward_id
151
154
  @discount_id = discount_id
152
155
  @application_id = application_id
153
156
  @banned_at = banned_at
@@ -205,6 +208,7 @@ module OpenApiSDK
205
208
  return false unless @lead_reward_id == other.lead_reward_id
206
209
  return false unless @sale_reward_id == other.sale_reward_id
207
210
  return false unless @referral_reward_id == other.referral_reward_id
211
+ return false unless @custom_reward_id == other.custom_reward_id
208
212
  return false unless @discount_id == other.discount_id
209
213
  return false unless @application_id == other.application_id
210
214
  return false unless @banned_at == other.banned_at
@@ -62,6 +62,8 @@ class OpenApiSDK::Models::Operations::CreatePartnerResponseBody
62
62
  def sale_reward_id=(str_); end
63
63
  def referral_reward_id(); end
64
64
  def referral_reward_id=(str_); end
65
+ def custom_reward_id(); end
66
+ def custom_reward_id=(str_); end
65
67
  def discount_id(); end
66
68
  def discount_id=(str_); end
67
69
  def application_id(); end
@@ -26,9 +26,9 @@ module OpenApiSDK
26
26
  field :rewrite, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite') } }
27
27
  # Allow search engines to index your short link. Defaults to `false` if not provided. Learn more: https://d.to/noindex
28
28
  field :do_index, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex') } }
29
- # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
29
+ # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace. Pass `null` or an empty string to remove it.
30
30
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
31
- # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
31
+ # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant. Pass `null` or an empty string to remove it.
32
32
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
33
33
  # The comments for the short link.
34
34
  field :comments, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('comments') } }
@@ -20,7 +20,7 @@ module OpenApiSDK
20
20
  field :partner_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId') } }
21
21
  # The ID of the partner in your system. If both `partnerId` and `tenantId` are not provided, an error will be thrown.
22
22
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
23
- # The URL to shorten (if not provided, the program's default URL will be used). Will throw an error if the domain doesn't match the program's default URL domain.
23
+ # The URL to shorten (if not provided, the program's default URL will be used).
24
24
  field :url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
25
25
  # The comments for the short link.
26
26
  field :comments, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('comments') } }
@@ -26,9 +26,9 @@ module OpenApiSDK
26
26
  field :rewrite, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite') } }
27
27
  # Allow search engines to index your short link. Defaults to `false` if not provided. Learn more: https://d.to/noindex
28
28
  field :do_index, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex') } }
29
- # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
29
+ # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace. Pass `null` or an empty string to remove it.
30
30
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
31
- # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
31
+ # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant. Pass `null` or an empty string to remove it.
32
32
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
33
33
  # The comments for the short link.
34
34
  field :comments, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('comments') } }
@@ -32,7 +32,7 @@ module OpenApiSDK
32
32
  #
33
33
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
34
34
  field :public_stats, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats') } }
35
- # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
35
+ # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant. Pass `null` or an empty string to remove it.
36
36
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
37
37
  # The ID of the program the short link is associated with.
38
38
  field :program_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId') } }
@@ -16,7 +16,7 @@ module OpenApiSDK
16
16
  field :email, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'email', 'style': 'form', 'explode': true } }
17
17
  # A case-sensitive filter on the list based on the customer's `externalId` field. The value must be a string. Takes precedence over `search`.
18
18
  field :external_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'externalId', 'style': 'form', 'explode': true } }
19
- # A search query to filter customers by email, externalId, or name. If `email` or `externalId` is provided, this will be ignored.
19
+ # A search query to filter customers by email, name, or customer ID (`cus_...`). If `email` or `externalId` is provided, this will be ignored.
20
20
  field :search, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'search', 'style': 'form', 'explode': true } }
21
21
  # A filter on the list based on the customer's `country` field.
22
22
  field :country, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'country', 'style': 'form', 'explode': true } }
@@ -26,9 +26,9 @@ module OpenApiSDK
26
26
  field :rewrite, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite') } }
27
27
  # Allow search engines to index your short link. Defaults to `false` if not provided. Learn more: https://d.to/noindex
28
28
  field :do_index, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex') } }
29
- # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
29
+ # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace. Pass `null` or an empty string to remove it.
30
30
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
31
- # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
31
+ # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant. Pass `null` or an empty string to remove it.
32
32
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
33
33
  # The comments for the short link.
34
34
  field :comments, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('comments') } }
@@ -14,6 +14,7 @@ module OpenApiSDK
14
14
  SUBMITTED = new('submitted')
15
15
  APPROVED = new('approved')
16
16
  REJECTED = new('rejected')
17
+ PARTIALLY_APPROVED = new('partiallyApproved')
17
18
  end
18
19
  end
19
20
  end
@@ -44,9 +44,11 @@ module OpenApiSDK
44
44
  field :rejection_note, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rejectionNote'), required: true } }
45
45
  # The date and time the submission's social metrics were last synced
46
46
  field :social_metrics_last_synced_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('socialMetricsLastSyncedAt') } }
47
+ # The highest social metric milestone that has been approved and paid out for this submission
48
+ field :approved_social_metric_threshold, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('approvedSocialMetricThreshold') } }
47
49
 
48
- sig { params(id: ::String, bounty_id: ::String, partner_id: ::String, status: Models::Operations::ListBountySubmissionsStatus, created_at: ::String, period_number: ::Integer, description: T.nilable(::String), urls: T.nilable(T::Array[::String]), files: T.nilable(T::Array[Models::Operations::Files]), performance_count: T.nilable(::Float), social_metric_count: T.nilable(::Integer), completed_at: T.nilable(::String), reviewed_at: T.nilable(::String), rejection_reason: T.nilable(::String), rejection_note: T.nilable(::String), social_metrics_last_synced_at: T.nilable(::String)).void }
49
- def initialize(id:, bounty_id:, partner_id:, status:, created_at:, period_number:, description: nil, urls: nil, files: nil, performance_count: nil, social_metric_count: nil, completed_at: nil, reviewed_at: nil, rejection_reason: nil, rejection_note: nil, social_metrics_last_synced_at: nil)
50
+ sig { params(id: ::String, bounty_id: ::String, partner_id: ::String, status: Models::Operations::ListBountySubmissionsStatus, created_at: ::String, period_number: ::Integer, description: T.nilable(::String), urls: T.nilable(T::Array[::String]), files: T.nilable(T::Array[Models::Operations::Files]), performance_count: T.nilable(::Float), social_metric_count: T.nilable(::Integer), completed_at: T.nilable(::String), reviewed_at: T.nilable(::String), rejection_reason: T.nilable(::String), rejection_note: T.nilable(::String), social_metrics_last_synced_at: T.nilable(::String), approved_social_metric_threshold: T.nilable(::Integer)).void }
51
+ def initialize(id:, bounty_id:, partner_id:, status:, created_at:, period_number:, description: nil, urls: nil, files: nil, performance_count: nil, social_metric_count: nil, completed_at: nil, reviewed_at: nil, rejection_reason: nil, rejection_note: nil, social_metrics_last_synced_at: nil, approved_social_metric_threshold: nil)
50
52
  @id = id
51
53
  @bounty_id = bounty_id
52
54
  @partner_id = partner_id
@@ -63,6 +65,7 @@ module OpenApiSDK
63
65
  @rejection_reason = rejection_reason
64
66
  @rejection_note = rejection_note
65
67
  @social_metrics_last_synced_at = social_metrics_last_synced_at
68
+ @approved_social_metric_threshold = approved_social_metric_threshold
66
69
  end
67
70
 
68
71
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -84,6 +87,7 @@ module OpenApiSDK
84
87
  return false unless @rejection_reason == other.rejection_reason
85
88
  return false unless @rejection_note == other.rejection_note
86
89
  return false unless @social_metrics_last_synced_at == other.social_metrics_last_synced_at
90
+ return false unless @approved_social_metric_threshold == other.approved_social_metric_threshold
87
91
  true
88
92
  end
89
93
  end
@@ -40,4 +40,6 @@ class OpenApiSDK::Models::Operations::ListBountySubmissionsResponseBody
40
40
  def rejection_note=(str_); end
41
41
  def social_metrics_last_synced_at(); end
42
42
  def social_metrics_last_synced_at=(str_); end
43
+ def approved_social_metric_threshold(); end
44
+ def approved_social_metric_threshold=(str_); end
43
45
  end
@@ -14,6 +14,7 @@ module OpenApiSDK
14
14
  SUBMITTED = new('submitted')
15
15
  APPROVED = new('approved')
16
16
  REJECTED = new('rejected')
17
+ PARTIALLY_APPROVED = new('partiallyApproved')
17
18
  end
18
19
  end
19
20
  end
@@ -0,0 +1,25 @@
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
+ # ListCommissionsQueryParamStatus - Filter the list of commissions by their corresponding status.
11
+ class ListCommissionsQueryParamStatus < T::Enum
12
+ enums do
13
+ PENDING = new('pending')
14
+ PROCESSED = new('processed')
15
+ PAID = new('paid')
16
+ REFUNDED = new('refunded')
17
+ DUPLICATE = new('duplicate')
18
+ FRAUD = new('fraud')
19
+ CANCELED = new('canceled')
20
+ HOLD = new('hold')
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ListCommissionsQueryParamStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ListCommissionsQueryParamStatus
11
+ end
@@ -22,6 +22,8 @@ module OpenApiSDK
22
22
  field :customer_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'customerId', 'style': 'form', 'explode': true } }
23
23
  # Filter the list of commissions by the associated payout.
24
24
  field :payout_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'payoutId', 'style': 'form', 'explode': true } }
25
+ # Filter the list of commissions by the associated bounty submission.
26
+ field :bounty_submission_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'bountySubmissionId', 'style': 'form', 'explode': true } }
25
27
  # Filter the list of commissions by the associated partner. When specified, takes precedence over `tenantId`.
26
28
  # Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`).
27
29
  # Examples:
@@ -47,7 +49,7 @@ module OpenApiSDK
47
49
  # Filter the list of commissions by the associated invoice. Since invoiceId is unique on a per-program basis, this will only return one commission per invoice.
48
50
  field :invoice_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'invoiceId', 'style': 'form', 'explode': true } }
49
51
  # Filter the list of commissions by their corresponding status.
50
- field :status, Crystalline::Nilable.new(Models::Operations::QueryParamStatus), { 'query_param': { 'field_name': 'status', 'style': 'form', 'explode': true } }
52
+ field :status, Crystalline::Nilable.new(Models::Operations::ListCommissionsQueryParamStatus), { 'query_param': { 'field_name': 'status', 'style': 'form', 'explode': true } }
51
53
  # The start date of the date range to filter the commissions by.
52
54
  field :start, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'start', 'style': 'form', 'explode': true } }
53
55
  # The end date of the date range to filter the commissions by.
@@ -74,11 +76,12 @@ module OpenApiSDK
74
76
  # The number of items per page.
75
77
  field :page_size, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': true } }
76
78
 
77
- sig { params(type: T.nilable(Models::Operations::Type), customer_id: T.nilable(::String), payout_id: T.nilable(::String), partner_id: T.nilable(::String), tenant_id: T.nilable(::String), group_id: T.nilable(::String), partner_tag_id: T.nilable(::String), invoice_id: T.nilable(::String), status: T.nilable(Models::Operations::QueryParamStatus), start: T.nilable(::String), end_: T.nilable(::String), timezone: T.nilable(::String), query: T.nilable(::String), ending_before: T.nilable(::String), starting_after: T.nilable(::String), page: T.nilable(::Integer), sort_by: T.nilable(Models::Operations::ListCommissionsQueryParamSortBy), sort_order: T.nilable(Models::Operations::ListCommissionsQueryParamSortOrder), interval: T.nilable(Models::Operations::ListCommissionsQueryParamInterval), page_size: T.nilable(::Integer)).void }
78
- def initialize(type: nil, customer_id: nil, payout_id: nil, partner_id: nil, tenant_id: nil, group_id: nil, partner_tag_id: nil, invoice_id: nil, status: nil, start: nil, end_: nil, timezone: nil, query: nil, ending_before: nil, starting_after: nil, page: nil, sort_by: Models::Operations::ListCommissionsQueryParamSortBy::CREATED_AT, sort_order: Models::Operations::ListCommissionsQueryParamSortOrder::DESC, interval: Models::Operations::ListCommissionsQueryParamInterval::ALL, page_size: 100)
79
+ sig { params(type: T.nilable(Models::Operations::Type), customer_id: T.nilable(::String), payout_id: T.nilable(::String), bounty_submission_id: T.nilable(::String), partner_id: T.nilable(::String), tenant_id: T.nilable(::String), group_id: T.nilable(::String), partner_tag_id: T.nilable(::String), invoice_id: T.nilable(::String), status: T.nilable(Models::Operations::ListCommissionsQueryParamStatus), start: T.nilable(::String), end_: T.nilable(::String), timezone: T.nilable(::String), query: T.nilable(::String), ending_before: T.nilable(::String), starting_after: T.nilable(::String), page: T.nilable(::Integer), sort_by: T.nilable(Models::Operations::ListCommissionsQueryParamSortBy), sort_order: T.nilable(Models::Operations::ListCommissionsQueryParamSortOrder), interval: T.nilable(Models::Operations::ListCommissionsQueryParamInterval), page_size: T.nilable(::Integer)).void }
80
+ def initialize(type: nil, customer_id: nil, payout_id: nil, bounty_submission_id: nil, partner_id: nil, tenant_id: nil, group_id: nil, partner_tag_id: nil, invoice_id: nil, status: nil, start: nil, end_: nil, timezone: nil, query: nil, ending_before: nil, starting_after: nil, page: nil, sort_by: Models::Operations::ListCommissionsQueryParamSortBy::CREATED_AT, sort_order: Models::Operations::ListCommissionsQueryParamSortOrder::DESC, interval: Models::Operations::ListCommissionsQueryParamInterval::ALL, page_size: 100)
79
81
  @type = type
80
82
  @customer_id = customer_id
81
83
  @payout_id = payout_id
84
+ @bounty_submission_id = bounty_submission_id
82
85
  @partner_id = partner_id
83
86
  @tenant_id = tenant_id
84
87
  @group_id = group_id
@@ -104,6 +107,7 @@ module OpenApiSDK
104
107
  return false unless @type == other.type
105
108
  return false unless @customer_id == other.customer_id
106
109
  return false unless @payout_id == other.payout_id
110
+ return false unless @bounty_submission_id == other.bounty_submission_id
107
111
  return false unless @partner_id == other.partner_id
108
112
  return false unless @tenant_id == other.tenant_id
109
113
  return false unless @group_id == other.group_id
@@ -14,6 +14,8 @@ class OpenApiSDK::Models::Operations::ListCommissionsRequest
14
14
  def customer_id=(str_); end
15
15
  def payout_id(); end
16
16
  def payout_id=(str_); end
17
+ def bounty_submission_id(); end
18
+ def bounty_submission_id=(str_); end
17
19
  def partner_id(); end
18
20
  def partner_id=(str_); end
19
21
  def tenant_id(); end
@@ -36,7 +36,7 @@ module OpenApiSDK
36
36
  field :invoice_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId'), required: true } }
37
37
  # An optional description of the commission.
38
38
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description'), required: true } }
39
- # User-provided metadata from the associated lead or sale event (`lead.metadata` / `sale.metadata`).
39
+ # Metadata from the associated lead or sale event (`lead.metadata` / `sale.metadata`), or from Stripe webhook metadata.
40
40
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata'), required: true } }
41
41
  # The date the commission was paid out to the partner. Null if not paid yet.
42
42
  field :paid_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('paidAt'), required: true } }
@@ -16,15 +16,18 @@ module OpenApiSDK
16
16
  field :partner_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
17
17
  # Filter discount codes by discount ID.
18
18
  field :discount_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'discountId', 'style': 'form', 'explode': true } }
19
+ # Filter discount codes by the alphanumeric code (e.g. `PARTNER10OFF`).
20
+ field :code, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'code', 'style': 'form', 'explode': true } }
19
21
  # The page number for pagination. The first page is `1`.
20
22
  field :page, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
21
23
  # The number of items per page.
22
24
  field :page_size, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': true } }
23
25
 
24
- sig { params(partner_id: T.nilable(::String), discount_id: T.nilable(::String), page: T.nilable(::Integer), page_size: T.nilable(::Integer)).void }
25
- def initialize(partner_id: nil, discount_id: nil, page: nil, page_size: 100)
26
+ sig { params(partner_id: T.nilable(::String), discount_id: T.nilable(::String), code: T.nilable(::String), page: T.nilable(::Integer), page_size: T.nilable(::Integer)).void }
27
+ def initialize(partner_id: nil, discount_id: nil, code: nil, page: nil, page_size: 100)
26
28
  @partner_id = partner_id
27
29
  @discount_id = discount_id
30
+ @code = code
28
31
  @page = page
29
32
  @page_size = page_size
30
33
  end
@@ -34,6 +37,7 @@ module OpenApiSDK
34
37
  return false unless other.is_a? self.class
35
38
  return false unless @partner_id == other.partner_id
36
39
  return false unless @discount_id == other.discount_id
40
+ return false unless @code == other.code
37
41
  return false unless @page == other.page
38
42
  return false unless @page_size == other.page_size
39
43
  true
@@ -12,6 +12,8 @@ class OpenApiSDK::Models::Operations::ListDiscountCodesRequest
12
12
  def partner_id=(str_); end
13
13
  def discount_id(); end
14
14
  def discount_id=(str_); end
15
+ def code(); end
16
+ def code=(str_); end
15
17
  def page(); end
16
18
  def page=(str_); end
17
19
  def page_size(); end
@@ -67,6 +67,8 @@ module OpenApiSDK
67
67
 
68
68
  field :referral_reward_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('referralRewardId') } }
69
69
 
70
+ field :custom_reward_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customRewardId') } }
71
+
70
72
  field :discount_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('discountId') } }
71
73
  # If the partner submitted an application to join the program, this is the ID of the application.
72
74
  field :application_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('applicationId') } }
@@ -119,8 +121,8 @@ module OpenApiSDK
119
121
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
120
122
  field :trusted_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trustedAt') } }
121
123
 
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)
124
+ 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), custom_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 }
125
+ 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, custom_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)
124
126
  @id = id
125
127
  @name = name
126
128
  @network_status = network_status
@@ -148,6 +150,7 @@ module OpenApiSDK
148
150
  @lead_reward_id = lead_reward_id
149
151
  @sale_reward_id = sale_reward_id
150
152
  @referral_reward_id = referral_reward_id
153
+ @custom_reward_id = custom_reward_id
151
154
  @discount_id = discount_id
152
155
  @application_id = application_id
153
156
  @banned_at = banned_at
@@ -205,6 +208,7 @@ module OpenApiSDK
205
208
  return false unless @lead_reward_id == other.lead_reward_id
206
209
  return false unless @sale_reward_id == other.sale_reward_id
207
210
  return false unless @referral_reward_id == other.referral_reward_id
211
+ return false unless @custom_reward_id == other.custom_reward_id
208
212
  return false unless @discount_id == other.discount_id
209
213
  return false unless @application_id == other.application_id
210
214
  return false unless @banned_at == other.banned_at