maxio-advanced-billing-sdk 4.0.0 → 5.0.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/README.md +45 -45
- data/lib/advanced_billing/configuration.rb +2 -2
- data/lib/advanced_billing/controllers/advance_invoice_controller.rb +24 -24
- data/lib/advanced_billing/controllers/api_exports_controller.rb +57 -57
- data/lib/advanced_billing/controllers/base_controller.rb +10 -10
- data/lib/advanced_billing/controllers/billing_portal_controller.rb +33 -32
- data/lib/advanced_billing/controllers/component_price_points_controller.rb +60 -60
- data/lib/advanced_billing/controllers/components_controller.rb +110 -107
- data/lib/advanced_billing/controllers/coupons_controller.rb +89 -89
- data/lib/advanced_billing/controllers/custom_fields_controller.rb +76 -76
- data/lib/advanced_billing/controllers/customers_controller.rb +45 -41
- data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +53 -53
- data/lib/advanced_billing/controllers/events_controller.rb +16 -15
- data/lib/advanced_billing/controllers/insights_controller.rb +17 -17
- data/lib/advanced_billing/controllers/invoices_controller.rb +99 -99
- data/lib/advanced_billing/controllers/offers_controller.rb +18 -15
- data/lib/advanced_billing/controllers/payment_profiles_controller.rb +107 -104
- data/lib/advanced_billing/controllers/product_families_controller.rb +26 -26
- data/lib/advanced_billing/controllers/product_price_points_controller.rb +62 -62
- data/lib/advanced_billing/controllers/products_controller.rb +37 -37
- data/lib/advanced_billing/controllers/proforma_invoices_controller.rb +61 -61
- data/lib/advanced_billing/controllers/reason_codes_controller.rb +35 -35
- data/lib/advanced_billing/controllers/referral_codes_controller.rb +9 -8
- data/lib/advanced_billing/controllers/sales_commissions_controller.rb +13 -13
- data/lib/advanced_billing/controllers/sites_controller.rb +11 -10
- data/lib/advanced_billing/controllers/subscription_components_controller.rb +170 -161
- data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +23 -23
- data/lib/advanced_billing/controllers/subscription_group_status_controller.rb +21 -21
- data/lib/advanced_billing/controllers/subscription_groups_controller.rb +54 -54
- data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +37 -37
- data/lib/advanced_billing/controllers/subscription_notes_controller.rb +20 -16
- data/lib/advanced_billing/controllers/subscription_products_controller.rb +20 -18
- data/lib/advanced_billing/controllers/subscription_status_controller.rb +74 -74
- data/lib/advanced_billing/controllers/subscriptions_controller.rb +163 -160
- data/lib/advanced_billing/controllers/webhooks_controller.rb +45 -44
- data/lib/advanced_billing/exceptions/component_allocation_error_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/component_price_point_error_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/customer_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/error_array_map_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/error_list_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/error_string_map_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/event_based_billing_list_segments_errors_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/event_based_billing_segment_errors_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/event_based_billing_segment_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/product_price_point_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/proforma_bad_request_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/refund_prepayment_base_errors_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/single_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/single_string_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_add_coupon_error_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_component_allocation_error_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_group_create_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_group_signup_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_group_update_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscription_remove_coupon_errors_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/subscriptions_mrr_error_response_exception.rb +15 -15
- data/lib/advanced_billing/exceptions/too_many_management_link_requests_error_exception.rb +15 -15
- data/lib/advanced_billing/models/activate_event_based_component.rb +84 -0
- data/lib/advanced_billing/models/{current_vault.rb → all_vaults.rb} +28 -7
- data/lib/advanced_billing/models/allocation.rb +1 -0
- data/lib/advanced_billing/models/allocation_preview_item.rb +1 -0
- data/lib/advanced_billing/models/apple_pay_payment_profile.rb +232 -0
- data/lib/advanced_billing/models/apple_pay_vault.rb +20 -0
- data/lib/advanced_billing/models/bank_account_attributes.rb +2 -0
- data/lib/advanced_billing/models/bank_account_payment_profile.rb +25 -20
- data/lib/advanced_billing/models/bank_account_vault.rb +19 -9
- data/lib/advanced_billing/models/change_invoice_status_event_data.rb +6 -6
- data/lib/advanced_billing/models/component.rb +1 -0
- data/lib/advanced_billing/models/component_custom_price.rb +33 -14
- data/lib/advanced_billing/models/component_price_point_item.rb +3 -1
- data/lib/advanced_billing/models/create_component_price_point.rb +3 -1
- data/lib/advanced_billing/models/create_customer.rb +11 -1
- data/lib/advanced_billing/models/create_metafield.rb +2 -1
- data/lib/advanced_billing/models/create_or_update_product.rb +7 -4
- data/lib/advanced_billing/models/create_payment_profile.rb +1 -1
- data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +6 -5
- data/lib/advanced_billing/models/create_product_price_point.rb +5 -3
- data/lib/advanced_billing/models/create_subscription.rb +27 -25
- data/lib/advanced_billing/models/credit_card_payment_profile.rb +17 -16
- data/lib/advanced_billing/models/credit_card_vault.rb +117 -0
- data/lib/advanced_billing/models/credit_note.rb +2 -2
- data/lib/advanced_billing/models/customer.rb +11 -1
- data/lib/advanced_billing/models/customer_attributes.rb +12 -1
- data/lib/advanced_billing/models/ebb_component.rb +1 -0
- data/lib/advanced_billing/models/{extended_interval_unit.rb → expiration_interval_unit.rb} +4 -4
- data/lib/advanced_billing/models/full_subscription_group_response.rb +65 -50
- data/lib/advanced_billing/models/get_one_time_token_payment_profile.rb +1 -1
- data/lib/advanced_billing/models/invoice.rb +19 -9
- data/lib/advanced_billing/models/invoice_consolidation_level.rb +2 -2
- data/lib/advanced_billing/models/invoice_refund.rb +13 -1
- data/lib/advanced_billing/models/invoice_status.rb +2 -2
- data/lib/advanced_billing/models/invoice_tax.rb +29 -0
- data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +101 -1
- data/lib/advanced_billing/models/issue_invoice_event_data.rb +6 -6
- data/lib/advanced_billing/models/metered_component.rb +4 -3
- data/lib/advanced_billing/models/offer_item.rb +3 -1
- data/lib/advanced_billing/models/on_off_component.rb +3 -2
- data/lib/advanced_billing/models/paid_invoice.rb +2 -2
- data/lib/advanced_billing/models/pay_pal_vault.rb +29 -0
- data/lib/advanced_billing/models/payment_profile_attributes.rb +5 -5
- data/lib/advanced_billing/models/payment_profile_response.rb +3 -3
- data/lib/advanced_billing/models/payment_type.rb +4 -1
- data/lib/advanced_billing/models/paypal_payment_profile.rb +242 -0
- data/lib/advanced_billing/models/prepaid_usage_component.rb +5 -4
- data/lib/advanced_billing/models/product.rb +2 -2
- data/lib/advanced_billing/models/product_price_point.rb +2 -2
- data/lib/advanced_billing/models/proforma_invoice.rb +6 -6
- data/lib/advanced_billing/models/quantity_based_component.rb +4 -3
- data/lib/advanced_billing/models/refund_invoice_event_data.rb +4 -4
- data/lib/advanced_billing/models/resent_invitation.rb +36 -0
- data/lib/advanced_billing/models/subscription.rb +13 -10
- data/lib/advanced_billing/models/subscription_component.rb +1 -0
- data/lib/advanced_billing/models/subscription_component_subscription.rb +26 -20
- data/lib/advanced_billing/models/subscription_custom_price.rb +5 -2
- data/lib/advanced_billing/models/subscription_group_bank_account.rb +2 -0
- data/lib/advanced_billing/models/subscription_group_credit_card.rb +1 -1
- data/lib/advanced_billing/models/subscription_group_signup_response.rb +39 -30
- data/lib/advanced_billing/models/subscription_state.rb +30 -30
- data/lib/advanced_billing/models/tax_configuration.rb +1 -2
- data/lib/advanced_billing/models/update_component_price_point.rb +3 -1
- data/lib/advanced_billing/models/update_customer.rb +12 -1
- data/lib/advanced_billing/models/update_payment_profile.rb +1 -1
- data/lib/advanced_billing/utilities/file_wrapper.rb +9 -9
- data/lib/advanced_billing/utilities/union_type_lookup.rb +17 -3
- data/lib/advanced_billing.rb +10 -4
- metadata +16 -10
@@ -10,8 +10,9 @@ module AdvancedBilling
|
|
10
10
|
# a subscription.
|
11
11
|
# @param [Integer] subscription_id Required parameter: The Chargify id of
|
12
12
|
# the subscription
|
13
|
-
# @param [Integer] component_id Required parameter: The
|
14
|
-
# component. Alternatively, the component's handle prefixed by
|
13
|
+
# @param [Integer] component_id Required parameter: The Advanced Billing id
|
14
|
+
# of the component. Alternatively, the component's handle prefixed by
|
15
|
+
# `handle:`
|
15
16
|
# @return [SubscriptionComponentResponse] response from the API call
|
16
17
|
def read_subscription_component(subscription_id,
|
17
18
|
component_id)
|
@@ -28,11 +29,11 @@ module AdvancedBilling
|
|
28
29
|
.header_param(new_parameter('application/json', key: 'accept'))
|
29
30
|
.auth(Single.new('BasicAuth')))
|
30
31
|
.response(new_response_handler
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
32
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
33
|
+
.deserialize_into(SubscriptionComponentResponse.method(:from_hash))
|
34
|
+
.local_error_template('404',
|
35
|
+
'Not Found:\'{$response.body}\'',
|
36
|
+
APIException))
|
36
37
|
.execute
|
37
38
|
end
|
38
39
|
|
@@ -108,9 +109,9 @@ module AdvancedBilling
|
|
108
109
|
.auth(Single.new('BasicAuth'))
|
109
110
|
.array_serialization_format(ArraySerializationFormat::CSV))
|
110
111
|
.response(new_response_handler
|
111
|
-
|
112
|
-
|
113
|
-
|
112
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
113
|
+
.deserialize_into(SubscriptionComponentResponse.method(:from_hash))
|
114
|
+
.is_response_array(true))
|
114
115
|
.execute
|
115
116
|
end
|
116
117
|
|
@@ -140,12 +141,12 @@ module AdvancedBilling
|
|
140
141
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
141
142
|
.auth(Single.new('BasicAuth')))
|
142
143
|
.response(new_response_handler
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
144
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
145
|
+
.deserialize_into(BulkComponentsPricePointAssignment.method(:from_hash))
|
146
|
+
.local_error_template('422',
|
147
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
148
|
+
' Response: \'{$response.body}\'.',
|
149
|
+
ComponentPricePointErrorException))
|
149
150
|
.execute
|
150
151
|
end
|
151
152
|
|
@@ -166,8 +167,8 @@ module AdvancedBilling
|
|
166
167
|
.header_param(new_parameter('application/json', key: 'accept'))
|
167
168
|
.auth(Single.new('BasicAuth')))
|
168
169
|
.response(new_response_handler
|
169
|
-
|
170
|
-
|
170
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
171
|
+
.deserialize_into(SubscriptionResponse.method(:from_hash)))
|
171
172
|
.execute
|
172
173
|
end
|
173
174
|
|
@@ -176,12 +177,12 @@ module AdvancedBilling
|
|
176
177
|
# **Notice**: Allocations can only be updated for Quantity, On/Off, and
|
177
178
|
# Prepaid Components.
|
178
179
|
# ## Allocations Documentation
|
179
|
-
# Full documentation on how to record Allocations in the
|
180
|
-
# located
|
181
|
-
# [here](https://maxio
|
182
|
-
# . It is focused on how allocations operate within
|
183
|
-
# into greater detail on how the user
|
184
|
-
# allocations.
|
180
|
+
# Full documentation on how to record Allocations in the Advanced Billing UI
|
181
|
+
# can be located
|
182
|
+
# [here](https://maxio.zendesk.com/hc/en-us/articles/24251883961485-Componen
|
183
|
+
# t-Allocations-Overview). It is focused on how allocations operate within
|
184
|
+
# the Advanced Billing UI.It goes into greater detail on how the user
|
185
|
+
# interface will react when recording allocations.
|
185
186
|
# This documentation also goes into greater detail on how proration is taken
|
186
187
|
# into consideration when applying component allocations.
|
187
188
|
# ## Proration Schemes
|
@@ -194,8 +195,8 @@ module AdvancedBilling
|
|
194
195
|
# without proration.
|
195
196
|
# For background information on prorated components and upgrade/downgrade
|
196
197
|
# schemes, see [Setting Component
|
197
|
-
# Allocations.](https://maxio
|
198
|
-
#
|
198
|
+
# Allocations.](https://maxio.zendesk.com/hc/en-us/articles/24251906165133-C
|
199
|
+
# omponent-Allocations-Proration).
|
199
200
|
# See the tables below for valid values.
|
200
201
|
# | upgrade_charge | Definition
|
201
202
|
# |
|
@@ -224,24 +225,24 @@ module AdvancedBilling
|
|
224
225
|
# 1. Per allocation in API call (within a single allocation of the
|
225
226
|
# `allocations` array)
|
226
227
|
# 2. [Component-level default
|
227
|
-
# value](https://maxio
|
228
|
-
#
|
228
|
+
# value](https://maxio.zendesk.com/hc/en-us/articles/24251883961485-Componen
|
229
|
+
# t-Allocations-Overview)
|
229
230
|
# 3. Allocation API call top level (outside of the `allocations` array)
|
230
231
|
# 4. [Site-level default
|
231
|
-
# value](https://maxio
|
232
|
-
# proration-schemes)
|
232
|
+
# value](https://maxio.zendesk.com/hc/en-us/articles/24251906165133-Componen
|
233
|
+
# t-Allocations-Proration#proration-schemes)
|
233
234
|
# ### Order of Resolution for accrue charge
|
234
235
|
# 1. Allocation API call top level (outside of the `allocations` array)
|
235
236
|
# 2. [Site-level default
|
236
|
-
# value](https://maxio
|
237
|
-
# proration-schemes)
|
237
|
+
# value](https://maxio.zendesk.com/hc/en-us/articles/24251906165133-Componen
|
238
|
+
# t-Allocations-Proration#proration-schemes)
|
238
239
|
# **NOTE: Proration uses the current price of the component as well as the
|
239
240
|
# current tax rates. Changes to either may cause the prorated charge/credit
|
240
241
|
# to be wrong.**
|
241
242
|
# @param [Integer] subscription_id Required parameter: The Chargify id of
|
242
243
|
# the subscription
|
243
|
-
# @param [Integer] component_id Required parameter: The
|
244
|
-
# component
|
244
|
+
# @param [Integer] component_id Required parameter: The Advanced Billing id
|
245
|
+
# of the component
|
245
246
|
# @param [CreateAllocationRequest] body Optional parameter: Example:
|
246
247
|
# @return [AllocationResponse] response from the API call
|
247
248
|
def allocate_component(subscription_id,
|
@@ -263,12 +264,12 @@ module AdvancedBilling
|
|
263
264
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
264
265
|
.auth(Single.new('BasicAuth')))
|
265
266
|
.response(new_response_handler
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
267
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
268
|
+
.deserialize_into(AllocationResponse.method(:from_hash))
|
269
|
+
.local_error_template('422',
|
270
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
271
|
+
' Response: \'{$response.body}\'.',
|
272
|
+
ErrorListResponseException))
|
272
273
|
.execute
|
273
274
|
end
|
274
275
|
|
@@ -277,8 +278,8 @@ module AdvancedBilling
|
|
277
278
|
# ## On/Off Components
|
278
279
|
# When a subscription's on/off component has been toggled to on (`1`) or off
|
279
280
|
# (`0`), usage will be logged in this response.
|
280
|
-
# ## Querying data via
|
281
|
-
# You can also query the current quantity via the [official
|
281
|
+
# ## Querying data via Advanced Billing gem
|
282
|
+
# You can also query the current quantity via the [official Advanced Billing
|
282
283
|
# Gem.](http://github.com/chargify/chargify_api_ares)
|
283
284
|
# ```# First way
|
284
285
|
# component = Chargify::Subscription::Component.find(1, :params =>
|
@@ -292,8 +293,8 @@ module AdvancedBilling
|
|
292
293
|
# ```
|
293
294
|
# @param [Integer] subscription_id Required parameter: The Chargify id of
|
294
295
|
# the subscription
|
295
|
-
# @param [Integer] component_id Required parameter: The
|
296
|
-
# component
|
296
|
+
# @param [Integer] component_id Required parameter: The Advanced Billing id
|
297
|
+
# of the component
|
297
298
|
# @param [Integer] page Optional parameter: Result records are organized in
|
298
299
|
# pages. By default, the first page of results is displayed. The page
|
299
300
|
# parameter specifies a page number of results to fetch. You can start
|
@@ -319,16 +320,16 @@ module AdvancedBilling
|
|
319
320
|
.header_param(new_parameter('application/json', key: 'accept'))
|
320
321
|
.auth(Single.new('BasicAuth')))
|
321
322
|
.response(new_response_handler
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
323
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
324
|
+
.deserialize_into(AllocationResponse.method(:from_hash))
|
325
|
+
.is_response_array(true)
|
326
|
+
.local_error_template('404',
|
327
|
+
'Not Found:\'{$response.body}\'',
|
328
|
+
APIException)
|
329
|
+
.local_error_template('422',
|
330
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
331
|
+
' Response: \'{$response.body}\'.',
|
332
|
+
ErrorListResponseException))
|
332
333
|
.execute
|
333
334
|
end
|
334
335
|
|
@@ -358,20 +359,20 @@ module AdvancedBilling
|
|
358
359
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
359
360
|
.auth(Single.new('BasicAuth')))
|
360
361
|
.response(new_response_handler
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
362
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
363
|
+
.deserialize_into(AllocationResponse.method(:from_hash))
|
364
|
+
.is_response_array(true)
|
365
|
+
.local_error_template('404',
|
366
|
+
'Not Found:\'{$response.body}\'',
|
367
|
+
APIException)
|
368
|
+
.local_error_template('422',
|
369
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
370
|
+
' Response: \'{$response.body}\'.',
|
371
|
+
ErrorListResponseException))
|
371
372
|
.execute
|
372
373
|
end
|
373
374
|
|
374
|
-
#
|
375
|
+
# Advanced Billing offers the ability to preview a potential subscription's
|
375
376
|
# **quantity-based** or **on/off** component allocation in the middle of the
|
376
377
|
# current billing period. This is useful if you want users to be able to
|
377
378
|
# see the effect of a component operation before actually doing it.
|
@@ -402,12 +403,12 @@ module AdvancedBilling
|
|
402
403
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
403
404
|
.auth(Single.new('BasicAuth')))
|
404
405
|
.response(new_response_handler
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
406
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
407
|
+
.deserialize_into(AllocationPreviewResponse.method(:from_hash))
|
408
|
+
.local_error_template('422',
|
409
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
410
|
+
' Response: \'{$response.body}\'.',
|
411
|
+
ComponentAllocationErrorException))
|
411
412
|
.execute
|
412
413
|
end
|
413
414
|
|
@@ -427,10 +428,10 @@ module AdvancedBilling
|
|
427
428
|
# it) up to the subscription's current period beginning date.
|
428
429
|
# @param [Integer] subscription_id Required parameter: The Chargify id of
|
429
430
|
# the subscription
|
430
|
-
# @param [Integer] component_id Required parameter: The
|
431
|
-
# component
|
432
|
-
# @param [Integer] allocation_id Required parameter: The
|
433
|
-
# allocation
|
431
|
+
# @param [Integer] component_id Required parameter: The Advanced Billing id
|
432
|
+
# of the component
|
433
|
+
# @param [Integer] allocation_id Required parameter: The Advanced Billing id
|
434
|
+
# of the allocation
|
434
435
|
# @param [UpdateAllocationExpirationDate] body Optional parameter:
|
435
436
|
# Example:
|
436
437
|
# @return [void] response from the API call
|
@@ -456,14 +457,14 @@ module AdvancedBilling
|
|
456
457
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
457
458
|
.auth(Single.new('BasicAuth')))
|
458
459
|
.response(new_response_handler
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
460
|
+
.is_response_void(true)
|
461
|
+
.local_error_template('404',
|
462
|
+
'Not Found:\'{$response.body}\'',
|
463
|
+
APIException)
|
464
|
+
.local_error_template('422',
|
465
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
466
|
+
' Response: \'{$response.body}\'.',
|
467
|
+
SubscriptionComponentAllocationErrorException))
|
467
468
|
.execute
|
468
469
|
end
|
469
470
|
|
@@ -484,10 +485,10 @@ module AdvancedBilling
|
|
484
485
|
# updated and a refund will be issued along with a Credit Note.
|
485
486
|
# @param [Integer] subscription_id Required parameter: The Chargify id of
|
486
487
|
# the subscription
|
487
|
-
# @param [Integer] component_id Required parameter: The
|
488
|
-
# component
|
489
|
-
# @param [Integer] allocation_id Required parameter: The
|
490
|
-
# allocation
|
488
|
+
# @param [Integer] component_id Required parameter: The Advanced Billing id
|
489
|
+
# of the component
|
490
|
+
# @param [Integer] allocation_id Required parameter: The Advanced Billing id
|
491
|
+
# of the allocation
|
491
492
|
# @param [CreditSchemeRequest] body Optional parameter: Example:
|
492
493
|
# @return [void] response from the API call
|
493
494
|
def delete_prepaid_usage_allocation(subscription_id,
|
@@ -512,39 +513,39 @@ module AdvancedBilling
|
|
512
513
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
513
514
|
.auth(Single.new('BasicAuth')))
|
514
515
|
.response(new_response_handler
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
516
|
+
.is_response_void(true)
|
517
|
+
.local_error_template('404',
|
518
|
+
'Not Found:\'{$response.body}\'',
|
519
|
+
APIException)
|
520
|
+
.local_error_template('422',
|
521
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
522
|
+
' Response: \'{$response.body}\'.',
|
523
|
+
SubscriptionComponentAllocationErrorException))
|
523
524
|
.execute
|
524
525
|
end
|
525
526
|
|
526
527
|
# ## Documentation
|
527
|
-
# Full documentation on how to create Components in the
|
528
|
-
# located
|
529
|
-
# [here](https://maxio
|
530
|
-
#
|
531
|
-
# component usage against a subscription, please see the following
|
528
|
+
# Full documentation on how to create Components in the Advanced Billing UI
|
529
|
+
# can be located
|
530
|
+
# [here](https://maxio.zendesk.com/hc/en-us/articles/24261149711501-Create-E
|
531
|
+
# dit-and-Archive-Components). Additionally, for information on how to
|
532
|
+
# record component usage against a subscription, please see the following
|
532
533
|
# resources:
|
533
534
|
# + [Recording Metered Component
|
534
|
-
# Usage](https://maxio
|
535
|
-
# reporting-metered-component-usage)
|
535
|
+
# Usage](https://maxio.zendesk.com/hc/en-us/articles/24251890500109-Reportin
|
536
|
+
# g-Component-Allocations#reporting-metered-component-usage)
|
536
537
|
# + [Reporting Prepaid Component
|
537
|
-
# Status](https://maxio
|
538
|
-
# #reporting-prepaid-component-status)
|
539
|
-
# You may choose to report metered or prepaid usage to
|
540
|
-
# you wish. You may report usage as it happens. You may also report
|
541
|
-
# periodically, such as each night or once per billing period. If
|
542
|
-
# events occur in your system very frequently (on the order of
|
543
|
-
# times an hour), it is best to accumulate usage into batches
|
544
|
-
# and then report those batches less frequently, such as
|
545
|
-
# ensure you remain below any API throttling limits. If
|
546
|
-
# requires higher rates of usage reporting, we recommend
|
547
|
-
# Based Components.
|
538
|
+
# Status](https://maxio.zendesk.com/hc/en-us/articles/24251890500109-Reporti
|
539
|
+
# ng-Component-Allocations#reporting-prepaid-component-status)
|
540
|
+
# You may choose to report metered or prepaid usage to Advanced Billing as
|
541
|
+
# often as you wish. You may report usage as it happens. You may also report
|
542
|
+
# usage periodically, such as each night or once per billing period. If
|
543
|
+
# usage events occur in your system very frequently (on the order of
|
544
|
+
# thousands of times an hour), it is best to accumulate usage into batches
|
545
|
+
# on your side, and then report those batches less frequently, such as
|
546
|
+
# daily. This will ensure you remain below any API throttling limits. If
|
547
|
+
# your use case requires higher rates of usage reporting, we recommend
|
548
|
+
# utilizing Events Based Components.
|
548
549
|
# ## Create Usage for Subscription
|
549
550
|
# This endpoint allows you to record an instance of metered or prepaid usage
|
550
551
|
# for a subscription. The `quantity` from usage for each component is
|
@@ -552,7 +553,8 @@ module AdvancedBilling
|
|
552
553
|
# Item](./b3A6MTQxMDgzNzQ-read-subscription-component) for the subscription.
|
553
554
|
# ## Price Point ID usage
|
554
555
|
# If you are using price points, for metered and prepaid usage components,
|
555
|
-
#
|
556
|
+
# Advanced Billing gives you the option to specify a price point in your
|
557
|
+
# request.
|
556
558
|
# You do not need to specify a price point ID. If a price point is not
|
557
559
|
# included, the default price point for the component will be used when the
|
558
560
|
# usage is recorded.
|
@@ -594,8 +596,8 @@ module AdvancedBilling
|
|
594
596
|
# @param [Integer] subscription_id Required parameter: The Chargify id of
|
595
597
|
# the subscription
|
596
598
|
# @param [Integer | String] component_id Required parameter: Either the
|
597
|
-
#
|
598
|
-
# `handle:`
|
599
|
+
# Advanced Billing id for the component or the component's handle prefixed
|
600
|
+
# by `handle:`
|
599
601
|
# @param [CreateUsageRequest] body Optional parameter: Example:
|
600
602
|
# @return [UsageResponse] response from the API call
|
601
603
|
def create_usage(subscription_id,
|
@@ -621,12 +623,12 @@ module AdvancedBilling
|
|
621
623
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
622
624
|
.auth(Single.new('BasicAuth')))
|
623
625
|
.response(new_response_handler
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
626
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
627
|
+
.deserialize_into(UsageResponse.method(:from_hash))
|
628
|
+
.local_error_template('422',
|
629
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
630
|
+
' Response: \'{$response.body}\'.',
|
631
|
+
ErrorListResponseException))
|
630
632
|
.execute
|
631
633
|
end
|
632
634
|
|
@@ -649,8 +651,8 @@ module AdvancedBilling
|
|
649
651
|
# @param [Integer] subscription_id Required parameter: The Chargify id of
|
650
652
|
# the subscription
|
651
653
|
# @param [Integer | String] component_id Required parameter: Either the
|
652
|
-
#
|
653
|
-
# `handle:`
|
654
|
+
# Advanced Billing id for the component or the component's handle prefixed
|
655
|
+
# by `handle:`
|
654
656
|
# @param [Integer] since_id Optional parameter: Returns usages with an id
|
655
657
|
# greater than or equal to the one specified
|
656
658
|
# @param [Integer] max_id Optional parameter: Returns usages with an id less
|
@@ -697,9 +699,9 @@ module AdvancedBilling
|
|
697
699
|
.header_param(new_parameter('application/json', key: 'accept'))
|
698
700
|
.auth(Single.new('BasicAuth')))
|
699
701
|
.response(new_response_handler
|
700
|
-
|
701
|
-
|
702
|
-
|
702
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
703
|
+
.deserialize_into(UsageResponse.method(:from_hash))
|
704
|
+
.is_response_array(true))
|
703
705
|
.execute
|
704
706
|
end
|
705
707
|
|
@@ -707,22 +709,24 @@ module AdvancedBilling
|
|
707
709
|
# Events-Based Billing feature, the components must be activated for the
|
708
710
|
# subscriber.
|
709
711
|
# Learn more about the role of activation in the [Events-Based Billing
|
710
|
-
# docs](https://
|
711
|
-
#
|
712
|
+
# docs](https://maxio.zendesk.com/hc/en-us/articles/24260323329805-Events-Ba
|
713
|
+
# sed-Billing-Overview).
|
712
714
|
# Use this endpoint to activate an event-based component for a single
|
713
|
-
# subscription. Activating an event-based component causes
|
714
|
-
# for events when the subscription is renewed.
|
715
|
+
# subscription. Activating an event-based component causes Advanced Billing
|
716
|
+
# to bill for events when the subscription is renewed.
|
715
717
|
# *Note: it is possible to stream events for a subscription at any time,
|
716
718
|
# regardless of component activation status. The activation status only
|
717
719
|
# determines if the subscription should be billed for event-based component
|
718
720
|
# usage at renewal.*
|
719
|
-
# @param [Integer] subscription_id Required parameter: The
|
720
|
-
# the subscription
|
721
|
-
# @param [Integer] component_id Required parameter: The
|
722
|
-
# component
|
721
|
+
# @param [Integer] subscription_id Required parameter: The Advanced Billing
|
722
|
+
# id of the subscription
|
723
|
+
# @param [Integer] component_id Required parameter: The Advanced Billing id
|
724
|
+
# of the component
|
725
|
+
# @param [ActivateEventBasedComponent] body Optional parameter: Example:
|
723
726
|
# @return [void] response from the API call
|
724
727
|
def activate_event_based_component(subscription_id,
|
725
|
-
component_id
|
728
|
+
component_id,
|
729
|
+
body: nil)
|
726
730
|
new_api_call_builder
|
727
731
|
.request(new_request_builder(HttpMethodEnum::POST,
|
728
732
|
'/event_based_billing/subscriptions/{subscription_id}/components/{component_id}/activate.json',
|
@@ -733,19 +737,22 @@ module AdvancedBilling
|
|
733
737
|
.template_param(new_parameter(component_id, key: 'component_id')
|
734
738
|
.is_required(true)
|
735
739
|
.should_encode(true))
|
740
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
741
|
+
.body_param(new_parameter(body))
|
742
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
736
743
|
.auth(Single.new('BasicAuth')))
|
737
744
|
.response(new_response_handler
|
738
|
-
|
745
|
+
.is_response_void(true))
|
739
746
|
.execute
|
740
747
|
end
|
741
748
|
|
742
749
|
# Use this endpoint to deactivate an event-based component for a single
|
743
|
-
# subscription. Deactivating the event-based component causes
|
744
|
-
# ignore related events at subscription renewal.
|
745
|
-
# @param [Integer] subscription_id Required parameter: The
|
746
|
-
# the subscription
|
747
|
-
# @param [Integer] component_id Required parameter: The
|
748
|
-
# component
|
750
|
+
# subscription. Deactivating the event-based component causes Advanced
|
751
|
+
# Billing to ignore related events at subscription renewal.
|
752
|
+
# @param [Integer] subscription_id Required parameter: The Advanced Billing
|
753
|
+
# id of the subscription
|
754
|
+
# @param [Integer] component_id Required parameter: The Advanced Billing id
|
755
|
+
# of the component
|
749
756
|
# @return [void] response from the API call
|
750
757
|
def deactivate_event_based_component(subscription_id,
|
751
758
|
component_id)
|
@@ -761,23 +768,25 @@ module AdvancedBilling
|
|
761
768
|
.should_encode(true))
|
762
769
|
.auth(Single.new('BasicAuth')))
|
763
770
|
.response(new_response_handler
|
764
|
-
|
771
|
+
.is_response_void(true))
|
765
772
|
.execute
|
766
773
|
end
|
767
774
|
|
768
775
|
# ## Documentation
|
769
776
|
# Events-Based Billing is an evolved form of metered billing that is based
|
770
|
-
# on data-rich events streamed in real-time from your system to
|
777
|
+
# on data-rich events streamed in real-time from your system to Advanced
|
778
|
+
# Billing.
|
771
779
|
# These events can then be transformed, enriched, or analyzed to form the
|
772
780
|
# computed totals of usage charges billed to your customers.
|
773
|
-
# This API allows you to stream events into the
|
774
|
-
# engine.
|
781
|
+
# This API allows you to stream events into the Advanced Billing data
|
782
|
+
# ingestion engine.
|
775
783
|
# Learn more about the feature in general in the [Events-Based Billing help
|
776
|
-
# docs](https://
|
784
|
+
# docs](https://maxio.zendesk.com/hc/en-us/articles/24260323329805-Events-Ba
|
785
|
+
# sed-Billing-Overview).
|
777
786
|
# ## Record Event
|
778
787
|
# Use this endpoint to record a single event.
|
779
|
-
# *Note: this endpoint differs from the standard Chargify endpoints in
|
780
|
-
# the URL subdomain will be `events` and your site subdomain will be
|
788
|
+
# *Note: this endpoint differs from the standard Chargify API endpoints in
|
789
|
+
# that the URL subdomain will be `events` and your site subdomain will be
|
781
790
|
# included in the URL path. For example:*
|
782
791
|
# ```
|
783
792
|
# https://events.chargify.com/my-site-subdomain/events/my-stream-api-handle
|
@@ -786,8 +795,8 @@ module AdvancedBilling
|
|
786
795
|
# @param [String] api_handle Required parameter: Identifies the Stream for
|
787
796
|
# which the event should be published.
|
788
797
|
# @param [String] store_uid Optional parameter: If you've attached your own
|
789
|
-
# Keen project as
|
790
|
-
# indicate the data-store.
|
798
|
+
# Keen project as an Advanced Billing event data-store, use this parameter
|
799
|
+
# to indicate the data-store.
|
791
800
|
# @param [EBBEvent] body Optional parameter: Example:
|
792
801
|
# @return [void] response from the API call
|
793
802
|
def record_event(subdomain,
|
@@ -810,22 +819,22 @@ module AdvancedBilling
|
|
810
819
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
811
820
|
.auth(Single.new('BasicAuth')))
|
812
821
|
.response(new_response_handler
|
813
|
-
|
822
|
+
.is_response_void(true))
|
814
823
|
.execute
|
815
824
|
end
|
816
825
|
|
817
826
|
# Use this endpoint to record a collection of events.
|
818
|
-
# *Note: this endpoint differs from the standard Chargify endpoints in
|
819
|
-
# the subdomain will be `events` and your site subdomain will be
|
820
|
-
# the URL path.*
|
827
|
+
# *Note: this endpoint differs from the standard Chargify API endpoints in
|
828
|
+
# that the subdomain will be `events` and your site subdomain will be
|
829
|
+
# included in the URL path.*
|
821
830
|
# A maximum of 1000 events can be published in a single request. A 422 will
|
822
831
|
# be returned if this limit is exceeded.
|
823
832
|
# @param [String] subdomain Required parameter: Your site's subdomain
|
824
833
|
# @param [String] api_handle Required parameter: Identifies the Stream for
|
825
834
|
# which the events should be published.
|
826
835
|
# @param [String] store_uid Optional parameter: If you've attached your own
|
827
|
-
# Keen project as
|
828
|
-
# indicate the data-store.
|
836
|
+
# Keen project as an Advanced Billing event data-store, use this parameter
|
837
|
+
# to indicate the data-store.
|
829
838
|
# @param [Array[EBBEvent]] body Optional parameter: Example:
|
830
839
|
# @return [void] response from the API call
|
831
840
|
def bulk_record_events(subdomain,
|
@@ -848,7 +857,7 @@ module AdvancedBilling
|
|
848
857
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
849
858
|
.auth(Single.new('BasicAuth')))
|
850
859
|
.response(new_response_handler
|
851
|
-
|
860
|
+
.is_response_void(true))
|
852
861
|
.execute
|
853
862
|
end
|
854
863
|
|
@@ -930,8 +939,8 @@ module AdvancedBilling
|
|
930
939
|
.auth(Single.new('BasicAuth'))
|
931
940
|
.array_serialization_format(ArraySerializationFormat::CSV))
|
932
941
|
.response(new_response_handler
|
933
|
-
|
934
|
-
|
942
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
943
|
+
.deserialize_into(ListSubscriptionComponentsResponse.method(:from_hash)))
|
935
944
|
.execute
|
936
945
|
end
|
937
946
|
end
|