maxio-advanced-billing-sdk 4.0.0 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -7,14 +7,14 @@ module AdvancedBilling
|
|
7
7
|
# CouponsController
|
8
8
|
class CouponsController < BaseController
|
9
9
|
# ## Coupons Documentation
|
10
|
-
# Coupons can be administered in the
|
11
|
-
# API. Please view our section on [creating
|
12
|
-
# coupons](https://maxio
|
13
|
-
#
|
10
|
+
# Coupons can be administered in the Advanced Billing application or created
|
11
|
+
# via API. Please view our section on [creating
|
12
|
+
# coupons](https://maxio.zendesk.com/hc/en-us/articles/24261212433165-Creati
|
13
|
+
# ng-Editing-Deleting-Coupons) for more information.
|
14
14
|
# Additionally, for documentation on how to apply a coupon to a subscription
|
15
|
-
# within the
|
16
|
-
# [here](https://maxio
|
17
|
-
# .
|
15
|
+
# within the Advanced Billing UI, please see our documentation
|
16
|
+
# [here](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-
|
17
|
+
# and-Subscriptions).
|
18
18
|
# ## Create Coupon
|
19
19
|
# This request will create a coupon, based on the provided information.
|
20
20
|
# When creating a coupon, you must specify a product family using the
|
@@ -25,8 +25,8 @@ module AdvancedBilling
|
|
25
25
|
# by optionally passing in hashes of `restricted_products` and/or
|
26
26
|
# `restricted_components` in the format:
|
27
27
|
# `{ "<product/component_id>": boolean_value }`
|
28
|
-
# @param [Integer] product_family_id Required parameter: The
|
29
|
-
# the product family to which the coupon belongs
|
28
|
+
# @param [Integer] product_family_id Required parameter: The Advanced
|
29
|
+
# Billing id of the product family to which the coupon belongs
|
30
30
|
# @param [CreateOrUpdateCoupon] body Optional parameter: Example:
|
31
31
|
# @return [CouponResponse] response from the API call
|
32
32
|
def create_coupon(product_family_id,
|
@@ -44,12 +44,12 @@ module AdvancedBilling
|
|
44
44
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
45
45
|
.auth(Single.new('BasicAuth')))
|
46
46
|
.response(new_response_handler
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
47
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
48
|
+
.deserialize_into(CouponResponse.method(:from_hash))
|
49
|
+
.local_error_template('422',
|
50
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
51
|
+
' Response: \'{$response.body}\'.',
|
52
|
+
ErrorListResponseException))
|
53
53
|
.execute
|
54
54
|
end
|
55
55
|
|
@@ -57,8 +57,8 @@ module AdvancedBilling
|
|
57
57
|
# If the coupon is set to `use_site_exchange_rate: true`, it will return
|
58
58
|
# pricing based on the current exchange rate. If the flag is set to false,
|
59
59
|
# it will return all of the defined prices for each currency.
|
60
|
-
# @param [Integer] product_family_id Required parameter: The
|
61
|
-
# the product family to which the coupon belongs
|
60
|
+
# @param [Integer] product_family_id Required parameter: The Advanced
|
61
|
+
# Billing id of the product family to which the coupon belongs
|
62
62
|
# @param [Integer] page Optional parameter: Result records are organized in
|
63
63
|
# pages. By default, the first page of results is displayed. The page
|
64
64
|
# parameter specifies a page number of results to fetch. You can start
|
@@ -94,9 +94,9 @@ module AdvancedBilling
|
|
94
94
|
.auth(Single.new('BasicAuth'))
|
95
95
|
.array_serialization_format(ArraySerializationFormat::CSV))
|
96
96
|
.response(new_response_handler
|
97
|
-
|
98
|
-
|
99
|
-
|
97
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
98
|
+
.deserialize_into(CouponResponse.method(:from_hash))
|
99
|
+
.is_response_array(true))
|
100
100
|
.execute
|
101
101
|
end
|
102
102
|
|
@@ -107,8 +107,8 @@ module AdvancedBilling
|
|
107
107
|
# to find does not belong to the default product family in your site, then
|
108
108
|
# you will need to specify (either in the url or as a query string param)
|
109
109
|
# the product family id.
|
110
|
-
# @param [Integer] product_family_id Optional parameter: The
|
111
|
-
# the product family to which the coupon belongs
|
110
|
+
# @param [Integer] product_family_id Optional parameter: The Advanced
|
111
|
+
# Billing id of the product family to which the coupon belongs
|
112
112
|
# @param [String] code Optional parameter: The code of the coupon
|
113
113
|
# @return [CouponResponse] response from the API call
|
114
114
|
def find_coupon(product_family_id: nil,
|
@@ -122,13 +122,13 @@ module AdvancedBilling
|
|
122
122
|
.header_param(new_parameter('application/json', key: 'accept'))
|
123
123
|
.auth(Single.new('BasicAuth')))
|
124
124
|
.response(new_response_handler
|
125
|
-
|
126
|
-
|
125
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
126
|
+
.deserialize_into(CouponResponse.method(:from_hash)))
|
127
127
|
.execute
|
128
128
|
end
|
129
129
|
|
130
130
|
# You can retrieve the Coupon via the API with the Show method. You must
|
131
|
-
# identify the Coupon in this call by the ID parameter that
|
131
|
+
# identify the Coupon in this call by the ID parameter that Advanced Billing
|
132
132
|
# assigns.
|
133
133
|
# If instead you would like to find a Coupon using a Coupon code, see the
|
134
134
|
# Coupon Find method.
|
@@ -138,10 +138,10 @@ module AdvancedBilling
|
|
138
138
|
# If the coupon is set to `use_site_exchange_rate: true`, it will return
|
139
139
|
# pricing based on the current exchange rate. If the flag is set to false,
|
140
140
|
# it will return all of the defined prices for each currency.
|
141
|
-
# @param [Integer] product_family_id Required parameter: The
|
142
|
-
# the product family to which the coupon belongs
|
143
|
-
# @param [Integer] coupon_id Required parameter: The
|
144
|
-
# coupon
|
141
|
+
# @param [Integer] product_family_id Required parameter: The Advanced
|
142
|
+
# Billing id of the product family to which the coupon belongs
|
143
|
+
# @param [Integer] coupon_id Required parameter: The Advanced Billing id of
|
144
|
+
# the coupon
|
145
145
|
# @return [CouponResponse] response from the API call
|
146
146
|
def read_coupon(product_family_id,
|
147
147
|
coupon_id)
|
@@ -158,8 +158,8 @@ module AdvancedBilling
|
|
158
158
|
.header_param(new_parameter('application/json', key: 'accept'))
|
159
159
|
.auth(Single.new('BasicAuth')))
|
160
160
|
.response(new_response_handler
|
161
|
-
|
162
|
-
|
161
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
162
|
+
.deserialize_into(CouponResponse.method(:from_hash)))
|
163
163
|
.execute
|
164
164
|
end
|
165
165
|
|
@@ -170,10 +170,10 @@ module AdvancedBilling
|
|
170
170
|
# by optionally passing in hashes of `restricted_products` and/or
|
171
171
|
# `restricted_components` in the format:
|
172
172
|
# `{ "<product/component_id>": boolean_value }`
|
173
|
-
# @param [Integer] product_family_id Required parameter: The
|
174
|
-
# the product family to which the coupon belongs
|
175
|
-
# @param [Integer] coupon_id Required parameter: The
|
176
|
-
# coupon
|
173
|
+
# @param [Integer] product_family_id Required parameter: The Advanced
|
174
|
+
# Billing id of the product family to which the coupon belongs
|
175
|
+
# @param [Integer] coupon_id Required parameter: The Advanced Billing id of
|
176
|
+
# the coupon
|
177
177
|
# @param [CreateOrUpdateCoupon] body Optional parameter: Example:
|
178
178
|
# @return [CouponResponse] response from the API call
|
179
179
|
def update_coupon(product_family_id,
|
@@ -195,8 +195,8 @@ module AdvancedBilling
|
|
195
195
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
196
196
|
.auth(Single.new('BasicAuth')))
|
197
197
|
.response(new_response_handler
|
198
|
-
|
199
|
-
|
198
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
199
|
+
.deserialize_into(CouponResponse.method(:from_hash)))
|
200
200
|
.execute
|
201
201
|
end
|
202
202
|
|
@@ -205,10 +205,10 @@ module AdvancedBilling
|
|
205
205
|
# remain attached and functional on existing Subscriptions that are using
|
206
206
|
# it.
|
207
207
|
# The `archived_at` date and time will be assigned.
|
208
|
-
# @param [Integer] product_family_id Required parameter: The
|
209
|
-
# the product family to which the coupon belongs
|
210
|
-
# @param [Integer] coupon_id Required parameter: The
|
211
|
-
# coupon
|
208
|
+
# @param [Integer] product_family_id Required parameter: The Advanced
|
209
|
+
# Billing id of the product family to which the coupon belongs
|
210
|
+
# @param [Integer] coupon_id Required parameter: The Advanced Billing id of
|
211
|
+
# the coupon
|
212
212
|
# @return [CouponResponse] response from the API call
|
213
213
|
def archive_coupon(product_family_id,
|
214
214
|
coupon_id)
|
@@ -225,8 +225,8 @@ module AdvancedBilling
|
|
225
225
|
.header_param(new_parameter('application/json', key: 'accept'))
|
226
226
|
.auth(Single.new('BasicAuth')))
|
227
227
|
.response(new_response_handler
|
228
|
-
|
229
|
-
|
228
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
229
|
+
.deserialize_into(CouponResponse.method(:from_hash)))
|
230
230
|
.execute
|
231
231
|
end
|
232
232
|
|
@@ -266,18 +266,18 @@ module AdvancedBilling
|
|
266
266
|
.auth(Single.new('BasicAuth'))
|
267
267
|
.array_serialization_format(ArraySerializationFormat::CSV))
|
268
268
|
.response(new_response_handler
|
269
|
-
|
270
|
-
|
271
|
-
|
269
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
270
|
+
.deserialize_into(CouponResponse.method(:from_hash))
|
271
|
+
.is_response_array(true))
|
272
272
|
.execute
|
273
273
|
end
|
274
274
|
|
275
275
|
# This request will provide details about the coupon usage as an array of
|
276
276
|
# data hashes, one per product.
|
277
|
-
# @param [Integer] product_family_id Required parameter: The
|
278
|
-
# the product family to which the coupon belongs
|
279
|
-
# @param [Integer] coupon_id Required parameter: The
|
280
|
-
# coupon
|
277
|
+
# @param [Integer] product_family_id Required parameter: The Advanced
|
278
|
+
# Billing id of the product family to which the coupon belongs
|
279
|
+
# @param [Integer] coupon_id Required parameter: The Advanced Billing id of
|
280
|
+
# the coupon
|
281
281
|
# @return [Array[CouponUsage]] response from the API call
|
282
282
|
def read_coupon_usage(product_family_id,
|
283
283
|
coupon_id)
|
@@ -294,9 +294,9 @@ module AdvancedBilling
|
|
294
294
|
.header_param(new_parameter('application/json', key: 'accept'))
|
295
295
|
.auth(Single.new('BasicAuth')))
|
296
296
|
.response(new_response_handler
|
297
|
-
|
298
|
-
|
299
|
-
|
297
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
298
|
+
.deserialize_into(CouponUsage.method(:from_hash))
|
299
|
+
.is_response_array(true))
|
300
300
|
.execute
|
301
301
|
end
|
302
302
|
|
@@ -327,8 +327,8 @@ module AdvancedBilling
|
|
327
327
|
# de>&product_family_id=<id>
|
328
328
|
# ```
|
329
329
|
# @param [String] code Required parameter: The code of the coupon
|
330
|
-
# @param [Integer] product_family_id Optional parameter: The
|
331
|
-
# the product family to which the coupon belongs
|
330
|
+
# @param [Integer] product_family_id Optional parameter: The Advanced
|
331
|
+
# Billing id of the product family to which the coupon belongs
|
332
332
|
# @return [CouponResponse] response from the API call
|
333
333
|
def validate_coupon(code,
|
334
334
|
product_family_id: nil)
|
@@ -342,11 +342,11 @@ module AdvancedBilling
|
|
342
342
|
.header_param(new_parameter('application/json', key: 'accept'))
|
343
343
|
.auth(Single.new('BasicAuth')))
|
344
344
|
.response(new_response_handler
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
345
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
346
|
+
.deserialize_into(CouponResponse.method(:from_hash))
|
347
|
+
.local_error('404',
|
348
|
+
'Not Found',
|
349
|
+
SingleStringErrorResponseException))
|
350
350
|
.execute
|
351
351
|
end
|
352
352
|
|
@@ -357,8 +357,8 @@ module AdvancedBilling
|
|
357
357
|
# Currency pricing for coupons must mirror the setup of the primary coupon
|
358
358
|
# pricing - if the primary coupon is percentage based, you will not be able
|
359
359
|
# to define pricing in non-primary currencies.
|
360
|
-
# @param [Integer] coupon_id Required parameter: The
|
361
|
-
# coupon
|
360
|
+
# @param [Integer] coupon_id Required parameter: The Advanced Billing id of
|
361
|
+
# the coupon
|
362
362
|
# @param [CouponCurrencyRequest] body Optional parameter: Example:
|
363
363
|
# @return [CouponCurrencyResponse] response from the API call
|
364
364
|
def create_or_update_coupon_currency_prices(coupon_id,
|
@@ -376,8 +376,8 @@ module AdvancedBilling
|
|
376
376
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
377
377
|
.auth(Single.new('BasicAuth')))
|
378
378
|
.response(new_response_handler
|
379
|
-
|
380
|
-
|
379
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
380
|
+
.deserialize_into(CouponCurrencyResponse.method(:from_hash)))
|
381
381
|
.execute
|
382
382
|
end
|
383
383
|
|
@@ -397,14 +397,14 @@ module AdvancedBilling
|
|
397
397
|
# contain only letters and numbers, and do not have any spaces. Lowercase
|
398
398
|
# letters will be capitalized before the subcode is created.
|
399
399
|
# ## Coupon Subcodes Documentation
|
400
|
-
# Full documentation on how to create coupon subcodes in the
|
401
|
-
# be located
|
402
|
-
# [here](https://
|
403
|
-
#
|
400
|
+
# Full documentation on how to create coupon subcodes in the Advanced
|
401
|
+
# Billing UI can be located
|
402
|
+
# [here](https://maxio.zendesk.com/hc/en-us/articles/24261208729229-Coupon-C
|
403
|
+
# odes).
|
404
404
|
# Additionally, for documentation on how to apply a coupon to a Subscription
|
405
|
-
# within the
|
406
|
-
# [here](https://
|
407
|
-
# ).
|
405
|
+
# within the Advanced Billing UI, please see our documentation
|
406
|
+
# [here](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-
|
407
|
+
# and-Subscriptions).
|
408
408
|
# ## Create Coupon Subcode
|
409
409
|
# This request allows you to create specific subcodes underneath an existing
|
410
410
|
# coupon code.
|
@@ -419,8 +419,8 @@ module AdvancedBilling
|
|
419
419
|
# So, if the coupon subcode is `20%OFF`, the URL to delete this coupon
|
420
420
|
# subcode would be:
|
421
421
|
# `https://<subdomain>.chargify.com/coupons/567/codes/20%25OFF.<format>`
|
422
|
-
# @param [Integer] coupon_id Required parameter: The
|
423
|
-
# coupon
|
422
|
+
# @param [Integer] coupon_id Required parameter: The Advanced Billing id of
|
423
|
+
# the coupon
|
424
424
|
# @param [CouponSubcodes] body Optional parameter: Example:
|
425
425
|
# @return [CouponSubcodesResponse] response from the API call
|
426
426
|
def create_coupon_subcodes(coupon_id,
|
@@ -438,15 +438,15 @@ module AdvancedBilling
|
|
438
438
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
439
439
|
.auth(Single.new('BasicAuth')))
|
440
440
|
.response(new_response_handler
|
441
|
-
|
442
|
-
|
441
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
442
|
+
.deserialize_into(CouponSubcodesResponse.method(:from_hash)))
|
443
443
|
.execute
|
444
444
|
end
|
445
445
|
|
446
446
|
# This request allows you to request the subcodes that are attached to a
|
447
447
|
# coupon.
|
448
|
-
# @param [Integer] coupon_id Required parameter: The
|
449
|
-
# coupon
|
448
|
+
# @param [Integer] coupon_id Required parameter: The Advanced Billing id of
|
449
|
+
# the coupon
|
450
450
|
# @param [Integer] page Optional parameter: Result records are organized in
|
451
451
|
# pages. By default, the first page of results is displayed. The page
|
452
452
|
# parameter specifies a page number of results to fetch. You can start
|
@@ -472,8 +472,8 @@ module AdvancedBilling
|
|
472
472
|
.header_param(new_parameter('application/json', key: 'accept'))
|
473
473
|
.auth(Single.new('BasicAuth')))
|
474
474
|
.response(new_response_handler
|
475
|
-
|
476
|
-
|
475
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
476
|
+
.deserialize_into(CouponSubcodes.method(:from_hash)))
|
477
477
|
.execute
|
478
478
|
end
|
479
479
|
|
@@ -486,8 +486,8 @@ module AdvancedBilling
|
|
486
486
|
# + The created subcodes,
|
487
487
|
# + Subcodes that were not created because they already exist,
|
488
488
|
# + Any subcodes not created because they are invalid.
|
489
|
-
# @param [Integer] coupon_id Required parameter: The
|
490
|
-
# coupon
|
489
|
+
# @param [Integer] coupon_id Required parameter: The Advanced Billing id of
|
490
|
+
# the coupon
|
491
491
|
# @param [CouponSubcodes] body Optional parameter: Example:
|
492
492
|
# @return [CouponSubcodesResponse] response from the API call
|
493
493
|
def update_coupon_subcodes(coupon_id,
|
@@ -505,8 +505,8 @@ module AdvancedBilling
|
|
505
505
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
506
506
|
.auth(Single.new('BasicAuth')))
|
507
507
|
.response(new_response_handler
|
508
|
-
|
509
|
-
|
508
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
509
|
+
.deserialize_into(CouponSubcodesResponse.method(:from_hash)))
|
510
510
|
.execute
|
511
511
|
end
|
512
512
|
|
@@ -530,8 +530,8 @@ module AdvancedBilling
|
|
530
530
|
# Or if the coupon subcode is 20%OFF, the URL to delete this coupon subcode
|
531
531
|
# would be:
|
532
532
|
# @https://<subdomain>.chargify.com/coupons/567/codes/20%25OFF.<format>
|
533
|
-
# @param [Integer] coupon_id Required parameter: The
|
534
|
-
# coupon to which the subcode belongs
|
533
|
+
# @param [Integer] coupon_id Required parameter: The Advanced Billing id of
|
534
|
+
# the coupon to which the subcode belongs
|
535
535
|
# @param [String] subcode Required parameter: The subcode of the coupon
|
536
536
|
# @return [void] response from the API call
|
537
537
|
def delete_coupon_subcode(coupon_id,
|
@@ -548,10 +548,10 @@ module AdvancedBilling
|
|
548
548
|
.should_encode(true))
|
549
549
|
.auth(Single.new('BasicAuth')))
|
550
550
|
.response(new_response_handler
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
551
|
+
.is_response_void(true)
|
552
|
+
.local_error_template('404',
|
553
|
+
'Not Found:\'{$response.body}\'',
|
554
|
+
APIException))
|
555
555
|
.execute
|
556
556
|
end
|
557
557
|
end
|
@@ -7,21 +7,21 @@ module AdvancedBilling
|
|
7
7
|
# CustomFieldsController
|
8
8
|
class CustomFieldsController < BaseController
|
9
9
|
# ## Custom Fields: Metafield Intro
|
10
|
-
# **
|
11
|
-
# and metadata.** Within the
|
12
|
-
# grouped together under the umbrella of "Custom Fields." All
|
13
|
-
# UI-based documentation that references custom fields will not cite
|
14
|
-
# terminology metafields or metadata.
|
10
|
+
# **Advanced Billing refers to Custom Fields in the API documentation as
|
11
|
+
# metafields and metadata.** Within the Advanced Billing UI, metadata and
|
12
|
+
# metafields are grouped together under the umbrella of "Custom Fields." All
|
13
|
+
# of our UI-based documentation that references custom fields will not cite
|
14
|
+
# the terminology metafields or metadata.
|
15
15
|
# + **Metafield is the custom field**
|
16
16
|
# + **Metadata is the data populating the custom field.**
|
17
|
-
#
|
18
|
-
# and customer resources. Full documentation on how to create
|
19
|
-
# in the
|
20
|
-
# [here](https://maxio
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# [here
|
24
|
-
# -
|
17
|
+
# Advanced Billing Metafields are used to add meaningful attributes to
|
18
|
+
# subscription and customer resources. Full documentation on how to create
|
19
|
+
# Custom Fields in the Advanced Billing UI can be located
|
20
|
+
# [here](https://maxio.zendesk.com/hc/en-us/sections/24266118312589-Custom-F
|
21
|
+
# ields). For additional documentation on how to record data within custom
|
22
|
+
# fields, please see our subscription-based documentation
|
23
|
+
# [here](https://maxio.zendesk.com/hc/en-us/articles/24251701302925-Subscrip
|
24
|
+
# tion-Summary-Custom-Fields-Tab).
|
25
25
|
# Metafield are the place where you will set up your resource to accept
|
26
26
|
# additional data. It is scoped to the site instead of a specific customer
|
27
27
|
# or subscription. Think of it as the key, and Metadata as the value on
|
@@ -60,13 +60,13 @@ module AdvancedBilling
|
|
60
60
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
61
61
|
.auth(Single.new('BasicAuth')))
|
62
62
|
.response(new_response_handler
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
63
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
64
|
+
.deserialize_into(Metafield.method(:from_hash))
|
65
|
+
.is_response_array(true)
|
66
|
+
.local_error_template('422',
|
67
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
68
|
+
' Response: \'{$response.body}\'.',
|
69
|
+
SingleErrorResponseException))
|
70
70
|
.execute
|
71
71
|
end
|
72
72
|
|
@@ -105,8 +105,8 @@ module AdvancedBilling
|
|
105
105
|
.header_param(new_parameter('application/json', key: 'accept'))
|
106
106
|
.auth(Single.new('BasicAuth')))
|
107
107
|
.response(new_response_handler
|
108
|
-
|
109
|
-
|
108
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
109
|
+
.deserialize_into(ListMetafieldsResponse.method(:from_hash)))
|
110
110
|
.execute
|
111
111
|
end
|
112
112
|
|
@@ -131,13 +131,13 @@ module AdvancedBilling
|
|
131
131
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
132
132
|
.auth(Single.new('BasicAuth')))
|
133
133
|
.response(new_response_handler
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
134
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
135
|
+
.deserialize_into(Metafield.method(:from_hash))
|
136
|
+
.is_response_array(true)
|
137
|
+
.local_error_template('422',
|
138
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
139
|
+
' Response: \'{$response.body}\'.',
|
140
|
+
SingleErrorResponseException))
|
141
141
|
.execute
|
142
142
|
end
|
143
143
|
|
@@ -162,29 +162,29 @@ module AdvancedBilling
|
|
162
162
|
.query_param(new_parameter(name, key: 'name'))
|
163
163
|
.auth(Single.new('BasicAuth')))
|
164
164
|
.response(new_response_handler
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
165
|
+
.is_response_void(true)
|
166
|
+
.local_error_template('404',
|
167
|
+
'Not Found:\'{$response.body}\'',
|
168
|
+
APIException))
|
169
169
|
.execute
|
170
170
|
end
|
171
171
|
|
172
172
|
# ## Custom Fields: Metadata Intro
|
173
|
-
# **
|
174
|
-
# and metadata.** Within the
|
175
|
-
# grouped together under the umbrella of "Custom Fields." All
|
176
|
-
# UI-based documentation that references custom fields will not cite
|
177
|
-
# terminology metafields or metadata.
|
173
|
+
# **Advanced Billing refers to Custom Fields in the API documentation as
|
174
|
+
# metafields and metadata.** Within the Advanced Billing UI, metadata and
|
175
|
+
# metafields are grouped together under the umbrella of "Custom Fields." All
|
176
|
+
# of our UI-based documentation that references custom fields will not cite
|
177
|
+
# the terminology metafields or metadata.
|
178
178
|
# + **Metafield is the custom field**
|
179
179
|
# + **Metadata is the data populating the custom field.**
|
180
|
-
#
|
181
|
-
# and customer resources. Full documentation on how to create
|
182
|
-
# in the
|
183
|
-
# [here](https://
|
184
|
-
# additional documentation on how to record data within
|
185
|
-
# please see our subscription-based documentation
|
186
|
-
# [here.](https://
|
187
|
-
#
|
180
|
+
# Advanced Billing Metafields are used to add meaningful attributes to
|
181
|
+
# subscription and customer resources. Full documentation on how to create
|
182
|
+
# Custom Fields in the Advanced Billing UI can be located
|
183
|
+
# [here](https://maxio.zendesk.com/hc/en-us/articles/24266164865677-Custom-F
|
184
|
+
# ields-Overview). For additional documentation on how to record data within
|
185
|
+
# custom fields, please see our subscription-based documentation
|
186
|
+
# [here.](https://maxio.zendesk.com/hc/en-us/articles/24251701302925-Subscri
|
187
|
+
# ption-Summary-Custom-Fields-Tab)
|
188
188
|
# Metadata is associated to a customer or subscription, and corresponds to a
|
189
189
|
# Metafield. When creating a new metadata object for a given record, **if
|
190
190
|
# the metafield is not present it will be created**.
|
@@ -199,8 +199,8 @@ module AdvancedBilling
|
|
199
199
|
# metadata.
|
200
200
|
# @param [ResourceType] resource_type Required parameter: the resource type
|
201
201
|
# to which the metafields belong
|
202
|
-
# @param [Integer] resource_id Required parameter: The
|
203
|
-
# customer or the subscription for which the metadata applies
|
202
|
+
# @param [Integer] resource_id Required parameter: The Advanced Billing id
|
203
|
+
# of the customer or the subscription for which the metadata applies
|
204
204
|
# @param [CreateMetadataRequest] body Optional parameter: Example:
|
205
205
|
# @return [Array[Metadata]] response from the API call
|
206
206
|
def create_metadata(resource_type,
|
@@ -222,13 +222,13 @@ module AdvancedBilling
|
|
222
222
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
223
223
|
.auth(Single.new('BasicAuth')))
|
224
224
|
.response(new_response_handler
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
225
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
226
|
+
.deserialize_into(Metadata.method(:from_hash))
|
227
|
+
.is_response_array(true)
|
228
|
+
.local_error_template('422',
|
229
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
230
|
+
' Response: \'{$response.body}\'.',
|
231
|
+
SingleErrorResponseException))
|
232
232
|
.execute
|
233
233
|
end
|
234
234
|
|
@@ -239,8 +239,8 @@ module AdvancedBilling
|
|
239
239
|
# as a tool for pagination.
|
240
240
|
# @param [ResourceType] resource_type Required parameter: the resource type
|
241
241
|
# to which the metafields belong
|
242
|
-
# @param [Integer] resource_id Required parameter: The
|
243
|
-
# customer or the subscription for which the metadata applies
|
242
|
+
# @param [Integer] resource_id Required parameter: The Advanced Billing id
|
243
|
+
# of the customer or the subscription for which the metadata applies
|
244
244
|
# @param [Integer] page Optional parameter: Result records are organized in
|
245
245
|
# pages. By default, the first page of results is displayed. The page
|
246
246
|
# parameter specifies a page number of results to fetch. You can start
|
@@ -269,8 +269,8 @@ module AdvancedBilling
|
|
269
269
|
.header_param(new_parameter('application/json', key: 'accept'))
|
270
270
|
.auth(Single.new('BasicAuth')))
|
271
271
|
.response(new_response_handler
|
272
|
-
|
273
|
-
|
272
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
273
|
+
.deserialize_into(PaginatedMetadata.method(:from_hash)))
|
274
274
|
.execute
|
275
275
|
end
|
276
276
|
|
@@ -278,8 +278,8 @@ module AdvancedBilling
|
|
278
278
|
# subscription or customer.
|
279
279
|
# @param [ResourceType] resource_type Required parameter: the resource type
|
280
280
|
# to which the metafields belong
|
281
|
-
# @param [Integer] resource_id Required parameter: The
|
282
|
-
# customer or the subscription for which the metadata applies
|
281
|
+
# @param [Integer] resource_id Required parameter: The Advanced Billing id
|
282
|
+
# of the customer or the subscription for which the metadata applies
|
283
283
|
# @param [UpdateMetadataRequest] body Optional parameter: Example:
|
284
284
|
# @return [Array[Metadata]] response from the API call
|
285
285
|
def update_metadata(resource_type,
|
@@ -301,13 +301,13 @@ module AdvancedBilling
|
|
301
301
|
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
302
302
|
.auth(Single.new('BasicAuth')))
|
303
303
|
.response(new_response_handler
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
304
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
305
|
+
.deserialize_into(Metadata.method(:from_hash))
|
306
|
+
.is_response_array(true)
|
307
|
+
.local_error_template('422',
|
308
|
+
'HTTP Response Not OK. Status code: {$statusCode}.'\
|
309
|
+
' Response: \'{$response.body}\'.',
|
310
|
+
SingleErrorResponseException))
|
311
311
|
.execute
|
312
312
|
end
|
313
313
|
|
@@ -332,8 +332,8 @@ module AdvancedBilling
|
|
332
332
|
# and the plain text response of `true`.
|
333
333
|
# @param [ResourceType] resource_type Required parameter: the resource type
|
334
334
|
# to which the metafields belong
|
335
|
-
# @param [Integer] resource_id Required parameter: The
|
336
|
-
# customer or the subscription for which the metadata applies
|
335
|
+
# @param [Integer] resource_id Required parameter: The Advanced Billing id
|
336
|
+
# of the customer or the subscription for which the metadata applies
|
337
337
|
# @param [String] name Optional parameter: Name of field to be removed.
|
338
338
|
# @param [Array[String]] names Optional parameter: Names of fields to be
|
339
339
|
# removed. Use in query:
|
@@ -358,10 +358,10 @@ module AdvancedBilling
|
|
358
358
|
.auth(Single.new('BasicAuth'))
|
359
359
|
.array_serialization_format(ArraySerializationFormat::UN_INDEXED))
|
360
360
|
.response(new_response_handler
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
361
|
+
.is_response_void(true)
|
362
|
+
.local_error_template('404',
|
363
|
+
'Not Found:\'{$response.body}\'',
|
364
|
+
APIException))
|
365
365
|
.execute
|
366
366
|
end
|
367
367
|
|
@@ -440,8 +440,8 @@ module AdvancedBilling
|
|
440
440
|
.auth(Single.new('BasicAuth'))
|
441
441
|
.array_serialization_format(ArraySerializationFormat::UN_INDEXED))
|
442
442
|
.response(new_response_handler
|
443
|
-
|
444
|
-
|
443
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
444
|
+
.deserialize_into(PaginatedMetadata.method(:from_hash)))
|
445
445
|
.execute
|
446
446
|
end
|
447
447
|
end
|