maxio-advanced-billing-sdk 2.0.0 → 3.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.
Files changed (185) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +40 -40
  3. data/lib/advanced_billing/controllers/advance_invoice_controller.rb +6 -4
  4. data/lib/advanced_billing/controllers/base_controller.rb +1 -1
  5. data/lib/advanced_billing/controllers/components_controller.rb +9 -58
  6. data/lib/advanced_billing/controllers/coupons_controller.rb +6 -115
  7. data/lib/advanced_billing/controllers/custom_fields_controller.rb +4 -4
  8. data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +5 -22
  9. data/lib/advanced_billing/controllers/insights_controller.rb +3 -4
  10. data/lib/advanced_billing/controllers/invoices_controller.rb +11 -0
  11. data/lib/advanced_billing/controllers/payment_profiles_controller.rb +26 -0
  12. data/lib/advanced_billing/controllers/product_families_controller.rb +5 -14
  13. data/lib/advanced_billing/controllers/product_price_points_controller.rb +3 -40
  14. data/lib/advanced_billing/controllers/products_controller.rb +5 -14
  15. data/lib/advanced_billing/controllers/subscription_components_controller.rb +16 -66
  16. data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +5 -15
  17. data/lib/advanced_billing/controllers/subscription_groups_controller.rb +6 -6
  18. data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +13 -20
  19. data/lib/advanced_billing/controllers/subscriptions_controller.rb +49 -14
  20. data/lib/advanced_billing/models/ach_agreement.rb +10 -0
  21. data/lib/advanced_billing/models/address_change.rb +0 -22
  22. data/lib/advanced_billing/models/agreement_acceptance.rb +10 -0
  23. data/lib/advanced_billing/models/allocation.rb +1 -3
  24. data/lib/advanced_billing/models/applied_credit_note_data.rb +10 -0
  25. data/lib/advanced_billing/models/apply_credit_note_event.rb +139 -0
  26. data/lib/advanced_billing/models/apply_credit_note_event_data.rb +3 -1
  27. data/lib/advanced_billing/models/apply_debit_note_event.rb +139 -0
  28. data/lib/advanced_billing/models/apply_debit_note_event_data.rb +36 -2
  29. data/lib/advanced_billing/models/apply_payment_event.rb +139 -0
  30. data/lib/advanced_billing/models/apply_payment_event_data.rb +21 -7
  31. data/lib/advanced_billing/models/backport_invoice_event.rb +139 -0
  32. data/lib/advanced_billing/models/bank_account_attributes.rb +10 -0
  33. data/lib/advanced_billing/models/billing_manifest.rb +5 -1
  34. data/lib/advanced_billing/models/billing_schedule.rb +10 -0
  35. data/lib/advanced_billing/models/change_chargeback_status_event.rb +141 -0
  36. data/lib/advanced_billing/models/change_chargeback_status_event_data.rb +73 -0
  37. data/lib/advanced_billing/models/change_invoice_collection_method_event.rb +141 -0
  38. data/lib/advanced_billing/models/change_invoice_status_event.rb +141 -0
  39. data/lib/advanced_billing/models/change_invoice_status_event_data.rb +131 -0
  40. data/lib/advanced_billing/models/chargeback_status.rb +29 -0
  41. data/lib/advanced_billing/models/component.rb +3 -13
  42. data/lib/advanced_billing/models/component_cost_data.rb +10 -0
  43. data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +10 -0
  44. data/lib/advanced_billing/models/component_custom_price.rb +10 -0
  45. data/lib/advanced_billing/models/component_price_point.rb +2 -13
  46. data/lib/advanced_billing/models/component_price_point_item.rb +10 -0
  47. data/lib/advanced_billing/models/coupon.rb +4 -14
  48. data/lib/advanced_billing/models/create_component_price_point.rb +6 -2
  49. data/lib/advanced_billing/models/create_component_price_point_request.rb +1 -1
  50. data/lib/advanced_billing/models/create_component_price_points_request.rb +1 -1
  51. data/lib/advanced_billing/models/create_credit_note_event.rb +139 -0
  52. data/lib/advanced_billing/models/create_debit_note_event.rb +139 -0
  53. data/lib/advanced_billing/models/create_invoice_payment_application.rb +22 -0
  54. data/lib/advanced_billing/models/create_multi_invoice_payment.rb +6 -2
  55. data/lib/advanced_billing/models/create_offer_component.rb +11 -0
  56. data/lib/advanced_billing/models/create_payment_profile.rb +4 -4
  57. data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +10 -4
  58. data/lib/advanced_billing/models/create_product_family.rb +14 -4
  59. data/lib/advanced_billing/models/create_subscription.rb +2 -2
  60. data/lib/advanced_billing/models/credit_card_attributes.rb +10 -0
  61. data/lib/advanced_billing/models/credit_note_application.rb +10 -0
  62. data/lib/advanced_billing/models/credit_note_line_item.rb +10 -0
  63. data/lib/advanced_billing/models/customer.rb +13 -1
  64. data/lib/advanced_billing/models/customer_attributes.rb +10 -0
  65. data/lib/advanced_billing/models/customer_change.rb +7 -22
  66. data/lib/advanced_billing/models/customer_custom_fields_change.rb +0 -22
  67. data/lib/advanced_billing/models/customer_payer_change.rb +0 -22
  68. data/lib/advanced_billing/models/debit_note.rb +351 -0
  69. data/lib/advanced_billing/models/debit_note_role.rb +23 -0
  70. data/lib/advanced_billing/models/debit_note_status.rb +29 -0
  71. data/lib/advanced_billing/models/deduct_service_credit.rb +10 -16
  72. data/lib/advanced_billing/models/dunner_data.rb +38 -0
  73. data/lib/advanced_billing/models/dunning_step_data.rb +34 -0
  74. data/lib/advanced_billing/models/dunning_step_reached.rb +12 -6
  75. data/lib/advanced_billing/models/failed_payment_event.rb +139 -0
  76. data/lib/advanced_billing/models/failed_payment_event_data.rb +132 -0
  77. data/lib/advanced_billing/models/group_billing.rb +10 -0
  78. data/lib/advanced_billing/models/group_settings.rb +4 -2
  79. data/lib/advanced_billing/models/group_target.rb +14 -0
  80. data/lib/advanced_billing/models/historic_usage.rb +109 -0
  81. data/lib/advanced_billing/models/include_null_or_not_null.rb +23 -0
  82. data/lib/advanced_billing/models/invoice.rb +18 -8
  83. data/lib/advanced_billing/models/invoice_address.rb +10 -0
  84. data/lib/advanced_billing/models/invoice_balance_item.rb +10 -0
  85. data/lib/advanced_billing/models/invoice_credit.rb +10 -0
  86. data/lib/advanced_billing/models/invoice_custom_field.rb +10 -0
  87. data/lib/advanced_billing/models/invoice_customer.rb +10 -0
  88. data/lib/advanced_billing/models/invoice_discount.rb +10 -0
  89. data/lib/advanced_billing/models/invoice_discount_breakout.rb +10 -0
  90. data/lib/advanced_billing/models/invoice_display_settings.rb +10 -0
  91. data/lib/advanced_billing/models/invoice_event_type.rb +3 -0
  92. data/lib/advanced_billing/models/invoice_issued.rb +6 -2
  93. data/lib/advanced_billing/models/invoice_line_item.rb +3 -3
  94. data/lib/advanced_billing/models/invoice_line_item_event_data.rb +10 -0
  95. data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +10 -0
  96. data/lib/advanced_billing/models/invoice_payer.rb +10 -0
  97. data/lib/advanced_billing/models/invoice_payment.rb +10 -0
  98. data/lib/advanced_billing/models/invoice_payment_method.rb +10 -0
  99. data/lib/advanced_billing/models/invoice_pre_payment.rb +0 -10
  100. data/lib/advanced_billing/models/invoice_previous_balance.rb +10 -0
  101. data/lib/advanced_billing/models/invoice_refund.rb +10 -0
  102. data/lib/advanced_billing/models/invoice_seller.rb +10 -0
  103. data/lib/advanced_billing/models/invoice_status.rb +2 -2
  104. data/lib/advanced_billing/models/invoice_tax.rb +10 -0
  105. data/lib/advanced_billing/models/invoice_tax_breakout.rb +10 -0
  106. data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +10 -0
  107. data/lib/advanced_billing/models/issue_invoice_event.rb +139 -0
  108. data/lib/advanced_billing/models/issue_invoice_event_data.rb +6 -6
  109. data/lib/advanced_billing/models/issue_service_credit.rb +10 -16
  110. data/lib/advanced_billing/models/item_price_point_changed.rb +8 -4
  111. data/lib/advanced_billing/models/item_price_point_data.rb +10 -0
  112. data/lib/advanced_billing/models/list_components_filter.rb +74 -0
  113. data/lib/advanced_billing/models/list_coupons_filter.rb +168 -0
  114. data/lib/advanced_billing/models/list_invoice_events_response.rb +14 -11
  115. data/lib/advanced_billing/models/{refund_prepayment_aggregated_error.rb → list_mrr_filter.rb} +14 -12
  116. data/lib/advanced_billing/models/{list_subscription_group_prepayment_date_field.rb → list_prepayment_date_field.rb} +4 -4
  117. data/lib/advanced_billing/models/list_prepayments_filter.rb +88 -0
  118. data/lib/advanced_billing/models/list_price_points_filter.rb +163 -0
  119. data/lib/advanced_billing/models/list_products_filter.rb +81 -0
  120. data/lib/advanced_billing/models/list_segments_filter.rb +103 -0
  121. data/lib/advanced_billing/models/list_subscription_components_filter.rb +74 -0
  122. data/lib/advanced_billing/models/list_subscription_components_for_site_filter.rb +84 -0
  123. data/lib/advanced_billing/models/list_subscription_components_include.rb +4 -1
  124. data/lib/advanced_billing/models/metafield_scope.rb +10 -0
  125. data/lib/advanced_billing/models/nested_subscription_group.rb +0 -10
  126. data/lib/advanced_billing/models/origin_invoice.rb +10 -0
  127. data/lib/advanced_billing/models/overage_pricing.rb +14 -0
  128. data/lib/advanced_billing/models/paid_invoice.rb +2 -2
  129. data/lib/advanced_billing/models/payer_attributes.rb +10 -0
  130. data/lib/advanced_billing/models/prepaid_component_price_point.rb +10 -0
  131. data/lib/advanced_billing/models/prepaid_product_price_point_filter.rb +56 -0
  132. data/lib/advanced_billing/models/prepaid_usage.rb +6 -2
  133. data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +10 -0
  134. data/lib/advanced_billing/models/product.rb +5 -16
  135. data/lib/advanced_billing/models/product_price_point.rb +9 -0
  136. data/lib/advanced_billing/models/proforma_invoice.rb +2 -2
  137. data/lib/advanced_billing/models/proforma_invoice_issued.rb +6 -2
  138. data/lib/advanced_billing/models/reactivation_billing.rb +10 -0
  139. data/lib/advanced_billing/models/record_payment_response.rb +1 -13
  140. data/lib/advanced_billing/models/refund_invoice_event.rb +139 -0
  141. data/lib/advanced_billing/models/refund_invoice_event_data.rb +4 -2
  142. data/lib/advanced_billing/models/refund_invoice_request.rb +1 -1
  143. data/lib/advanced_billing/models/refund_prepayment.rb +3 -1
  144. data/lib/advanced_billing/models/remove_payment_event.rb +139 -0
  145. data/lib/advanced_billing/models/remove_payment_event_data.rb +1 -1
  146. data/lib/advanced_billing/models/segment_price.rb +10 -0
  147. data/lib/advanced_billing/models/subscription.rb +10 -16
  148. data/lib/advanced_billing/models/subscription_component.rb +26 -7
  149. data/lib/advanced_billing/models/subscription_component_subscription.rb +10 -0
  150. data/lib/advanced_billing/models/subscription_filter.rb +153 -0
  151. data/lib/advanced_billing/models/subscription_group.rb +2 -2
  152. data/lib/advanced_billing/models/subscription_group_bank_account.rb +10 -0
  153. data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +10 -0
  154. data/lib/advanced_billing/models/subscription_group_prepayment_response.rb +3 -1
  155. data/lib/advanced_billing/models/subscription_group_signup.rb +2 -2
  156. data/lib/advanced_billing/models/subscription_group_signup_failure.rb +4 -2
  157. data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +10 -0
  158. data/lib/advanced_billing/models/subscription_group_signup_item.rb +10 -0
  159. data/lib/advanced_billing/models/subscription_group_signup_response.rb +2 -2
  160. data/lib/advanced_billing/models/subscription_group_signup_success.rb +8 -4
  161. data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +50 -0
  162. data/lib/advanced_billing/models/update_customer.rb +12 -0
  163. data/lib/advanced_billing/models/update_subscription_component.rb +10 -0
  164. data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +10 -0
  165. data/lib/advanced_billing/models/usage.rb +3 -1
  166. data/lib/advanced_billing/models/void_invoice_event.rb +139 -0
  167. data/lib/advanced_billing/models/void_invoice_event_data.rb +8 -7
  168. data/lib/advanced_billing/models/void_remainder_event.rb +139 -0
  169. data/lib/advanced_billing/models/void_remainder_event_data.rb +4 -2
  170. data/lib/advanced_billing/utilities/union_type_lookup.rb +69 -199
  171. data/lib/advanced_billing.rb +42 -18
  172. metadata +38 -17
  173. data/lib/advanced_billing/exceptions/refund_prepayment_aggregated_errors_response_exception.rb +0 -33
  174. data/lib/advanced_billing/models/billing_address.rb +0 -117
  175. data/lib/advanced_billing/models/credit_note1.rb +0 -419
  176. data/lib/advanced_billing/models/customer1.rb +0 -125
  177. data/lib/advanced_billing/models/invoice_event.rb +0 -124
  178. data/lib/advanced_billing/models/invoice_event_data.rb +0 -447
  179. data/lib/advanced_billing/models/invoice_event_payment.rb +0 -168
  180. data/lib/advanced_billing/models/invoice_event_payment1.rb +0 -160
  181. data/lib/advanced_billing/models/prepayment_aggregated_error.rb +0 -81
  182. data/lib/advanced_billing/models/price_point.rb +0 -216
  183. data/lib/advanced_billing/models/refund.rb +0 -138
  184. data/lib/advanced_billing/models/seller.rb +0 -92
  185. data/lib/advanced_billing/models/shipping_address.rb +0 -117
@@ -0,0 +1,168 @@
1
+ # advanced_billing
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ require 'date'
7
+ module AdvancedBilling
8
+ # ListCouponsFilter Model.
9
+ class ListCouponsFilter < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The type of filter you would like to apply to your search. Use in query
14
+ # `filter[date_field]=created_at`.
15
+ # @return [BasicDateField]
16
+ attr_accessor :date_field
17
+
18
+ # The start date (format YYYY-MM-DD) with which to filter the date_field.
19
+ # Returns coupons with a timestamp at or after midnight (12:00:00 AM) in
20
+ # your site’s time zone on the date specified. Use in query
21
+ # `filter[start_date]=2011-12-17`.
22
+ # @return [Date]
23
+ attr_accessor :start_date
24
+
25
+ # The end date (format YYYY-MM-DD) with which to filter the date_field.
26
+ # Returns coupons with a timestamp up to and including 11:59:59PM in your
27
+ # site’s time zone on the date specified. Use in query
28
+ # `filter[end_date]=2011-12-15`.
29
+ # @return [Date]
30
+ attr_accessor :end_date
31
+
32
+ # The start date and time (format YYYY-MM-DD HH:MM:SS) with which to filter
33
+ # the date_field. Returns coupons with a timestamp at or after exact time
34
+ # provided in query. You can specify timezone in query - otherwise your
35
+ # site's time zone will be used. If provided, this parameter will be used
36
+ # instead of start_date. Use in query
37
+ # `filter[start_datetime]=2011-12-19T10:15:30+01:00`.
38
+ # @return [DateTime]
39
+ attr_accessor :start_datetime
40
+
41
+ # The end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter
42
+ # the date_field. Returns coupons with a timestamp at or before exact time
43
+ # provided in query. You can specify timezone in query - otherwise your
44
+ # site's time zone will be used. If provided, this parameter will be used
45
+ # instead of end_date. Use in query
46
+ # `filter[end_datetime]=2011-12-1T10:15:30+01:00`.
47
+ # @return [DateTime]
48
+ attr_accessor :end_datetime
49
+
50
+ # Allows fetching coupons with matching id based on provided values. Use in
51
+ # query `filter[ids]=1,2,3`.
52
+ # @return [Array[Integer]]
53
+ attr_accessor :ids
54
+
55
+ # Allows fetching coupons with matching codes based on provided values. Use
56
+ # in query `filter[codes]=free,free_trial`.
57
+ # @return [Array[String]]
58
+ attr_accessor :codes
59
+
60
+ # Allows fetching coupons with matching use_site_exchange_rate based on
61
+ # provided value. Use in query `filter[use_site_exchange_rate]=true`.
62
+ # @return [TrueClass | FalseClass]
63
+ attr_accessor :use_site_exchange_rate
64
+
65
+ # A mapping from model property names to API property names.
66
+ def self.names
67
+ @_hash = {} if @_hash.nil?
68
+ @_hash['date_field'] = 'date_field'
69
+ @_hash['start_date'] = 'start_date'
70
+ @_hash['end_date'] = 'end_date'
71
+ @_hash['start_datetime'] = 'start_datetime'
72
+ @_hash['end_datetime'] = 'end_datetime'
73
+ @_hash['ids'] = 'ids'
74
+ @_hash['codes'] = 'codes'
75
+ @_hash['use_site_exchange_rate'] = 'use_site_exchange_rate'
76
+ @_hash
77
+ end
78
+
79
+ # An array for optional fields
80
+ def self.optionals
81
+ %w[
82
+ date_field
83
+ start_date
84
+ end_date
85
+ start_datetime
86
+ end_datetime
87
+ ids
88
+ codes
89
+ use_site_exchange_rate
90
+ ]
91
+ end
92
+
93
+ # An array for nullable fields
94
+ def self.nullables
95
+ []
96
+ end
97
+
98
+ def initialize(date_field = SKIP,
99
+ start_date = SKIP,
100
+ end_date = SKIP,
101
+ start_datetime = SKIP,
102
+ end_datetime = SKIP,
103
+ ids = SKIP,
104
+ codes = SKIP,
105
+ use_site_exchange_rate = SKIP,
106
+ additional_properties = {})
107
+ @date_field = date_field unless date_field == SKIP
108
+ @start_date = start_date unless start_date == SKIP
109
+ @end_date = end_date unless end_date == SKIP
110
+ @start_datetime = start_datetime unless start_datetime == SKIP
111
+ @end_datetime = end_datetime unless end_datetime == SKIP
112
+ @ids = ids unless ids == SKIP
113
+ @codes = codes unless codes == SKIP
114
+ @use_site_exchange_rate = use_site_exchange_rate unless use_site_exchange_rate == SKIP
115
+
116
+ # Add additional model properties to the instance.
117
+ additional_properties.each do |_name, _value|
118
+ instance_variable_set("@#{_name}", _value)
119
+ end
120
+ end
121
+
122
+ # Creates an instance of the object from a hash.
123
+ def self.from_hash(hash)
124
+ return nil unless hash
125
+
126
+ # Extract variables from the hash.
127
+ date_field = hash.key?('date_field') ? hash['date_field'] : SKIP
128
+ start_date = hash.key?('start_date') ? hash['start_date'] : SKIP
129
+ end_date = hash.key?('end_date') ? hash['end_date'] : SKIP
130
+ start_datetime = if hash.key?('start_datetime')
131
+ (DateTimeHelper.from_rfc3339(hash['start_datetime']) if hash['start_datetime'])
132
+ else
133
+ SKIP
134
+ end
135
+ end_datetime = if hash.key?('end_datetime')
136
+ (DateTimeHelper.from_rfc3339(hash['end_datetime']) if hash['end_datetime'])
137
+ else
138
+ SKIP
139
+ end
140
+ ids = hash.key?('ids') ? hash['ids'] : SKIP
141
+ codes = hash.key?('codes') ? hash['codes'] : SKIP
142
+ use_site_exchange_rate =
143
+ hash.key?('use_site_exchange_rate') ? hash['use_site_exchange_rate'] : SKIP
144
+
145
+ # Clean out expected properties from Hash.
146
+ names.each_value { |k| hash.delete(k) }
147
+
148
+ # Create object from extracted values.
149
+ ListCouponsFilter.new(date_field,
150
+ start_date,
151
+ end_date,
152
+ start_datetime,
153
+ end_datetime,
154
+ ids,
155
+ codes,
156
+ use_site_exchange_rate,
157
+ hash)
158
+ end
159
+
160
+ def to_custom_start_datetime
161
+ DateTimeHelper.to_rfc3339(start_datetime)
162
+ end
163
+
164
+ def to_custom_end_datetime
165
+ DateTimeHelper.to_rfc3339(end_datetime)
166
+ end
167
+ end
168
+ end
@@ -10,7 +10,7 @@ module AdvancedBilling
10
10
  private_constant :SKIP
11
11
 
12
12
  # TODO: Write general description for this method
13
- # @return [Array[InvoiceEvent]]
13
+ # @return [Array[Object]]
14
14
  attr_accessor :events
15
15
 
16
16
  # TODO: Write general description for this method
@@ -71,16 +71,9 @@ module AdvancedBilling
71
71
  return nil unless hash
72
72
 
73
73
  # Extract variables from the hash.
74
- # Parameter is an array, so we need to iterate through it
75
- events = nil
76
- unless hash['events'].nil?
77
- events = []
78
- hash['events'].each do |structure|
79
- events << (InvoiceEvent.from_hash(structure) if structure)
80
- end
81
- end
82
-
83
- events = SKIP unless hash.key?('events')
74
+ events = hash.key?('events') ? APIHelper.deserialize_union_type(
75
+ UnionTypeLookUp.get(:InvoiceEvent), hash['events']
76
+ ) : SKIP
84
77
  page = hash.key?('page') ? hash['page'] : SKIP
85
78
  per_page = hash.key?('per_page') ? hash['per_page'] : SKIP
86
79
  total_pages = hash.key?('total_pages') ? hash['total_pages'] : SKIP
@@ -95,5 +88,15 @@ module AdvancedBilling
95
88
  total_pages,
96
89
  hash)
97
90
  end
91
+
92
+ # Validates an instance of the object from a given value.
93
+ # @param [ListInvoiceEventsResponse | Hash] The value against the validation is performed.
94
+ def self.validate(value)
95
+ return true if value.instance_of? self
96
+
97
+ return false unless value.instance_of? Hash
98
+
99
+ true
100
+ end
98
101
  end
99
102
  end
@@ -4,26 +4,27 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module AdvancedBilling
7
- # RefundPrepaymentAggregatedError Model.
8
- class RefundPrepaymentAggregatedError < BaseModel
7
+ # ListMrrFilter Model.
8
+ class ListMrrFilter < BaseModel
9
9
  SKIP = Object.new
10
10
  private_constant :SKIP
11
11
 
12
- # TODO: Write general description for this method
13
- # @return [PrepaymentAggregatedError]
14
- attr_accessor :refund
12
+ # Submit ids in order to limit results. Use in query:
13
+ # `filter[subscription_ids]=1,2,3`.
14
+ # @return [Array[Integer]]
15
+ attr_accessor :subscription_ids
15
16
 
16
17
  # A mapping from model property names to API property names.
17
18
  def self.names
18
19
  @_hash = {} if @_hash.nil?
19
- @_hash['refund'] = 'refund'
20
+ @_hash['subscription_ids'] = 'subscription_ids'
20
21
  @_hash
21
22
  end
22
23
 
23
24
  # An array for optional fields
24
25
  def self.optionals
25
26
  %w[
26
- refund
27
+ subscription_ids
27
28
  ]
28
29
  end
29
30
 
@@ -32,9 +33,9 @@ module AdvancedBilling
32
33
  []
33
34
  end
34
35
 
35
- def initialize(refund = SKIP,
36
+ def initialize(subscription_ids = SKIP,
36
37
  additional_properties = {})
37
- @refund = refund unless refund == SKIP
38
+ @subscription_ids = subscription_ids unless subscription_ids == SKIP
38
39
 
39
40
  # Add additional model properties to the instance.
40
41
  additional_properties.each do |_name, _value|
@@ -47,14 +48,15 @@ module AdvancedBilling
47
48
  return nil unless hash
48
49
 
49
50
  # Extract variables from the hash.
50
- refund = PrepaymentAggregatedError.from_hash(hash['refund']) if hash['refund']
51
+ subscription_ids =
52
+ hash.key?('subscription_ids') ? hash['subscription_ids'] : SKIP
51
53
 
52
54
  # Clean out expected properties from Hash.
53
55
  names.each_value { |k| hash.delete(k) }
54
56
 
55
57
  # Create object from extracted values.
56
- RefundPrepaymentAggregatedError.new(refund,
57
- hash)
58
+ ListMrrFilter.new(subscription_ids,
59
+ hash)
58
60
  end
59
61
  end
60
62
  end
@@ -4,9 +4,9 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module AdvancedBilling
7
- # List Subscription Group Prepayment Date Field.
8
- class ListSubscriptionGroupPrepaymentDateField
9
- LIST_SUBSCRIPTION_GROUP_PREPAYMENT_DATE_FIELD = [
7
+ # List Prepayment Date Field.
8
+ class ListPrepaymentDateField
9
+ LIST_PREPAYMENT_DATE_FIELD = [
10
10
  # TODO: Write general description for CREATED_AT
11
11
  CREATED_AT = 'created_at'.freeze,
12
12
 
@@ -17,7 +17,7 @@ module AdvancedBilling
17
17
  def self.validate(value)
18
18
  return false if value.nil?
19
19
 
20
- LIST_SUBSCRIPTION_GROUP_PREPAYMENT_DATE_FIELD.include?(value)
20
+ LIST_PREPAYMENT_DATE_FIELD.include?(value)
21
21
  end
22
22
  end
23
23
  end
@@ -0,0 +1,88 @@
1
+ # advanced_billing
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module AdvancedBilling
7
+ # ListPrepaymentsFilter Model.
8
+ class ListPrepaymentsFilter < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The type of filter you would like to apply to your search. `created_at` -
13
+ # Time when prepayment was created. `application_at` - Time when prepayment
14
+ # was applied to invoice. Use in query `filter[date_field]=created_at`.
15
+ # @return [ListPrepaymentDateField]
16
+ attr_accessor :date_field
17
+
18
+ # The start date (format YYYY-MM-DD) with which to filter the date_field.
19
+ # Returns prepayments with a timestamp at or after midnight (12:00:00 AM) in
20
+ # your site's time zone on the date specified. Use in query:
21
+ # `filter[start_date]=2011-12-15`.
22
+ # @return [Date]
23
+ attr_accessor :start_date
24
+
25
+ # The end date (format YYYY-MM-DD) with which to filter the date_field.
26
+ # Returns prepayments with a timestamp up to and including 11:59:59PM in
27
+ # your site's time zone on the date specified. Use in query:
28
+ # `filter[end_date]=2011-12-15`.
29
+ # @return [Date]
30
+ attr_accessor :end_date
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['date_field'] = 'date_field'
36
+ @_hash['start_date'] = 'start_date'
37
+ @_hash['end_date'] = 'end_date'
38
+ @_hash
39
+ end
40
+
41
+ # An array for optional fields
42
+ def self.optionals
43
+ %w[
44
+ date_field
45
+ start_date
46
+ end_date
47
+ ]
48
+ end
49
+
50
+ # An array for nullable fields
51
+ def self.nullables
52
+ []
53
+ end
54
+
55
+ def initialize(date_field = SKIP,
56
+ start_date = SKIP,
57
+ end_date = SKIP,
58
+ additional_properties = {})
59
+ @date_field = date_field unless date_field == SKIP
60
+ @start_date = start_date unless start_date == SKIP
61
+ @end_date = end_date unless end_date == SKIP
62
+
63
+ # Add additional model properties to the instance.
64
+ additional_properties.each do |_name, _value|
65
+ instance_variable_set("@#{_name}", _value)
66
+ end
67
+ end
68
+
69
+ # Creates an instance of the object from a hash.
70
+ def self.from_hash(hash)
71
+ return nil unless hash
72
+
73
+ # Extract variables from the hash.
74
+ date_field = hash.key?('date_field') ? hash['date_field'] : SKIP
75
+ start_date = hash.key?('start_date') ? hash['start_date'] : SKIP
76
+ end_date = hash.key?('end_date') ? hash['end_date'] : SKIP
77
+
78
+ # Clean out expected properties from Hash.
79
+ names.each_value { |k| hash.delete(k) }
80
+
81
+ # Create object from extracted values.
82
+ ListPrepaymentsFilter.new(date_field,
83
+ start_date,
84
+ end_date,
85
+ hash)
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,163 @@
1
+ # advanced_billing
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ require 'date'
7
+ module AdvancedBilling
8
+ # ListPricePointsFilter Model.
9
+ class ListPricePointsFilter < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The type of filter you would like to apply to your search. Use in query:
14
+ # `filter[date_field]=created_at`.
15
+ # @return [BasicDateField]
16
+ attr_accessor :date_field
17
+
18
+ # The start date (format YYYY-MM-DD) with which to filter the date_field.
19
+ # Returns price points with a timestamp at or after midnight (12:00:00 AM)
20
+ # in your site’s time zone on the date specified.
21
+ # @return [Date]
22
+ attr_accessor :start_date
23
+
24
+ # The end date (format YYYY-MM-DD) with which to filter the date_field.
25
+ # Returns price points with a timestamp up to and including 11:59:59PM in
26
+ # your site’s time zone on the date specified.
27
+ # @return [Date]
28
+ attr_accessor :end_date
29
+
30
+ # The start date and time (format YYYY-MM-DD HH:MM:SS) with which to filter
31
+ # the date_field. Returns price points with a timestamp at or after exact
32
+ # time provided in query. You can specify timezone in query - otherwise your
33
+ # site's time zone will be used. If provided, this parameter will be used
34
+ # instead of start_date.
35
+ # @return [DateTime]
36
+ attr_accessor :start_datetime
37
+
38
+ # The end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter
39
+ # the date_field. Returns price points with a timestamp at or before exact
40
+ # time provided in query. You can specify timezone in query - otherwise your
41
+ # site's time zone will be used. If provided, this parameter will be used
42
+ # instead of end_date.
43
+ # @return [DateTime]
44
+ attr_accessor :end_datetime
45
+
46
+ # Allows fetching price points with matching type. Use in query:
47
+ # `filter[type]=custom,catalog`.
48
+ # @return [Array[PricePointType]]
49
+ attr_accessor :type
50
+
51
+ # Allows fetching price points with matching id based on provided values.
52
+ # Use in query: `filter[ids]=1,2,3`.
53
+ # @return [Array[Integer]]
54
+ attr_accessor :ids
55
+
56
+ # Allows fetching price points only if archived_at is present or not. Use in
57
+ # query: `filter[archived_at]=not_null`.
58
+ # @return [IncludeNullOrNotNull]
59
+ attr_accessor :archived_at
60
+
61
+ # A mapping from model property names to API property names.
62
+ def self.names
63
+ @_hash = {} if @_hash.nil?
64
+ @_hash['date_field'] = 'date_field'
65
+ @_hash['start_date'] = 'start_date'
66
+ @_hash['end_date'] = 'end_date'
67
+ @_hash['start_datetime'] = 'start_datetime'
68
+ @_hash['end_datetime'] = 'end_datetime'
69
+ @_hash['type'] = 'type'
70
+ @_hash['ids'] = 'ids'
71
+ @_hash['archived_at'] = 'archived_at'
72
+ @_hash
73
+ end
74
+
75
+ # An array for optional fields
76
+ def self.optionals
77
+ %w[
78
+ date_field
79
+ start_date
80
+ end_date
81
+ start_datetime
82
+ end_datetime
83
+ type
84
+ ids
85
+ archived_at
86
+ ]
87
+ end
88
+
89
+ # An array for nullable fields
90
+ def self.nullables
91
+ []
92
+ end
93
+
94
+ def initialize(date_field = SKIP,
95
+ start_date = SKIP,
96
+ end_date = SKIP,
97
+ start_datetime = SKIP,
98
+ end_datetime = SKIP,
99
+ type = SKIP,
100
+ ids = SKIP,
101
+ archived_at = SKIP,
102
+ additional_properties = {})
103
+ @date_field = date_field unless date_field == SKIP
104
+ @start_date = start_date unless start_date == SKIP
105
+ @end_date = end_date unless end_date == SKIP
106
+ @start_datetime = start_datetime unless start_datetime == SKIP
107
+ @end_datetime = end_datetime unless end_datetime == SKIP
108
+ @type = type unless type == SKIP
109
+ @ids = ids unless ids == SKIP
110
+ @archived_at = archived_at unless archived_at == SKIP
111
+
112
+ # Add additional model properties to the instance.
113
+ additional_properties.each do |_name, _value|
114
+ instance_variable_set("@#{_name}", _value)
115
+ end
116
+ end
117
+
118
+ # Creates an instance of the object from a hash.
119
+ def self.from_hash(hash)
120
+ return nil unless hash
121
+
122
+ # Extract variables from the hash.
123
+ date_field = hash.key?('date_field') ? hash['date_field'] : SKIP
124
+ start_date = hash.key?('start_date') ? hash['start_date'] : SKIP
125
+ end_date = hash.key?('end_date') ? hash['end_date'] : SKIP
126
+ start_datetime = if hash.key?('start_datetime')
127
+ (DateTimeHelper.from_rfc3339(hash['start_datetime']) if hash['start_datetime'])
128
+ else
129
+ SKIP
130
+ end
131
+ end_datetime = if hash.key?('end_datetime')
132
+ (DateTimeHelper.from_rfc3339(hash['end_datetime']) if hash['end_datetime'])
133
+ else
134
+ SKIP
135
+ end
136
+ type = hash.key?('type') ? hash['type'] : SKIP
137
+ ids = hash.key?('ids') ? hash['ids'] : SKIP
138
+ archived_at = hash.key?('archived_at') ? hash['archived_at'] : SKIP
139
+
140
+ # Clean out expected properties from Hash.
141
+ names.each_value { |k| hash.delete(k) }
142
+
143
+ # Create object from extracted values.
144
+ ListPricePointsFilter.new(date_field,
145
+ start_date,
146
+ end_date,
147
+ start_datetime,
148
+ end_datetime,
149
+ type,
150
+ ids,
151
+ archived_at,
152
+ hash)
153
+ end
154
+
155
+ def to_custom_start_datetime
156
+ DateTimeHelper.to_rfc3339(start_datetime)
157
+ end
158
+
159
+ def to_custom_end_datetime
160
+ DateTimeHelper.to_rfc3339(end_datetime)
161
+ end
162
+ end
163
+ end
@@ -0,0 +1,81 @@
1
+ # advanced_billing
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module AdvancedBilling
7
+ # ListProductsFilter Model.
8
+ class ListProductsFilter < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Allows fetching products only if a prepaid product price point is present
13
+ # or not. To use this filter you also have to include the following param in
14
+ # the request `include=prepaid_product_price_point`. Use in query
15
+ # `filter[prepaid_product_price_point][product_price_point_id]=not_null`.
16
+ # @return [PrepaidProductPricePointFilter]
17
+ attr_accessor :prepaid_product_price_point
18
+
19
+ # Allows fetching products with matching use_site_exchange_rate based on
20
+ # provided value (refers to default price point). Use in query
21
+ # `filter[use_site_exchange_rate]=true`.
22
+ # @return [TrueClass | FalseClass]
23
+ attr_accessor :use_site_exchange_rate
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['prepaid_product_price_point'] = 'prepaid_product_price_point'
29
+ @_hash['use_site_exchange_rate'] = 'use_site_exchange_rate'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ prepaid_product_price_point
37
+ use_site_exchange_rate
38
+ ]
39
+ end
40
+
41
+ # An array for nullable fields
42
+ def self.nullables
43
+ []
44
+ end
45
+
46
+ def initialize(prepaid_product_price_point = SKIP,
47
+ use_site_exchange_rate = SKIP,
48
+ additional_properties = {})
49
+ unless prepaid_product_price_point == SKIP
50
+ @prepaid_product_price_point =
51
+ prepaid_product_price_point
52
+ end
53
+ @use_site_exchange_rate = use_site_exchange_rate unless use_site_exchange_rate == SKIP
54
+
55
+ # Add additional model properties to the instance.
56
+ additional_properties.each do |_name, _value|
57
+ instance_variable_set("@#{_name}", _value)
58
+ end
59
+ end
60
+
61
+ # Creates an instance of the object from a hash.
62
+ def self.from_hash(hash)
63
+ return nil unless hash
64
+
65
+ # Extract variables from the hash.
66
+ if hash['prepaid_product_price_point']
67
+ prepaid_product_price_point = PrepaidProductPricePointFilter.from_hash(hash['prepaid_product_price_point'])
68
+ end
69
+ use_site_exchange_rate =
70
+ hash.key?('use_site_exchange_rate') ? hash['use_site_exchange_rate'] : SKIP
71
+
72
+ # Clean out expected properties from Hash.
73
+ names.each_value { |k| hash.delete(k) }
74
+
75
+ # Create object from extracted values.
76
+ ListProductsFilter.new(prepaid_product_price_point,
77
+ use_site_exchange_rate,
78
+ hash)
79
+ end
80
+ end
81
+ end