metronome-sdk 3.1.0 → 3.2.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 +30 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/internal/util.rb +32 -1
- data/lib/metronome_sdk/models/commit_rate.rb +29 -3
- data/lib/metronome_sdk/models/contract.rb +1 -9
- data/lib/metronome_sdk/models/contract_v2.rb +22 -1
- data/lib/metronome_sdk/models/overwrite_rate.rb +22 -1
- data/lib/metronome_sdk/models/payment_gate_config.rb +0 -1
- data/lib/metronome_sdk/models/payment_gate_config_v2.rb +0 -1
- data/lib/metronome_sdk/models/rate.rb +22 -1
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +23 -2
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +24 -11
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +23 -1
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +21 -1
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +10 -1
- data/lib/metronome_sdk/models/v1/package_archive_params.rb +24 -0
- data/lib/metronome_sdk/models/v1/package_archive_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/package_create_params.rb +2719 -0
- data/lib/metronome_sdk/models/v1/package_create_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_params.rb +69 -0
- data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_response.rb +42 -0
- data/lib/metronome_sdk/models/v1/package_list_params.rb +52 -0
- data/lib/metronome_sdk/models/v1/package_list_response.rb +2446 -0
- data/lib/metronome_sdk/models/v1/package_retrieve_params.rb +22 -0
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +2479 -0
- data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +39 -2
- data/lib/metronome_sdk/models/v1/usage_list_with_groups_response.rb +27 -3
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +23 -2
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +23 -1
- data/lib/metronome_sdk/resources/v1/alerts.rb +5 -0
- data/lib/metronome_sdk/resources/v1/audit_logs.rb +4 -1
- data/lib/metronome_sdk/resources/v1/billable_metrics.rb +5 -1
- data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -0
- data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -2
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -0
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -0
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -3
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +10 -3
- data/lib/metronome_sdk/resources/v1/contracts.rb +8 -5
- data/lib/metronome_sdk/resources/v1/credit_grants.rb +9 -4
- data/lib/metronome_sdk/resources/v1/custom_fields.rb +6 -2
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +8 -2
- data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +4 -0
- data/lib/metronome_sdk/resources/v1/customers/commits.rb +1 -0
- data/lib/metronome_sdk/resources/v1/customers/credits.rb +1 -0
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +10 -3
- data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -0
- data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -2
- data/lib/metronome_sdk/resources/v1/customers.rb +27 -3
- data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -0
- data/lib/metronome_sdk/resources/v1/invoices.rb +4 -0
- data/lib/metronome_sdk/resources/v1/packages.rb +269 -0
- data/lib/metronome_sdk/resources/v1/plans.rb +10 -3
- data/lib/metronome_sdk/resources/v1/pricing_units.rb +4 -1
- data/lib/metronome_sdk/resources/v1/services.rb +2 -0
- data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +2 -0
- data/lib/metronome_sdk/resources/v1/settings.rb +4 -0
- data/lib/metronome_sdk/resources/v1/usage.rb +26 -13
- data/lib/metronome_sdk/resources/v1.rb +41 -0
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +11 -0
- data/rbi/metronome_sdk/internal/util.rbi +21 -1
- data/rbi/metronome_sdk/models/commit_rate.rbi +43 -2
- data/rbi/metronome_sdk/models/contract.rbi +0 -11
- data/rbi/metronome_sdk/models/contract_v2.rbi +46 -0
- data/rbi/metronome_sdk/models/overwrite_rate.rbi +37 -0
- data/rbi/metronome_sdk/models/payment_gate_config.rbi +0 -5
- data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +0 -5
- data/rbi/metronome_sdk/models/rate.rbi +35 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +46 -5
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +46 -16
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +46 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +46 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/package_archive_params.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/package_archive_response.rbi +31 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +6362 -0
- data/rbi/metronome_sdk/models/v1/package_create_response.rbi +31 -0
- data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbi +105 -0
- data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbi +70 -0
- data/rbi/metronome_sdk/models/v1/package_list_params.rbi +123 -0
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +5796 -0
- data/rbi/metronome_sdk/models/v1/package_retrieve_params.rbi +43 -0
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +5864 -0
- data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +52 -0
- data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +24 -3
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +46 -5
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +46 -0
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +3 -0
- data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +4 -3
- data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +3 -0
- data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +3 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/customers.rbi +21 -0
- data/rbi/metronome_sdk/resources/v1/dashboards.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/packages.rbi +268 -0
- data/rbi/metronome_sdk/resources/v1/plans.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/services.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/usage.rbi +35 -8
- data/rbi/metronome_sdk/resources/v1.rbi +40 -0
- data/sig/metronome_sdk/internal/util.rbs +10 -0
- data/sig/metronome_sdk/models/commit_rate.rbs +19 -0
- data/sig/metronome_sdk/models/contract.rbs +0 -7
- data/sig/metronome_sdk/models/contract_v2.rbs +19 -0
- data/sig/metronome_sdk/models/overwrite_rate.rbs +19 -0
- data/sig/metronome_sdk/models/payment_gate_config.rbs +1 -2
- data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +1 -2
- data/sig/metronome_sdk/models/rate.rbs +19 -0
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +20 -2
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +20 -9
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +19 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +19 -0
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
- data/sig/metronome_sdk/models/v1/package_archive_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/package_archive_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +2532 -0
- data/sig/metronome_sdk/models/v1/package_create_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbs +63 -0
- data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbs +46 -0
- data/sig/metronome_sdk/models/v1/package_list_params.rbs +58 -0
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +2441 -0
- data/sig/metronome_sdk/models/v1/package_retrieve_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +2467 -0
- data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +16 -0
- data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +10 -3
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +20 -2
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +19 -0
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +0 -1
- data/sig/metronome_sdk/resources/v1/packages.rbs +63 -0
- data/sig/metronome_sdk/resources/v1/usage.rbs +2 -0
- data/sig/metronome_sdk/resources/v1.rbs +2 -0
- metadata +35 -2
|
@@ -4,6 +4,10 @@ module MetronomeSDK
|
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
6
|
class Customers
|
|
7
|
+
# [Invoices](https://docs.metronome.com/invoicing/) reflect how much a customer
|
|
8
|
+
# spent during a period, which is the basis for billing. Metronome automatically
|
|
9
|
+
# generates invoices based upon your pricing, packaging, and usage events. Use
|
|
10
|
+
# these endpoints to retrieve invoices.
|
|
7
11
|
class Invoices
|
|
8
12
|
# Some parameter documentations has been truncated, see
|
|
9
13
|
# {MetronomeSDK::Models::V1::Customers::InvoiceRetrieveParams} for more details.
|
|
@@ -64,6 +68,7 @@ module MetronomeSDK
|
|
|
64
68
|
# @see MetronomeSDK::Models::V1::Customers::InvoiceRetrieveParams
|
|
65
69
|
def retrieve(params)
|
|
66
70
|
parsed, options = MetronomeSDK::V1::Customers::InvoiceRetrieveParams.dump_request(params)
|
|
71
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
67
72
|
customer_id =
|
|
68
73
|
parsed.delete(:customer_id) do
|
|
69
74
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -75,7 +80,7 @@ module MetronomeSDK
|
|
|
75
80
|
@client.request(
|
|
76
81
|
method: :get,
|
|
77
82
|
path: ["v1/customers/%1$s/invoices/%2$s", customer_id, invoice_id],
|
|
78
|
-
query:
|
|
83
|
+
query: query,
|
|
79
84
|
model: MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse,
|
|
80
85
|
options: options
|
|
81
86
|
)
|
|
@@ -158,6 +163,7 @@ module MetronomeSDK
|
|
|
158
163
|
# @see MetronomeSDK::Models::V1::Customers::InvoiceListParams
|
|
159
164
|
def list(params)
|
|
160
165
|
parsed, options = MetronomeSDK::V1::Customers::InvoiceListParams.dump_request(params)
|
|
166
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
161
167
|
customer_id =
|
|
162
168
|
parsed.delete(:customer_id) do
|
|
163
169
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -165,7 +171,7 @@ module MetronomeSDK
|
|
|
165
171
|
@client.request(
|
|
166
172
|
method: :get,
|
|
167
173
|
path: ["v1/customers/%1$s/invoices", customer_id],
|
|
168
|
-
query:
|
|
174
|
+
query: query,
|
|
169
175
|
page: MetronomeSDK::Internal::CursorPage,
|
|
170
176
|
model: MetronomeSDK::V1::Customers::Invoice,
|
|
171
177
|
options: options
|
|
@@ -286,6 +292,7 @@ module MetronomeSDK
|
|
|
286
292
|
# @see MetronomeSDK::Models::V1::Customers::InvoiceListBreakdownsParams
|
|
287
293
|
def list_breakdowns(params)
|
|
288
294
|
parsed, options = MetronomeSDK::V1::Customers::InvoiceListBreakdownsParams.dump_request(params)
|
|
295
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
289
296
|
customer_id =
|
|
290
297
|
parsed.delete(:customer_id) do
|
|
291
298
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -293,7 +300,7 @@ module MetronomeSDK
|
|
|
293
300
|
@client.request(
|
|
294
301
|
method: :get,
|
|
295
302
|
path: ["v1/customers/%1$s/invoices/breakdowns", customer_id],
|
|
296
|
-
query:
|
|
303
|
+
query: query,
|
|
297
304
|
page: MetronomeSDK::Internal::CursorPage,
|
|
298
305
|
model: MetronomeSDK::Models::V1::Customers::InvoiceListBreakdownsResponse,
|
|
299
306
|
options: options
|
|
@@ -4,6 +4,8 @@ module MetronomeSDK
|
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
6
|
class Customers
|
|
7
|
+
# Named schedules are used for storing custom data that can change over time.
|
|
8
|
+
# Named schedules are often used in custom pricing logic.
|
|
7
9
|
class NamedSchedules
|
|
8
10
|
# Some parameter documentations has been truncated, see
|
|
9
11
|
# {MetronomeSDK::Models::V1::Customers::NamedScheduleRetrieveParams} for more
|
|
@@ -4,6 +4,10 @@ module MetronomeSDK
|
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
6
|
class Customers
|
|
7
|
+
# [Plans](https://docs.metronome.com/pricing-and-packaging/create-plans/)
|
|
8
|
+
# determine the base pricing for a customer. Use these endpoints to add a plan to
|
|
9
|
+
# a customer, end a customer plan, retrieve plans, and retrieve plan details.
|
|
10
|
+
# Create plans in the [Metronome app](https://app.metronome.com/plans).
|
|
7
11
|
class Plans
|
|
8
12
|
# List the given customer's plans in reverse-chronological order. This is a Plans
|
|
9
13
|
# (deprecated) endpoint. New clients should implement using Contracts.
|
|
@@ -23,6 +27,7 @@ module MetronomeSDK
|
|
|
23
27
|
# @see MetronomeSDK::Models::V1::Customers::PlanListParams
|
|
24
28
|
def list(params)
|
|
25
29
|
parsed, options = MetronomeSDK::V1::Customers::PlanListParams.dump_request(params)
|
|
30
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
26
31
|
customer_id =
|
|
27
32
|
parsed.delete(:customer_id) do
|
|
28
33
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -30,7 +35,7 @@ module MetronomeSDK
|
|
|
30
35
|
@client.request(
|
|
31
36
|
method: :get,
|
|
32
37
|
path: ["v1/customers/%1$s/plans", customer_id],
|
|
33
|
-
query:
|
|
38
|
+
query: query,
|
|
34
39
|
page: MetronomeSDK::Internal::CursorPage,
|
|
35
40
|
model: MetronomeSDK::Models::V1::Customers::PlanListResponse,
|
|
36
41
|
options: options
|
|
@@ -147,6 +152,7 @@ module MetronomeSDK
|
|
|
147
152
|
# @see MetronomeSDK::Models::V1::Customers::PlanListPriceAdjustmentsParams
|
|
148
153
|
def list_price_adjustments(params)
|
|
149
154
|
parsed, options = MetronomeSDK::V1::Customers::PlanListPriceAdjustmentsParams.dump_request(params)
|
|
155
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
150
156
|
customer_id =
|
|
151
157
|
parsed.delete(:customer_id) do
|
|
152
158
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -158,7 +164,7 @@ module MetronomeSDK
|
|
|
158
164
|
@client.request(
|
|
159
165
|
method: :get,
|
|
160
166
|
path: ["v1/customers/%1$s/plans/%2$s/priceAdjustments", customer_id, customer_plan_id],
|
|
161
|
-
query:
|
|
167
|
+
query: query,
|
|
162
168
|
page: MetronomeSDK::Internal::CursorPage,
|
|
163
169
|
model: MetronomeSDK::Models::V1::Customers::PlanListPriceAdjustmentsResponse,
|
|
164
170
|
options: options
|
|
@@ -4,24 +4,45 @@ module MetronomeSDK
|
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
6
|
class Customers
|
|
7
|
+
# [Alerts](https://docs.metronome.com/connecting-metronome/alerts/) monitor
|
|
8
|
+
# customer spending, balances, and other billing factors. Use these endpoints to
|
|
9
|
+
# create, retrieve, and archive customer alerts. To view sample alert payloads by
|
|
10
|
+
# alert type, navigate
|
|
11
|
+
# [here.](https://docs.metronome.com/manage-product-access/create-manage-alerts/#webhook-notifications)
|
|
7
12
|
# @return [MetronomeSDK::Resources::V1::Customers::Alerts]
|
|
8
13
|
attr_reader :alerts
|
|
9
14
|
|
|
15
|
+
# [Plans](https://docs.metronome.com/pricing-and-packaging/create-plans/)
|
|
16
|
+
# determine the base pricing for a customer. Use these endpoints to add a plan to
|
|
17
|
+
# a customer, end a customer plan, retrieve plans, and retrieve plan details.
|
|
18
|
+
# Create plans in the [Metronome app](https://app.metronome.com/plans).
|
|
10
19
|
# @return [MetronomeSDK::Resources::V1::Customers::Plans]
|
|
11
20
|
attr_reader :plans
|
|
12
21
|
|
|
22
|
+
# [Invoices](https://docs.metronome.com/invoicing/) reflect how much a customer
|
|
23
|
+
# spent during a period, which is the basis for billing. Metronome automatically
|
|
24
|
+
# generates invoices based upon your pricing, packaging, and usage events. Use
|
|
25
|
+
# these endpoints to retrieve invoices.
|
|
13
26
|
# @return [MetronomeSDK::Resources::V1::Customers::Invoices]
|
|
14
27
|
attr_reader :invoices
|
|
15
28
|
|
|
29
|
+
# [Customers](https://docs.metronome.com/provisioning/create-customers/) in
|
|
30
|
+
# Metronome represent your users for all billing and reporting. Use these
|
|
31
|
+
# endpoints to create, retrieve, update, and archive customers and their billing
|
|
32
|
+
# configuration.
|
|
16
33
|
# @return [MetronomeSDK::Resources::V1::Customers::BillingConfig]
|
|
17
34
|
attr_reader :billing_config
|
|
18
35
|
|
|
36
|
+
# Credits and commits are used to manage customer balances.
|
|
19
37
|
# @return [MetronomeSDK::Resources::V1::Customers::Commits]
|
|
20
38
|
attr_reader :commits
|
|
21
39
|
|
|
40
|
+
# Credits and commits are used to manage customer balances.
|
|
22
41
|
# @return [MetronomeSDK::Resources::V1::Customers::Credits]
|
|
23
42
|
attr_reader :credits
|
|
24
43
|
|
|
44
|
+
# Named schedules are used for storing custom data that can change over time.
|
|
45
|
+
# Named schedules are often used in custom pricing logic.
|
|
25
46
|
# @return [MetronomeSDK::Resources::V1::Customers::NamedSchedules]
|
|
26
47
|
attr_reader :named_schedules
|
|
27
48
|
|
|
@@ -155,10 +176,11 @@ module MetronomeSDK
|
|
|
155
176
|
# @see MetronomeSDK::Models::V1::CustomerListParams
|
|
156
177
|
def list(params = {})
|
|
157
178
|
parsed, options = MetronomeSDK::V1::CustomerListParams.dump_request(params)
|
|
179
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
158
180
|
@client.request(
|
|
159
181
|
method: :get,
|
|
160
182
|
path: "v1/customers",
|
|
161
|
-
query:
|
|
183
|
+
query: query,
|
|
162
184
|
page: MetronomeSDK::Internal::CursorPage,
|
|
163
185
|
model: MetronomeSDK::V1::CustomerDetail,
|
|
164
186
|
options: options
|
|
@@ -226,6 +248,7 @@ module MetronomeSDK
|
|
|
226
248
|
# @see MetronomeSDK::Models::V1::CustomerListBillableMetricsParams
|
|
227
249
|
def list_billable_metrics(params)
|
|
228
250
|
parsed, options = MetronomeSDK::V1::CustomerListBillableMetricsParams.dump_request(params)
|
|
251
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
229
252
|
customer_id =
|
|
230
253
|
parsed.delete(:customer_id) do
|
|
231
254
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -233,7 +256,7 @@ module MetronomeSDK
|
|
|
233
256
|
@client.request(
|
|
234
257
|
method: :get,
|
|
235
258
|
path: ["v1/customers/%1$s/billable-metrics", customer_id],
|
|
236
|
-
query:
|
|
259
|
+
query: query,
|
|
237
260
|
page: MetronomeSDK::Internal::CursorPage,
|
|
238
261
|
model: MetronomeSDK::Models::V1::CustomerListBillableMetricsResponse,
|
|
239
262
|
options: options
|
|
@@ -264,6 +287,7 @@ module MetronomeSDK
|
|
|
264
287
|
# @see MetronomeSDK::Models::V1::CustomerListCostsParams
|
|
265
288
|
def list_costs(params)
|
|
266
289
|
parsed, options = MetronomeSDK::V1::CustomerListCostsParams.dump_request(params)
|
|
290
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
267
291
|
customer_id =
|
|
268
292
|
parsed.delete(:customer_id) do
|
|
269
293
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -271,7 +295,7 @@ module MetronomeSDK
|
|
|
271
295
|
@client.request(
|
|
272
296
|
method: :get,
|
|
273
297
|
path: ["v1/customers/%1$s/costs", customer_id],
|
|
274
|
-
query:
|
|
298
|
+
query: query,
|
|
275
299
|
page: MetronomeSDK::Internal::CursorPage,
|
|
276
300
|
model: MetronomeSDK::Models::V1::CustomerListCostsResponse,
|
|
277
301
|
options: options
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
module MetronomeSDK
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
|
+
# [Customers](https://docs.metronome.com/provisioning/create-customers/) in
|
|
7
|
+
# Metronome represent your users for all billing and reporting. Use these
|
|
8
|
+
# endpoints to create, retrieve, update, and archive customers and their billing
|
|
9
|
+
# configuration.
|
|
6
10
|
class Dashboards
|
|
7
11
|
# Generate secure, embeddable dashboard URLs that allow you to seamlessly
|
|
8
12
|
# integrate Metronome's billing visualizations directly into your application.
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
module MetronomeSDK
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
|
+
# [Invoices](https://docs.metronome.com/invoicing/) reflect how much a customer
|
|
7
|
+
# spent during a period, which is the basis for billing. Metronome automatically
|
|
8
|
+
# generates invoices based upon your pricing, packaging, and usage events. Use
|
|
9
|
+
# these endpoints to retrieve invoices.
|
|
6
10
|
class Invoices
|
|
7
11
|
# This endpoint regenerates a voided invoice and recalculates the invoice based on
|
|
8
12
|
# up-to-date rates, available balances, and other fees regardless of the billing
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module MetronomeSDK
|
|
4
|
+
module Resources
|
|
5
|
+
class V1
|
|
6
|
+
class Packages
|
|
7
|
+
# Some parameter documentations has been truncated, see
|
|
8
|
+
# {MetronomeSDK::Models::V1::PackageCreateParams} for more details.
|
|
9
|
+
#
|
|
10
|
+
# Create a package that defines a set of reusable, time-relative contract terms
|
|
11
|
+
# that can be used across cohorts of customers. Packages provide an abstraction
|
|
12
|
+
# layer on top of rate cards to provide an easy way to provision customers with
|
|
13
|
+
# standard pricing.
|
|
14
|
+
#
|
|
15
|
+
# ### **Use this endpoint to:**
|
|
16
|
+
#
|
|
17
|
+
# - Model standard pay-as-you-go pricing packages that can be easily reused across
|
|
18
|
+
# customers
|
|
19
|
+
# - Define standardized contract terms and discounting for sales-led motions
|
|
20
|
+
# - Set aliases for the package to facilitate easy package transition. Aliases are
|
|
21
|
+
# human-readable names that you can use in the place of the id of the package
|
|
22
|
+
# when provisioning a customer’s contract. By using an alias, you can easily
|
|
23
|
+
# create a contract and provision a customer by choosing the “Starter Plan”
|
|
24
|
+
# package, without storing the package ID in your internal systems. This is
|
|
25
|
+
# helpful when launching terms for a package, as you can create a new package
|
|
26
|
+
# with the “Starter Plan” alias scheduled to be assigned without updating your
|
|
27
|
+
# provisioning code.
|
|
28
|
+
#
|
|
29
|
+
# ### Key input fields:
|
|
30
|
+
#
|
|
31
|
+
# - `starting_at_offset`: Starting date relative to contract start. Generates the
|
|
32
|
+
# `starting_at` date when a contract is provisioned using a package.
|
|
33
|
+
# - `duration`: Duration starting from `starting_at_offset`. Generates the
|
|
34
|
+
# `ending_before` date when a contract is provisioned using a package.
|
|
35
|
+
# - `date_offset`: Date relative to contract start. Used for point-in-time dates
|
|
36
|
+
# without a duration.
|
|
37
|
+
# - `aliases`: Human-readable name to use when provisioning contracts with a
|
|
38
|
+
# package.
|
|
39
|
+
#
|
|
40
|
+
# ### Usage guidelines:
|
|
41
|
+
#
|
|
42
|
+
# - Use packages for standard self-serve use cases where customers have consistent
|
|
43
|
+
# terms. For customers with negotiated custom contract terms, use the
|
|
44
|
+
# `createContract` endpoint for maximum flexibility.
|
|
45
|
+
# - Billing provider configuration can be set when creating a package by using
|
|
46
|
+
# `billing_provider` and `delivery_method`. To provision a customer successfully
|
|
47
|
+
# with a package, the customer must have one and only one billing provider
|
|
48
|
+
# configuration that matches the billing provider configuration set on the
|
|
49
|
+
# package.
|
|
50
|
+
# - A package alias can only be used by one package at a time. If you create a new
|
|
51
|
+
# package with an alias that is already in use by another package, the original
|
|
52
|
+
# package’s alias schedule will be updated. The alias will reference the package
|
|
53
|
+
# to which it was most recently assigned.
|
|
54
|
+
# - Terms can only be specified using times relative to the contract start date.
|
|
55
|
+
# Supported granularities are: `days`, `weeks`, `months`, `years`
|
|
56
|
+
# - Packages cannot be edited once created. Use the rate card to easily add new
|
|
57
|
+
# rates across all of your customers or make direct edits to a contract after
|
|
58
|
+
# provisioning with a package. Edited contracts will still be associated with
|
|
59
|
+
# the package used during provisioning.
|
|
60
|
+
#
|
|
61
|
+
# @overload create(name:, aliases: nil, billing_anchor_date: nil, billing_provider: nil, commits: nil, contract_name: nil, credits: nil, delivery_method: nil, duration: nil, multiplier_override_prioritization: nil, net_payment_terms_days: nil, overrides: nil, prepaid_balance_threshold_configuration: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil, usage_statement_schedule: nil, request_options: {})
|
|
62
|
+
#
|
|
63
|
+
# @param name [String]
|
|
64
|
+
#
|
|
65
|
+
# @param aliases [Array<MetronomeSDK::Models::V1::PackageCreateParams::Alias>] Reference this alias when creating a contract. If the same alias is assigned to
|
|
66
|
+
#
|
|
67
|
+
# @param billing_anchor_date [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::BillingAnchorDate]
|
|
68
|
+
#
|
|
69
|
+
# @param billing_provider [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::BillingProvider]
|
|
70
|
+
#
|
|
71
|
+
# @param commits [Array<MetronomeSDK::Models::V1::PackageCreateParams::Commit>]
|
|
72
|
+
#
|
|
73
|
+
# @param contract_name [String]
|
|
74
|
+
#
|
|
75
|
+
# @param credits [Array<MetronomeSDK::Models::V1::PackageCreateParams::Credit>]
|
|
76
|
+
#
|
|
77
|
+
# @param delivery_method [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::DeliveryMethod]
|
|
78
|
+
#
|
|
79
|
+
# @param duration [MetronomeSDK::Models::V1::PackageCreateParams::Duration]
|
|
80
|
+
#
|
|
81
|
+
# @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
|
|
82
|
+
#
|
|
83
|
+
# @param net_payment_terms_days [Float]
|
|
84
|
+
#
|
|
85
|
+
# @param overrides [Array<MetronomeSDK::Models::V1::PackageCreateParams::Override>]
|
|
86
|
+
#
|
|
87
|
+
# @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration]
|
|
88
|
+
#
|
|
89
|
+
# @param rate_card_alias [String] Selects the rate card linked to the specified alias as of the contract's start d
|
|
90
|
+
#
|
|
91
|
+
# @param rate_card_id [String]
|
|
92
|
+
#
|
|
93
|
+
# @param recurring_commits [Array<MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit>]
|
|
94
|
+
#
|
|
95
|
+
# @param recurring_credits [Array<MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit>]
|
|
96
|
+
#
|
|
97
|
+
# @param scheduled_charges [Array<MetronomeSDK::Models::V1::PackageCreateParams::ScheduledCharge>]
|
|
98
|
+
#
|
|
99
|
+
# @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
|
|
100
|
+
#
|
|
101
|
+
# @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
|
|
102
|
+
#
|
|
103
|
+
# @param subscriptions [Array<MetronomeSDK::Models::V1::PackageCreateParams::Subscription>]
|
|
104
|
+
#
|
|
105
|
+
# @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
|
|
106
|
+
#
|
|
107
|
+
# @param usage_statement_schedule [MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule]
|
|
108
|
+
#
|
|
109
|
+
# @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
110
|
+
#
|
|
111
|
+
# @return [MetronomeSDK::Models::V1::PackageCreateResponse]
|
|
112
|
+
#
|
|
113
|
+
# @see MetronomeSDK::Models::V1::PackageCreateParams
|
|
114
|
+
def create(params)
|
|
115
|
+
parsed, options = MetronomeSDK::V1::PackageCreateParams.dump_request(params)
|
|
116
|
+
@client.request(
|
|
117
|
+
method: :post,
|
|
118
|
+
path: "v1/packages/create",
|
|
119
|
+
body: parsed,
|
|
120
|
+
model: MetronomeSDK::Models::V1::PackageCreateResponse,
|
|
121
|
+
options: options
|
|
122
|
+
)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Gets the details for a specific package, including name, aliases, duration, and
|
|
126
|
+
# terms. Use this endpoint to understand a package’s alias schedule, or display a
|
|
127
|
+
# specific package’s details to end customers.
|
|
128
|
+
#
|
|
129
|
+
# @overload retrieve(package_id:, request_options: {})
|
|
130
|
+
#
|
|
131
|
+
# @param package_id [String]
|
|
132
|
+
# @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
133
|
+
#
|
|
134
|
+
# @return [MetronomeSDK::Models::V1::PackageRetrieveResponse]
|
|
135
|
+
#
|
|
136
|
+
# @see MetronomeSDK::Models::V1::PackageRetrieveParams
|
|
137
|
+
def retrieve(params)
|
|
138
|
+
parsed, options = MetronomeSDK::V1::PackageRetrieveParams.dump_request(params)
|
|
139
|
+
@client.request(
|
|
140
|
+
method: :post,
|
|
141
|
+
path: "v1/packages/get",
|
|
142
|
+
body: parsed,
|
|
143
|
+
model: MetronomeSDK::Models::V1::PackageRetrieveResponse,
|
|
144
|
+
options: options
|
|
145
|
+
)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# Lists all packages with details including name, aliases, duration, and terms. To
|
|
149
|
+
# view contracts on a specific package, use the `listContractsOnPackage` endpoint.
|
|
150
|
+
#
|
|
151
|
+
# @overload list(limit: nil, next_page: nil, archive_filter: nil, request_options: {})
|
|
152
|
+
#
|
|
153
|
+
# @param limit [Integer] Query param: The maximum number of packages to return. Defaults to 10.
|
|
154
|
+
#
|
|
155
|
+
# @param next_page [String] Query param: Cursor that indicates where the next page of results should start.
|
|
156
|
+
#
|
|
157
|
+
# @param archive_filter [Symbol, MetronomeSDK::Models::V1::PackageListParams::ArchiveFilter] Body param: Filter packages by archived status. Defaults to NOT_ARCHIVED.
|
|
158
|
+
#
|
|
159
|
+
# @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
160
|
+
#
|
|
161
|
+
# @return [MetronomeSDK::Internal::CursorPage<MetronomeSDK::Models::V1::PackageListResponse>]
|
|
162
|
+
#
|
|
163
|
+
# @see MetronomeSDK::Models::V1::PackageListParams
|
|
164
|
+
def list(params = {})
|
|
165
|
+
query_params = [:limit, :next_page]
|
|
166
|
+
parsed, options = MetronomeSDK::V1::PackageListParams.dump_request(params)
|
|
167
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed.slice(*query_params))
|
|
168
|
+
@client.request(
|
|
169
|
+
method: :post,
|
|
170
|
+
path: "v1/packages/list",
|
|
171
|
+
query: query,
|
|
172
|
+
body: parsed.except(*query_params),
|
|
173
|
+
page: MetronomeSDK::Internal::CursorPage,
|
|
174
|
+
model: MetronomeSDK::Models::V1::PackageListResponse,
|
|
175
|
+
options: options
|
|
176
|
+
)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# Archive a package. Archived packages cannot be used to create new contracts.
|
|
180
|
+
# However, existing contracts associated with the package will continue to
|
|
181
|
+
# function as normal. Once you archive a package, you can still retrieve it in the
|
|
182
|
+
# UI and API, but you cannot unarchive it.
|
|
183
|
+
#
|
|
184
|
+
# @overload archive(package_id:, request_options: {})
|
|
185
|
+
#
|
|
186
|
+
# @param package_id [String] ID of the package to archive
|
|
187
|
+
#
|
|
188
|
+
# @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
189
|
+
#
|
|
190
|
+
# @return [MetronomeSDK::Models::V1::PackageArchiveResponse]
|
|
191
|
+
#
|
|
192
|
+
# @see MetronomeSDK::Models::V1::PackageArchiveParams
|
|
193
|
+
def archive(params)
|
|
194
|
+
parsed, options = MetronomeSDK::V1::PackageArchiveParams.dump_request(params)
|
|
195
|
+
@client.request(
|
|
196
|
+
method: :post,
|
|
197
|
+
path: "v1/packages/archive",
|
|
198
|
+
body: parsed,
|
|
199
|
+
model: MetronomeSDK::Models::V1::PackageArchiveResponse,
|
|
200
|
+
options: options
|
|
201
|
+
)
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
# Some parameter documentations has been truncated, see
|
|
205
|
+
# {MetronomeSDK::Models::V1::PackageListContractsOnPackageParams} for more
|
|
206
|
+
# details.
|
|
207
|
+
#
|
|
208
|
+
# For a given package, returns all contract IDs and customer IDs associated with
|
|
209
|
+
# the package over a specific time period.
|
|
210
|
+
#
|
|
211
|
+
# ### Use this endpoint to:
|
|
212
|
+
#
|
|
213
|
+
# - Understand which customers are provisioned on a package at any given time for
|
|
214
|
+
# internal cohort management
|
|
215
|
+
# - Manage customer migrations to a new package. For example, to migrate all
|
|
216
|
+
# active customers to a new package, call this endpoint, end contracts, and
|
|
217
|
+
# provision customers on a new package.
|
|
218
|
+
#
|
|
219
|
+
# ### **Usage guidelines:**
|
|
220
|
+
#
|
|
221
|
+
# Use the **`starting_at`**, **`covering_date`**,
|
|
222
|
+
# and **`include_archived`** parameters to filter the list of returned contracts.
|
|
223
|
+
# For example, to list only currently active contracts,
|
|
224
|
+
# pass **`covering_date`** equal to the current time.
|
|
225
|
+
#
|
|
226
|
+
# @overload list_contracts_on_package(package_id:, limit: nil, next_page: nil, covering_date: nil, include_archived: nil, starting_at: nil, request_options: {})
|
|
227
|
+
#
|
|
228
|
+
# @param package_id [String] Body param
|
|
229
|
+
#
|
|
230
|
+
# @param limit [Integer] Query param: Max number of results that should be returned
|
|
231
|
+
#
|
|
232
|
+
# @param next_page [String] Query param: Cursor that indicates where the next page of results should start.
|
|
233
|
+
#
|
|
234
|
+
# @param covering_date [Time] Body param: Optional RFC 3339 timestamp. Only include contracts active on the pr
|
|
235
|
+
#
|
|
236
|
+
# @param include_archived [Boolean] Body param: Default false. Determines whether to include archived contracts in t
|
|
237
|
+
#
|
|
238
|
+
# @param starting_at [Time] Body param: Optional RFC 3339 timestamp. Only include contracts that started on
|
|
239
|
+
#
|
|
240
|
+
# @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
241
|
+
#
|
|
242
|
+
# @return [MetronomeSDK::Internal::CursorPage<MetronomeSDK::Models::V1::PackageListContractsOnPackageResponse>]
|
|
243
|
+
#
|
|
244
|
+
# @see MetronomeSDK::Models::V1::PackageListContractsOnPackageParams
|
|
245
|
+
def list_contracts_on_package(params)
|
|
246
|
+
query_params = [:limit, :next_page]
|
|
247
|
+
parsed, options = MetronomeSDK::V1::PackageListContractsOnPackageParams.dump_request(params)
|
|
248
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed.slice(*query_params))
|
|
249
|
+
@client.request(
|
|
250
|
+
method: :post,
|
|
251
|
+
path: "v1/packages/listContractsOnPackage",
|
|
252
|
+
query: query,
|
|
253
|
+
body: parsed.except(*query_params),
|
|
254
|
+
page: MetronomeSDK::Internal::CursorPage,
|
|
255
|
+
model: MetronomeSDK::Models::V1::PackageListContractsOnPackageResponse,
|
|
256
|
+
options: options
|
|
257
|
+
)
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
# @api private
|
|
261
|
+
#
|
|
262
|
+
# @param client [MetronomeSDK::Client]
|
|
263
|
+
def initialize(client:)
|
|
264
|
+
@client = client
|
|
265
|
+
end
|
|
266
|
+
end
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
end
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
module MetronomeSDK
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
|
+
# [Plans](https://docs.metronome.com/pricing-and-packaging/create-plans/)
|
|
7
|
+
# determine the base pricing for a customer. Use these endpoints to add a plan to
|
|
8
|
+
# a customer, end a customer plan, retrieve plans, and retrieve plan details.
|
|
9
|
+
# Create plans in the [Metronome app](https://app.metronome.com/plans).
|
|
6
10
|
class Plans
|
|
7
11
|
# List all available plans. This is a Plans (deprecated) endpoint. New clients
|
|
8
12
|
# should implement using Contracts.
|
|
@@ -20,10 +24,11 @@ module MetronomeSDK
|
|
|
20
24
|
# @see MetronomeSDK::Models::V1::PlanListParams
|
|
21
25
|
def list(params = {})
|
|
22
26
|
parsed, options = MetronomeSDK::V1::PlanListParams.dump_request(params)
|
|
27
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
23
28
|
@client.request(
|
|
24
29
|
method: :get,
|
|
25
30
|
path: "v1/plans",
|
|
26
|
-
query:
|
|
31
|
+
query: query,
|
|
27
32
|
page: MetronomeSDK::Internal::CursorPage,
|
|
28
33
|
model: MetronomeSDK::Models::V1::PlanListResponse,
|
|
29
34
|
options: options
|
|
@@ -73,6 +78,7 @@ module MetronomeSDK
|
|
|
73
78
|
# @see MetronomeSDK::Models::V1::PlanListChargesParams
|
|
74
79
|
def list_charges(params)
|
|
75
80
|
parsed, options = MetronomeSDK::V1::PlanListChargesParams.dump_request(params)
|
|
81
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
76
82
|
plan_id =
|
|
77
83
|
parsed.delete(:plan_id) do
|
|
78
84
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -80,7 +86,7 @@ module MetronomeSDK
|
|
|
80
86
|
@client.request(
|
|
81
87
|
method: :get,
|
|
82
88
|
path: ["v1/planDetails/%1$s/charges", plan_id],
|
|
83
|
-
query:
|
|
89
|
+
query: query,
|
|
84
90
|
page: MetronomeSDK::Internal::CursorPage,
|
|
85
91
|
model: MetronomeSDK::Models::V1::PlanListChargesResponse,
|
|
86
92
|
options: options
|
|
@@ -111,6 +117,7 @@ module MetronomeSDK
|
|
|
111
117
|
# @see MetronomeSDK::Models::V1::PlanListCustomersParams
|
|
112
118
|
def list_customers(params)
|
|
113
119
|
parsed, options = MetronomeSDK::V1::PlanListCustomersParams.dump_request(params)
|
|
120
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
114
121
|
plan_id =
|
|
115
122
|
parsed.delete(:plan_id) do
|
|
116
123
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -118,7 +125,7 @@ module MetronomeSDK
|
|
|
118
125
|
@client.request(
|
|
119
126
|
method: :get,
|
|
120
127
|
path: ["v1/planDetails/%1$s/customers", plan_id],
|
|
121
|
-
query:
|
|
128
|
+
query: query,
|
|
122
129
|
page: MetronomeSDK::Internal::CursorPage,
|
|
123
130
|
model: MetronomeSDK::Models::V1::PlanListCustomersResponse,
|
|
124
131
|
options: options
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
module MetronomeSDK
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
|
+
# Use these endpoints to configure a billing API key, a webhook secret, or invoice
|
|
7
|
+
# finalization behavior.
|
|
6
8
|
class PricingUnits
|
|
7
9
|
# List all pricing units. All fiat currency types (for example, USD or GBP) will
|
|
8
10
|
# be included, as well as any custom pricing units that were configured. Custom
|
|
@@ -24,10 +26,11 @@ module MetronomeSDK
|
|
|
24
26
|
# @see MetronomeSDK::Models::V1::PricingUnitListParams
|
|
25
27
|
def list(params = {})
|
|
26
28
|
parsed, options = MetronomeSDK::V1::PricingUnitListParams.dump_request(params)
|
|
29
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed)
|
|
27
30
|
@client.request(
|
|
28
31
|
method: :get,
|
|
29
32
|
path: "v1/credit-types/list",
|
|
30
|
-
query:
|
|
33
|
+
query: query,
|
|
31
34
|
page: MetronomeSDK::Internal::CursorPage,
|
|
32
35
|
model: MetronomeSDK::Models::V1::PricingUnitListResponse,
|
|
33
36
|
options: options
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
module MetronomeSDK
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
|
+
# [Security](https://docs.metronome.com/developer-resources/security/) endpoints
|
|
7
|
+
# allow you to retrieve security-related data.
|
|
6
8
|
class Services
|
|
7
9
|
# Gets Metronome's service registry with associated IP addresses for security
|
|
8
10
|
# allowlisting and firewall configuration. Use this endpoint to maintain an
|
|
@@ -4,6 +4,8 @@ module MetronomeSDK
|
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
6
|
class Settings
|
|
7
|
+
# Use these endpoints to configure a billing API key, a webhook secret, or invoice
|
|
8
|
+
# finalization behavior.
|
|
7
9
|
class BillingProviders
|
|
8
10
|
# Some parameter documentations has been truncated, see
|
|
9
11
|
# {MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams} for more
|
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
module MetronomeSDK
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
|
+
# Use these endpoints to configure a billing API key, a webhook secret, or invoice
|
|
7
|
+
# finalization behavior.
|
|
6
8
|
class Settings
|
|
9
|
+
# Use these endpoints to configure a billing API key, a webhook secret, or invoice
|
|
10
|
+
# finalization behavior.
|
|
7
11
|
# @return [MetronomeSDK::Resources::V1::Settings::BillingProviders]
|
|
8
12
|
attr_reader :billing_providers
|
|
9
13
|
|