subtain-apimatic-sdk 4.1.1 → 9.1.1

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 (711) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +28 -0
  3. data/README.md +377 -0
  4. data/lib/advanced_billing/api_helper.rb +10 -0
  5. data/lib/advanced_billing/client.rb +243 -0
  6. data/lib/advanced_billing/configuration.rb +158 -0
  7. data/lib/advanced_billing/controllers/advance_invoice_controller.rb +126 -0
  8. data/lib/advanced_billing/controllers/api_exports_controller.rb +268 -0
  9. data/lib/advanced_billing/controllers/base_controller.rb +71 -0
  10. data/lib/advanced_billing/controllers/billing_portal_controller.rb +165 -0
  11. data/lib/advanced_billing/controllers/components_controller.rb +747 -0
  12. data/lib/advanced_billing/controllers/coupons_controller.rb +691 -0
  13. data/lib/advanced_billing/controllers/custom_fields_controller.rb +465 -0
  14. data/lib/advanced_billing/controllers/customers_controller.rb +255 -0
  15. data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +334 -0
  16. data/lib/advanced_billing/controllers/events_controller.rb +229 -0
  17. data/lib/advanced_billing/controllers/insights_controller.rb +168 -0
  18. data/lib/advanced_billing/controllers/invoices_controller.rb +953 -0
  19. data/lib/advanced_billing/controllers/offers_controller.rb +132 -0
  20. data/lib/advanced_billing/controllers/payment_profiles_controller.rb +732 -0
  21. data/lib/advanced_billing/controllers/product_families_controller.rb +187 -0
  22. data/lib/advanced_billing/controllers/product_price_points_controller.rb +422 -0
  23. data/lib/advanced_billing/controllers/products_controller.rb +220 -0
  24. data/lib/advanced_billing/controllers/proforma_invoices_controller.rb +381 -0
  25. data/lib/advanced_billing/controllers/reason_codes_controller.rb +158 -0
  26. data/lib/advanced_billing/controllers/referral_codes_controller.rb +42 -0
  27. data/lib/advanced_billing/controllers/sales_commissions_controller.rb +192 -0
  28. data/lib/advanced_billing/controllers/sites_controller.rb +96 -0
  29. data/lib/advanced_billing/controllers/subscription_components_controller.rb +992 -0
  30. data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +163 -0
  31. data/lib/advanced_billing/controllers/subscription_group_status_controller.rb +157 -0
  32. data/lib/advanced_billing/controllers/subscription_groups_controller.rb +300 -0
  33. data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +226 -0
  34. data/lib/advanced_billing/controllers/subscription_notes_controller.rb +159 -0
  35. data/lib/advanced_billing/controllers/subscription_products_controller.rb +166 -0
  36. data/lib/advanced_billing/controllers/subscription_status_controller.rb +473 -0
  37. data/lib/advanced_billing/controllers/subscriptions_controller.rb +1357 -0
  38. data/lib/advanced_billing/controllers/webhooks_controller.rb +210 -0
  39. data/lib/advanced_billing/exceptions/api_exception.rb +10 -0
  40. data/lib/advanced_billing/exceptions/component_allocation_error_exception.rb +41 -0
  41. data/lib/advanced_billing/exceptions/component_price_point_error_exception.rb +41 -0
  42. data/lib/advanced_billing/exceptions/customer_error_response_exception.rb +34 -0
  43. data/lib/advanced_billing/exceptions/error_list_response_exception.rb +32 -0
  44. data/lib/advanced_billing/exceptions/error_map_response_exception.rb +32 -0
  45. data/lib/advanced_billing/exceptions/event_based_billing_list_segments_errors_exception.rb +32 -0
  46. data/lib/advanced_billing/exceptions/event_based_billing_segment_errors_exception.rb +35 -0
  47. data/lib/advanced_billing/exceptions/event_based_billing_segment_exception.rb +32 -0
  48. data/lib/advanced_billing/exceptions/nested_error_response_exception.rb +32 -0
  49. data/lib/advanced_billing/exceptions/proforma_bad_request_error_response_exception.rb +32 -0
  50. data/lib/advanced_billing/exceptions/refund_prepayment_aggregated_errors_response_exception.rb +33 -0
  51. data/lib/advanced_billing/exceptions/refund_prepayment_base_errors_response_exception.rb +32 -0
  52. data/lib/advanced_billing/exceptions/single_error_response_exception.rb +32 -0
  53. data/lib/advanced_billing/exceptions/single_string_error_response_exception.rb +32 -0
  54. data/lib/advanced_billing/exceptions/subscription_add_coupon_error_exception.rb +42 -0
  55. data/lib/advanced_billing/exceptions/subscription_component_allocation_error_exception.rb +41 -0
  56. data/lib/advanced_billing/exceptions/subscription_group_signup_error_response_exception.rb +32 -0
  57. data/lib/advanced_billing/exceptions/subscription_group_update_error_response_exception.rb +32 -0
  58. data/lib/advanced_billing/exceptions/subscription_remove_coupon_errors_exception.rb +32 -0
  59. data/lib/advanced_billing/exceptions/subscriptions_mrr_error_response_exception.rb +32 -0
  60. data/lib/advanced_billing/exceptions/too_many_management_link_requests_error_exception.rb +32 -0
  61. data/lib/advanced_billing/http/auth/basic_auth.rb +50 -0
  62. data/lib/advanced_billing/http/http_call_back.rb +10 -0
  63. data/lib/advanced_billing/http/http_method_enum.rb +10 -0
  64. data/lib/advanced_billing/http/http_request.rb +10 -0
  65. data/lib/advanced_billing/http/http_response.rb +10 -0
  66. data/lib/advanced_billing/models/account_balance.rb +51 -0
  67. data/lib/advanced_billing/models/account_balances.rb +81 -0
  68. data/lib/advanced_billing/models/ach_agreement.rb +96 -0
  69. data/lib/advanced_billing/models/activate_subscription_request.rb +57 -0
  70. data/lib/advanced_billing/models/add_coupons_request.rb +50 -0
  71. data/lib/advanced_billing/models/add_subscription_to_a_group.rb +62 -0
  72. data/lib/advanced_billing/models/agreement_acceptance.rb +125 -0
  73. data/lib/advanced_billing/models/allocate_components.rb +130 -0
  74. data/lib/advanced_billing/models/allocation.rb +231 -0
  75. data/lib/advanced_billing/models/allocation_expiration_date.rb +50 -0
  76. data/lib/advanced_billing/models/allocation_payment.rb +89 -0
  77. data/lib/advanced_billing/models/allocation_preview.rb +190 -0
  78. data/lib/advanced_billing/models/allocation_preview_item.rb +187 -0
  79. data/lib/advanced_billing/models/allocation_preview_line_item.rb +130 -0
  80. data/lib/advanced_billing/models/allocation_preview_response.rb +49 -0
  81. data/lib/advanced_billing/models/allocation_response.rb +50 -0
  82. data/lib/advanced_billing/models/allocation_settings.rb +74 -0
  83. data/lib/advanced_billing/models/applied_credit_note.rb +69 -0
  84. data/lib/advanced_billing/models/apply_credit_note_event_data.rb +174 -0
  85. data/lib/advanced_billing/models/apply_debit_note_event_data.rb +94 -0
  86. data/lib/advanced_billing/models/apply_payment_event_data.rb +130 -0
  87. data/lib/advanced_billing/models/attribute_error.rb +48 -0
  88. data/lib/advanced_billing/models/auto_invite.rb +23 -0
  89. data/lib/advanced_billing/models/auto_resume.rb +51 -0
  90. data/lib/advanced_billing/models/bank_account.rb +270 -0
  91. data/lib/advanced_billing/models/bank_account_attributes.rb +183 -0
  92. data/lib/advanced_billing/models/bank_account_payment_profile.rb +285 -0
  93. data/lib/advanced_billing/models/bank_account_response.rb +48 -0
  94. data/lib/advanced_billing/models/bank_account_type.rb +23 -0
  95. data/lib/advanced_billing/models/bank_account_vault.rb +32 -0
  96. data/lib/advanced_billing/models/bank_account_verification.rb +61 -0
  97. data/lib/advanced_billing/models/bank_account_verification_request.rb +50 -0
  98. data/lib/advanced_billing/models/base_model.rb +62 -0
  99. data/lib/advanced_billing/models/base_refund_error.rb +50 -0
  100. data/lib/advanced_billing/models/base_string_error.rb +50 -0
  101. data/lib/advanced_billing/models/basic_date_field.rb +23 -0
  102. data/lib/advanced_billing/models/batch_job.rb +91 -0
  103. data/lib/advanced_billing/models/batch_job_response.rb +48 -0
  104. data/lib/advanced_billing/models/billing_address.rb +113 -0
  105. data/lib/advanced_billing/models/billing_manifest.rb +142 -0
  106. data/lib/advanced_billing/models/billing_manifest_item.rb +182 -0
  107. data/lib/advanced_billing/models/breakouts.rb +82 -0
  108. data/lib/advanced_billing/models/bulk_component_s_price_point_assignment.rb +59 -0
  109. data/lib/advanced_billing/models/bulk_create_product_price_points_request.rb +57 -0
  110. data/lib/advanced_billing/models/bulk_create_product_price_points_response.rb +59 -0
  111. data/lib/advanced_billing/models/bulk_create_segments.rb +59 -0
  112. data/lib/advanced_billing/models/bulk_update_segments.rb +59 -0
  113. data/lib/advanced_billing/models/bulk_update_segments_item.rb +80 -0
  114. data/lib/advanced_billing/models/calendar_billing.rb +78 -0
  115. data/lib/advanced_billing/models/cancel_grouped_subscriptions_request.rb +51 -0
  116. data/lib/advanced_billing/models/cancellation_method.rb +30 -0
  117. data/lib/advanced_billing/models/cancellation_options.rb +62 -0
  118. data/lib/advanced_billing/models/cancellation_request.rb +48 -0
  119. data/lib/advanced_billing/models/card_type.rb +56 -0
  120. data/lib/advanced_billing/models/card_type1.rb +116 -0
  121. data/lib/advanced_billing/models/change_invoice_collection_method_event_data.rb +71 -0
  122. data/lib/advanced_billing/models/chargify_ebb.rb +113 -0
  123. data/lib/advanced_billing/models/cleanup_scope.rb +26 -0
  124. data/lib/advanced_billing/models/component.rb +405 -0
  125. data/lib/advanced_billing/models/component_allocation_change.rb +142 -0
  126. data/lib/advanced_billing/models/component_allocation_error_item.rb +77 -0
  127. data/lib/advanced_billing/models/component_cost_data.rb +135 -0
  128. data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +101 -0
  129. data/lib/advanced_billing/models/component_custom_price.rb +81 -0
  130. data/lib/advanced_billing/models/component_kind.rb +32 -0
  131. data/lib/advanced_billing/models/component_kind_path.rb +32 -0
  132. data/lib/advanced_billing/models/component_price.rb +123 -0
  133. data/lib/advanced_billing/models/component_price_point.rb +192 -0
  134. data/lib/advanced_billing/models/component_price_point_error_item.rb +68 -0
  135. data/lib/advanced_billing/models/component_price_point_item.rb +98 -0
  136. data/lib/advanced_billing/models/component_price_point_price.rb +123 -0
  137. data/lib/advanced_billing/models/component_price_point_response.rb +48 -0
  138. data/lib/advanced_billing/models/component_price_points_response.rb +59 -0
  139. data/lib/advanced_billing/models/component_response.rb +48 -0
  140. data/lib/advanced_billing/models/component_s_price_point_assignment.rb +71 -0
  141. data/lib/advanced_billing/models/compounding_strategy.rb +23 -0
  142. data/lib/advanced_billing/models/consolidated_invoice.rb +59 -0
  143. data/lib/advanced_billing/models/count_response.rb +50 -0
  144. data/lib/advanced_billing/models/coupon.rb +367 -0
  145. data/lib/advanced_billing/models/coupon_currency.rb +77 -0
  146. data/lib/advanced_billing/models/coupon_currency_request.rb +57 -0
  147. data/lib/advanced_billing/models/coupon_response.rb +50 -0
  148. data/lib/advanced_billing/models/coupon_restriction.rb +99 -0
  149. data/lib/advanced_billing/models/coupon_subcodes.rb +50 -0
  150. data/lib/advanced_billing/models/coupon_subcodes_response.rb +70 -0
  151. data/lib/advanced_billing/models/coupon_usage.rb +114 -0
  152. data/lib/advanced_billing/models/create_allocation.rb +162 -0
  153. data/lib/advanced_billing/models/create_allocation_request.rb +48 -0
  154. data/lib/advanced_billing/models/create_component_price_point.rb +125 -0
  155. data/lib/advanced_billing/models/create_component_price_point_request.rb +64 -0
  156. data/lib/advanced_billing/models/create_component_price_points_request.rb +64 -0
  157. data/lib/advanced_billing/models/create_currency_price.rb +68 -0
  158. data/lib/advanced_billing/models/create_currency_prices_request.rb +57 -0
  159. data/lib/advanced_billing/models/create_customer.rb +209 -0
  160. data/lib/advanced_billing/models/create_customer_request.rb +48 -0
  161. data/lib/advanced_billing/models/create_ebb_component.rb +65 -0
  162. data/lib/advanced_billing/models/create_invoice.rb +163 -0
  163. data/lib/advanced_billing/models/create_invoice_address.rb +124 -0
  164. data/lib/advanced_billing/models/create_invoice_coupon.rb +115 -0
  165. data/lib/advanced_billing/models/create_invoice_item.rb +185 -0
  166. data/lib/advanced_billing/models/create_invoice_payment.rb +90 -0
  167. data/lib/advanced_billing/models/create_invoice_payment_application.rb +79 -0
  168. data/lib/advanced_billing/models/create_invoice_payment_request.rb +58 -0
  169. data/lib/advanced_billing/models/create_invoice_request.rb +48 -0
  170. data/lib/advanced_billing/models/create_metadata.rb +59 -0
  171. data/lib/advanced_billing/models/create_metadata_request.rb +57 -0
  172. data/lib/advanced_billing/models/create_metafield.rb +103 -0
  173. data/lib/advanced_billing/models/create_metafields_request.rb +64 -0
  174. data/lib/advanced_billing/models/create_metered_component.rb +65 -0
  175. data/lib/advanced_billing/models/create_multi_invoice_payment.rb +134 -0
  176. data/lib/advanced_billing/models/create_multi_invoice_payment_request.rb +48 -0
  177. data/lib/advanced_billing/models/create_offer.rb +116 -0
  178. data/lib/advanced_billing/models/create_offer_component.rb +60 -0
  179. data/lib/advanced_billing/models/create_offer_request.rb +48 -0
  180. data/lib/advanced_billing/models/create_on_off_component.rb +65 -0
  181. data/lib/advanced_billing/models/create_or_update_coupon.rb +85 -0
  182. data/lib/advanced_billing/models/create_or_update_flat_amount_coupon.rb +214 -0
  183. data/lib/advanced_billing/models/create_or_update_percentage_coupon.rb +215 -0
  184. data/lib/advanced_billing/models/create_or_update_product.rb +133 -0
  185. data/lib/advanced_billing/models/create_or_update_product_request.rb +48 -0
  186. data/lib/advanced_billing/models/create_or_update_segment_price.rb +87 -0
  187. data/lib/advanced_billing/models/create_payment.rb +75 -0
  188. data/lib/advanced_billing/models/create_payment_profile.rb +416 -0
  189. data/lib/advanced_billing/models/create_payment_profile_request.rb +49 -0
  190. data/lib/advanced_billing/models/create_payment_profile_response.rb +49 -0
  191. data/lib/advanced_billing/models/create_prepaid_component.rb +65 -0
  192. data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +194 -0
  193. data/lib/advanced_billing/models/create_prepayment.rb +90 -0
  194. data/lib/advanced_billing/models/create_prepayment_request.rb +48 -0
  195. data/lib/advanced_billing/models/create_prepayment_response.rb +48 -0
  196. data/lib/advanced_billing/models/create_product_currency_price.rb +64 -0
  197. data/lib/advanced_billing/models/create_product_currency_prices_request.rb +57 -0
  198. data/lib/advanced_billing/models/create_product_family.rb +61 -0
  199. data/lib/advanced_billing/models/create_product_family_request.rb +49 -0
  200. data/lib/advanced_billing/models/create_product_price_point.rb +182 -0
  201. data/lib/advanced_billing/models/create_product_price_point_request.rb +48 -0
  202. data/lib/advanced_billing/models/create_quantity_based_component.rb +66 -0
  203. data/lib/advanced_billing/models/create_reason_code.rb +66 -0
  204. data/lib/advanced_billing/models/create_reason_code_request.rb +48 -0
  205. data/lib/advanced_billing/models/create_segment.rb +143 -0
  206. data/lib/advanced_billing/models/create_segment_request.rb +48 -0
  207. data/lib/advanced_billing/models/create_subscription.rb +694 -0
  208. data/lib/advanced_billing/models/create_subscription_component.rb +122 -0
  209. data/lib/advanced_billing/models/create_subscription_group.rb +74 -0
  210. data/lib/advanced_billing/models/create_subscription_group_request.rb +49 -0
  211. data/lib/advanced_billing/models/create_subscription_request.rb +48 -0
  212. data/lib/advanced_billing/models/create_usage.rb +72 -0
  213. data/lib/advanced_billing/models/create_usage_request.rb +48 -0
  214. data/lib/advanced_billing/models/created_payment_profile.rb +327 -0
  215. data/lib/advanced_billing/models/created_prepayment.rb +114 -0
  216. data/lib/advanced_billing/models/credit_account_balance_changed.rb +120 -0
  217. data/lib/advanced_billing/models/credit_card_attributes.rb +81 -0
  218. data/lib/advanced_billing/models/credit_card_payment_profile.rb +277 -0
  219. data/lib/advanced_billing/models/credit_note.rb +403 -0
  220. data/lib/advanced_billing/models/credit_note1.rb +405 -0
  221. data/lib/advanced_billing/models/credit_note_application.rb +99 -0
  222. data/lib/advanced_billing/models/credit_note_line_item.rb +246 -0
  223. data/lib/advanced_billing/models/credit_scheme.rb +26 -0
  224. data/lib/advanced_billing/models/credit_scheme_request.rb +48 -0
  225. data/lib/advanced_billing/models/credit_type.rb +27 -0
  226. data/lib/advanced_billing/models/credit_type1.rb +28 -0
  227. data/lib/advanced_billing/models/currency_price.rb +99 -0
  228. data/lib/advanced_billing/models/currency_price_role.rb +26 -0
  229. data/lib/advanced_billing/models/current_vault.rb +99 -0
  230. data/lib/advanced_billing/models/custom_field_value_change.rb +144 -0
  231. data/lib/advanced_billing/models/custom_price_used_for_subscription_create_update.rb +197 -0
  232. data/lib/advanced_billing/models/customer.rb +352 -0
  233. data/lib/advanced_billing/models/customer1.rb +120 -0
  234. data/lib/advanced_billing/models/customer_attributes.rb +241 -0
  235. data/lib/advanced_billing/models/customer_billing_address_change.rb +59 -0
  236. data/lib/advanced_billing/models/customer_change.rb +81 -0
  237. data/lib/advanced_billing/models/customer_changes_preview_response.rb +48 -0
  238. data/lib/advanced_billing/models/customer_custom_fields_change.rb +77 -0
  239. data/lib/advanced_billing/models/customer_error.rb +60 -0
  240. data/lib/advanced_billing/models/customer_payer_change.rb +59 -0
  241. data/lib/advanced_billing/models/customer_response.rb +48 -0
  242. data/lib/advanced_billing/models/customer_shipping_address_change.rb +59 -0
  243. data/lib/advanced_billing/models/deduct_service_credit.rb +80 -0
  244. data/lib/advanced_billing/models/deduct_service_credit_request.rb +48 -0
  245. data/lib/advanced_billing/models/delayed_cancellation_response.rb +50 -0
  246. data/lib/advanced_billing/models/delete_subscription_group_response.rb +59 -0
  247. data/lib/advanced_billing/models/direction.rb +23 -0
  248. data/lib/advanced_billing/models/discount_type.rb +23 -0
  249. data/lib/advanced_billing/models/dunner_data.rb +131 -0
  250. data/lib/advanced_billing/models/dunning_step_data.rb +149 -0
  251. data/lib/advanced_billing/models/dunning_step_reached.rb +96 -0
  252. data/lib/advanced_billing/models/ebb_component.rb +271 -0
  253. data/lib/advanced_billing/models/ebb_event.rb +50 -0
  254. data/lib/advanced_billing/models/enable_webhooks_request.rb +49 -0
  255. data/lib/advanced_billing/models/enable_webhooks_response.rb +51 -0
  256. data/lib/advanced_billing/models/endpoint.rb +88 -0
  257. data/lib/advanced_billing/models/endpoint_response.rb +50 -0
  258. data/lib/advanced_billing/models/errors.rb +59 -0
  259. data/lib/advanced_billing/models/event.rb +145 -0
  260. data/lib/advanced_billing/models/event_based_billing_segment_error.rb +51 -0
  261. data/lib/advanced_billing/models/event_response.rb +48 -0
  262. data/lib/advanced_billing/models/event_type.rb +121 -0
  263. data/lib/advanced_billing/models/extended_interval_unit.rb +26 -0
  264. data/lib/advanced_billing/models/failed_payment_action.rb +37 -0
  265. data/lib/advanced_billing/models/first_charge_type.rb +26 -0
  266. data/lib/advanced_billing/models/full_subscription_group_response.rb +165 -0
  267. data/lib/advanced_billing/models/get_one_time_token_payment_profile.rb +249 -0
  268. data/lib/advanced_billing/models/get_one_time_token_request.rb +49 -0
  269. data/lib/advanced_billing/models/group_billing.rb +85 -0
  270. data/lib/advanced_billing/models/group_settings.rb +76 -0
  271. data/lib/advanced_billing/models/group_target.rb +75 -0
  272. data/lib/advanced_billing/models/group_target_type.rb +32 -0
  273. data/lib/advanced_billing/models/holder_type.rb +23 -0
  274. data/lib/advanced_billing/models/include_not_null.rb +20 -0
  275. data/lib/advanced_billing/models/include_option.rb +23 -0
  276. data/lib/advanced_billing/models/interval_unit.rb +23 -0
  277. data/lib/advanced_billing/models/invoice.rb +712 -0
  278. data/lib/advanced_billing/models/invoice_address.rb +113 -0
  279. data/lib/advanced_billing/models/invoice_balance_item.rb +79 -0
  280. data/lib/advanced_billing/models/invoice_consolidation_level.rb +34 -0
  281. data/lib/advanced_billing/models/invoice_credit.rb +121 -0
  282. data/lib/advanced_billing/models/invoice_custom_field.rb +88 -0
  283. data/lib/advanced_billing/models/invoice_customer.rb +121 -0
  284. data/lib/advanced_billing/models/invoice_date_field.rb +32 -0
  285. data/lib/advanced_billing/models/invoice_discount.rb +177 -0
  286. data/lib/advanced_billing/models/invoice_discount_breakout.rb +80 -0
  287. data/lib/advanced_billing/models/invoice_display_settings.rb +75 -0
  288. data/lib/advanced_billing/models/invoice_event.rb +102 -0
  289. data/lib/advanced_billing/models/invoice_event1.rb +374 -0
  290. data/lib/advanced_billing/models/invoice_event_type.rb +50 -0
  291. data/lib/advanced_billing/models/invoice_issued.rb +252 -0
  292. data/lib/advanced_billing/models/invoice_line_item.rb +321 -0
  293. data/lib/advanced_billing/models/invoice_line_item_component_cost_data.rb +69 -0
  294. data/lib/advanced_billing/models/invoice_line_item_event_data.rb +262 -0
  295. data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +69 -0
  296. data/lib/advanced_billing/models/invoice_payer.rb +109 -0
  297. data/lib/advanced_billing/models/invoice_payment.rb +155 -0
  298. data/lib/advanced_billing/models/invoice_payment_application.rb +73 -0
  299. data/lib/advanced_billing/models/invoice_payment_method.rb +129 -0
  300. data/lib/advanced_billing/models/invoice_payment_method_type.rb +35 -0
  301. data/lib/advanced_billing/models/invoice_payment_type.rb +29 -0
  302. data/lib/advanced_billing/models/invoice_previous_balance.rb +78 -0
  303. data/lib/advanced_billing/models/invoice_refund.rb +113 -0
  304. data/lib/advanced_billing/models/invoice_response.rb +48 -0
  305. data/lib/advanced_billing/models/invoice_seller.rb +90 -0
  306. data/lib/advanced_billing/models/invoice_sort_field.rb +41 -0
  307. data/lib/advanced_billing/models/invoice_tax.rb +176 -0
  308. data/lib/advanced_billing/models/invoice_tax_breakout.rb +79 -0
  309. data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +89 -0
  310. data/lib/advanced_billing/models/issue_advance_invoice_request.rb +50 -0
  311. data/lib/advanced_billing/models/issue_invoice_event_data.rb +115 -0
  312. data/lib/advanced_billing/models/issue_invoice_request.rb +63 -0
  313. data/lib/advanced_billing/models/issue_service_credit.rb +80 -0
  314. data/lib/advanced_billing/models/issue_service_credit_request.rb +49 -0
  315. data/lib/advanced_billing/models/item_category.rb +33 -0
  316. data/lib/advanced_billing/models/item_price_point_changed.rb +134 -0
  317. data/lib/advanced_billing/models/item_price_point_data.rb +78 -0
  318. data/lib/advanced_billing/models/list_components_price_points_include.rb +20 -0
  319. data/lib/advanced_billing/models/list_components_price_points_response.rb +57 -0
  320. data/lib/advanced_billing/models/list_credit_notes_response.rb +57 -0
  321. data/lib/advanced_billing/models/list_events_date_field.rb +20 -0
  322. data/lib/advanced_billing/models/list_invoice_events_response.rb +87 -0
  323. data/lib/advanced_billing/models/list_invoices_response.rb +57 -0
  324. data/lib/advanced_billing/models/list_metafields_response.rb +96 -0
  325. data/lib/advanced_billing/models/list_mrr_response.rb +48 -0
  326. data/lib/advanced_billing/models/list_mrr_response_result.rb +116 -0
  327. data/lib/advanced_billing/models/list_offers_response.rb +59 -0
  328. data/lib/advanced_billing/models/list_payment_profile_item.rb +274 -0
  329. data/lib/advanced_billing/models/list_payment_profiles_response.rb +51 -0
  330. data/lib/advanced_billing/models/list_product_price_points_response.rb +57 -0
  331. data/lib/advanced_billing/models/list_products_include.rb +20 -0
  332. data/lib/advanced_billing/models/list_products_price_points_include.rb +20 -0
  333. data/lib/advanced_billing/models/list_public_keys_meta.rb +78 -0
  334. data/lib/advanced_billing/models/list_public_keys_response.rb +68 -0
  335. data/lib/advanced_billing/models/list_sale_rep_item.rb +90 -0
  336. data/lib/advanced_billing/models/list_segments_response.rb +59 -0
  337. data/lib/advanced_billing/models/list_subcription_group_prepayment_item.rb +137 -0
  338. data/lib/advanced_billing/models/list_subscription_components_include.rb +20 -0
  339. data/lib/advanced_billing/models/list_subscription_components_response.rb +57 -0
  340. data/lib/advanced_billing/models/list_subscription_components_sort.rb +23 -0
  341. data/lib/advanced_billing/models/list_subscription_group_prepayment.rb +49 -0
  342. data/lib/advanced_billing/models/list_subscription_group_prepayment_date_field.rb +23 -0
  343. data/lib/advanced_billing/models/list_subscription_group_prepayment_response.rb +57 -0
  344. data/lib/advanced_billing/models/list_subscription_groups_item.rb +141 -0
  345. data/lib/advanced_billing/models/list_subscription_groups_meta.rb +59 -0
  346. data/lib/advanced_billing/models/list_subscription_groups_response.rb +68 -0
  347. data/lib/advanced_billing/models/metadata.rb +98 -0
  348. data/lib/advanced_billing/models/metafield.rb +112 -0
  349. data/lib/advanced_billing/models/metafield_input.rb +32 -0
  350. data/lib/advanced_billing/models/metafield_scope.rb +119 -0
  351. data/lib/advanced_billing/models/metafields.rb +103 -0
  352. data/lib/advanced_billing/models/metafields1.rb +103 -0
  353. data/lib/advanced_billing/models/metered_component.rb +294 -0
  354. data/lib/advanced_billing/models/metered_usage.rb +132 -0
  355. data/lib/advanced_billing/models/movement.rb +138 -0
  356. data/lib/advanced_billing/models/movement_line_item.rb +143 -0
  357. data/lib/advanced_billing/models/mrr.rb +100 -0
  358. data/lib/advanced_billing/models/mrr_movement.rb +79 -0
  359. data/lib/advanced_billing/models/mrr_response.rb +48 -0
  360. data/lib/advanced_billing/models/multi_invoice_payment.rb +90 -0
  361. data/lib/advanced_billing/models/multi_invoice_payment_response.rb +48 -0
  362. data/lib/advanced_billing/models/net_terms.rb +94 -0
  363. data/lib/advanced_billing/models/offer.rb +254 -0
  364. data/lib/advanced_billing/models/offer_discount.rb +68 -0
  365. data/lib/advanced_billing/models/offer_item.rb +130 -0
  366. data/lib/advanced_billing/models/offer_response.rb +50 -0
  367. data/lib/advanced_billing/models/offer_signup_page.rb +96 -0
  368. data/lib/advanced_billing/models/on_off_component.rb +291 -0
  369. data/lib/advanced_billing/models/organization_address.rb +123 -0
  370. data/lib/advanced_billing/models/origin_invoice.rb +69 -0
  371. data/lib/advanced_billing/models/overage_pricing.rb +87 -0
  372. data/lib/advanced_billing/models/override_subscription.rb +100 -0
  373. data/lib/advanced_billing/models/override_subscription_request.rb +48 -0
  374. data/lib/advanced_billing/models/paginated_metadata.rb +96 -0
  375. data/lib/advanced_billing/models/pause_request.rb +50 -0
  376. data/lib/advanced_billing/models/payer_attributes.rb +221 -0
  377. data/lib/advanced_billing/models/payer_error.rb +68 -0
  378. data/lib/advanced_billing/models/payment.rb +80 -0
  379. data/lib/advanced_billing/models/payment_collection_method.rb +32 -0
  380. data/lib/advanced_billing/models/payment_collection_method1.rb +30 -0
  381. data/lib/advanced_billing/models/payment_collection_method_changed.rb +79 -0
  382. data/lib/advanced_billing/models/payment_method_apple_pay_type.rb +60 -0
  383. data/lib/advanced_billing/models/payment_method_bank_account_type.rb +81 -0
  384. data/lib/advanced_billing/models/payment_method_credit_card_type.rb +101 -0
  385. data/lib/advanced_billing/models/payment_method_external_type.rb +87 -0
  386. data/lib/advanced_billing/models/payment_method_nested_data.rb +150 -0
  387. data/lib/advanced_billing/models/payment_method_paypal_type.rb +69 -0
  388. data/lib/advanced_billing/models/payment_profile.rb +287 -0
  389. data/lib/advanced_billing/models/payment_profile_attributes.rb +356 -0
  390. data/lib/advanced_billing/models/payment_profile_response.rb +49 -0
  391. data/lib/advanced_billing/models/payment_related_events.rb +79 -0
  392. data/lib/advanced_billing/models/payment_response.rb +68 -0
  393. data/lib/advanced_billing/models/payment_type.rb +26 -0
  394. data/lib/advanced_billing/models/pending_cancellation_change.rb +79 -0
  395. data/lib/advanced_billing/models/portal_management_link.rb +101 -0
  396. data/lib/advanced_billing/models/pre_payment.rb +74 -0
  397. data/lib/advanced_billing/models/prepaid_component_price_point.rb +108 -0
  398. data/lib/advanced_billing/models/prepaid_configuration.rb +103 -0
  399. data/lib/advanced_billing/models/prepaid_configuration_response.rb +49 -0
  400. data/lib/advanced_billing/models/prepaid_subscription_balance_changed.rb +110 -0
  401. data/lib/advanced_billing/models/prepaid_usage.rb +199 -0
  402. data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +80 -0
  403. data/lib/advanced_billing/models/prepaid_usage_component.rb +350 -0
  404. data/lib/advanced_billing/models/prepayment1.rb +131 -0
  405. data/lib/advanced_billing/models/prepayment_account_balance_changed.rb +108 -0
  406. data/lib/advanced_billing/models/prepayment_aggregated_error.rb +69 -0
  407. data/lib/advanced_billing/models/prepayment_method.rb +41 -0
  408. data/lib/advanced_billing/models/prepayment_response.rb +48 -0
  409. data/lib/advanced_billing/models/prepayments_response.rb +59 -0
  410. data/lib/advanced_billing/models/preview_allocations_request.rb +69 -0
  411. data/lib/advanced_billing/models/price.rb +98 -0
  412. data/lib/advanced_billing/models/price_point.rb +172 -0
  413. data/lib/advanced_billing/models/price_point_type.rb +30 -0
  414. data/lib/advanced_billing/models/pricing_scheme.rb +31 -0
  415. data/lib/advanced_billing/models/product.rb +506 -0
  416. data/lib/advanced_billing/models/product_family.rb +120 -0
  417. data/lib/advanced_billing/models/product_family_response.rb +50 -0
  418. data/lib/advanced_billing/models/product_price_point.rb +289 -0
  419. data/lib/advanced_billing/models/product_price_point_currency_price.rb +99 -0
  420. data/lib/advanced_billing/models/product_price_point_response.rb +48 -0
  421. data/lib/advanced_billing/models/product_response.rb +48 -0
  422. data/lib/advanced_billing/models/proforma_custom_field.rb +87 -0
  423. data/lib/advanced_billing/models/proforma_error.rb +51 -0
  424. data/lib/advanced_billing/models/proforma_invoice.rb +463 -0
  425. data/lib/advanced_billing/models/proforma_invoice_credit.rb +80 -0
  426. data/lib/advanced_billing/models/proforma_invoice_discount.rb +108 -0
  427. data/lib/advanced_billing/models/proforma_invoice_discount_breakout.rb +61 -0
  428. data/lib/advanced_billing/models/proforma_invoice_issued.rb +202 -0
  429. data/lib/advanced_billing/models/proforma_invoice_payment.rb +80 -0
  430. data/lib/advanced_billing/models/proforma_invoice_preview.rb +463 -0
  431. data/lib/advanced_billing/models/proforma_invoice_tax.rb +116 -0
  432. data/lib/advanced_billing/models/proforma_invoice_tax_breakout.rb +60 -0
  433. data/lib/advanced_billing/models/proration.rb +52 -0
  434. data/lib/advanced_billing/models/public_key.rb +70 -0
  435. data/lib/advanced_billing/models/public_signup_page.rb +92 -0
  436. data/lib/advanced_billing/models/quantity_based_component.rb +303 -0
  437. data/lib/advanced_billing/models/reactivate_subscription_group_request.rb +60 -0
  438. data/lib/advanced_billing/models/reactivate_subscription_group_response.rb +130 -0
  439. data/lib/advanced_billing/models/reactivate_subscription_request.rb +122 -0
  440. data/lib/advanced_billing/models/reactivation_billing.rb +66 -0
  441. data/lib/advanced_billing/models/reactivation_charge.rb +30 -0
  442. data/lib/advanced_billing/models/read_payment_profile_response.rb +64 -0
  443. data/lib/advanced_billing/models/reason_code.rb +105 -0
  444. data/lib/advanced_billing/models/reason_code_response.rb +48 -0
  445. data/lib/advanced_billing/models/reason_codes_json_response.rb +50 -0
  446. data/lib/advanced_billing/models/record_payment_request.rb +48 -0
  447. data/lib/advanced_billing/models/recurring_scheme.rb +26 -0
  448. data/lib/advanced_billing/models/referral_code.rb +79 -0
  449. data/lib/advanced_billing/models/referral_validation_response.rb +50 -0
  450. data/lib/advanced_billing/models/refund.rb +124 -0
  451. data/lib/advanced_billing/models/refund_consolidated_invoice.rb +125 -0
  452. data/lib/advanced_billing/models/refund_invoice.rb +124 -0
  453. data/lib/advanced_billing/models/refund_invoice_event_data.rb +171 -0
  454. data/lib/advanced_billing/models/refund_invoice_request.rb +64 -0
  455. data/lib/advanced_billing/models/refund_prepayment.rb +106 -0
  456. data/lib/advanced_billing/models/refund_prepayment_aggregated_error.rb +50 -0
  457. data/lib/advanced_billing/models/refund_prepayment_base_refund_error.rb +50 -0
  458. data/lib/advanced_billing/models/refund_prepayment_request.rb +48 -0
  459. data/lib/advanced_billing/models/refund_success.rb +92 -0
  460. data/lib/advanced_billing/models/remove_payment_event_data.rb +131 -0
  461. data/lib/advanced_billing/models/renewal_preview.rb +157 -0
  462. data/lib/advanced_billing/models/renewal_preview_component.rb +91 -0
  463. data/lib/advanced_billing/models/renewal_preview_line_item.rb +161 -0
  464. data/lib/advanced_billing/models/renewal_preview_request.rb +62 -0
  465. data/lib/advanced_billing/models/renewal_preview_response.rb +49 -0
  466. data/lib/advanced_billing/models/replay_webhooks_request.rb +48 -0
  467. data/lib/advanced_billing/models/replay_webhooks_response.rb +50 -0
  468. data/lib/advanced_billing/models/resent_invitation.rb +81 -0
  469. data/lib/advanced_billing/models/resource_type.rb +23 -0
  470. data/lib/advanced_billing/models/restriction_type.rb +23 -0
  471. data/lib/advanced_billing/models/resume_options.rb +75 -0
  472. data/lib/advanced_billing/models/resumption_charge.rb +27 -0
  473. data/lib/advanced_billing/models/revoked_invitation.rb +71 -0
  474. data/lib/advanced_billing/models/sale_rep.rb +97 -0
  475. data/lib/advanced_billing/models/sale_rep_item_mrr.rb +68 -0
  476. data/lib/advanced_billing/models/sale_rep_settings.rb +109 -0
  477. data/lib/advanced_billing/models/sale_rep_subscription.rb +137 -0
  478. data/lib/advanced_billing/models/segment.rb +189 -0
  479. data/lib/advanced_billing/models/segment_price.rb +132 -0
  480. data/lib/advanced_billing/models/segment_response.rb +50 -0
  481. data/lib/advanced_billing/models/seller.rb +89 -0
  482. data/lib/advanced_billing/models/send_invoice_request.rb +72 -0
  483. data/lib/advanced_billing/models/service_credit.rb +90 -0
  484. data/lib/advanced_billing/models/service_credit_response.rb +48 -0
  485. data/lib/advanced_billing/models/service_credit_type.rb +23 -0
  486. data/lib/advanced_billing/models/shipping_address.rb +113 -0
  487. data/lib/advanced_billing/models/signup_proforma_preview.rb +62 -0
  488. data/lib/advanced_billing/models/signup_proforma_preview_response.rb +50 -0
  489. data/lib/advanced_billing/models/site.rb +212 -0
  490. data/lib/advanced_billing/models/site_response.rb +48 -0
  491. data/lib/advanced_billing/models/site_statistics.rb +171 -0
  492. data/lib/advanced_billing/models/site_summary.rb +87 -0
  493. data/lib/advanced_billing/models/snap_day.rb +21 -0
  494. data/lib/advanced_billing/models/sorting_direction.rb +23 -0
  495. data/lib/advanced_billing/models/status.rb +37 -0
  496. data/lib/advanced_billing/models/status1.rb +23 -0
  497. data/lib/advanced_billing/models/subscription.rb +776 -0
  498. data/lib/advanced_billing/models/subscription_bank_account.rb +281 -0
  499. data/lib/advanced_billing/models/subscription_component.rb +400 -0
  500. data/lib/advanced_billing/models/subscription_component_allocation_error_item.rb +59 -0
  501. data/lib/advanced_billing/models/subscription_component_response.rb +50 -0
  502. data/lib/advanced_billing/models/subscription_component_subscription.rb +70 -0
  503. data/lib/advanced_billing/models/subscription_date_field.rb +44 -0
  504. data/lib/advanced_billing/models/subscription_group.rb +94 -0
  505. data/lib/advanced_billing/models/subscription_group_balances.rb +80 -0
  506. data/lib/advanced_billing/models/subscription_group_bank_account.rb +228 -0
  507. data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +105 -0
  508. data/lib/advanced_billing/models/subscription_group_credit_card.rb +266 -0
  509. data/lib/advanced_billing/models/subscription_group_customer.rb +87 -0
  510. data/lib/advanced_billing/models/subscription_group_inlined.rb +92 -0
  511. data/lib/advanced_billing/models/subscription_group_item.rb +147 -0
  512. data/lib/advanced_billing/models/subscription_group_member_error.rb +68 -0
  513. data/lib/advanced_billing/models/subscription_group_payment_profile.rb +79 -0
  514. data/lib/advanced_billing/models/subscription_group_prepayment.rb +72 -0
  515. data/lib/advanced_billing/models/subscription_group_prepayment_method.rb +35 -0
  516. data/lib/advanced_billing/models/subscription_group_prepayment_request.rb +48 -0
  517. data/lib/advanced_billing/models/subscription_group_prepayment_response.rb +90 -0
  518. data/lib/advanced_billing/models/subscription_group_response.rb +49 -0
  519. data/lib/advanced_billing/models/subscription_group_signup.rb +153 -0
  520. data/lib/advanced_billing/models/subscription_group_signup_component.rb +108 -0
  521. data/lib/advanced_billing/models/subscription_group_signup_error.rb +109 -0
  522. data/lib/advanced_billing/models/subscription_group_signup_failure.rb +84 -0
  523. data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +146 -0
  524. data/lib/advanced_billing/models/subscription_group_signup_item.rb +200 -0
  525. data/lib/advanced_billing/models/subscription_group_signup_request.rb +49 -0
  526. data/lib/advanced_billing/models/subscription_group_signup_response.rb +167 -0
  527. data/lib/advanced_billing/models/subscription_group_signup_success.rb +84 -0
  528. data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +170 -0
  529. data/lib/advanced_billing/models/subscription_group_subscription_error.rb +86 -0
  530. data/lib/advanced_billing/models/subscription_group_update_error.rb +59 -0
  531. data/lib/advanced_billing/models/subscription_include.rb +23 -0
  532. data/lib/advanced_billing/models/subscription_included_coupon.rb +121 -0
  533. data/lib/advanced_billing/models/subscription_list_date_field.rb +20 -0
  534. data/lib/advanced_billing/models/subscription_migration_preview.rb +88 -0
  535. data/lib/advanced_billing/models/subscription_migration_preview_options.rb +158 -0
  536. data/lib/advanced_billing/models/subscription_migration_preview_request.rb +49 -0
  537. data/lib/advanced_billing/models/subscription_migration_preview_response.rb +48 -0
  538. data/lib/advanced_billing/models/subscription_mrr.rb +69 -0
  539. data/lib/advanced_billing/models/subscription_mrr_breakout.rb +58 -0
  540. data/lib/advanced_billing/models/subscription_mrr_response.rb +57 -0
  541. data/lib/advanced_billing/models/subscription_note.rb +97 -0
  542. data/lib/advanced_billing/models/subscription_note_response.rb +48 -0
  543. data/lib/advanced_billing/models/subscription_preview.rb +62 -0
  544. data/lib/advanced_billing/models/subscription_preview_response.rb +49 -0
  545. data/lib/advanced_billing/models/subscription_product_change.rb +80 -0
  546. data/lib/advanced_billing/models/subscription_product_migration.rb +148 -0
  547. data/lib/advanced_billing/models/subscription_product_migration_request.rb +48 -0
  548. data/lib/advanced_billing/models/subscription_purge_type.rb +23 -0
  549. data/lib/advanced_billing/models/subscription_response.rb +50 -0
  550. data/lib/advanced_billing/models/subscription_sort.rb +35 -0
  551. data/lib/advanced_billing/models/subscription_state.rb +53 -0
  552. data/lib/advanced_billing/models/subscription_state_change.rb +81 -0
  553. data/lib/advanced_billing/models/tax_configuration.rb +73 -0
  554. data/lib/advanced_billing/models/tax_configuration_kind.rb +29 -0
  555. data/lib/advanced_billing/models/tax_destination_address.rb +29 -0
  556. data/lib/advanced_billing/models/too_many_management_link_requests.rb +63 -0
  557. data/lib/advanced_billing/models/update_allocation_expiration_date.rb +50 -0
  558. data/lib/advanced_billing/models/update_component.rb +137 -0
  559. data/lib/advanced_billing/models/update_component_price_point.rb +68 -0
  560. data/lib/advanced_billing/models/update_component_price_point_request.rb +51 -0
  561. data/lib/advanced_billing/models/update_component_request.rb +48 -0
  562. data/lib/advanced_billing/models/update_coupon_currency.rb +56 -0
  563. data/lib/advanced_billing/models/update_currency_price.rb +56 -0
  564. data/lib/advanced_billing/models/update_currency_prices_request.rb +57 -0
  565. data/lib/advanced_billing/models/update_customer.rb +211 -0
  566. data/lib/advanced_billing/models/update_customer_request.rb +48 -0
  567. data/lib/advanced_billing/models/update_endpoint.rb +57 -0
  568. data/lib/advanced_billing/models/update_endpoint_request.rb +48 -0
  569. data/lib/advanced_billing/models/update_metadata.rb +68 -0
  570. data/lib/advanced_billing/models/update_metadata_request.rb +50 -0
  571. data/lib/advanced_billing/models/update_metafield.rb +103 -0
  572. data/lib/advanced_billing/models/update_metafields_request.rb +62 -0
  573. data/lib/advanced_billing/models/update_payment_profile.rb +187 -0
  574. data/lib/advanced_billing/models/update_payment_profile_request.rb +49 -0
  575. data/lib/advanced_billing/models/update_payment_profile_response.rb +49 -0
  576. data/lib/advanced_billing/models/update_price.rb +89 -0
  577. data/lib/advanced_billing/models/update_product_price_point.rb +60 -0
  578. data/lib/advanced_billing/models/update_product_price_point_request.rb +48 -0
  579. data/lib/advanced_billing/models/update_reason_code.rb +68 -0
  580. data/lib/advanced_billing/models/update_reason_code_request.rb +48 -0
  581. data/lib/advanced_billing/models/update_segment.rb +74 -0
  582. data/lib/advanced_billing/models/update_segment_request.rb +48 -0
  583. data/lib/advanced_billing/models/update_subscription.rb +270 -0
  584. data/lib/advanced_billing/models/update_subscription_component.rb +70 -0
  585. data/lib/advanced_billing/models/update_subscription_group.rb +50 -0
  586. data/lib/advanced_billing/models/update_subscription_group_request.rb +49 -0
  587. data/lib/advanced_billing/models/update_subscription_note.rb +56 -0
  588. data/lib/advanced_billing/models/update_subscription_note_request.rb +48 -0
  589. data/lib/advanced_billing/models/update_subscription_request.rb +48 -0
  590. data/lib/advanced_billing/models/updated_payment_profile.rb +255 -0
  591. data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +104 -0
  592. data/lib/advanced_billing/models/upsert_prepaid_configuration_request.rb +49 -0
  593. data/lib/advanced_billing/models/usage.rb +141 -0
  594. data/lib/advanced_billing/models/usage_response.rb +48 -0
  595. data/lib/advanced_billing/models/void_invoice.rb +48 -0
  596. data/lib/advanced_billing/models/void_invoice_event_data.rb +111 -0
  597. data/lib/advanced_billing/models/void_invoice_event_data1.rb +100 -0
  598. data/lib/advanced_billing/models/void_invoice_request.rb +48 -0
  599. data/lib/advanced_billing/models/webhook.rb +165 -0
  600. data/lib/advanced_billing/models/webhook_order.rb +23 -0
  601. data/lib/advanced_billing/models/webhook_response.rb +50 -0
  602. data/lib/advanced_billing/models/webhook_status.rb +29 -0
  603. data/lib/advanced_billing/models/webhook_subscription.rb +124 -0
  604. data/lib/advanced_billing/utilities/date_time_helper.rb +11 -0
  605. data/lib/advanced_billing/utilities/file_wrapper.rb +16 -0
  606. data/lib/advanced_billing/utilities/union_type_lookup.rb +1240 -0
  607. data/lib/advanced_billing.rb +669 -0
  608. metadata +614 -111
  609. data/bin/arch +0 -1
  610. data/bin/ash +0 -1
  611. data/bin/base64 +0 -1
  612. data/bin/bbconfig +0 -1
  613. data/bin/busybox +0 -0
  614. data/bin/cat +0 -1
  615. data/bin/chattr +0 -1
  616. data/bin/chgrp +0 -1
  617. data/bin/chmod +0 -1
  618. data/bin/chown +0 -1
  619. data/bin/cp +0 -1
  620. data/bin/date +0 -1
  621. data/bin/dd +0 -1
  622. data/bin/df +0 -1
  623. data/bin/dmesg +0 -1
  624. data/bin/dnsdomainname +0 -1
  625. data/bin/dumpkmap +0 -1
  626. data/bin/echo +0 -1
  627. data/bin/ed +0 -1
  628. data/bin/egrep +0 -1
  629. data/bin/false +0 -1
  630. data/bin/fatattr +0 -1
  631. data/bin/fdflush +0 -1
  632. data/bin/fgrep +0 -1
  633. data/bin/fsync +0 -1
  634. data/bin/getopt +0 -1
  635. data/bin/grep +0 -1
  636. data/bin/gunzip +0 -1
  637. data/bin/gzip +0 -1
  638. data/bin/hostname +0 -1
  639. data/bin/ionice +0 -1
  640. data/bin/iostat +0 -1
  641. data/bin/ipcalc +0 -1
  642. data/bin/kbd_mode +0 -1
  643. data/bin/kill +0 -1
  644. data/bin/link +0 -1
  645. data/bin/linux32 +0 -1
  646. data/bin/linux64 +0 -1
  647. data/bin/ln +0 -1
  648. data/bin/login +0 -1
  649. data/bin/ls +0 -1
  650. data/bin/lsattr +0 -1
  651. data/bin/lzop +0 -1
  652. data/bin/makemime +0 -1
  653. data/bin/mkdir +0 -1
  654. data/bin/mknod +0 -1
  655. data/bin/mktemp +0 -1
  656. data/bin/more +0 -1
  657. data/bin/mount +0 -1
  658. data/bin/mountpoint +0 -1
  659. data/bin/mpstat +0 -1
  660. data/bin/mv +0 -1
  661. data/bin/netstat +0 -1
  662. data/bin/nice +0 -1
  663. data/bin/pidof +0 -0
  664. data/bin/ping +0 -1
  665. data/bin/ping6 +0 -1
  666. data/bin/pipe_progress +0 -1
  667. data/bin/printenv +0 -1
  668. data/bin/ps +0 -0
  669. data/bin/pwait +0 -0
  670. data/bin/pwd +0 -1
  671. data/bin/reformime +0 -1
  672. data/bin/rev +0 -1
  673. data/bin/rm +0 -1
  674. data/bin/rmdir +0 -1
  675. data/bin/run-parts +0 -1
  676. data/bin/sed +0 -1
  677. data/bin/setpriv +0 -1
  678. data/bin/setserial +0 -1
  679. data/bin/sh +0 -1
  680. data/bin/slabtop +0 -0
  681. data/bin/sleep +0 -1
  682. data/bin/stat +0 -1
  683. data/bin/stty +0 -1
  684. data/bin/su +0 -1
  685. data/bin/sync +0 -1
  686. data/bin/tar +0 -1
  687. data/bin/tload +0 -0
  688. data/bin/touch +0 -1
  689. data/bin/true +0 -1
  690. data/bin/umount +0 -1
  691. data/bin/uname +0 -1
  692. data/bin/usleep +0 -1
  693. data/bin/vmstat +0 -0
  694. data/bin/w +0 -0
  695. data/bin/watch +0 -0
  696. data/bin/zcat +0 -1
  697. data/lib/apk/db/installed +0 -3582
  698. data/lib/apk/db/lock +0 -0
  699. data/lib/apk/db/scripts.tar +0 -0
  700. data/lib/apk/db/triggers +0 -2
  701. data/lib/ld-musl-x86_64.so.1 +0 -0
  702. data/lib/libapk.so.3.12.0 +0 -0
  703. data/lib/libc.musl-x86_64.so.1 +0 -1
  704. data/lib/libcrypto.so.1.1 +0 -0
  705. data/lib/libprocps.so.8 +0 -1
  706. data/lib/libprocps.so.8.0.3 +0 -0
  707. data/lib/libssl.so.1.1 +0 -0
  708. data/lib/libz.so +0 -1
  709. data/lib/libz.so.1 +0 -1
  710. data/lib/libz.so.1.2.12 +0 -0
  711. data/lib/sysctl.d/00-alpine.conf +0 -40
@@ -0,0 +1,992 @@
1
+ # advanced_billing
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module AdvancedBilling
7
+ # SubscriptionComponentsController
8
+ class SubscriptionComponentsController < BaseController
9
+ # Creates multiple allocations, setting the current allocated quantity for
10
+ # each of the components and recording a memo. The charges and/or credits
11
+ # that are created will be rolled up into a single total which is used to
12
+ # determine whether this is an upgrade or a downgrade. Be aware of the Order
13
+ # of Resolutions explained below in determining the proration scheme.
14
+ # A `component_id` is required for each allocation.
15
+ # This endpoint only responds to JSON. It is not available for XML.
16
+ # @param [String] subscription_id Required parameter: The Chargify id of the
17
+ # subscription
18
+ # @param [AllocateComponents] body Optional parameter: Example:
19
+ # @return [Array[AllocationResponse]] response from the API call.
20
+ def allocate_components(subscription_id,
21
+ body: nil)
22
+ new_api_call_builder
23
+ .request(new_request_builder(HttpMethodEnum::POST,
24
+ '/subscriptions/{subscription_id}/allocations.json',
25
+ Server::DEFAULT)
26
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
27
+ .is_required(true)
28
+ .should_encode(true))
29
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
30
+ .body_param(new_parameter(body))
31
+ .header_param(new_parameter('application/json', key: 'accept'))
32
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
33
+ .auth(Single.new('BasicAuth')))
34
+ .response(new_response_handler
35
+ .is_nullify404(true)
36
+ .deserializer(APIHelper.method(:custom_type_deserializer))
37
+ .deserialize_into(AllocationResponse.method(:from_hash))
38
+ .is_response_array(true)
39
+ .local_error('401',
40
+ 'Unauthorized',
41
+ APIException)
42
+ .local_error('404',
43
+ 'Not Found',
44
+ APIException)
45
+ .local_error('422',
46
+ 'Unprocessable Entity (WebDAV)',
47
+ ErrorListResponseException))
48
+ .execute
49
+ end
50
+
51
+ # When the expiration interval options are selected on a prepaid usage
52
+ # component price point, all allocations will be created with an expiration
53
+ # date. This expiration date can be changed after the fact to allow for
54
+ # extending or shortening the allocation's active window.
55
+ # In order to change a prepaid usage allocation's expiration date, a PUT
56
+ # call must be made to the allocation's endpoint with a new expiration date.
57
+ # ## Limitations
58
+ # A few limitations exist when changing an allocation's expiration date:
59
+ # - An expiration date can only be changed for an allocation that belongs to
60
+ # a price point with expiration interval options explicitly set.
61
+ # - An expiration date can be changed towards the future with no
62
+ # limitations.
63
+ # - An expiration date can be changed towards the past (essentially expiring
64
+ # it) up to the subscription's current period beginning date.
65
+ # @param [String] subscription_id Required parameter: The Chargify id of the
66
+ # subscription
67
+ # @param [Integer] component_id Required parameter: The Chargify id of the
68
+ # component
69
+ # @param [Integer] allocation_id Required parameter: The Chargify id of the
70
+ # allocation
71
+ # @param [UpdateAllocationExpirationDate] body Optional parameter:
72
+ # Example:
73
+ # @return [void] response from the API call.
74
+ def update_prepaid_usage_allocation(subscription_id,
75
+ component_id,
76
+ allocation_id,
77
+ body: nil)
78
+ new_api_call_builder
79
+ .request(new_request_builder(HttpMethodEnum::PUT,
80
+ '/subscriptions/{subscription_id}/components/{component_id}/allocations/{allocation_id}.json',
81
+ Server::DEFAULT)
82
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
83
+ .is_required(true)
84
+ .should_encode(true))
85
+ .template_param(new_parameter(component_id, key: 'component_id')
86
+ .is_required(true)
87
+ .should_encode(true))
88
+ .template_param(new_parameter(allocation_id, key: 'allocation_id')
89
+ .is_required(true)
90
+ .should_encode(true))
91
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
92
+ .body_param(new_parameter(body))
93
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
94
+ .auth(Single.new('BasicAuth')))
95
+ .response(new_response_handler
96
+ .is_nullify404(true)
97
+ .is_response_void(true)
98
+ .local_error('422',
99
+ 'Unprocessable Entity (WebDAV)',
100
+ SubscriptionComponentAllocationErrorException))
101
+ .execute
102
+ end
103
+
104
+ # Prepaid Usage components are unique in that their allocations are always
105
+ # additive. In order to reduce a subscription's allocated quantity for a
106
+ # prepaid usage component each allocation must be destroyed individually via
107
+ # this endpoint.
108
+ # ## Credit Scheme
109
+ # By default, destroying an allocation will generate a service credit on the
110
+ # subscription. This behavior can be modified with the optional
111
+ # `credit_scheme` parameter on this endpoint. The accepted values are:
112
+ # 1. `none`: The allocation will be destroyed and the balances will be
113
+ # updated but no service credit or refund will be created.
114
+ # 2. `credit`: The allocation will be destroyed and the balances will be
115
+ # updated and a service credit will be generated. This is also the default
116
+ # behavior if the `credit_scheme` param is not passed.
117
+ # 3. `refund`: The allocation will be destroyed and the balances will be
118
+ # updated and a refund will be issued along with a Credit Note.
119
+ # @param [String] subscription_id Required parameter: The Chargify id of the
120
+ # subscription
121
+ # @param [Integer] component_id Required parameter: The Chargify id of the
122
+ # component
123
+ # @param [Integer] allocation_id Required parameter: The Chargify id of the
124
+ # allocation
125
+ # @param [CreditSchemeRequest] body Optional parameter: Example:
126
+ # @return [void] response from the API call.
127
+ def delete_prepaid_usage_allocation(subscription_id,
128
+ component_id,
129
+ allocation_id,
130
+ body: nil)
131
+ new_api_call_builder
132
+ .request(new_request_builder(HttpMethodEnum::DELETE,
133
+ '/subscriptions/{subscription_id}/components/{component_id}/allocations/{allocation_id}.json',
134
+ Server::DEFAULT)
135
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
136
+ .is_required(true)
137
+ .should_encode(true))
138
+ .template_param(new_parameter(component_id, key: 'component_id')
139
+ .is_required(true)
140
+ .should_encode(true))
141
+ .template_param(new_parameter(allocation_id, key: 'allocation_id')
142
+ .is_required(true)
143
+ .should_encode(true))
144
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
145
+ .body_param(new_parameter(body))
146
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
147
+ .auth(Single.new('BasicAuth')))
148
+ .response(new_response_handler
149
+ .is_nullify404(true)
150
+ .is_response_void(true)
151
+ .local_error('422',
152
+ 'Unprocessable Entity (WebDAV)',
153
+ SubscriptionComponentAllocationErrorException))
154
+ .execute
155
+ end
156
+
157
+ # ## Documentation
158
+ # Full documentation on how to create Components in the Chargify UI can be
159
+ # located
160
+ # [here](https://maxio-chargify.zendesk.com/hc/en-us/articles/5405020625677#
161
+ # creating-components). Additionally, for information on how to record
162
+ # component usage against a subscription, please see the following
163
+ # resources:
164
+ # + [Recording Metered Component
165
+ # Usage](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404527849997#
166
+ # reporting-metered-component-usage)
167
+ # + [Reporting Prepaid Component
168
+ # Status](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404527849997
169
+ # #reporting-prepaid-component-status)
170
+ # You may choose to report metered or prepaid usage to Chargify as often as
171
+ # you wish. You may report usage as it happens. You may also report usage
172
+ # periodically, such as each night or once per billing period. If usage
173
+ # events occur in your system very frequently (on the order of thousands of
174
+ # times an hour), it is best to accumulate usage into batches on your side,
175
+ # and then report those batches less frequently, such as daily. This will
176
+ # ensure you remain below any API throttling limits. If your use case
177
+ # requires higher rates of usage reporting, we recommend utilizing Events
178
+ # Based Components.
179
+ # ## Create Usage for Subscription
180
+ # This endpoint allows you to record an instance of metered or prepaid usage
181
+ # for a subscription. The `quantity` from usage for each component is
182
+ # accumulated to the `unit_balance` on the [Component Line
183
+ # Item](./b3A6MTQxMDgzNzQ-read-subscription-component) for the subscription.
184
+ # ## Price Point ID usage
185
+ # If you are using price points, for metered and prepaid usage components,
186
+ # Chargify gives you the option to specify a price point in your request.
187
+ # You do not need to specify a price point ID. If a price point is not
188
+ # included, the default price point for the component will be used when the
189
+ # usage is recorded.
190
+ # If an invalid `price_point_id` is submitted, the endpoint will return an
191
+ # error.
192
+ # ## Deducting Usage
193
+ # In the event that you need to reverse a previous usage report or otherwise
194
+ # deduct from the current usage balance, you may provide a negative
195
+ # quantity.
196
+ # Example:
197
+ # Previously recorded:
198
+ # ```json
199
+ # {
200
+ # "usage": {
201
+ # "quantity": 5000,
202
+ # "memo": "Recording 5000 units"
203
+ # }
204
+ # }
205
+ # ```
206
+ # At this point, `unit_balance` would be `5000`. To reduce the balance to
207
+ # `0`, POST the following payload:
208
+ # ```json
209
+ # {
210
+ # "usage": {
211
+ # "quantity": -5000,
212
+ # "memo": "Deducting 5000 units"
213
+ # }
214
+ # }
215
+ # ```
216
+ # The `unit_balance` has a floor of `0`; negative unit balances are never
217
+ # allowed. For example, if the usage balance is 100 and you deduct 200
218
+ # units, the unit balance would then be `0`, not `-100`.
219
+ # ## FAQ
220
+ # Q. Is it possible to record metered usage for more than one component at a
221
+ # time?
222
+ # A. No. Usage should be reported as one API call per component on a single
223
+ # subscription. For example, to record that a subscriber has sent both an
224
+ # SMS Message and an Email, send an API call for each.
225
+ # @param [String] subscription_id Required parameter: The Chargify id of the
226
+ # subscription
227
+ # @param [Integer] component_id Required parameter: Either the Chargify id
228
+ # for the component or the component's handle prefixed by `handle:`
229
+ # @param [CreateUsageRequest] body Optional parameter: Example:
230
+ # @return [UsageResponse] response from the API call.
231
+ def create_usage(subscription_id,
232
+ component_id,
233
+ body: nil)
234
+ new_api_call_builder
235
+ .request(new_request_builder(HttpMethodEnum::POST,
236
+ '/subscriptions/{subscription_id}/components/{component_id}/usages.json',
237
+ Server::DEFAULT)
238
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
239
+ .is_required(true)
240
+ .should_encode(true))
241
+ .template_param(new_parameter(component_id, key: 'component_id')
242
+ .is_required(true)
243
+ .should_encode(true))
244
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
245
+ .body_param(new_parameter(body))
246
+ .header_param(new_parameter('application/json', key: 'accept'))
247
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
248
+ .auth(Single.new('BasicAuth')))
249
+ .response(new_response_handler
250
+ .is_nullify404(true)
251
+ .deserializer(APIHelper.method(:custom_type_deserializer))
252
+ .deserialize_into(UsageResponse.method(:from_hash))
253
+ .local_error('422',
254
+ 'Unprocessable Entity (WebDAV)',
255
+ ErrorListResponseException))
256
+ .execute
257
+ end
258
+
259
+ # This request will list information regarding a specific component owned by
260
+ # a subscription.
261
+ # @param [String] subscription_id Required parameter: The Chargify id of the
262
+ # subscription
263
+ # @param [Integer] component_id Required parameter: The Chargify id of the
264
+ # component. Alternatively, the component's handle prefixed by `handle:`
265
+ # @return [SubscriptionComponentResponse] response from the API call.
266
+ def read_subscription_component(subscription_id,
267
+ component_id)
268
+ new_api_call_builder
269
+ .request(new_request_builder(HttpMethodEnum::GET,
270
+ '/subscriptions/{subscription_id}/components/{component_id}.json',
271
+ Server::DEFAULT)
272
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
273
+ .is_required(true)
274
+ .should_encode(true))
275
+ .template_param(new_parameter(component_id, key: 'component_id')
276
+ .is_required(true)
277
+ .should_encode(true))
278
+ .header_param(new_parameter('application/json', key: 'accept'))
279
+ .auth(Single.new('BasicAuth')))
280
+ .response(new_response_handler
281
+ .is_nullify404(true)
282
+ .deserializer(APIHelper.method(:custom_type_deserializer))
283
+ .deserialize_into(SubscriptionComponentResponse.method(:from_hash))
284
+ .local_error('404',
285
+ 'Not Found',
286
+ APIException))
287
+ .execute
288
+ end
289
+
290
+ # This request will list a subscription's applied components.
291
+ # ## Archived Components
292
+ # When requesting to list components for a given subscription, if the
293
+ # subscription contains **archived** components they will be listed in the
294
+ # server response.
295
+ # @param [String] subscription_id Required parameter: The Chargify id of the
296
+ # subscription
297
+ # @param [SubscriptionListDateField] date_field Optional parameter: The type
298
+ # of filter you'd like to apply to your search. Use in query
299
+ # `date_field=updated_at`.
300
+ # @param [SortingDirection | nil] direction Optional parameter: Controls the
301
+ # order in which results are returned. Use in query `direction=asc`.
302
+ # @param [String] end_date Optional parameter: The end date (format
303
+ # YYYY-MM-DD) with which to filter the date_field. Returns components with a
304
+ # timestamp up to and including 11:59:59PM in your site’s time zone on the
305
+ # date specified.
306
+ # @param [String] end_datetime Optional parameter: The end date and time
307
+ # (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns
308
+ # components with a timestamp at or before exact time provided in query. You
309
+ # can specify timezone in query - otherwise your site''s time zone will be
310
+ # used. If provided, this parameter will be used instead of end_date.
311
+ # @param [IncludeNotNull] price_point_ids Optional parameter: Allows
312
+ # fetching components allocation only if price point id is present. Use in
313
+ # query `price_point_ids=not_null`.
314
+ # @param [Array[Integer]] product_family_ids Optional parameter: Allows
315
+ # fetching components allocation with matching product family id based on
316
+ # provided ids. Use in query `product_family_ids=1,2,3`.
317
+ # @param [ListSubscriptionComponentsSort] sort Optional parameter: The
318
+ # attribute by which to sort. Use in query `sort=updated_at`.
319
+ # @param [String] start_date Optional parameter: The start date (format
320
+ # YYYY-MM-DD) with which to filter the date_field. Returns components with a
321
+ # timestamp at or after midnight (12:00:00 AM) in your site’s time zone on
322
+ # the date specified.
323
+ # @param [String] start_datetime Optional parameter: The start date and time
324
+ # (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns
325
+ # components with a timestamp at or after exact time provided in query. You
326
+ # can specify timezone in query - otherwise your site''s time zone will be
327
+ # used. If provided, this parameter will be used instead of start_date.
328
+ # @param [ListSubscriptionComponentsInclude] include Optional parameter:
329
+ # Allows including additional data in the response. Use in query
330
+ # `include=subscription`.
331
+ # @param [TrueClass | FalseClass] filter_use_site_exchange_rate Optional
332
+ # parameter: Allows fetching components allocation with matching
333
+ # use_site_exchange_rate based on provided value. Use in query
334
+ # `filter[use_site_exchange_rate]=true`.
335
+ # @param [Array[String]] filter_currencies Optional parameter: Allows
336
+ # fetching components allocation with matching currency based on provided
337
+ # values. Use in query `filter[currencies]=EUR,USD`.
338
+ # @return [Array[SubscriptionComponentResponse]] response from the API call.
339
+ def list_subscription_components(options = {})
340
+ new_api_call_builder
341
+ .request(new_request_builder(HttpMethodEnum::GET,
342
+ '/subscriptions/{subscription_id}/components.json',
343
+ Server::DEFAULT)
344
+ .template_param(new_parameter(options['subscription_id'], key: 'subscription_id')
345
+ .is_required(true)
346
+ .should_encode(true))
347
+ .query_param(new_parameter(options['date_field'], key: 'date_field'))
348
+ .query_param(new_parameter(options['direction'], key: 'direction')
349
+ .validator(proc do |value|
350
+ UnionTypeLookUp.get(:ListSubscriptionComponentsInputDirection)
351
+ .validate(value)
352
+ end))
353
+ .query_param(new_parameter(options['end_date'], key: 'end_date'))
354
+ .query_param(new_parameter(options['end_datetime'], key: 'end_datetime'))
355
+ .query_param(new_parameter(options['price_point_ids'], key: 'price_point_ids'))
356
+ .query_param(new_parameter(options['product_family_ids'], key: 'product_family_ids'))
357
+ .query_param(new_parameter(options['sort'], key: 'sort'))
358
+ .query_param(new_parameter(options['start_date'], key: 'start_date'))
359
+ .query_param(new_parameter(options['start_datetime'], key: 'start_datetime'))
360
+ .query_param(new_parameter(options['include'], key: 'include'))
361
+ .query_param(new_parameter(options['filter_use_site_exchange_rate'], key: 'filter[use_site_exchange_rate]'))
362
+ .query_param(new_parameter(options['filter_currencies'], key: 'filter[currencies]'))
363
+ .header_param(new_parameter('application/json', key: 'accept'))
364
+ .auth(Single.new('BasicAuth'))
365
+ .array_serialization_format(ArraySerializationFormat::CSV))
366
+ .response(new_response_handler
367
+ .is_nullify404(true)
368
+ .deserializer(APIHelper.method(:custom_type_deserializer))
369
+ .deserialize_into(SubscriptionComponentResponse.method(:from_hash))
370
+ .is_response_array(true))
371
+ .execute
372
+ end
373
+
374
+ # Resets all of a subscription's components to use the current default.
375
+ # **Note**: this will update the price point for all of the subscription's
376
+ # components, even ones that have not been allocated yet.
377
+ # @param [String] subscription_id Required parameter: The Chargify id of the
378
+ # subscription
379
+ # @return [SubscriptionResponse] response from the API call.
380
+ def reset_subscription_components_price_points(subscription_id)
381
+ new_api_call_builder
382
+ .request(new_request_builder(HttpMethodEnum::POST,
383
+ '/subscriptions/{subscription_id}/price_points/reset.json',
384
+ Server::DEFAULT)
385
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
386
+ .is_required(true)
387
+ .should_encode(true))
388
+ .header_param(new_parameter('application/json', key: 'accept'))
389
+ .auth(Single.new('BasicAuth')))
390
+ .response(new_response_handler
391
+ .is_nullify404(true)
392
+ .deserializer(APIHelper.method(:custom_type_deserializer))
393
+ .deserialize_into(SubscriptionResponse.method(:from_hash)))
394
+ .execute
395
+ end
396
+
397
+ # This endpoint returns the 50 most recent Allocations, ordered by most
398
+ # recent first.
399
+ # ## On/Off Components
400
+ # When a subscription's on/off component has been toggled to on (`1`) or off
401
+ # (`0`), usage will be logged in this response.
402
+ # ## Querying data via Chargify gem
403
+ # You can also query the current quantity via the [official Chargify
404
+ # Gem.](http://github.com/chargify/chargify_api_ares)
405
+ # ```# First way
406
+ # component = Chargify::Subscription::Component.find(1, :params =>
407
+ # {:subscription_id => 7})
408
+ # puts component.allocated_quantity
409
+ # # => 23
410
+ # # Second way
411
+ # component = Chargify::Subscription.find(7).component(1)
412
+ # puts component.allocated_quantity
413
+ # # => 23
414
+ # ```
415
+ # @param [String] subscription_id Required parameter: The Chargify id of the
416
+ # subscription
417
+ # @param [Integer] component_id Required parameter: The Chargify id of the
418
+ # component
419
+ # @param [Integer] page Optional parameter: Result records are organized in
420
+ # pages. By default, the first page of results is displayed. The page
421
+ # parameter specifies a page number of results to fetch. You can start
422
+ # navigating through the pages to consume the results. You do this by
423
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
424
+ # the query string. If there are no results to return, then an empty result
425
+ # set will be returned. Use in query `page=1`.
426
+ # @return [Array[AllocationResponse]] response from the API call.
427
+ def list_allocations(subscription_id,
428
+ component_id,
429
+ page: 1)
430
+ new_api_call_builder
431
+ .request(new_request_builder(HttpMethodEnum::GET,
432
+ '/subscriptions/{subscription_id}/components/{component_id}/allocations.json',
433
+ Server::DEFAULT)
434
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
435
+ .is_required(true)
436
+ .should_encode(true))
437
+ .template_param(new_parameter(component_id, key: 'component_id')
438
+ .is_required(true)
439
+ .should_encode(true))
440
+ .query_param(new_parameter(page, key: 'page'))
441
+ .header_param(new_parameter('application/json', key: 'accept'))
442
+ .auth(Single.new('BasicAuth')))
443
+ .response(new_response_handler
444
+ .is_nullify404(true)
445
+ .deserializer(APIHelper.method(:custom_type_deserializer))
446
+ .deserialize_into(AllocationResponse.method(:from_hash))
447
+ .is_response_array(true)
448
+ .local_error('401',
449
+ 'Unauthorized',
450
+ APIException)
451
+ .local_error('404',
452
+ 'Not Found',
453
+ APIException)
454
+ .local_error('422',
455
+ 'Unprocessable Entity (WebDAV)',
456
+ APIException))
457
+ .execute
458
+ end
459
+
460
+ # This request will return a list of the usages associated with a
461
+ # subscription for a particular metered component. This will display the
462
+ # previously recorded components for a subscription.
463
+ # This endpoint is not compatible with quantity-based components.
464
+ # ## Since Date and Until Date Usage
465
+ # Note: The `since_date` and `until_date` attributes each default to
466
+ # midnight on the date specified. For example, in order to list usages for
467
+ # January 20th, you would need to append the following to the URL.
468
+ # ```
469
+ # ?since_date=2016-01-20&until_date=2016-01-21
470
+ # ```
471
+ # ## Read Usage by Handle
472
+ # Use this endpoint to read the previously recorded components for a
473
+ # subscription. You can now specify either the component id (integer) or
474
+ # the component handle prefixed by "handle:" to specify the unique
475
+ # identifier for the component you are working with.
476
+ # @param [String] subscription_id Required parameter: The Chargify id of the
477
+ # subscription
478
+ # @param [Integer] component_id Required parameter: Either the Chargify id
479
+ # for the component or the component's handle prefixed by `handle:`
480
+ # @param [Integer] since_id Optional parameter: Returns usages with an id
481
+ # greater than or equal to the one specified
482
+ # @param [Integer] max_id Optional parameter: Returns usages with an id less
483
+ # than or equal to the one specified
484
+ # @param [String] since_date Optional parameter: Returns usages with a
485
+ # created_at date greater than or equal to midnight (12:00 AM) on the date
486
+ # specified.
487
+ # @param [String] until_date Optional parameter: Returns usages with a
488
+ # created_at date less than or equal to midnight (12:00 AM) on the date
489
+ # specified.
490
+ # @param [Integer] page Optional parameter: Result records are organized in
491
+ # pages. By default, the first page of results is displayed. The page
492
+ # parameter specifies a page number of results to fetch. You can start
493
+ # navigating through the pages to consume the results. You do this by
494
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
495
+ # the query string. If there are no results to return, then an empty result
496
+ # set will be returned. Use in query `page=1`.
497
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
498
+ # many records to fetch in each request. Default value is 20. The maximum
499
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
500
+ # Use in query `per_page=200`.
501
+ # @return [Array[UsageResponse]] response from the API call.
502
+ def list_usages(options = {})
503
+ new_api_call_builder
504
+ .request(new_request_builder(HttpMethodEnum::GET,
505
+ '/subscriptions/{subscription_id}/components/{component_id}/usages.json',
506
+ Server::DEFAULT)
507
+ .template_param(new_parameter(options['subscription_id'], key: 'subscription_id')
508
+ .is_required(true)
509
+ .should_encode(true))
510
+ .template_param(new_parameter(options['component_id'], key: 'component_id')
511
+ .is_required(true)
512
+ .should_encode(true))
513
+ .query_param(new_parameter(options['since_id'], key: 'since_id'))
514
+ .query_param(new_parameter(options['max_id'], key: 'max_id'))
515
+ .query_param(new_parameter(options['since_date'], key: 'since_date'))
516
+ .query_param(new_parameter(options['until_date'], key: 'until_date'))
517
+ .query_param(new_parameter(options['page'], key: 'page'))
518
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
519
+ .header_param(new_parameter('application/json', key: 'accept'))
520
+ .auth(Single.new('BasicAuth')))
521
+ .response(new_response_handler
522
+ .is_nullify404(true)
523
+ .deserializer(APIHelper.method(:custom_type_deserializer))
524
+ .deserialize_into(UsageResponse.method(:from_hash))
525
+ .is_response_array(true))
526
+ .execute
527
+ end
528
+
529
+ # In order to bill your subscribers on your Events data under the
530
+ # Events-Based Billing feature, the components must be activated for the
531
+ # subscriber.
532
+ # Learn more about the role of activation in the [Events-Based Billing
533
+ # docs](https://chargify.zendesk.com/hc/en-us/articles/4407720810907#activat
534
+ # ing-components-for-subscribers).
535
+ # Use this endpoint to activate an event-based component for a single
536
+ # subscription. Activating an event-based component causes Chargify to bill
537
+ # for events when the subscription is renewed.
538
+ # *Note: it is possible to stream events for a subscription at any time,
539
+ # regardless of component activation status. The activation status only
540
+ # determines if the subscription should be billed for event-based component
541
+ # usage at renewal.*
542
+ # @param [Integer] subscription_id Required parameter: The Chargify id of
543
+ # the subscription
544
+ # @param [Integer] component_id Required parameter: The Chargify id of the
545
+ # component
546
+ # @return [void] response from the API call.
547
+ def activate_event_based_component(subscription_id,
548
+ component_id)
549
+ new_api_call_builder
550
+ .request(new_request_builder(HttpMethodEnum::POST,
551
+ '/event_based_billing/subscriptions/{subscription_id}/components/{component_id}/activate.json',
552
+ Server::DEFAULT)
553
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
554
+ .is_required(true)
555
+ .should_encode(true))
556
+ .template_param(new_parameter(component_id, key: 'component_id')
557
+ .is_required(true)
558
+ .should_encode(true))
559
+ .auth(Single.new('BasicAuth')))
560
+ .response(new_response_handler
561
+ .is_nullify404(true)
562
+ .is_response_void(true))
563
+ .execute
564
+ end
565
+
566
+ # This endpoint creates a new allocation, setting the current allocated
567
+ # quantity for the Component and recording a memo.
568
+ # **Notice**: Allocations can only be updated for Quantity, On/Off, and
569
+ # Prepaid Components.
570
+ # ## Allocations Documentation
571
+ # Full documentation on how to record Allocations in the Chargify UI can be
572
+ # located
573
+ # [here](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404527849997)
574
+ # . It is focused on how allocations operate within the Chargify UI.It goes
575
+ # into greater detail on how the user interface will react when recording
576
+ # allocations.
577
+ # This documentation also goes into greater detail on how proration is taken
578
+ # into consideration when applying component allocations.
579
+ # ## Proration Schemes
580
+ # Changing the allocated quantity of a component mid-period can result in
581
+ # either a Charge or Credit being applied to the subscription. When creating
582
+ # an allocation via the API, you can pass the `upgrade_charge`,
583
+ # `downgrade_credit`, and `accrue_charge` to be applied.
584
+ # **Notice:** These proration and accural fields will be ignored for Prepaid
585
+ # Components since this component type always generate charges immediately
586
+ # without proration.
587
+ # For background information on prorated components and upgrade/downgrade
588
+ # schemes, see [Setting Component
589
+ # Allocations.](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404527
590
+ # 849997#proration-upgrades-vs-downgrades).
591
+ # See the tables below for valid values.
592
+ # | upgrade_charge | Definition
593
+ #            |
594
+ # |----------------|--------------------------------------------------------
595
+ # -----------|
596
+ # | `full`         | A charge is added for the full price of the component.
597
+ #            |
598
+ # | `prorated`     | A charge is added for the prorated price of the
599
+ # component change. |
600
+ # | `none`         | No charge is added.
601
+ #           |
602
+ # | downgrade_credit | Definition                                        |
603
+ # |------------------|---------------------------------------------------|
604
+ # | `full`           | A full price credit is added for the amount owed. |
605
+ # | `prorated`       | A prorated credit is added for the amount owed.   |
606
+ # | `none`           | No charge is added.                               |
607
+ # | accrue_charge | Definition
608
+ #                                                 |
609
+ # |---------------|---------------------------------------------------------
610
+ # ---------------------------------------------------|
611
+ # | `true`        | Attempt to charge the customer at next renewal.
612
+ # |
613
+ # | `false`       | Attempt to charge the customer right away. If it fails,
614
+ # the charge will be accrued until the next renewal. |
615
+ # ### Order of Resolution for upgrade_charge and downgrade_credit
616
+ # 1. Per allocation in API call (within a single allocation of the
617
+ # `allocations` array)
618
+ # 2. [Component-level default
619
+ # value](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404527849997-
620
+ # Component-Allocations#component-allocations-0-0)
621
+ # 3. Allocation API call top level (outside of the `allocations` array)
622
+ # 4. [Site-level default
623
+ # value](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404527849997#
624
+ # proration-schemes)
625
+ # ### Order of Resolution for accrue charge
626
+ # 1. Allocation API call top level (outside of the `allocations` array)
627
+ # 2. [Site-level default
628
+ # value](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404527849997#
629
+ # proration-schemes)
630
+ # **NOTE: Proration uses the current price of the component as well as the
631
+ # current tax rates. Changes to either may cause the prorated charge/credit
632
+ # to be wrong.**
633
+ # @param [String] subscription_id Required parameter: The Chargify id of the
634
+ # subscription
635
+ # @param [Integer] component_id Required parameter: The Chargify id of the
636
+ # component
637
+ # @param [CreateAllocationRequest] body Optional parameter: Example:
638
+ # @return [AllocationResponse] response from the API call.
639
+ def allocate_component(subscription_id,
640
+ component_id,
641
+ body: nil)
642
+ new_api_call_builder
643
+ .request(new_request_builder(HttpMethodEnum::POST,
644
+ '/subscriptions/{subscription_id}/components/{component_id}/allocations.json',
645
+ Server::DEFAULT)
646
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
647
+ .is_required(true)
648
+ .should_encode(true))
649
+ .template_param(new_parameter(component_id, key: 'component_id')
650
+ .is_required(true)
651
+ .should_encode(true))
652
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
653
+ .body_param(new_parameter(body))
654
+ .header_param(new_parameter('application/json', key: 'accept'))
655
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
656
+ .auth(Single.new('BasicAuth')))
657
+ .response(new_response_handler
658
+ .is_nullify404(true)
659
+ .deserializer(APIHelper.method(:custom_type_deserializer))
660
+ .deserialize_into(AllocationResponse.method(:from_hash)))
661
+ .execute
662
+ end
663
+
664
+ # Chargify offers the ability to preview a potential subscription's
665
+ # **quantity-based** or **on/off** component allocation in the middle of the
666
+ # current billing period. This is useful if you want users to be able to
667
+ # see the effect of a component operation before actually doing it.
668
+ # ## Fine-grained Component Control: Use with multiple `upgrade_charge`s or
669
+ # `downgrade_credits`
670
+ # When the allocation uses multiple different types of `upgrade_charge`s or
671
+ # `downgrade_credit`s, the Allocation is viewed as an Allocation which uses
672
+ # "Fine-Grained Component Control". As a result, the response will not
673
+ # include `direction` and `proration` within the `allocation_preview` at the
674
+ # `line_items` and `allocations` level respectfully.
675
+ # See example below for Fine-Grained Component Control response.
676
+ # @param [String] subscription_id Required parameter: The Chargify id of the
677
+ # subscription
678
+ # @param [PreviewAllocationsRequest] body Optional parameter: Example:
679
+ # @return [AllocationPreviewResponse] response from the API call.
680
+ def preview_allocations(subscription_id,
681
+ body: nil)
682
+ new_api_call_builder
683
+ .request(new_request_builder(HttpMethodEnum::POST,
684
+ '/subscriptions/{subscription_id}/allocations/preview.json',
685
+ Server::DEFAULT)
686
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
687
+ .is_required(true)
688
+ .should_encode(true))
689
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
690
+ .body_param(new_parameter(body))
691
+ .header_param(new_parameter('application/json', key: 'accept'))
692
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
693
+ .auth(Single.new('BasicAuth')))
694
+ .response(new_response_handler
695
+ .is_nullify404(true)
696
+ .deserializer(APIHelper.method(:custom_type_deserializer))
697
+ .deserialize_into(AllocationPreviewResponse.method(:from_hash))
698
+ .local_error('422',
699
+ 'Unprocessable Entity (WebDAV)',
700
+ ComponentAllocationErrorException))
701
+ .execute
702
+ end
703
+
704
+ # Use this endpoint to deactivate an event-based component for a single
705
+ # subscription. Deactivating the event-based component causes Chargify to
706
+ # ignore related events at subscription renewal.
707
+ # @param [Integer] subscription_id Required parameter: The Chargify id of
708
+ # the subscription
709
+ # @param [Integer] component_id Required parameter: The Chargify id of the
710
+ # component
711
+ # @return [void] response from the API call.
712
+ def deactivate_event_based_component(subscription_id,
713
+ component_id)
714
+ new_api_call_builder
715
+ .request(new_request_builder(HttpMethodEnum::POST,
716
+ '/event_based_billing/subscriptions/{subscription_id}/components/{component_id}/deactivate.json',
717
+ Server::DEFAULT)
718
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
719
+ .is_required(true)
720
+ .should_encode(true))
721
+ .template_param(new_parameter(component_id, key: 'component_id')
722
+ .is_required(true)
723
+ .should_encode(true))
724
+ .auth(Single.new('BasicAuth')))
725
+ .response(new_response_handler
726
+ .is_nullify404(true)
727
+ .is_response_void(true))
728
+ .execute
729
+ end
730
+
731
+ # Updates the price points on one or more of a subscription's components.
732
+ # The `price_point` key can take either a:
733
+ # 1. Price point id (integer)
734
+ # 2. Price point handle (string)
735
+ # 3. `"_default"` string, which will reset the price point to the
736
+ # component's current default price point.
737
+ # @param [String] subscription_id Required parameter: The Chargify id of the
738
+ # subscription
739
+ # @param [BulkComponentSPricePointAssignment] body Optional parameter:
740
+ # Example:
741
+ # @return [BulkComponentSPricePointAssignment] response from the API call.
742
+ def update_subscription_components_price_points(subscription_id,
743
+ body: nil)
744
+ new_api_call_builder
745
+ .request(new_request_builder(HttpMethodEnum::POST,
746
+ '/subscriptions/{subscription_id}/price_points.json',
747
+ Server::DEFAULT)
748
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
749
+ .is_required(true)
750
+ .should_encode(true))
751
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
752
+ .body_param(new_parameter(body))
753
+ .header_param(new_parameter('application/json', key: 'accept'))
754
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
755
+ .auth(Single.new('BasicAuth')))
756
+ .response(new_response_handler
757
+ .is_nullify404(true)
758
+ .deserializer(APIHelper.method(:custom_type_deserializer))
759
+ .deserialize_into(BulkComponentSPricePointAssignment.method(:from_hash))
760
+ .local_error('422',
761
+ 'Unprocessable Entity (WebDAV)',
762
+ ComponentPricePointErrorException))
763
+ .execute
764
+ end
765
+
766
+ # Use this endpoint to record a collection of events.
767
+ # *Note: this endpoint differs from the standard Chargify endpoints in that
768
+ # the subdomain will be `events` and your site subdomain will be included in
769
+ # the URL path.*
770
+ # A maximum of 1000 events can be published in a single request. A 422 will
771
+ # be returned if this limit is exceeded.
772
+ # @param [String] subdomain Required parameter: Your site's subdomain
773
+ # @param [String] api_handle Required parameter: Identifies the Stream for
774
+ # which the events should be published.
775
+ # @param [String] store_uid Optional parameter: If you've attached your own
776
+ # Keen project as a Chargify event data-store, use this parameter to
777
+ # indicate the data-store.
778
+ # @param [Array[EBBEvent]] body Optional parameter: Example:
779
+ # @return [void] response from the API call.
780
+ def record_events(subdomain,
781
+ api_handle,
782
+ store_uid: nil,
783
+ body: nil)
784
+ new_api_call_builder
785
+ .request(new_request_builder(HttpMethodEnum::POST,
786
+ '/{subdomain}/events/{api_handle}/bulk.json',
787
+ Server::DEFAULT)
788
+ .template_param(new_parameter(subdomain, key: 'subdomain')
789
+ .is_required(true)
790
+ .should_encode(true))
791
+ .template_param(new_parameter(api_handle, key: 'api_handle')
792
+ .is_required(true)
793
+ .should_encode(true))
794
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
795
+ .query_param(new_parameter(store_uid, key: 'store_uid'))
796
+ .body_param(new_parameter(body))
797
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
798
+ .auth(Single.new('BasicAuth')))
799
+ .response(new_response_handler
800
+ .is_nullify404(true)
801
+ .is_response_void(true))
802
+ .execute
803
+ end
804
+
805
+ # This request will list components applied to each subscription.
806
+ # @param [Integer] page Optional parameter: Result records are organized in
807
+ # pages. By default, the first page of results is displayed. The page
808
+ # parameter specifies a page number of results to fetch. You can start
809
+ # navigating through the pages to consume the results. You do this by
810
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
811
+ # the query string. If there are no results to return, then an empty result
812
+ # set will be returned. Use in query `page=1`.
813
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
814
+ # many records to fetch in each request. Default value is 20. The maximum
815
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
816
+ # Use in query `per_page=200`.
817
+ # @param [ListSubscriptionComponentsSort] sort Optional parameter: The
818
+ # attribute by which to sort. Use in query: `sort=updated_at`.
819
+ # @param [SortingDirection | nil] direction Optional parameter: Controls the
820
+ # order in which results are returned. Use in query `direction=asc`.
821
+ # @param [SubscriptionListDateField] date_field Optional parameter: The type
822
+ # of filter you'd like to apply to your search. Use in query:
823
+ # `date_field=updated_at`.
824
+ # @param [String] start_date Optional parameter: The start date (format
825
+ # YYYY-MM-DD) with which to filter the date_field. Returns components with a
826
+ # timestamp at or after midnight (12:00:00 AM) in your site’s time zone on
827
+ # the date specified. Use in query `start_date=2011-12-15`.
828
+ # @param [String] start_datetime Optional parameter: The start date and time
829
+ # (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns
830
+ # components with a timestamp at or after exact time provided in query. You
831
+ # can specify timezone in query - otherwise your site''s time zone will be
832
+ # used. If provided, this parameter will be used instead of start_date. Use
833
+ # in query `start_datetime=2022-07-01 09:00:05`.
834
+ # @param [String] end_date Optional parameter: The end date (format
835
+ # YYYY-MM-DD) with which to filter the date_field. Returns components with a
836
+ # timestamp up to and including 11:59:59PM in your site’s time zone on the
837
+ # date specified. Use in query `end_date=2011-12-16`.
838
+ # @param [String] end_datetime Optional parameter: The end date and time
839
+ # (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns
840
+ # components with a timestamp at or before exact time provided in query. You
841
+ # can specify timezone in query - otherwise your site''s time zone will be
842
+ # used. If provided, this parameter will be used instead of end_date. Use in
843
+ # query `end_datetime=2022-07-01 09:00:05`.
844
+ # @param [Array[Integer]] subscription_ids Optional parameter: Allows
845
+ # fetching components allocation with matching subscription id based on
846
+ # provided ids. Use in query `subscription_ids=1,2,3`.
847
+ # @param [IncludeNotNull] price_point_ids Optional parameter: Allows
848
+ # fetching components allocation only if price point id is present. Use in
849
+ # query `price_point_ids=not_null`.
850
+ # @param [Array[Integer]] product_family_ids Optional parameter: Allows
851
+ # fetching components allocation with matching product family id based on
852
+ # provided ids. Use in query `product_family_ids=1,2,3`.
853
+ # @param [ListSubscriptionComponentsInclude] include Optional parameter:
854
+ # Allows including additional data in the response. Use in query
855
+ # `include=subscription`.
856
+ # @param [TrueClass | FalseClass] filter_use_site_exchange_rate Optional
857
+ # parameter: Allows fetching components allocation with matching
858
+ # use_site_exchange_rate based on provided value. Use in query
859
+ # `filter[use_site_exchange_rate]=true`.
860
+ # @param [Array[String]] filter_currencies Optional parameter: Allows
861
+ # fetching components allocation with matching currency based on provided
862
+ # values. Use in query `filter[currencies]=USD,EUR`.
863
+ # @param [Array[SubscriptionState]] filter_subscription_states Optional
864
+ # parameter: Allows fetching components allocations that belong to the
865
+ # subscription with matching states based on provided values. To use this
866
+ # filter you also have to include the following param in the request
867
+ # `include=subscription`. Use in query
868
+ # `filter[subscription][states]=active,canceled&include=subscription`.
869
+ # @param [SubscriptionListDateField] filter_subscription_date_field Optional
870
+ # parameter: The type of filter you'd like to apply to your search. To use
871
+ # this filter you also have to include the following param in the request
872
+ # `include=subscription`.
873
+ # @param [String] filter_subscription_start_date Optional parameter: The
874
+ # start date (format YYYY-MM-DD) with which to filter the date_field.
875
+ # Returns components that belong to the subscription with a timestamp at or
876
+ # after midnight (12:00:00 AM) in your site’s time zone on the date
877
+ # specified. To use this filter you also have to include the following param
878
+ # in the request `include=subscription`.
879
+ # @param [String] filter_subscription_start_datetime Optional parameter: The
880
+ # start date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the
881
+ # date_field. Returns components that belong to the subscription with a
882
+ # timestamp at or after exact time provided in query. You can specify
883
+ # timezone in query - otherwise your site''s time zone will be used. If
884
+ # provided, this parameter will be used instead of start_date. To use this
885
+ # filter you also have to include the following param in the request
886
+ # `include=subscription`.
887
+ # @param [String] filter_subscription_end_date Optional parameter: The end
888
+ # date (format YYYY-MM-DD) with which to filter the date_field. Returns
889
+ # components that belong to the subscription with a timestamp up to and
890
+ # including 11:59:59PM in your site’s time zone on the date specified. To
891
+ # use this filter you also have to include the following param in the
892
+ # request `include=subscription`.
893
+ # @param [String] filter_subscription_end_datetime Optional parameter: The
894
+ # end date and time (format YYYY-MM-DD HH:MM:SS) with which to filter the
895
+ # date_field. Returns components that belong to the subscription with a
896
+ # timestamp at or before exact time provided in query. You can specify
897
+ # timezone in query - otherwise your site''s time zone will be used. If
898
+ # provided, this parameter will be used instead of end_date. To use this
899
+ # filter you also have to include the following param in the request
900
+ # `include=subscription`.
901
+ # @return [ListSubscriptionComponentsResponse] response from the API call.
902
+ def list_subscription_components_for_site(options = {})
903
+ new_api_call_builder
904
+ .request(new_request_builder(HttpMethodEnum::GET,
905
+ '/subscriptions_components.json',
906
+ Server::DEFAULT)
907
+ .query_param(new_parameter(options['page'], key: 'page'))
908
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
909
+ .query_param(new_parameter(options['sort'], key: 'sort'))
910
+ .query_param(new_parameter(options['direction'], key: 'direction')
911
+ .validator(proc do |value|
912
+ UnionTypeLookUp.get(:ListSubscriptionComponentsForSiteInputDirection)
913
+ .validate(value)
914
+ end))
915
+ .query_param(new_parameter(options['date_field'], key: 'date_field'))
916
+ .query_param(new_parameter(options['start_date'], key: 'start_date'))
917
+ .query_param(new_parameter(options['start_datetime'], key: 'start_datetime'))
918
+ .query_param(new_parameter(options['end_date'], key: 'end_date'))
919
+ .query_param(new_parameter(options['end_datetime'], key: 'end_datetime'))
920
+ .query_param(new_parameter(options['subscription_ids'], key: 'subscription_ids'))
921
+ .query_param(new_parameter(options['price_point_ids'], key: 'price_point_ids'))
922
+ .query_param(new_parameter(options['product_family_ids'], key: 'product_family_ids'))
923
+ .query_param(new_parameter(options['include'], key: 'include'))
924
+ .query_param(new_parameter(options['filter_use_site_exchange_rate'], key: 'filter[use_site_exchange_rate]'))
925
+ .query_param(new_parameter(options['filter_currencies'], key: 'filter[currencies]'))
926
+ .query_param(new_parameter(options['filter_subscription_states'], key: 'filter[subscription][states]'))
927
+ .query_param(new_parameter(options['filter_subscription_date_field'], key: 'filter[subscription][date_field]'))
928
+ .query_param(new_parameter(options['filter_subscription_start_date'], key: 'filter[subscription][start_date]'))
929
+ .query_param(new_parameter(options['filter_subscription_start_datetime'], key: 'filter[subscription][start_datetime]'))
930
+ .query_param(new_parameter(options['filter_subscription_end_date'], key: 'filter[subscription][end_date]'))
931
+ .query_param(new_parameter(options['filter_subscription_end_datetime'], key: 'filter[subscription][end_datetime]'))
932
+ .header_param(new_parameter('application/json', key: 'accept'))
933
+ .auth(Single.new('BasicAuth'))
934
+ .array_serialization_format(ArraySerializationFormat::CSV))
935
+ .response(new_response_handler
936
+ .is_nullify404(true)
937
+ .deserializer(APIHelper.method(:custom_type_deserializer))
938
+ .deserialize_into(ListSubscriptionComponentsResponse.method(:from_hash)))
939
+ .execute
940
+ end
941
+
942
+ # ## Documentation
943
+ # Events-Based Billing is an evolved form of metered billing that is based
944
+ # on data-rich events streamed in real-time from your system to Chargify.
945
+ # These events can then be transformed, enriched, or analyzed to form the
946
+ # computed totals of usage charges billed to your customers.
947
+ # This API allows you to stream events into the Chargify data ingestion
948
+ # engine.
949
+ # Learn more about the feature in general in the [Events-Based Billing help
950
+ # docs](https://chargify.zendesk.com/hc/en-us/articles/4407720613403).
951
+ # ## Record Event
952
+ # Use this endpoint to record a single event.
953
+ # *Note: this endpoint differs from the standard Chargify endpoints in that
954
+ # the URL subdomain will be `events` and your site subdomain will be
955
+ # included in the URL path. For example:*
956
+ # ```
957
+ # https://events.chargify.com/my-site-subdomain/events/my-stream-api-handle
958
+ # ```
959
+ # @param [String] subdomain Required parameter: Your site's subdomain
960
+ # @param [String] api_handle Required parameter: Identifies the Stream for
961
+ # which the event should be published.
962
+ # @param [String] store_uid Optional parameter: If you've attached your own
963
+ # Keen project as a Chargify event data-store, use this parameter to
964
+ # indicate the data-store.
965
+ # @param [EBBEvent] body Optional parameter: Example:
966
+ # @return [void] response from the API call.
967
+ def record_event(subdomain,
968
+ api_handle,
969
+ store_uid: nil,
970
+ body: nil)
971
+ new_api_call_builder
972
+ .request(new_request_builder(HttpMethodEnum::POST,
973
+ '/{subdomain}/events/{api_handle}.json',
974
+ Server::DEFAULT)
975
+ .template_param(new_parameter(subdomain, key: 'subdomain')
976
+ .is_required(true)
977
+ .should_encode(true))
978
+ .template_param(new_parameter(api_handle, key: 'api_handle')
979
+ .is_required(true)
980
+ .should_encode(true))
981
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
982
+ .query_param(new_parameter(store_uid, key: 'store_uid'))
983
+ .body_param(new_parameter(body))
984
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
985
+ .auth(Single.new('BasicAuth')))
986
+ .response(new_response_handler
987
+ .is_nullify404(true)
988
+ .is_response_void(true))
989
+ .execute
990
+ end
991
+ end
992
+ end