dub 0.10.3 → 0.10.4

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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rb +6 -2
  3. data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rbi +2 -0
  4. data/lib/open_api_sdk/models/operations/createpartner_link.rb +6 -2
  5. data/lib/open_api_sdk/models/operations/createpartner_link.rbi +2 -0
  6. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +6 -38
  7. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +2 -18
  8. data/lib/open_api_sdk/models/operations/link.rb +6 -2
  9. data/lib/open_api_sdk/models/operations/link.rbi +2 -0
  10. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +7 -3
  11. data/lib/open_api_sdk/models/operations/listcommissions_request.rbi +2 -0
  12. data/lib/open_api_sdk/models/operations/listevents_request.rb +6 -2
  13. data/lib/open_api_sdk/models/operations/listevents_request.rbi +2 -0
  14. data/lib/open_api_sdk/models/operations/listpartners_link.rb +6 -2
  15. data/lib/open_api_sdk/models/operations/listpartners_link.rbi +2 -0
  16. data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortby.rb +1 -1
  17. data/lib/open_api_sdk/models/operations/listpartners_request.rb +11 -7
  18. data/lib/open_api_sdk/models/operations/listpartners_request.rbi +4 -2
  19. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +6 -38
  20. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +2 -18
  21. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +6 -2
  22. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rbi +2 -0
  23. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rb +6 -2
  24. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rbi +2 -0
  25. data/lib/open_api_sdk/models/shared/commissioncreatedevent_data.rb +2 -2
  26. data/lib/open_api_sdk/models/shared/commissioncreatedevent_partner.rb +77 -0
  27. data/lib/open_api_sdk/models/shared/commissioncreatedevent_partner.rbi +35 -0
  28. data/lib/open_api_sdk/models/shared/leadcreatedevent_data.rb +10 -2
  29. data/lib/open_api_sdk/models/shared/leadcreatedevent_data.rbi +4 -0
  30. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +6 -38
  31. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +2 -18
  32. data/lib/open_api_sdk/models/shared/partnerenrolledevent_link.rb +6 -2
  33. data/lib/open_api_sdk/models/shared/partnerenrolledevent_link.rbi +2 -0
  34. data/lib/open_api_sdk/models/shared/salecreatedevent_data.rb +10 -2
  35. data/lib/open_api_sdk/models/shared/salecreatedevent_data.rbi +4 -0
  36. data/lib/open_api_sdk/models/shared/salecreatedevent_partner.rb +77 -0
  37. data/lib/open_api_sdk/models/shared/salecreatedevent_partner.rbi +35 -0
  38. data/lib/open_api_sdk/models/shared.rb +2 -0
  39. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  40. metadata +6 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d704bd2d8f1357605137a99d2154405db12f973f085be950ed14f10f36a5b05
4
- data.tar.gz: 195d2ac9d4b023d5be3644cfa9f284027ce9651ad87eace33a370347fc144c68
3
+ metadata.gz: eaf010ee510e9b34b433c02d37a727371d268c154debfba64c7a8c5f229c65a7
4
+ data.tar.gz: 49bd6af76904d1849bcc82cdfc95279ef2f8757c2211a15f0b413563e43f1756
5
5
  SHA512:
6
- metadata.gz: 585cc01fcab801381da3e11f0014f11c189cef93fd17e7e7283aadc99ba8a990faef1319d3d0ceb10870d9cc6dbc05f91cc80f0e5fa424e7c555237d3e1f28ac
7
- data.tar.gz: e1adce9cd6ab080924bb4a4c5986d70c414dd0f244160b74e892a967a960f0c0e4d6a878b1c723ee685b748be21597c297ed7aba726d4ef7d0bbe6f8a04420fa
6
+ metadata.gz: 48c057a973b838af1f878f9df07ebab764ad394153863c03f7528575dd183ab2333756a057e04d521c54a4b3976c43a1c690ae0347ee774a134aaf2947b497d8
7
+ data.tar.gz: 457ce7916106addf6696e790991ad0714e918c629d71ba0227abc8bc6a0d16400d5e288da1c2eac707436c5103a38211811781c9e382851b35988154698e15a6
@@ -21,13 +21,16 @@ module OpenApiSDK
21
21
  field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
22
22
  # Avatar URL of the customer in the client's app.
23
23
  field :avatar, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('avatar') } }
24
+ # The customer's Stripe customer ID. Useful for attribution recurring sale events to the partner who referred the customer.
25
+ field :stripe_customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('stripeCustomerId') } }
24
26
 
25
- sig { params(external_id: ::String, email: T.nilable(::String), name: T.nilable(::String), avatar: T.nilable(::String)).void }
26
- def initialize(external_id:, email: nil, name: nil, avatar: nil)
27
+ sig { params(external_id: ::String, email: T.nilable(::String), name: T.nilable(::String), avatar: T.nilable(::String), stripe_customer_id: T.nilable(::String)).void }
28
+ def initialize(external_id:, email: nil, name: nil, avatar: nil, stripe_customer_id: nil)
27
29
  @external_id = external_id
28
30
  @email = email
29
31
  @name = name
30
32
  @avatar = avatar
33
+ @stripe_customer_id = stripe_customer_id
31
34
  end
32
35
 
33
36
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -37,6 +40,7 @@ module OpenApiSDK
37
40
  return false unless @email == other.email
38
41
  return false unless @name == other.name
39
42
  return false unless @avatar == other.avatar
43
+ return false unless @stripe_customer_id == other.stripe_customer_id
40
44
  true
41
45
  end
42
46
  end
@@ -16,4 +16,6 @@ class OpenApiSDK::Models::Operations::CreateCustomerRequestBody
16
16
  def name=(str_); end
17
17
  def avatar(); end
18
18
  def avatar=(str_); end
19
+ def stripe_customer_id(); end
20
+ def stripe_customer_id=(str_); end
19
21
  end
@@ -27,13 +27,15 @@ module OpenApiSDK
27
27
  field :clicks, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clicks') } }
28
28
  # The number of leads the short link has generated.
29
29
  field :leads, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leads') } }
30
+ # The number of leads that converted to paying customers.
31
+ field :conversions, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('conversions') } }
30
32
  # The total number of sales (includes recurring sales) generated by the short link.
31
33
  field :sales, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
32
34
  # The total dollar value of sales (in cents) generated by the short link.
33
35
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
34
36
 
35
- sig { params(id: ::String, domain: ::String, key: ::String, short_link: ::String, url: ::String, clicks: T.nilable(::Float), leads: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
36
- def initialize(id:, domain:, key:, short_link:, url:, clicks: 0.0, leads: 0.0, sales: 0.0, sale_amount: 0.0)
37
+ sig { params(id: ::String, domain: ::String, key: ::String, short_link: ::String, url: ::String, clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
38
+ def initialize(id:, domain:, key:, short_link:, url:, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
37
39
  @id = id
38
40
  @domain = domain
39
41
  @key = key
@@ -41,6 +43,7 @@ module OpenApiSDK
41
43
  @url = url
42
44
  @clicks = clicks
43
45
  @leads = leads
46
+ @conversions = conversions
44
47
  @sales = sales
45
48
  @sale_amount = sale_amount
46
49
  end
@@ -55,6 +58,7 @@ module OpenApiSDK
55
58
  return false unless @url == other.url
56
59
  return false unless @clicks == other.clicks
57
60
  return false unless @leads == other.leads
61
+ return false unless @conversions == other.conversions
58
62
  return false unless @sales == other.sales
59
63
  return false unless @sale_amount == other.sale_amount
60
64
  true
@@ -22,6 +22,8 @@ class OpenApiSDK::Models::Operations::CreatePartnerLink
22
22
  def clicks=(str_); end
23
23
  def leads(); end
24
24
  def leads=(str_); end
25
+ def conversions(); end
26
+ def conversions=(str_); end
25
27
  def sales(); end
26
28
  def sales=(str_); end
27
29
  def sale_amount(); end
@@ -25,6 +25,8 @@ module OpenApiSDK
25
25
  field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt'), required: true } }
26
26
  # The status of the partner's enrollment in the program.
27
27
  field :status, Models::Operations::CreatePartnerStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Operations::CreatePartnerStatus, false) } }
28
+ # If the partner profile type is a company, this is the partner's legal company name.
29
+ field :company_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('companyName'), required: true } }
28
30
  # The partner's email address. Should be a unique value across Dub.
29
31
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email'), required: true } }
30
32
  # The partner's avatar image.
@@ -75,43 +77,26 @@ module OpenApiSDK
75
77
  field :net_revenue, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('netRevenue') } }
76
78
  # The partner's website URL (including the https protocol).
77
79
  field :website, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('website') } }
78
-
79
- field :website_txt_record, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('websiteTxtRecord') } }
80
-
81
- field :website_verified_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('websiteVerifiedAt') } }
82
80
  # The partner's YouTube channel username (e.g. `johndoe`).
83
81
  field :youtube, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtube') } }
84
-
85
- field :youtube_verified_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtubeVerifiedAt') } }
86
-
87
- field :youtube_subscriber_count, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtubeSubscriberCount') } }
88
-
89
- field :youtube_view_count, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtubeViewCount') } }
90
82
  # The partner's Twitter username (e.g. `johndoe`).
91
83
  field :twitter, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('twitter') } }
92
-
93
- field :twitter_verified_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('twitterVerifiedAt') } }
94
84
  # The partner's LinkedIn username (e.g. `johndoe`).
95
85
  field :linkedin, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkedin') } }
96
-
97
- field :linkedin_verified_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkedinVerifiedAt') } }
98
86
  # The partner's Instagram username (e.g. `johndoe`).
99
87
  field :instagram, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('instagram') } }
100
-
101
- field :instagram_verified_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('instagramVerifiedAt') } }
102
88
  # The partner's TikTok username (e.g. `johndoe`).
103
89
  field :tiktok, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
104
90
 
105
- field :tiktok_verified_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktokVerifiedAt') } }
106
-
107
- sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::CreatePartnerStatus, email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Operations::CreatePartnerLink]), 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), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float), net_revenue: T.nilable(::Float), website: T.nilable(::String), website_txt_record: T.nilable(::String), website_verified_at: T.nilable(::String), youtube: T.nilable(::String), youtube_verified_at: T.nilable(::String), youtube_subscriber_count: T.nilable(::Float), youtube_view_count: T.nilable(::Float), twitter: T.nilable(::String), twitter_verified_at: T.nilable(::String), linkedin: T.nilable(::String), linkedin_verified_at: T.nilable(::String), instagram: T.nilable(::String), instagram_verified_at: T.nilable(::String), tiktok: T.nilable(::String), tiktok_verified_at: T.nilable(::String)).void }
108
- def initialize(id:, name:, program_id:, partner_id:, created_at:, status:, email: nil, image: nil, country: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_at: nil, tenant_id: nil, links: nil, description: nil, group_id: nil, total_commissions: 0.0, click_reward_id: nil, lead_reward_id: nil, sale_reward_id: nil, discount_id: nil, application_id: nil, banned_at: nil, banned_reason: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0, net_revenue: 0.0, website: nil, website_txt_record: nil, website_verified_at: nil, youtube: nil, youtube_verified_at: nil, youtube_subscriber_count: nil, youtube_view_count: nil, twitter: nil, twitter_verified_at: nil, linkedin: nil, linkedin_verified_at: nil, instagram: nil, instagram_verified_at: nil, tiktok: nil, tiktok_verified_at: nil)
91
+ sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::CreatePartnerStatus, company_name: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Operations::CreatePartnerLink]), 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), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float), net_revenue: T.nilable(::Float), website: T.nilable(::String), youtube: T.nilable(::String), twitter: T.nilable(::String), linkedin: T.nilable(::String), instagram: T.nilable(::String), tiktok: T.nilable(::String)).void }
92
+ def initialize(id:, name:, program_id:, partner_id:, created_at:, status:, company_name: nil, email: nil, image: nil, country: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_at: nil, tenant_id: nil, links: nil, description: nil, group_id: nil, total_commissions: 0.0, click_reward_id: nil, lead_reward_id: nil, sale_reward_id: nil, discount_id: nil, application_id: nil, banned_at: nil, banned_reason: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0, net_revenue: 0.0, website: nil, youtube: nil, twitter: nil, linkedin: nil, instagram: nil, tiktok: nil)
109
93
  @id = id
110
94
  @name = name
111
95
  @program_id = program_id
112
96
  @partner_id = partner_id
113
97
  @created_at = created_at
114
98
  @status = status
99
+ @company_name = company_name
115
100
  @email = email
116
101
  @image = image
117
102
  @country = country
@@ -137,20 +122,11 @@ module OpenApiSDK
137
122
  @sale_amount = sale_amount
138
123
  @net_revenue = net_revenue
139
124
  @website = website
140
- @website_txt_record = website_txt_record
141
- @website_verified_at = website_verified_at
142
125
  @youtube = youtube
143
- @youtube_verified_at = youtube_verified_at
144
- @youtube_subscriber_count = youtube_subscriber_count
145
- @youtube_view_count = youtube_view_count
146
126
  @twitter = twitter
147
- @twitter_verified_at = twitter_verified_at
148
127
  @linkedin = linkedin
149
- @linkedin_verified_at = linkedin_verified_at
150
128
  @instagram = instagram
151
- @instagram_verified_at = instagram_verified_at
152
129
  @tiktok = tiktok
153
- @tiktok_verified_at = tiktok_verified_at
154
130
  end
155
131
 
156
132
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -162,6 +138,7 @@ module OpenApiSDK
162
138
  return false unless @partner_id == other.partner_id
163
139
  return false unless @created_at == other.created_at
164
140
  return false unless @status == other.status
141
+ return false unless @company_name == other.company_name
165
142
  return false unless @email == other.email
166
143
  return false unless @image == other.image
167
144
  return false unless @country == other.country
@@ -187,20 +164,11 @@ module OpenApiSDK
187
164
  return false unless @sale_amount == other.sale_amount
188
165
  return false unless @net_revenue == other.net_revenue
189
166
  return false unless @website == other.website
190
- return false unless @website_txt_record == other.website_txt_record
191
- return false unless @website_verified_at == other.website_verified_at
192
167
  return false unless @youtube == other.youtube
193
- return false unless @youtube_verified_at == other.youtube_verified_at
194
- return false unless @youtube_subscriber_count == other.youtube_subscriber_count
195
- return false unless @youtube_view_count == other.youtube_view_count
196
168
  return false unless @twitter == other.twitter
197
- return false unless @twitter_verified_at == other.twitter_verified_at
198
169
  return false unless @linkedin == other.linkedin
199
- return false unless @linkedin_verified_at == other.linkedin_verified_at
200
170
  return false unless @instagram == other.instagram
201
- return false unless @instagram_verified_at == other.instagram_verified_at
202
171
  return false unless @tiktok == other.tiktok
203
- return false unless @tiktok_verified_at == other.tiktok_verified_at
204
172
  true
205
173
  end
206
174
  end
@@ -20,6 +20,8 @@ class OpenApiSDK::Models::Operations::CreatePartnerResponseBody
20
20
  def created_at=(str_); end
21
21
  def status(); end
22
22
  def status=(str_); end
23
+ def company_name(); end
24
+ def company_name=(str_); end
23
25
  def email(); end
24
26
  def email=(str_); end
25
27
  def image(); end
@@ -70,32 +72,14 @@ class OpenApiSDK::Models::Operations::CreatePartnerResponseBody
70
72
  def net_revenue=(str_); end
71
73
  def website(); end
72
74
  def website=(str_); end
73
- def website_txt_record(); end
74
- def website_txt_record=(str_); end
75
- def website_verified_at(); end
76
- def website_verified_at=(str_); end
77
75
  def youtube(); end
78
76
  def youtube=(str_); end
79
- def youtube_verified_at(); end
80
- def youtube_verified_at=(str_); end
81
- def youtube_subscriber_count(); end
82
- def youtube_subscriber_count=(str_); end
83
- def youtube_view_count(); end
84
- def youtube_view_count=(str_); end
85
77
  def twitter(); end
86
78
  def twitter=(str_); end
87
- def twitter_verified_at(); end
88
- def twitter_verified_at=(str_); end
89
79
  def linkedin(); end
90
80
  def linkedin=(str_); end
91
- def linkedin_verified_at(); end
92
- def linkedin_verified_at=(str_); end
93
81
  def instagram(); end
94
82
  def instagram=(str_); end
95
- def instagram_verified_at(); end
96
- def instagram_verified_at=(str_); end
97
83
  def tiktok(); end
98
84
  def tiktok=(str_); end
99
- def tiktok_verified_at(); end
100
- def tiktok_verified_at=(str_); end
101
85
  end
@@ -27,13 +27,15 @@ module OpenApiSDK
27
27
  field :clicks, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clicks') } }
28
28
  # The number of leads the short link has generated.
29
29
  field :leads, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leads') } }
30
+ # The number of leads that converted to paying customers.
31
+ field :conversions, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('conversions') } }
30
32
  # The total number of sales (includes recurring sales) generated by the short link.
31
33
  field :sales, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
32
34
  # The total dollar value of sales (in cents) generated by the short link.
33
35
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
34
36
 
35
- sig { params(id: ::String, domain: ::String, key: ::String, short_link: ::String, url: ::String, clicks: T.nilable(::Float), leads: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
36
- def initialize(id:, domain:, key:, short_link:, url:, clicks: 0.0, leads: 0.0, sales: 0.0, sale_amount: 0.0)
37
+ sig { params(id: ::String, domain: ::String, key: ::String, short_link: ::String, url: ::String, clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
38
+ def initialize(id:, domain:, key:, short_link:, url:, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
37
39
  @id = id
38
40
  @domain = domain
39
41
  @key = key
@@ -41,6 +43,7 @@ module OpenApiSDK
41
43
  @url = url
42
44
  @clicks = clicks
43
45
  @leads = leads
46
+ @conversions = conversions
44
47
  @sales = sales
45
48
  @sale_amount = sale_amount
46
49
  end
@@ -55,6 +58,7 @@ module OpenApiSDK
55
58
  return false unless @url == other.url
56
59
  return false unless @clicks == other.clicks
57
60
  return false unless @leads == other.leads
61
+ return false unless @conversions == other.conversions
58
62
  return false unless @sales == other.sales
59
63
  return false unless @sale_amount == other.sale_amount
60
64
  true
@@ -22,6 +22,8 @@ class OpenApiSDK::Models::Operations::Link
22
22
  def clicks=(str_); end
23
23
  def leads(); end
24
24
  def leads=(str_); end
25
+ def conversions(); end
26
+ def conversions=(str_); end
25
27
  def sales(); end
26
28
  def sales=(str_); end
27
29
  def sale_amount(); end
@@ -19,8 +19,10 @@ module OpenApiSDK
19
19
  field :customer_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'customerId', 'style': 'form', 'explode': true } }
20
20
  # Filter the list of commissions by the associated payout.
21
21
  field :payout_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'payoutId', 'style': 'form', 'explode': true } }
22
- # Filter the list of commissions by the associated partner.
22
+ # Filter the list of commissions by the associated partner. When specified, takes precedence over `tenantId`.
23
23
  field :partner_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
24
+ # Filter the list of commissions by the associated partner's `tenantId` (their unique ID within your database).
25
+ field :tenant_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'tenantId', 'style': 'form', 'explode': true } }
24
26
  # Filter the list of commissions by the associated partner group.
25
27
  field :group_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'groupId', 'style': 'form', 'explode': true } }
26
28
  # 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.
@@ -42,12 +44,13 @@ module OpenApiSDK
42
44
  # The number of items per page.
43
45
  field :page_size, Crystalline::Nilable.new(::Float), { 'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': true } }
44
46
 
45
- sig { params(type: T.nilable(Models::Operations::Type), customer_id: T.nilable(::String), payout_id: T.nilable(::String), partner_id: T.nilable(::String), group_id: T.nilable(::String), invoice_id: T.nilable(::String), status: T.nilable(Models::Operations::QueryParamStatus), start: T.nilable(::String), end_: T.nilable(::String), sort_by: T.nilable(Models::Operations::ListCommissionsQueryParamSortBy), sort_order: T.nilable(Models::Operations::ListCommissionsQueryParamSortOrder), interval: T.nilable(Models::Operations::ListCommissionsQueryParamInterval), page: T.nilable(::Float), page_size: T.nilable(::Float)).void }
46
- def initialize(type: nil, customer_id: nil, payout_id: nil, partner_id: nil, group_id: nil, invoice_id: nil, status: nil, start: nil, end_: nil, sort_by: Models::Operations::ListCommissionsQueryParamSortBy::CREATED_AT, sort_order: Models::Operations::ListCommissionsQueryParamSortOrder::DESC, interval: Models::Operations::ListCommissionsQueryParamInterval::ALL, page: 1.0, page_size: 100.0)
47
+ 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), invoice_id: T.nilable(::String), status: T.nilable(Models::Operations::QueryParamStatus), start: T.nilable(::String), end_: T.nilable(::String), sort_by: T.nilable(Models::Operations::ListCommissionsQueryParamSortBy), sort_order: T.nilable(Models::Operations::ListCommissionsQueryParamSortOrder), interval: T.nilable(Models::Operations::ListCommissionsQueryParamInterval), page: T.nilable(::Float), page_size: T.nilable(::Float)).void }
48
+ def initialize(type: nil, customer_id: nil, payout_id: nil, partner_id: nil, tenant_id: nil, group_id: nil, invoice_id: nil, status: nil, start: nil, end_: nil, sort_by: Models::Operations::ListCommissionsQueryParamSortBy::CREATED_AT, sort_order: Models::Operations::ListCommissionsQueryParamSortOrder::DESC, interval: Models::Operations::ListCommissionsQueryParamInterval::ALL, page: 1.0, page_size: 100.0)
47
49
  @type = type
48
50
  @customer_id = customer_id
49
51
  @payout_id = payout_id
50
52
  @partner_id = partner_id
53
+ @tenant_id = tenant_id
51
54
  @group_id = group_id
52
55
  @invoice_id = invoice_id
53
56
  @status = status
@@ -67,6 +70,7 @@ module OpenApiSDK
67
70
  return false unless @customer_id == other.customer_id
68
71
  return false unless @payout_id == other.payout_id
69
72
  return false unless @partner_id == other.partner_id
73
+ return false unless @tenant_id == other.tenant_id
70
74
  return false unless @group_id == other.group_id
71
75
  return false unless @invoice_id == other.invoice_id
72
76
  return false unless @status == other.status
@@ -16,6 +16,8 @@ class OpenApiSDK::Models::Operations::ListCommissionsRequest
16
16
  def payout_id=(str_); end
17
17
  def partner_id(); end
18
18
  def partner_id=(str_); end
19
+ def tenant_id(); end
20
+ def tenant_id=(str_); end
19
21
  def group_id(); end
20
22
  def group_id=(str_); end
21
23
  def invoice_id(); end
@@ -85,6 +85,8 @@ module OpenApiSDK
85
85
  field :utm_term, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'utm_term', 'style': 'form', 'explode': true } }
86
86
  # The UTM content of the short link.
87
87
  field :utm_content, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'utm_content', 'style': 'form', 'explode': true } }
88
+ # The ref of the short link.
89
+ field :ref, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'ref', 'style': 'form', 'explode': true } }
88
90
 
89
91
  field :page, Crystalline::Nilable.new(::Float), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
90
92
 
@@ -96,8 +98,8 @@ module OpenApiSDK
96
98
  # DEPRECATED. Use `sortOrder` instead.
97
99
  field :order, Crystalline::Nilable.new(Models::Operations::Order), { 'query_param': { 'field_name': 'order', 'style': 'form', 'explode': true } }
98
100
 
99
- sig { params(domain: T.nilable(::String), key: T.nilable(::String), link_id: T.nilable(::String), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), customer_id: T.nilable(::String), interval: T.nilable(Models::Operations::QueryParamInterval), start: T.nilable(::String), end_: T.nilable(::String), country: T.nilable(::String), city: T.nilable(::String), region: T.nilable(::String), continent: T.nilable(Models::Shared::ContinentCode), device: T.nilable(::String), browser: T.nilable(::String), os: T.nilable(::String), trigger: T.nilable(Models::Operations::QueryParamTrigger), referer: T.nilable(::String), referer_url: T.nilable(::String), url: T.nilable(::String), tag_ids: T.nilable(T.any(::String, T::Array[::String])), folder_id: T.nilable(::String), root: T.nilable(T::Boolean), sale_type: T.nilable(Models::Operations::QueryParamSaleType), query: T.nilable(::String), tag_id: T.nilable(::String), qr: T.nilable(T::Boolean), event: T.nilable(Models::Operations::QueryParamEvent), timezone: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), page: T.nilable(::Float), limit: T.nilable(::Float), sort_order: T.nilable(Models::Operations::QueryParamSortOrder), sort_by: T.nilable(Models::Operations::QueryParamSortBy), order: T.nilable(Models::Operations::Order)).void }
100
- def initialize(domain: nil, key: nil, link_id: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, customer_id: nil, interval: nil, start: nil, end_: nil, country: nil, city: nil, region: nil, continent: nil, device: nil, browser: nil, os: nil, trigger: nil, referer: nil, referer_url: nil, url: nil, tag_ids: nil, folder_id: nil, root: nil, sale_type: nil, query: nil, tag_id: nil, qr: nil, event: Models::Operations::QueryParamEvent::CLICKS, timezone: 'UTC', utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, page: 1.0, limit: 100.0, sort_order: Models::Operations::QueryParamSortOrder::DESC, sort_by: Models::Operations::QueryParamSortBy::TIMESTAMP, order: Models::Operations::Order::DESC)
101
+ sig { params(domain: T.nilable(::String), key: T.nilable(::String), link_id: T.nilable(::String), external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), customer_id: T.nilable(::String), interval: T.nilable(Models::Operations::QueryParamInterval), start: T.nilable(::String), end_: T.nilable(::String), country: T.nilable(::String), city: T.nilable(::String), region: T.nilable(::String), continent: T.nilable(Models::Shared::ContinentCode), device: T.nilable(::String), browser: T.nilable(::String), os: T.nilable(::String), trigger: T.nilable(Models::Operations::QueryParamTrigger), referer: T.nilable(::String), referer_url: T.nilable(::String), url: T.nilable(::String), tag_ids: T.nilable(T.any(::String, T::Array[::String])), folder_id: T.nilable(::String), root: T.nilable(T::Boolean), sale_type: T.nilable(Models::Operations::QueryParamSaleType), query: T.nilable(::String), tag_id: T.nilable(::String), qr: T.nilable(T::Boolean), event: T.nilable(Models::Operations::QueryParamEvent), timezone: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), ref: T.nilable(::String), page: T.nilable(::Float), limit: T.nilable(::Float), sort_order: T.nilable(Models::Operations::QueryParamSortOrder), sort_by: T.nilable(Models::Operations::QueryParamSortBy), order: T.nilable(Models::Operations::Order)).void }
102
+ def initialize(domain: nil, key: nil, link_id: nil, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, customer_id: nil, interval: nil, start: nil, end_: nil, country: nil, city: nil, region: nil, continent: nil, device: nil, browser: nil, os: nil, trigger: nil, referer: nil, referer_url: nil, url: nil, tag_ids: nil, folder_id: nil, root: nil, sale_type: nil, query: nil, tag_id: nil, qr: nil, event: Models::Operations::QueryParamEvent::CLICKS, timezone: 'UTC', utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, ref: nil, page: 1.0, limit: 100.0, sort_order: Models::Operations::QueryParamSortOrder::DESC, sort_by: Models::Operations::QueryParamSortBy::TIMESTAMP, order: Models::Operations::Order::DESC)
101
103
  @domain = domain
102
104
  @key = key
103
105
  @link_id = link_id
@@ -134,6 +136,7 @@ module OpenApiSDK
134
136
  @utm_campaign = utm_campaign
135
137
  @utm_term = utm_term
136
138
  @utm_content = utm_content
139
+ @ref = ref
137
140
  @page = page
138
141
  @limit = limit
139
142
  @sort_order = sort_order
@@ -180,6 +183,7 @@ module OpenApiSDK
180
183
  return false unless @utm_campaign == other.utm_campaign
181
184
  return false unless @utm_term == other.utm_term
182
185
  return false unless @utm_content == other.utm_content
186
+ return false unless @ref == other.ref
183
187
  return false unless @page == other.page
184
188
  return false unless @limit == other.limit
185
189
  return false unless @sort_order == other.sort_order
@@ -80,6 +80,8 @@ class OpenApiSDK::Models::Operations::ListEventsRequest
80
80
  def utm_term=(str_); end
81
81
  def utm_content(); end
82
82
  def utm_content=(str_); end
83
+ def ref(); end
84
+ def ref=(str_); end
83
85
  def page(); end
84
86
  def page=(str_); end
85
87
  def limit(); end
@@ -27,13 +27,15 @@ module OpenApiSDK
27
27
  field :clicks, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clicks') } }
28
28
  # The number of leads the short link has generated.
29
29
  field :leads, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leads') } }
30
+ # The number of leads that converted to paying customers.
31
+ field :conversions, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('conversions') } }
30
32
  # The total number of sales (includes recurring sales) generated by the short link.
31
33
  field :sales, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
32
34
  # The total dollar value of sales (in cents) generated by the short link.
33
35
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
34
36
 
35
- sig { params(id: ::String, domain: ::String, key: ::String, short_link: ::String, url: ::String, clicks: T.nilable(::Float), leads: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
36
- def initialize(id:, domain:, key:, short_link:, url:, clicks: 0.0, leads: 0.0, sales: 0.0, sale_amount: 0.0)
37
+ sig { params(id: ::String, domain: ::String, key: ::String, short_link: ::String, url: ::String, clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
38
+ def initialize(id:, domain:, key:, short_link:, url:, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
37
39
  @id = id
38
40
  @domain = domain
39
41
  @key = key
@@ -41,6 +43,7 @@ module OpenApiSDK
41
43
  @url = url
42
44
  @clicks = clicks
43
45
  @leads = leads
46
+ @conversions = conversions
44
47
  @sales = sales
45
48
  @sale_amount = sale_amount
46
49
  end
@@ -55,6 +58,7 @@ module OpenApiSDK
55
58
  return false unless @url == other.url
56
59
  return false unless @clicks == other.clicks
57
60
  return false unless @leads == other.leads
61
+ return false unless @conversions == other.conversions
58
62
  return false unless @sales == other.sales
59
63
  return false unless @sale_amount == other.sale_amount
60
64
  true
@@ -22,6 +22,8 @@ class OpenApiSDK::Models::Operations::ListPartnersLink
22
22
  def clicks=(str_); end
23
23
  def leads(); end
24
24
  def leads=(str_); end
25
+ def conversions(); end
26
+ def conversions=(str_); end
25
27
  def sales(); end
26
28
  def sales=(str_); end
27
29
  def sale_amount(); end
@@ -19,7 +19,7 @@ module OpenApiSDK
19
19
  CONVERSIONS = new('conversions')
20
20
  SALES = new('sales')
21
21
  SALE_AMOUNT = new('saleAmount')
22
- COMMISSIONS = new('commissions')
22
+ TOTAL_COMMISSIONS = new('totalCommissions')
23
23
  NET_REVENUE = new('netRevenue')
24
24
  end
25
25
  end
@@ -17,12 +17,14 @@ module OpenApiSDK
17
17
  field :status, Crystalline::Nilable.new(Models::Operations::ListPartnersQueryParamStatus), { 'query_param': { 'field_name': 'status', 'style': 'form', 'explode': true } }
18
18
  # A filter on the list based on the partner's `country` field.
19
19
  field :country, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'country', 'style': 'form', 'explode': true } }
20
- # A case-sensitive filter on the list based on the partner's `tenantId` field. The value must be a string. Takes precedence over `search`.
20
+ # Filter the partner list based on the partner's `email`. The value must be a string. Takes precedence over `search`.
21
+ field :email, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'email', 'style': 'form', 'explode': true } }
22
+ # Filter the partner list based on the partner's `tenantId`. The value must be a string. Takes precedence over `email` and `search`.
21
23
  field :tenant_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'tenantId', 'style': 'form', 'explode': true } }
24
+ # A search query to filter partners by ID, name, email, or link.
25
+ field :search, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'search', 'style': 'form', 'explode': true } }
22
26
  # Whether to include stats fields on the partner (`clicks`, `leads`, `conversions`, `sales`, `saleAmount`, `commissions`, `netRevenue`). If false, those fields will be returned as 0.
23
27
  field :include_expanded_fields, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'query_param': { 'field_name': 'includeExpandedFields', 'style': 'form', 'explode': true } }
24
- # A search query to filter partners by name, email, or tenantId.
25
- field :search, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'search', 'style': 'form', 'explode': true } }
26
28
  # The field to sort the partners by. The default is `saleAmount`.
27
29
  field :sort_by, Crystalline::Nilable.new(Models::Operations::ListPartnersQueryParamSortBy), { 'query_param': { 'field_name': 'sortBy', 'style': 'form', 'explode': true } }
28
30
  # The sort order. The default is `desc`.
@@ -32,13 +34,14 @@ module OpenApiSDK
32
34
  # The number of items per page.
33
35
  field :page_size, Crystalline::Nilable.new(::Float), { 'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': true } }
34
36
 
35
- sig { params(status: T.nilable(Models::Operations::ListPartnersQueryParamStatus), country: T.nilable(::String), tenant_id: T.nilable(::String), include_expanded_fields: T.nilable(T::Boolean), search: T.nilable(::String), sort_by: T.nilable(Models::Operations::ListPartnersQueryParamSortBy), sort_order: T.nilable(Models::Operations::ListPartnersQueryParamSortOrder), page: T.nilable(::Float), page_size: T.nilable(::Float)).void }
36
- def initialize(status: nil, country: nil, tenant_id: nil, include_expanded_fields: nil, search: nil, sort_by: Models::Operations::ListPartnersQueryParamSortBy::SALE_AMOUNT, sort_order: Models::Operations::ListPartnersQueryParamSortOrder::DESC, page: 1.0, page_size: 100.0)
37
+ sig { params(status: T.nilable(Models::Operations::ListPartnersQueryParamStatus), country: T.nilable(::String), email: T.nilable(::String), tenant_id: T.nilable(::String), search: T.nilable(::String), include_expanded_fields: T.nilable(T::Boolean), sort_by: T.nilable(Models::Operations::ListPartnersQueryParamSortBy), sort_order: T.nilable(Models::Operations::ListPartnersQueryParamSortOrder), page: T.nilable(::Float), page_size: T.nilable(::Float)).void }
38
+ def initialize(status: nil, country: nil, email: nil, tenant_id: nil, search: nil, include_expanded_fields: nil, sort_by: Models::Operations::ListPartnersQueryParamSortBy::SALE_AMOUNT, sort_order: Models::Operations::ListPartnersQueryParamSortOrder::DESC, page: 1.0, page_size: 100.0)
37
39
  @status = status
38
40
  @country = country
41
+ @email = email
39
42
  @tenant_id = tenant_id
40
- @include_expanded_fields = include_expanded_fields
41
43
  @search = search
44
+ @include_expanded_fields = include_expanded_fields
42
45
  @sort_by = sort_by
43
46
  @sort_order = sort_order
44
47
  @page = page
@@ -50,9 +53,10 @@ module OpenApiSDK
50
53
  return false unless other.is_a? self.class
51
54
  return false unless @status == other.status
52
55
  return false unless @country == other.country
56
+ return false unless @email == other.email
53
57
  return false unless @tenant_id == other.tenant_id
54
- return false unless @include_expanded_fields == other.include_expanded_fields
55
58
  return false unless @search == other.search
59
+ return false unless @include_expanded_fields == other.include_expanded_fields
56
60
  return false unless @sort_by == other.sort_by
57
61
  return false unless @sort_order == other.sort_order
58
62
  return false unless @page == other.page
@@ -12,12 +12,14 @@ class OpenApiSDK::Models::Operations::ListPartnersRequest
12
12
  def status=(str_); end
13
13
  def country(); end
14
14
  def country=(str_); end
15
+ def email(); end
16
+ def email=(str_); end
15
17
  def tenant_id(); end
16
18
  def tenant_id=(str_); end
17
- def include_expanded_fields(); end
18
- def include_expanded_fields=(str_); end
19
19
  def search(); end
20
20
  def search=(str_); end
21
+ def include_expanded_fields(); end
22
+ def include_expanded_fields=(str_); end
21
23
  def sort_by(); end
22
24
  def sort_by=(str_); end
23
25
  def sort_order(); end