orb-billing 0.6.0 → 0.8.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 +26 -0
- data/README.md +1 -1
- data/lib/orb/client.rb +4 -0
- data/lib/orb/models/{plans/version_create_params.rb → beta/external_plan_id_create_plan_version_params.rb} +1980 -1744
- data/lib/orb/models/beta/external_plan_id_fetch_plan_version_params.rb +22 -0
- data/lib/orb/models/{plans/external_plan_id_set_default_version_params.rb → beta/external_plan_id_set_default_plan_version_params.rb} +3 -3
- data/lib/orb/models/beta_create_plan_version_params.rb +17844 -0
- data/lib/orb/models/beta_fetch_plan_version_params.rb +20 -0
- data/lib/orb/models/{plan_set_default_version_params.rb → beta_set_default_plan_version_params.rb} +2 -2
- data/lib/orb/models/plan_version.rb +735 -0
- data/lib/orb/models/plan_version_phase.rb +70 -0
- data/lib/orb/models/price.rb +1114 -28
- data/lib/orb/models/price_evaluate_multiple_params.rb +8620 -0
- data/lib/orb/models/price_evaluate_multiple_response.rb +51 -0
- data/lib/orb/models/price_evaluate_params.rb +21 -8529
- data/lib/orb/models/price_evaluate_response.rb +3 -38
- data/lib/orb/models/subscription_create_params.rb +96 -10
- data/lib/orb/models/subscription_price_intervals_params.rb +48 -5
- data/lib/orb/models/subscription_schedule_plan_change_params.rb +100 -10
- data/lib/orb/models.rb +14 -2
- data/lib/orb/resources/beta/external_plan_id.rb +113 -0
- data/lib/orb/resources/beta.rb +115 -0
- data/lib/orb/resources/plans/external_plan_id.rb +0 -31
- data/lib/orb/resources/plans.rb +0 -31
- data/lib/orb/resources/prices.rb +69 -8
- data/lib/orb/version.rb +1 -1
- data/lib/orb.rb +12 -12
- data/rbi/orb/client.rbi +3 -0
- data/rbi/orb/models/{plans/version_create_params.rbi → beta/external_plan_id_create_plan_version_params.rbi} +3042 -2783
- data/rbi/orb/models/{plans/version_retrieve_params.rbi → beta/external_plan_id_fetch_plan_version_params.rbi} +10 -7
- data/rbi/orb/models/{plans/external_plan_id_set_default_version_params.rbi → beta/external_plan_id_set_default_plan_version_params.rbi} +3 -3
- data/rbi/orb/models/beta_create_plan_version_params.rbi +32809 -0
- data/rbi/orb/models/beta_fetch_plan_version_params.rbi +35 -0
- data/rbi/orb/models/{plan_set_default_version_params.rbi → beta_set_default_plan_version_params.rbi} +2 -2
- data/rbi/orb/models/plan_version.rbi +1367 -0
- data/rbi/orb/models/plan_version_phase.rbi +99 -0
- data/rbi/orb/models/price.rbi +3220 -184
- data/rbi/orb/models/price_evaluate_multiple_params.rbi +15764 -0
- data/rbi/orb/models/price_evaluate_multiple_response.rbi +96 -0
- data/rbi/orb/models/price_evaluate_params.rbi +25 -15684
- data/rbi/orb/models/price_evaluate_response.rbi +5 -68
- data/rbi/orb/models/subscription_create_params.rbi +226 -12
- data/rbi/orb/models/subscription_price_intervals_params.rbi +113 -6
- data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +226 -12
- data/rbi/orb/models.rbi +14 -2
- data/rbi/orb/resources/{plans/versions.rbi → beta/external_plan_id.rbi} +42 -15
- data/rbi/orb/resources/beta.rbi +111 -0
- data/rbi/orb/resources/plans/external_plan_id.rbi +0 -22
- data/rbi/orb/resources/plans.rbi +0 -22
- data/rbi/orb/resources/prices.rbi +66 -4
- data/sig/orb/client.rbs +2 -0
- data/sig/orb/models/{plans/version_create_params.rbs → beta/external_plan_id_create_plan_version_params.rbs} +1847 -1771
- data/sig/orb/models/{plans/version_retrieve_params.rbs → beta/external_plan_id_fetch_plan_version_params.rbs} +7 -7
- data/sig/orb/models/{plans/external_plan_id_set_default_version_params.rbs → beta/external_plan_id_set_default_plan_version_params.rbs} +3 -3
- data/sig/orb/models/beta_create_plan_version_params.rbs +12953 -0
- data/sig/orb/models/beta_fetch_plan_version_params.rbs +20 -0
- data/sig/orb/models/{plan_set_default_version_params.rbs → beta_set_default_plan_version_params.rbs} +2 -2
- data/sig/orb/models/plan_version.rbs +583 -0
- data/sig/orb/models/plan_version_phase.rbs +60 -0
- data/sig/orb/models/price.rbs +1430 -86
- data/sig/orb/models/price_evaluate_multiple_params.rbs +6230 -0
- data/sig/orb/models/price_evaluate_multiple_response.rbs +50 -0
- data/sig/orb/models/price_evaluate_params.rbs +10 -6187
- data/sig/orb/models/price_evaluate_response.rbs +4 -41
- data/sig/orb/models/subscription_create_params.rbs +84 -8
- data/sig/orb/models/subscription_price_intervals_params.rbs +42 -4
- data/sig/orb/models/subscription_schedule_plan_change_params.rbs +84 -8
- data/sig/orb/models.rbs +14 -2
- data/sig/orb/resources/beta/external_plan_id.rbs +34 -0
- data/sig/orb/resources/beta.rbs +34 -0
- data/sig/orb/resources/plans/external_plan_id.rbs +0 -8
- data/sig/orb/resources/plans.rbs +0 -8
- data/sig/orb/resources/prices.rbs +13 -2
- metadata +38 -38
- data/lib/orb/models/plans/external_plan_id/version_create_params.rb +0 -17948
- data/lib/orb/models/plans/external_plan_id/version_create_response.rb +0 -819
- data/lib/orb/models/plans/external_plan_id/version_retrieve_params.rb +0 -24
- data/lib/orb/models/plans/external_plan_id/version_retrieve_response.rb +0 -819
- data/lib/orb/models/plans/version_create_response.rb +0 -814
- data/lib/orb/models/plans/version_retrieve_params.rb +0 -22
- data/lib/orb/models/plans/version_retrieve_response.rb +0 -814
- data/lib/orb/resources/plans/external_plan_id/versions.rb +0 -88
- data/lib/orb/resources/plans/versions.rb +0 -86
- data/rbi/orb/models/plans/external_plan_id/version_create_params.rbi +0 -32668
- data/rbi/orb/models/plans/external_plan_id/version_create_response.rbi +0 -1562
- data/rbi/orb/models/plans/external_plan_id/version_retrieve_params.rbi +0 -42
- data/rbi/orb/models/plans/external_plan_id/version_retrieve_response.rbi +0 -1562
- data/rbi/orb/models/plans/version_create_response.rbi +0 -1556
- data/rbi/orb/models/plans/version_retrieve_response.rbi +0 -1558
- data/rbi/orb/resources/plans/external_plan_id/versions.rbi +0 -103
- data/sig/orb/models/plans/external_plan_id/version_create_params.rbs +0 -12923
- data/sig/orb/models/plans/external_plan_id/version_create_response.rbs +0 -664
- data/sig/orb/models/plans/external_plan_id/version_retrieve_params.rbs +0 -27
- data/sig/orb/models/plans/external_plan_id/version_retrieve_response.rbs +0 -664
- data/sig/orb/models/plans/version_create_response.rbs +0 -662
- data/sig/orb/models/plans/version_retrieve_response.rbs +0 -662
- data/sig/orb/resources/plans/external_plan_id/versions.rbs +0 -30
- data/sig/orb/resources/plans/versions.rbs +0 -28
@@ -183,6 +183,65 @@ module Orb
|
|
183
183
|
)
|
184
184
|
end
|
185
185
|
|
186
|
+
# [NOTE] It is recommended to use the `/v1/prices/evaluate` which offers further
|
187
|
+
# functionality, such as multiple prices, inline price definitions, and querying
|
188
|
+
# over preview events.
|
189
|
+
#
|
190
|
+
# This endpoint is used to evaluate the output of a price for a given customer and
|
191
|
+
# time range. It enables filtering and grouping the output using
|
192
|
+
# [computed properties](/extensibility/advanced-metrics#computed-properties),
|
193
|
+
# supporting the following workflows:
|
194
|
+
#
|
195
|
+
# 1. Showing detailed usage and costs to the end customer.
|
196
|
+
# 2. Auditing subtotals on invoice line items.
|
197
|
+
#
|
198
|
+
# For these workflows, the expressiveness of computed properties in both the
|
199
|
+
# filters and grouping is critical. For example, if you'd like to show your
|
200
|
+
# customer their usage grouped by hour and another property, you can do so with
|
201
|
+
# the following `grouping_keys`:
|
202
|
+
# `["hour_floor_timestamp_millis(timestamp_millis)", "my_property"]`. If you'd
|
203
|
+
# like to examine a customer's usage for a specific property value, you can do so
|
204
|
+
# with the following `filter`:
|
205
|
+
# `my_property = 'foo' AND my_other_property = 'bar'`.
|
206
|
+
#
|
207
|
+
# By default, the start of the time range must be no more than 100 days ago and
|
208
|
+
# the length of the results must be no greater than 1000. Note that this is a POST
|
209
|
+
# endpoint rather than a GET endpoint because it employs a JSON body rather than
|
210
|
+
# query parameters.
|
211
|
+
sig do
|
212
|
+
params(
|
213
|
+
price_id: String,
|
214
|
+
timeframe_end: Time,
|
215
|
+
timeframe_start: Time,
|
216
|
+
customer_id: T.nilable(String),
|
217
|
+
external_customer_id: T.nilable(String),
|
218
|
+
filter: T.nilable(String),
|
219
|
+
grouping_keys: T::Array[String],
|
220
|
+
request_options: Orb::RequestOptions::OrHash
|
221
|
+
).returns(Orb::Models::PriceEvaluateResponse)
|
222
|
+
end
|
223
|
+
def evaluate(
|
224
|
+
price_id,
|
225
|
+
# The exclusive upper bound for event timestamps
|
226
|
+
timeframe_end:,
|
227
|
+
# The inclusive lower bound for event timestamps
|
228
|
+
timeframe_start:,
|
229
|
+
# The ID of the customer to which this evaluation is scoped.
|
230
|
+
customer_id: nil,
|
231
|
+
# The external customer ID of the customer to which this evaluation is scoped.
|
232
|
+
external_customer_id: nil,
|
233
|
+
# A boolean
|
234
|
+
# [computed property](/extensibility/advanced-metrics#computed-properties) used to
|
235
|
+
# filter the underlying billable metric
|
236
|
+
filter: nil,
|
237
|
+
# Properties (or
|
238
|
+
# [computed properties](/extensibility/advanced-metrics#computed-properties)) used
|
239
|
+
# to group the underlying billable metric
|
240
|
+
grouping_keys: nil,
|
241
|
+
request_options: {}
|
242
|
+
)
|
243
|
+
end
|
244
|
+
|
186
245
|
# This endpoint is used to evaluate the output of price(s) for a given customer
|
187
246
|
# and time range over either ingested events or preview events. It enables
|
188
247
|
# filtering and grouping the output using
|
@@ -218,14 +277,17 @@ module Orb
|
|
218
277
|
timeframe_end: Time,
|
219
278
|
timeframe_start: Time,
|
220
279
|
customer_id: T.nilable(String),
|
221
|
-
events:
|
280
|
+
events:
|
281
|
+
T.nilable(
|
282
|
+
T::Array[Orb::PriceEvaluateMultipleParams::Event::OrHash]
|
283
|
+
),
|
222
284
|
external_customer_id: T.nilable(String),
|
223
285
|
price_evaluations:
|
224
|
-
T::Array[Orb::
|
286
|
+
T::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::OrHash],
|
225
287
|
request_options: Orb::RequestOptions::OrHash
|
226
|
-
).returns(Orb::Models::
|
288
|
+
).returns(Orb::Models::PriceEvaluateMultipleResponse)
|
227
289
|
end
|
228
|
-
def
|
290
|
+
def evaluate_multiple(
|
229
291
|
# The exclusive upper bound for event timestamps
|
230
292
|
timeframe_end:,
|
231
293
|
# The inclusive lower bound for event timestamps
|