metronome-sdk 3.5.0 → 3.7.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +53 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/client.rb +15 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +2 -0
- data/lib/metronome_sdk/internal/type/enum.rb +0 -25
- data/lib/metronome_sdk/models/commit.rb +27 -1
- data/lib/metronome_sdk/models/contract.rb +140 -1
- data/lib/metronome_sdk/models/contract_v2.rb +530 -6
- data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
- data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
- data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +1 -0
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -177
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +147 -180
- data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +119 -0
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_response.rb +315 -0
- data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +31 -1
- data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +31 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +1 -0
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +8 -1
- data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +29 -1
- data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -18
- data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
- data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +507 -6
- data/lib/metronome_sdk/resources/v1/contracts/products.rb +6 -2
- data/lib/metronome_sdk/resources/v1/contracts.rb +72 -3
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -1
- data/lib/metronome_sdk/resources/v1/packages.rb +6 -7
- data/lib/metronome_sdk/resources/v1.rb +0 -4
- data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +2 -8
- data/rbi/metronome_sdk/models/commit.rbi +48 -0
- data/rbi/metronome_sdk/models/contract.rbi +354 -0
- data/rbi/metronome_sdk/models/contract_v2.rbi +1172 -4
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
- data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
- data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -396
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +370 -398
- data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +179 -0
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_response.rbi +714 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +74 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +74 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +9 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +75 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -56
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
- data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1355 -219
- data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +18 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +88 -3
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -0
- data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -7
- data/rbi/metronome_sdk/resources/v1.rbi +0 -3
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
- data/sig/metronome_sdk/models/commit.rbs +19 -0
- data/sig/metronome_sdk/models/contract.rbs +151 -0
- data/sig/metronome_sdk/models/contract_v2.rbs +494 -6
- data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
- data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
- data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +3 -1
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -137
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -137
- data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +96 -0
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_response.rbs +299 -0
- data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +20 -0
- data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +20 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +3 -1
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +29 -1
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -20
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
- data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +461 -15
- data/sig/metronome_sdk/resources/v1/contracts/products.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +16 -0
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/packages.rbs +1 -1
- data/sig/metronome_sdk/resources/v1.rbs +0 -2
- data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
- metadata +8 -26
- data/lib/metronome_sdk/models/v1/payment.rb +0 -196
- data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
- data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
- data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
- data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
- data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
- data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
- data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
- data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
- data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
- data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
- data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
|
@@ -34,6 +34,8 @@ module MetronomeSDK
|
|
|
34
34
|
T.nilable(
|
|
35
35
|
MetronomeSDK::V1::Contracts::QuantityRounding::OrHash
|
|
36
36
|
),
|
|
37
|
+
sql_breakdown_granularity:
|
|
38
|
+
MetronomeSDK::V1::Contracts::ProductCreateParams::SqlBreakdownGranularity::OrSymbol,
|
|
37
39
|
tags: T::Array[String],
|
|
38
40
|
request_options: MetronomeSDK::RequestOptions::OrHash
|
|
39
41
|
).returns(
|
|
@@ -84,6 +86,13 @@ module MetronomeSDK
|
|
|
84
86
|
# the method is "round up" and the decimal places is 0, then the quantity will be
|
|
85
87
|
# rounded up to the nearest integer.
|
|
86
88
|
quantity_rounding: nil,
|
|
89
|
+
# Defines the breakdown behavior when calculating usage from SQL Billable Metrics.
|
|
90
|
+
# If set to 'service_period' (default), the usage will be evaluated once for all
|
|
91
|
+
# events the invoice service period and the usage will be applied at the last
|
|
92
|
+
# instant of the invoice. If set to 'hour', it will be broken down and evaluated
|
|
93
|
+
# for each hour. For most use cases, 'hour' is recommended. The setting has no
|
|
94
|
+
# effect for Streaming Billable Metrics.
|
|
95
|
+
sql_breakdown_granularity: nil,
|
|
87
96
|
tags: nil,
|
|
88
97
|
request_options: {}
|
|
89
98
|
)
|
|
@@ -134,6 +143,8 @@ module MetronomeSDK
|
|
|
134
143
|
T.nilable(
|
|
135
144
|
MetronomeSDK::V1::Contracts::QuantityRounding::OrHash
|
|
136
145
|
),
|
|
146
|
+
sql_breakdown_granularity:
|
|
147
|
+
MetronomeSDK::V1::Contracts::ProductUpdateParams::SqlBreakdownGranularity::OrSymbol,
|
|
137
148
|
tags: T::Array[String],
|
|
138
149
|
request_options: MetronomeSDK::RequestOptions::OrHash
|
|
139
150
|
).returns(
|
|
@@ -192,6 +203,13 @@ module MetronomeSDK
|
|
|
192
203
|
# the method is "round up" and the decimal places is 0, then the quantity will be
|
|
193
204
|
# rounded up to the nearest integer.
|
|
194
205
|
quantity_rounding: nil,
|
|
206
|
+
# Defines the breakdown behavior when calculating usage from SQL Billable Metrics.
|
|
207
|
+
# If set to 'service_period' (default), the usage will be evaluated once for all
|
|
208
|
+
# events the invoice service period and the usage will be applied at the last
|
|
209
|
+
# instant of the invoice. If set to 'hour', it will be broken down and evaluated
|
|
210
|
+
# for each hour. For most use cases, 'hour' is recommended. The setting has no
|
|
211
|
+
# effect for Streaming Billable Metrics.
|
|
212
|
+
sql_breakdown_granularity: nil,
|
|
195
213
|
# If not provided, defaults to product's current tags
|
|
196
214
|
tags: nil,
|
|
197
215
|
request_options: {}
|
|
@@ -19,8 +19,8 @@ module MetronomeSDK
|
|
|
19
19
|
|
|
20
20
|
# Contracts define a customer's products, pricing, discounts, access duration, and
|
|
21
21
|
# billing configuration. Contracts serve as the central billing agreement for both
|
|
22
|
-
# PLG and Enterprise customers
|
|
23
|
-
# products and services directly from your product or CRM.
|
|
22
|
+
# PLG and Enterprise customers. You can automatically grant customers access to
|
|
23
|
+
# your products and services directly from your product or CRM.
|
|
24
24
|
#
|
|
25
25
|
# ### Use this endpoint to:
|
|
26
26
|
#
|
|
@@ -200,6 +200,10 @@ module MetronomeSDK
|
|
|
200
200
|
MetronomeSDK::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices::OrSymbol,
|
|
201
201
|
spend_threshold_configuration:
|
|
202
202
|
MetronomeSDK::SpendThresholdConfiguration::OrHash,
|
|
203
|
+
spend_trackers:
|
|
204
|
+
T::Array[
|
|
205
|
+
MetronomeSDK::V1::ContractCreateParams::SpendTracker::OrHash
|
|
206
|
+
],
|
|
203
207
|
subscriptions:
|
|
204
208
|
T::Array[
|
|
205
209
|
MetronomeSDK::V1::ContractCreateParams::Subscription::OrHash
|
|
@@ -245,7 +249,7 @@ module MetronomeSDK
|
|
|
245
249
|
package_alias: nil,
|
|
246
250
|
# If provided, provisions a customer on a package instead of creating a
|
|
247
251
|
# traditional contract. When specified, only customer_id, starting_at, package_id,
|
|
248
|
-
# and
|
|
252
|
+
# uniqueness_key, transition, and custom_fields are allowed.
|
|
249
253
|
package_id: nil,
|
|
250
254
|
prepaid_balance_threshold_configuration: nil,
|
|
251
255
|
# This field's availability is dependent on your client's configuration.
|
|
@@ -271,6 +275,9 @@ module MetronomeSDK
|
|
|
271
275
|
# on a separate invoice from usage charges.
|
|
272
276
|
scheduled_charges_on_usage_invoices: nil,
|
|
273
277
|
spend_threshold_configuration: nil,
|
|
278
|
+
# Spend trackers to attach to this contract. Aliases must be unique within a
|
|
279
|
+
# contract.
|
|
280
|
+
spend_trackers: nil,
|
|
274
281
|
# Optional list of
|
|
275
282
|
# [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
|
|
276
283
|
# to add to the contract.
|
|
@@ -696,6 +703,84 @@ module MetronomeSDK
|
|
|
696
703
|
)
|
|
697
704
|
end
|
|
698
705
|
|
|
706
|
+
# Retrieve detailed balance for seat-based credits and commits from the contract's
|
|
707
|
+
# subscriptions, broken down by individual seats.
|
|
708
|
+
#
|
|
709
|
+
# ### Use this endpoint to:
|
|
710
|
+
#
|
|
711
|
+
# - Display per-seat balance information in customer dashboards
|
|
712
|
+
# - Filter balance data by subscription or specific seats
|
|
713
|
+
#
|
|
714
|
+
# ### Key response fields:
|
|
715
|
+
#
|
|
716
|
+
# An array of seat balance objects containing:
|
|
717
|
+
#
|
|
718
|
+
# - Seat id
|
|
719
|
+
# - Balance: current total balance across all commits and credits
|
|
720
|
+
#
|
|
721
|
+
# ### Usage guidelines:
|
|
722
|
+
#
|
|
723
|
+
# - Date filtering: use `covering_date` OR `starting_at`/`ending_before` to filter
|
|
724
|
+
# balance data by time range
|
|
725
|
+
# - Set `include_credits_and_commits=true` for detailed commits and credits
|
|
726
|
+
# breakdown per seat
|
|
727
|
+
# - Set `include_ledgers=true` for detailed transaction history per commit/credit
|
|
728
|
+
# per seat
|
|
729
|
+
sig do
|
|
730
|
+
params(
|
|
731
|
+
contract_id: String,
|
|
732
|
+
customer_id: String,
|
|
733
|
+
covering_date: Time,
|
|
734
|
+
cursor: String,
|
|
735
|
+
effective_before: Time,
|
|
736
|
+
include_credits_and_commits: T::Boolean,
|
|
737
|
+
include_ledgers: T::Boolean,
|
|
738
|
+
limit: Integer,
|
|
739
|
+
seat_ids: T::Array[String],
|
|
740
|
+
starting_at: Time,
|
|
741
|
+
subscription_ids: T::Array[String],
|
|
742
|
+
request_options: MetronomeSDK::RequestOptions::OrHash
|
|
743
|
+
).returns(MetronomeSDK::Models::V1::ContractListSeatBalancesResponse)
|
|
744
|
+
end
|
|
745
|
+
def list_seat_balances(
|
|
746
|
+
# The contract ID to retrieve seat balances for
|
|
747
|
+
contract_id:,
|
|
748
|
+
# The customer ID to retrieve seat balances for
|
|
749
|
+
customer_id:,
|
|
750
|
+
# Include only commits or credits with access that cover this specific date
|
|
751
|
+
# (cannot be used with starting_at or ending_before).
|
|
752
|
+
covering_date: nil,
|
|
753
|
+
# Page token from a previous response to retrieve the next page
|
|
754
|
+
cursor: nil,
|
|
755
|
+
# Include only commits or credits with access effective on or before this date
|
|
756
|
+
# (cannot be used with covering_date).
|
|
757
|
+
effective_before: nil,
|
|
758
|
+
# Include credits and commits in the response
|
|
759
|
+
include_credits_and_commits: nil,
|
|
760
|
+
# Include ledger entries for each commit and commit. `include_credits_and_commits`
|
|
761
|
+
# must be set to `true` for `include_ledgers=true` to apply.
|
|
762
|
+
include_ledgers: nil,
|
|
763
|
+
# Maximum number of seats to return. Range: 1-100. Default: 25. When
|
|
764
|
+
# `include_credits_and_commits = true`, if the total commits/credits across all
|
|
765
|
+
# seats exceeds 100, a limit of 100 applies to the total credits and commits.
|
|
766
|
+
# Seats are included greedily to maximize the number of seats returned. Example:
|
|
767
|
+
# if seat 1 has 98 commits and seat 2 has 10 commits, both seats will be returned
|
|
768
|
+
# (total: 108 commits). Each returned seat includes all of its associated credits
|
|
769
|
+
# and commits.
|
|
770
|
+
limit: nil,
|
|
771
|
+
# Optional filter to only include specific seats.
|
|
772
|
+
seat_ids: nil,
|
|
773
|
+
# Include only commits or credits with access effective on or after this date
|
|
774
|
+
# (cannot be used with covering_date).
|
|
775
|
+
starting_at: nil,
|
|
776
|
+
# Optional filter to only include seats from specific subscriptions. If
|
|
777
|
+
# subscriptions ids are not mapped to SEAT_BASED subscriptions, error will be
|
|
778
|
+
# returned.
|
|
779
|
+
subscription_ids: nil,
|
|
780
|
+
request_options: {}
|
|
781
|
+
)
|
|
782
|
+
end
|
|
783
|
+
|
|
699
784
|
# For a specific customer and contract, get the rates at a specific point in time.
|
|
700
785
|
# This endpoint takes the contract's rate card into consideration, including
|
|
701
786
|
# scheduled changes. It also takes into account overrides on the contract.
|
|
@@ -120,6 +120,7 @@ module MetronomeSDK
|
|
|
120
120
|
sig do
|
|
121
121
|
params(
|
|
122
122
|
customer_id: String,
|
|
123
|
+
contract_id: String,
|
|
123
124
|
credit_type_id: String,
|
|
124
125
|
ending_before: Time,
|
|
125
126
|
limit: Integer,
|
|
@@ -129,6 +130,8 @@ module MetronomeSDK
|
|
|
129
130
|
MetronomeSDK::V1::Customers::InvoiceListParams::Sort::OrSymbol,
|
|
130
131
|
starting_on: Time,
|
|
131
132
|
status: String,
|
|
133
|
+
type:
|
|
134
|
+
MetronomeSDK::V1::Customers::InvoiceListParams::Type::OrSymbol,
|
|
132
135
|
request_options: MetronomeSDK::RequestOptions::OrHash
|
|
133
136
|
).returns(
|
|
134
137
|
MetronomeSDK::Internal::CursorPage[
|
|
@@ -139,6 +142,8 @@ module MetronomeSDK
|
|
|
139
142
|
def list(
|
|
140
143
|
# Path param
|
|
141
144
|
customer_id:,
|
|
145
|
+
# Query param: Only return invoices for the specified contract
|
|
146
|
+
contract_id: nil,
|
|
142
147
|
# Query param: Only return invoices for the specified credit type
|
|
143
148
|
credit_type_id: nil,
|
|
144
149
|
# Query param: RFC 3339 timestamp (exclusive). Invoices will only be returned for
|
|
@@ -159,6 +164,8 @@ module MetronomeSDK
|
|
|
159
164
|
starting_on: nil,
|
|
160
165
|
# Query param: Invoice status, e.g. DRAFT, FINALIZED, or VOID
|
|
161
166
|
status: nil,
|
|
167
|
+
# Query param: Filter invoices by type. Defaults to returning all invoice types.
|
|
168
|
+
type: nil,
|
|
162
169
|
request_options: {}
|
|
163
170
|
)
|
|
164
171
|
end
|
|
@@ -59,8 +59,6 @@ module MetronomeSDK
|
|
|
59
59
|
name: String,
|
|
60
60
|
aliases:
|
|
61
61
|
T::Array[MetronomeSDK::V1::PackageCreateParams::Alias::OrHash],
|
|
62
|
-
billing_anchor_date:
|
|
63
|
-
MetronomeSDK::V1::PackageCreateParams::BillingAnchorDate::OrSymbol,
|
|
64
62
|
billing_provider:
|
|
65
63
|
MetronomeSDK::V1::PackageCreateParams::BillingProvider::OrSymbol,
|
|
66
64
|
commits:
|
|
@@ -96,6 +94,10 @@ module MetronomeSDK
|
|
|
96
94
|
MetronomeSDK::V1::PackageCreateParams::ScheduledChargesOnUsageInvoices::OrSymbol,
|
|
97
95
|
spend_threshold_configuration:
|
|
98
96
|
MetronomeSDK::SpendThresholdConfiguration::OrHash,
|
|
97
|
+
spend_trackers:
|
|
98
|
+
T::Array[
|
|
99
|
+
MetronomeSDK::V1::PackageCreateParams::SpendTracker::OrHash
|
|
100
|
+
],
|
|
99
101
|
subscriptions:
|
|
100
102
|
T::Array[
|
|
101
103
|
MetronomeSDK::V1::PackageCreateParams::Subscription::OrHash
|
|
@@ -112,7 +114,6 @@ module MetronomeSDK
|
|
|
112
114
|
# multiple packages, it will reference the package to which it was most recently
|
|
113
115
|
# assigned. It is not exposed to end customers.
|
|
114
116
|
aliases: nil,
|
|
115
|
-
billing_anchor_date: nil,
|
|
116
117
|
billing_provider: nil,
|
|
117
118
|
commits: nil,
|
|
118
119
|
contract_name: nil,
|
|
@@ -141,6 +142,7 @@ module MetronomeSDK
|
|
|
141
142
|
# on a separate invoice from usage charges.
|
|
142
143
|
scheduled_charges_on_usage_invoices: nil,
|
|
143
144
|
spend_threshold_configuration: nil,
|
|
145
|
+
spend_trackers: nil,
|
|
144
146
|
subscriptions: nil,
|
|
145
147
|
# Prevents the creation of duplicates. If a request to create a record is made
|
|
146
148
|
# with a previously used uniqueness key, a new record will not be created and the
|
|
@@ -219,10 +221,9 @@ module MetronomeSDK
|
|
|
219
221
|
#
|
|
220
222
|
# ### **Usage guidelines:**
|
|
221
223
|
#
|
|
222
|
-
# Use the
|
|
223
|
-
#
|
|
224
|
-
#
|
|
225
|
-
# pass **`covering_date`** equal to the current time.
|
|
224
|
+
# Use the **`starting_at`**, **`covering_date`**, and **`include_archived`**
|
|
225
|
+
# parameters to filter the list of returned contracts. For example, to list only
|
|
226
|
+
# currently active contracts, pass **`covering_date`** equal to the current time.
|
|
226
227
|
sig do
|
|
227
228
|
params(
|
|
228
229
|
package_id: String,
|
|
@@ -80,9 +80,6 @@ module MetronomeSDK
|
|
|
80
80
|
sig { returns(MetronomeSDK::Resources::V1::Packages) }
|
|
81
81
|
attr_reader :packages
|
|
82
82
|
|
|
83
|
-
sig { returns(MetronomeSDK::Resources::V1::Payments) }
|
|
84
|
-
attr_reader :payments
|
|
85
|
-
|
|
86
83
|
# Use these endpoints to configure a billing API key, a webhook secret, or invoice
|
|
87
84
|
# finalization behavior.
|
|
88
85
|
sig { returns(MetronomeSDK::Resources::V1::Settings) }
|
|
@@ -159,6 +159,10 @@ module MetronomeSDK
|
|
|
159
159
|
],
|
|
160
160
|
add_spend_threshold_configuration:
|
|
161
161
|
MetronomeSDK::SpendThresholdConfigurationV2::OrHash,
|
|
162
|
+
add_spend_trackers:
|
|
163
|
+
T::Array[
|
|
164
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::OrHash
|
|
165
|
+
],
|
|
162
166
|
add_subscriptions:
|
|
163
167
|
T::Array[
|
|
164
168
|
MetronomeSDK::V2::ContractEditParams::AddSubscription::OrHash
|
|
@@ -176,6 +180,7 @@ module MetronomeSDK
|
|
|
176
180
|
T::Array[
|
|
177
181
|
MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge::OrHash
|
|
178
182
|
],
|
|
183
|
+
archive_spend_trackers: T::Array[String],
|
|
179
184
|
remove_overrides:
|
|
180
185
|
T::Array[
|
|
181
186
|
MetronomeSDK::V2::ContractEditParams::RemoveOverride::OrHash
|
|
@@ -240,6 +245,9 @@ module MetronomeSDK
|
|
|
240
245
|
add_revenue_system_configuration_update: nil,
|
|
241
246
|
add_scheduled_charges: nil,
|
|
242
247
|
add_spend_threshold_configuration: nil,
|
|
248
|
+
# Spend trackers to add to this contract. Aliases must be unique within a
|
|
249
|
+
# contract.
|
|
250
|
+
add_spend_trackers: nil,
|
|
243
251
|
# Optional list of
|
|
244
252
|
# [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
|
|
245
253
|
# to add to the contract.
|
|
@@ -255,6 +263,8 @@ module MetronomeSDK
|
|
|
255
263
|
archive_credits: nil,
|
|
256
264
|
# IDs of scheduled charges to archive
|
|
257
265
|
archive_scheduled_charges: nil,
|
|
266
|
+
# Aliases of spend trackers to archive.
|
|
267
|
+
archive_spend_trackers: nil,
|
|
258
268
|
# IDs of overrides to remove
|
|
259
269
|
remove_overrides: nil,
|
|
260
270
|
# Optional uniqueness key to prevent duplicate contract edits.
|
|
@@ -29,6 +29,7 @@ module MetronomeSDK
|
|
|
29
29
|
rollover_fraction: Float,
|
|
30
30
|
salesforce_opportunity_id: String,
|
|
31
31
|
specifiers: ::Array[MetronomeSDK::CommitSpecifier],
|
|
32
|
+
spend_tracker_attributes: MetronomeSDK::Commit::SpendTrackerAttributes,
|
|
32
33
|
subscription_config: MetronomeSDK::Commit::SubscriptionConfig,
|
|
33
34
|
uniqueness_key: String
|
|
34
35
|
}
|
|
@@ -152,6 +153,12 @@ module MetronomeSDK
|
|
|
152
153
|
::Array[MetronomeSDK::CommitSpecifier]
|
|
153
154
|
) -> ::Array[MetronomeSDK::CommitSpecifier]
|
|
154
155
|
|
|
156
|
+
attr_reader spend_tracker_attributes: MetronomeSDK::Commit::SpendTrackerAttributes?
|
|
157
|
+
|
|
158
|
+
def spend_tracker_attributes=: (
|
|
159
|
+
MetronomeSDK::Commit::SpendTrackerAttributes
|
|
160
|
+
) -> MetronomeSDK::Commit::SpendTrackerAttributes
|
|
161
|
+
|
|
155
162
|
attr_reader subscription_config: MetronomeSDK::Commit::SubscriptionConfig?
|
|
156
163
|
|
|
157
164
|
def subscription_config=: (
|
|
@@ -190,6 +197,7 @@ module MetronomeSDK
|
|
|
190
197
|
?rollover_fraction: Float,
|
|
191
198
|
?salesforce_opportunity_id: String,
|
|
192
199
|
?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
|
|
200
|
+
?spend_tracker_attributes: MetronomeSDK::Commit::SpendTrackerAttributes,
|
|
193
201
|
?subscription_config: MetronomeSDK::Commit::SubscriptionConfig,
|
|
194
202
|
?uniqueness_key: String
|
|
195
203
|
) -> void
|
|
@@ -222,6 +230,7 @@ module MetronomeSDK
|
|
|
222
230
|
rollover_fraction: Float,
|
|
223
231
|
salesforce_opportunity_id: String,
|
|
224
232
|
specifiers: ::Array[MetronomeSDK::CommitSpecifier],
|
|
233
|
+
spend_tracker_attributes: MetronomeSDK::Commit::SpendTrackerAttributes,
|
|
225
234
|
subscription_config: MetronomeSDK::Commit::SubscriptionConfig,
|
|
226
235
|
uniqueness_key: String
|
|
227
236
|
}
|
|
@@ -957,6 +966,16 @@ module MetronomeSDK
|
|
|
957
966
|
def to_hash: -> { commit_id: String, contract_id: String }
|
|
958
967
|
end
|
|
959
968
|
|
|
969
|
+
type spend_tracker_attributes = { counts_as_discounted: bool }
|
|
970
|
+
|
|
971
|
+
class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
|
|
972
|
+
attr_accessor counts_as_discounted: bool
|
|
973
|
+
|
|
974
|
+
def initialize: (counts_as_discounted: bool) -> void
|
|
975
|
+
|
|
976
|
+
def to_hash: -> { counts_as_discounted: bool }
|
|
977
|
+
end
|
|
978
|
+
|
|
960
979
|
type subscription_config =
|
|
961
980
|
{
|
|
962
981
|
allocation: MetronomeSDK::Models::Commit::SubscriptionConfig::allocation,
|
|
@@ -14,6 +14,7 @@ module MetronomeSDK
|
|
|
14
14
|
prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
|
|
15
15
|
scheduled_charges_on_usage_invoices: MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices,
|
|
16
16
|
spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
|
|
17
|
+
spend_trackers: ::Array[MetronomeSDK::Contract::SpendTracker],
|
|
17
18
|
subscriptions: ::Array[MetronomeSDK::Subscription],
|
|
18
19
|
uniqueness_key: String
|
|
19
20
|
}
|
|
@@ -65,6 +66,12 @@ module MetronomeSDK
|
|
|
65
66
|
MetronomeSDK::SpendThresholdConfiguration
|
|
66
67
|
) -> MetronomeSDK::SpendThresholdConfiguration
|
|
67
68
|
|
|
69
|
+
attr_reader spend_trackers: ::Array[MetronomeSDK::Contract::SpendTracker]?
|
|
70
|
+
|
|
71
|
+
def spend_trackers=: (
|
|
72
|
+
::Array[MetronomeSDK::Contract::SpendTracker]
|
|
73
|
+
) -> ::Array[MetronomeSDK::Contract::SpendTracker]
|
|
74
|
+
|
|
68
75
|
attr_reader subscriptions: ::Array[MetronomeSDK::Subscription]?
|
|
69
76
|
|
|
70
77
|
def subscriptions=: (
|
|
@@ -88,6 +95,7 @@ module MetronomeSDK
|
|
|
88
95
|
?prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
|
|
89
96
|
?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices,
|
|
90
97
|
?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
|
|
98
|
+
?spend_trackers: ::Array[MetronomeSDK::Contract::SpendTracker],
|
|
91
99
|
?subscriptions: ::Array[MetronomeSDK::Subscription],
|
|
92
100
|
?uniqueness_key: String
|
|
93
101
|
) -> void
|
|
@@ -105,6 +113,7 @@ module MetronomeSDK
|
|
|
105
113
|
prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
|
|
106
114
|
scheduled_charges_on_usage_invoices: MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices,
|
|
107
115
|
spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
|
|
116
|
+
spend_trackers: ::Array[MetronomeSDK::Contract::SpendTracker],
|
|
108
117
|
subscriptions: ::Array[MetronomeSDK::Subscription],
|
|
109
118
|
uniqueness_key: String
|
|
110
119
|
}
|
|
@@ -395,6 +404,148 @@ module MetronomeSDK
|
|
|
395
404
|
|
|
396
405
|
def self?.values: -> ::Array[MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices]
|
|
397
406
|
end
|
|
407
|
+
|
|
408
|
+
type spend_tracker =
|
|
409
|
+
{
|
|
410
|
+
alias_: String,
|
|
411
|
+
applicable_spend_specifiers: ::Array[MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier],
|
|
412
|
+
credit_type_id: String,
|
|
413
|
+
reset_frequency: MetronomeSDK::Models::Contract::SpendTracker::reset_frequency,
|
|
414
|
+
accumulated_spend: MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
|
|
418
|
+
attr_accessor alias_: String
|
|
419
|
+
|
|
420
|
+
attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier]
|
|
421
|
+
|
|
422
|
+
attr_accessor credit_type_id: String
|
|
423
|
+
|
|
424
|
+
attr_accessor reset_frequency: MetronomeSDK::Models::Contract::SpendTracker::reset_frequency
|
|
425
|
+
|
|
426
|
+
attr_reader accumulated_spend: MetronomeSDK::Contract::SpendTracker::AccumulatedSpend?
|
|
427
|
+
|
|
428
|
+
def accumulated_spend=: (
|
|
429
|
+
MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
|
|
430
|
+
) -> MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
|
|
431
|
+
|
|
432
|
+
def initialize: (
|
|
433
|
+
alias_: String,
|
|
434
|
+
applicable_spend_specifiers: ::Array[MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier],
|
|
435
|
+
credit_type_id: String,
|
|
436
|
+
reset_frequency: MetronomeSDK::Models::Contract::SpendTracker::reset_frequency,
|
|
437
|
+
?accumulated_spend: MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
|
|
438
|
+
) -> void
|
|
439
|
+
|
|
440
|
+
def to_hash: -> {
|
|
441
|
+
alias_: String,
|
|
442
|
+
applicable_spend_specifiers: ::Array[MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier],
|
|
443
|
+
credit_type_id: String,
|
|
444
|
+
reset_frequency: MetronomeSDK::Models::Contract::SpendTracker::reset_frequency,
|
|
445
|
+
accumulated_spend: MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
type applicable_spend_specifier =
|
|
449
|
+
{
|
|
450
|
+
sources: ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::source],
|
|
451
|
+
spend_type: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::spend_type,
|
|
452
|
+
discounted: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
456
|
+
attr_accessor sources: ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::source]
|
|
457
|
+
|
|
458
|
+
attr_accessor spend_type: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::spend_type
|
|
459
|
+
|
|
460
|
+
attr_reader discounted: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted?
|
|
461
|
+
|
|
462
|
+
def discounted=: (
|
|
463
|
+
MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted
|
|
464
|
+
) -> MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted
|
|
465
|
+
|
|
466
|
+
def initialize: (
|
|
467
|
+
sources: ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::source],
|
|
468
|
+
spend_type: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::spend_type,
|
|
469
|
+
?discounted: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted
|
|
470
|
+
) -> void
|
|
471
|
+
|
|
472
|
+
def to_hash: -> {
|
|
473
|
+
sources: ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::source],
|
|
474
|
+
spend_type: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::spend_type,
|
|
475
|
+
discounted: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
type source = :THRESHOLD_RECHARGE | :MANUAL
|
|
479
|
+
|
|
480
|
+
module Source
|
|
481
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
482
|
+
|
|
483
|
+
THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
|
|
484
|
+
MANUAL: :MANUAL
|
|
485
|
+
|
|
486
|
+
def self?.values: -> ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::source]
|
|
487
|
+
end
|
|
488
|
+
|
|
489
|
+
type spend_type = :COMMIT_PURCHASE
|
|
490
|
+
|
|
491
|
+
module SpendType
|
|
492
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
493
|
+
|
|
494
|
+
COMMIT_PURCHASE: :COMMIT_PURCHASE
|
|
495
|
+
|
|
496
|
+
def self?.values: -> ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::spend_type]
|
|
497
|
+
end
|
|
498
|
+
|
|
499
|
+
type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
|
|
500
|
+
|
|
501
|
+
module Discounted
|
|
502
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
503
|
+
|
|
504
|
+
ANY: :ANY
|
|
505
|
+
DISCOUNTED_ONLY: :DISCOUNTED_ONLY
|
|
506
|
+
UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
|
|
507
|
+
|
|
508
|
+
def self?.values: -> ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted]
|
|
509
|
+
end
|
|
510
|
+
end
|
|
511
|
+
|
|
512
|
+
type reset_frequency = :BILLING_PERIOD
|
|
513
|
+
|
|
514
|
+
module ResetFrequency
|
|
515
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
516
|
+
|
|
517
|
+
BILLING_PERIOD: :BILLING_PERIOD
|
|
518
|
+
|
|
519
|
+
def self?.values: -> ::Array[MetronomeSDK::Models::Contract::SpendTracker::reset_frequency]
|
|
520
|
+
end
|
|
521
|
+
|
|
522
|
+
type accumulated_spend =
|
|
523
|
+
{
|
|
524
|
+
amount: Float,
|
|
525
|
+
period_ending_before: Time,
|
|
526
|
+
period_starting_at: Time
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
class AccumulatedSpend < MetronomeSDK::Internal::Type::BaseModel
|
|
530
|
+
attr_accessor amount: Float
|
|
531
|
+
|
|
532
|
+
attr_accessor period_ending_before: Time
|
|
533
|
+
|
|
534
|
+
attr_accessor period_starting_at: Time
|
|
535
|
+
|
|
536
|
+
def initialize: (
|
|
537
|
+
amount: Float,
|
|
538
|
+
period_ending_before: Time,
|
|
539
|
+
period_starting_at: Time
|
|
540
|
+
) -> void
|
|
541
|
+
|
|
542
|
+
def to_hash: -> {
|
|
543
|
+
amount: Float,
|
|
544
|
+
period_ending_before: Time,
|
|
545
|
+
period_starting_at: Time
|
|
546
|
+
}
|
|
547
|
+
end
|
|
548
|
+
end
|
|
398
549
|
end
|
|
399
550
|
end
|
|
400
551
|
end
|