subtain-apimatic-sdk 1.1.9 → 2.2.89

Sign up to get free protection for your applications and to get access to all the features.
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 +242 -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 +70 -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 +49 -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 +83 -0
  68. data/lib/advanced_billing/models/ach_agreement.rb +88 -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 +117 -0
  73. data/lib/advanced_billing/models/allocate_components.rb +131 -0
  74. data/lib/advanced_billing/models/allocation.rb +239 -0
  75. data/lib/advanced_billing/models/allocation_expiration_date.rb +50 -0
  76. data/lib/advanced_billing/models/allocation_payment.rb +91 -0
  77. data/lib/advanced_billing/models/allocation_preview.rb +197 -0
  78. data/lib/advanced_billing/models/allocation_preview_item.rb +194 -0
  79. data/lib/advanced_billing/models/allocation_preview_line_item.rb +135 -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 +75 -0
  83. data/lib/advanced_billing/models/applied_credit_note.rb +60 -0
  84. data/lib/advanced_billing/models/apply_credit_note_event_data.rb +179 -0
  85. data/lib/advanced_billing/models/apply_debit_note_event_data.rb +96 -0
  86. data/lib/advanced_billing/models/apply_payment_event_data.rb +133 -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 +281 -0
  91. data/lib/advanced_billing/models/bank_account_attributes.rb +179 -0
  92. data/lib/advanced_billing/models/bank_account_payment_profile.rb +296 -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 +62 -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 +94 -0
  103. data/lib/advanced_billing/models/batch_job_response.rb +48 -0
  104. data/lib/advanced_billing/models/billing_address.rb +107 -0
  105. data/lib/advanced_billing/models/billing_manifest.rb +147 -0
  106. data/lib/advanced_billing/models/billing_manifest_item.rb +189 -0
  107. data/lib/advanced_billing/models/breakouts.rb +84 -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 +82 -0
  114. data/lib/advanced_billing/models/calendar_billing.rb +79 -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 +63 -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 +72 -0
  122. data/lib/advanced_billing/models/chargify_ebb.rb +116 -0
  123. data/lib/advanced_billing/models/cleanup_scope.rb +26 -0
  124. data/lib/advanced_billing/models/component.rb +421 -0
  125. data/lib/advanced_billing/models/component_allocation_change.rb +146 -0
  126. data/lib/advanced_billing/models/component_allocation_error_item.rb +80 -0
  127. data/lib/advanced_billing/models/component_cost_data.rb +139 -0
  128. data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +94 -0
  129. data/lib/advanced_billing/models/component_custom_price.rb +82 -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 +127 -0
  133. data/lib/advanced_billing/models/component_price_point.rb +201 -0
  134. data/lib/advanced_billing/models/component_price_point_error_item.rb +70 -0
  135. data/lib/advanced_billing/models/component_price_point_item.rb +90 -0
  136. data/lib/advanced_billing/models/component_price_point_price.rb +127 -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 +72 -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 +382 -0
  145. data/lib/advanced_billing/models/coupon_currency.rb +80 -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 +92 -0
  149. data/lib/advanced_billing/models/coupon_subcodes.rb +50 -0
  150. data/lib/advanced_billing/models/coupon_subcodes_response.rb +71 -0
  151. data/lib/advanced_billing/models/coupon_usage.rb +118 -0
  152. data/lib/advanced_billing/models/create_allocation.rb +166 -0
  153. data/lib/advanced_billing/models/create_allocation_request.rb +48 -0
  154. data/lib/advanced_billing/models/create_component_price_point.rb +124 -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 +70 -0
  158. data/lib/advanced_billing/models/create_currency_prices_request.rb +57 -0
  159. data/lib/advanced_billing/models/create_customer.rb +221 -0
  160. data/lib/advanced_billing/models/create_customer_request.rb +48 -0
  161. data/lib/advanced_billing/models/create_ebb_component.rb +63 -0
  162. data/lib/advanced_billing/models/create_invoice.rb +168 -0
  163. data/lib/advanced_billing/models/create_invoice_address.rb +130 -0
  164. data/lib/advanced_billing/models/create_invoice_coupon.rb +118 -0
  165. data/lib/advanced_billing/models/create_invoice_item.rb +192 -0
  166. data/lib/advanced_billing/models/create_invoice_payment.rb +92 -0
  167. data/lib/advanced_billing/models/create_invoice_payment_application.rb +58 -0
  168. data/lib/advanced_billing/models/create_invoice_payment_request.rb +59 -0
  169. data/lib/advanced_billing/models/create_invoice_request.rb +48 -0
  170. data/lib/advanced_billing/models/create_metadata.rb +60 -0
  171. data/lib/advanced_billing/models/create_metadata_request.rb +57 -0
  172. data/lib/advanced_billing/models/create_metafield.rb +106 -0
  173. data/lib/advanced_billing/models/create_metafields_request.rb +64 -0
  174. data/lib/advanced_billing/models/create_metered_component.rb +63 -0
  175. data/lib/advanced_billing/models/create_multi_invoice_payment.rb +133 -0
  176. data/lib/advanced_billing/models/create_multi_invoice_payment_request.rb +48 -0
  177. data/lib/advanced_billing/models/create_offer.rb +120 -0
  178. data/lib/advanced_billing/models/create_offer_component.rb +61 -0
  179. data/lib/advanced_billing/models/create_offer_request.rb +48 -0
  180. data/lib/advanced_billing/models/create_on_off_component.rb +63 -0
  181. data/lib/advanced_billing/models/create_or_update_coupon.rb +86 -0
  182. data/lib/advanced_billing/models/create_or_update_flat_amount_coupon.rb +220 -0
  183. data/lib/advanced_billing/models/create_or_update_percentage_coupon.rb +221 -0
  184. data/lib/advanced_billing/models/create_or_update_product.rb +139 -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 +88 -0
  187. data/lib/advanced_billing/models/create_payment.rb +77 -0
  188. data/lib/advanced_billing/models/create_payment_profile.rb +432 -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 +63 -0
  192. data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +192 -0
  193. data/lib/advanced_billing/models/create_prepayment.rb +93 -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 +66 -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 +62 -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 +188 -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 +64 -0
  203. data/lib/advanced_billing/models/create_reason_code.rb +68 -0
  204. data/lib/advanced_billing/models/create_reason_code_request.rb +48 -0
  205. data/lib/advanced_billing/models/create_segment.rb +145 -0
  206. data/lib/advanced_billing/models/create_segment_request.rb +48 -0
  207. data/lib/advanced_billing/models/create_subscription.rb +718 -0
  208. data/lib/advanced_billing/models/create_subscription_component.rb +126 -0
  209. data/lib/advanced_billing/models/create_subscription_group.rb +75 -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 +74 -0
  213. data/lib/advanced_billing/models/create_usage_request.rb +48 -0
  214. data/lib/advanced_billing/models/created_payment_profile.rb +341 -0
  215. data/lib/advanced_billing/models/created_prepayment.rb +117 -0
  216. data/lib/advanced_billing/models/credit_account_balance_changed.rb +122 -0
  217. data/lib/advanced_billing/models/credit_card_attributes.rb +72 -0
  218. data/lib/advanced_billing/models/credit_card_payment_profile.rb +288 -0
  219. data/lib/advanced_billing/models/credit_note.rb +409 -0
  220. data/lib/advanced_billing/models/credit_note1.rb +411 -0
  221. data/lib/advanced_billing/models/credit_note_application.rb +92 -0
  222. data/lib/advanced_billing/models/credit_note_line_item.rb +245 -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 +102 -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 +148 -0
  231. data/lib/advanced_billing/models/custom_price_used_for_subscription_create_update.rb +203 -0
  232. data/lib/advanced_billing/models/customer.rb +358 -0
  233. data/lib/advanced_billing/models/customer1.rb +114 -0
  234. data/lib/advanced_billing/models/customer_attributes.rb +243 -0
  235. data/lib/advanced_billing/models/customer_billing_address_change.rb +60 -0
  236. data/lib/advanced_billing/models/customer_change.rb +83 -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 +78 -0
  239. data/lib/advanced_billing/models/customer_error.rb +60 -0
  240. data/lib/advanced_billing/models/customer_payer_change.rb +60 -0
  241. data/lib/advanced_billing/models/customer_response.rb +48 -0
  242. data/lib/advanced_billing/models/customer_shipping_address_change.rb +60 -0
  243. data/lib/advanced_billing/models/deduct_service_credit.rb +81 -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 +60 -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 +96 -0
  250. data/lib/advanced_billing/models/dunning_step_data.rb +120 -0
  251. data/lib/advanced_billing/models/dunning_step_reached.rb +92 -0
  252. data/lib/advanced_billing/models/ebb_component.rb +280 -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 +91 -0
  257. data/lib/advanced_billing/models/endpoint_response.rb +50 -0
  258. data/lib/advanced_billing/models/errors.rb +60 -0
  259. data/lib/advanced_billing/models/event.rb +149 -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 +171 -0
  267. data/lib/advanced_billing/models/get_one_time_token_payment_profile.rb +261 -0
  268. data/lib/advanced_billing/models/get_one_time_token_request.rb +49 -0
  269. data/lib/advanced_billing/models/group_billing.rb +77 -0
  270. data/lib/advanced_billing/models/group_settings.rb +75 -0
  271. data/lib/advanced_billing/models/group_target.rb +62 -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 +733 -0
  278. data/lib/advanced_billing/models/invoice_address.rb +107 -0
  279. data/lib/advanced_billing/models/invoice_balance_item.rb +71 -0
  280. data/lib/advanced_billing/models/invoice_consolidation_level.rb +34 -0
  281. data/lib/advanced_billing/models/invoice_credit.rb +115 -0
  282. data/lib/advanced_billing/models/invoice_custom_field.rb +80 -0
  283. data/lib/advanced_billing/models/invoice_customer.rb +115 -0
  284. data/lib/advanced_billing/models/invoice_date_field.rb +32 -0
  285. data/lib/advanced_billing/models/invoice_discount.rb +174 -0
  286. data/lib/advanced_billing/models/invoice_discount_breakout.rb +72 -0
  287. data/lib/advanced_billing/models/invoice_display_settings.rb +65 -0
  288. data/lib/advanced_billing/models/invoice_event.rb +105 -0
  289. data/lib/advanced_billing/models/invoice_event1.rb +389 -0
  290. data/lib/advanced_billing/models/invoice_event_type.rb +50 -0
  291. data/lib/advanced_billing/models/invoice_issued.rb +258 -0
  292. data/lib/advanced_billing/models/invoice_line_item.rb +332 -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 +263 -0
  295. data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +60 -0
  296. data/lib/advanced_billing/models/invoice_payer.rb +103 -0
  297. data/lib/advanced_billing/models/invoice_payment.rb +150 -0
  298. data/lib/advanced_billing/models/invoice_payment_application.rb +74 -0
  299. data/lib/advanced_billing/models/invoice_payment_method.rb +124 -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 +69 -0
  303. data/lib/advanced_billing/models/invoice_refund.rb +106 -0
  304. data/lib/advanced_billing/models/invoice_response.rb +48 -0
  305. data/lib/advanced_billing/models/invoice_seller.rb +83 -0
  306. data/lib/advanced_billing/models/invoice_sort_field.rb +41 -0
  307. data/lib/advanced_billing/models/invoice_tax.rb +172 -0
  308. data/lib/advanced_billing/models/invoice_tax_breakout.rb +71 -0
  309. data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +81 -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 +118 -0
  312. data/lib/advanced_billing/models/issue_invoice_request.rb +63 -0
  313. data/lib/advanced_billing/models/issue_service_credit.rb +81 -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 +133 -0
  317. data/lib/advanced_billing/models/item_price_point_data.rb +70 -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 +89 -0
  323. data/lib/advanced_billing/models/list_invoices_response.rb +57 -0
  324. data/lib/advanced_billing/models/list_metafields_response.rb +99 -0
  325. data/lib/advanced_billing/models/list_mrr_response.rb +48 -0
  326. data/lib/advanced_billing/models/list_mrr_response_result.rb +120 -0
  327. data/lib/advanced_billing/models/list_offers_response.rb +59 -0
  328. data/lib/advanced_billing/models/list_payment_profile_item.rb +285 -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 +80 -0
  334. data/lib/advanced_billing/models/list_public_keys_response.rb +69 -0
  335. data/lib/advanced_billing/models/list_sale_rep_item.rb +93 -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 +142 -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 +146 -0
  345. data/lib/advanced_billing/models/list_subscription_groups_meta.rb +60 -0
  346. data/lib/advanced_billing/models/list_subscription_groups_response.rb +69 -0
  347. data/lib/advanced_billing/models/metadata.rb +102 -0
  348. data/lib/advanced_billing/models/metafield.rb +116 -0
  349. data/lib/advanced_billing/models/metafield_input.rb +32 -0
  350. data/lib/advanced_billing/models/metafield_scope.rb +113 -0
  351. data/lib/advanced_billing/models/metafields.rb +106 -0
  352. data/lib/advanced_billing/models/metafields1.rb +106 -0
  353. data/lib/advanced_billing/models/metered_component.rb +302 -0
  354. data/lib/advanced_billing/models/metered_usage.rb +135 -0
  355. data/lib/advanced_billing/models/movement.rb +143 -0
  356. data/lib/advanced_billing/models/movement_line_item.rb +148 -0
  357. data/lib/advanced_billing/models/mrr.rb +103 -0
  358. data/lib/advanced_billing/models/mrr_movement.rb +81 -0
  359. data/lib/advanced_billing/models/mrr_response.rb +48 -0
  360. data/lib/advanced_billing/models/multi_invoice_payment.rb +92 -0
  361. data/lib/advanced_billing/models/multi_invoice_payment_response.rb +48 -0
  362. data/lib/advanced_billing/models/net_terms.rb +95 -0
  363. data/lib/advanced_billing/models/offer.rb +265 -0
  364. data/lib/advanced_billing/models/offer_discount.rb +70 -0
  365. data/lib/advanced_billing/models/offer_item.rb +134 -0
  366. data/lib/advanced_billing/models/offer_response.rb +50 -0
  367. data/lib/advanced_billing/models/offer_signup_page.rb +100 -0
  368. data/lib/advanced_billing/models/on_off_component.rb +299 -0
  369. data/lib/advanced_billing/models/organization_address.rb +129 -0
  370. data/lib/advanced_billing/models/origin_invoice.rb +60 -0
  371. data/lib/advanced_billing/models/overage_pricing.rb +88 -0
  372. data/lib/advanced_billing/models/override_subscription.rb +102 -0
  373. data/lib/advanced_billing/models/override_subscription_request.rb +48 -0
  374. data/lib/advanced_billing/models/paginated_metadata.rb +99 -0
  375. data/lib/advanced_billing/models/pause_request.rb +50 -0
  376. data/lib/advanced_billing/models/payer_attributes.rb +223 -0
  377. data/lib/advanced_billing/models/payer_error.rb +70 -0
  378. data/lib/advanced_billing/models/payment.rb +82 -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 +80 -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 +82 -0
  384. data/lib/advanced_billing/models/payment_method_credit_card_type.rb +104 -0
  385. data/lib/advanced_billing/models/payment_method_external_type.rb +90 -0
  386. data/lib/advanced_billing/models/payment_method_nested_data.rb +156 -0
  387. data/lib/advanced_billing/models/payment_method_paypal_type.rb +70 -0
  388. data/lib/advanced_billing/models/payment_profile.rb +288 -0
  389. data/lib/advanced_billing/models/payment_profile_attributes.rb +370 -0
  390. data/lib/advanced_billing/models/payment_profile_response.rb +49 -0
  391. data/lib/advanced_billing/models/payment_related_events.rb +80 -0
  392. data/lib/advanced_billing/models/payment_response.rb +69 -0
  393. data/lib/advanced_billing/models/payment_type.rb +26 -0
  394. data/lib/advanced_billing/models/pending_cancellation_change.rb +80 -0
  395. data/lib/advanced_billing/models/portal_management_link.rb +104 -0
  396. data/lib/advanced_billing/models/pre_payment.rb +75 -0
  397. data/lib/advanced_billing/models/prepaid_component_price_point.rb +101 -0
  398. data/lib/advanced_billing/models/prepaid_configuration.rb +105 -0
  399. data/lib/advanced_billing/models/prepaid_configuration_response.rb +49 -0
  400. data/lib/advanced_billing/models/prepaid_subscription_balance_changed.rb +111 -0
  401. data/lib/advanced_billing/models/prepaid_usage.rb +200 -0
  402. data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +71 -0
  403. data/lib/advanced_billing/models/prepaid_usage_component.rb +360 -0
  404. data/lib/advanced_billing/models/prepayment1.rb +137 -0
  405. data/lib/advanced_billing/models/prepayment_account_balance_changed.rb +109 -0
  406. data/lib/advanced_billing/models/prepayment_aggregated_error.rb +71 -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 +70 -0
  411. data/lib/advanced_billing/models/price.rb +99 -0
  412. data/lib/advanced_billing/models/price_point.rb +177 -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 +523 -0
  416. data/lib/advanced_billing/models/product_family.rb +114 -0
  417. data/lib/advanced_billing/models/product_family_response.rb +50 -0
  418. data/lib/advanced_billing/models/product_price_point.rb +302 -0
  419. data/lib/advanced_billing/models/product_price_point_currency_price.rb +102 -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 +90 -0
  423. data/lib/advanced_billing/models/proforma_error.rb +51 -0
  424. data/lib/advanced_billing/models/proforma_invoice.rb +484 -0
  425. data/lib/advanced_billing/models/proforma_invoice_credit.rb +82 -0
  426. data/lib/advanced_billing/models/proforma_invoice_discount.rb +111 -0
  427. data/lib/advanced_billing/models/proforma_invoice_discount_breakout.rb +62 -0
  428. data/lib/advanced_billing/models/proforma_invoice_issued.rb +205 -0
  429. data/lib/advanced_billing/models/proforma_invoice_payment.rb +82 -0
  430. data/lib/advanced_billing/models/proforma_invoice_preview.rb +484 -0
  431. data/lib/advanced_billing/models/proforma_invoice_tax.rb +120 -0
  432. data/lib/advanced_billing/models/proforma_invoice_tax_breakout.rb +61 -0
  433. data/lib/advanced_billing/models/proration.rb +52 -0
  434. data/lib/advanced_billing/models/public_key.rb +71 -0
  435. data/lib/advanced_billing/models/public_signup_page.rb +84 -0
  436. data/lib/advanced_billing/models/quantity_based_component.rb +312 -0
  437. data/lib/advanced_billing/models/reactivate_subscription_group_request.rb +61 -0
  438. data/lib/advanced_billing/models/reactivate_subscription_group_response.rb +135 -0
  439. data/lib/advanced_billing/models/reactivate_subscription_request.rb +125 -0
  440. data/lib/advanced_billing/models/reactivation_billing.rb +56 -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 +110 -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 +81 -0
  449. data/lib/advanced_billing/models/referral_validation_response.rb +50 -0
  450. data/lib/advanced_billing/models/refund.rb +128 -0
  451. data/lib/advanced_billing/models/refund_consolidated_invoice.rb +129 -0
  452. data/lib/advanced_billing/models/refund_invoice.rb +128 -0
  453. data/lib/advanced_billing/models/refund_invoice_event_data.rb +175 -0
  454. data/lib/advanced_billing/models/refund_invoice_request.rb +64 -0
  455. data/lib/advanced_billing/models/refund_prepayment.rb +108 -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 +93 -0
  460. data/lib/advanced_billing/models/remove_payment_event_data.rb +135 -0
  461. data/lib/advanced_billing/models/renewal_preview.rb +161 -0
  462. data/lib/advanced_billing/models/renewal_preview_component.rb +93 -0
  463. data/lib/advanced_billing/models/renewal_preview_line_item.rb +167 -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 +83 -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 +76 -0
  472. data/lib/advanced_billing/models/resumption_charge.rb +27 -0
  473. data/lib/advanced_billing/models/revoked_invitation.rb +72 -0
  474. data/lib/advanced_billing/models/sale_rep.rb +100 -0
  475. data/lib/advanced_billing/models/sale_rep_item_mrr.rb +70 -0
  476. data/lib/advanced_billing/models/sale_rep_settings.rb +113 -0
  477. data/lib/advanced_billing/models/sale_rep_subscription.rb +143 -0
  478. data/lib/advanced_billing/models/segment.rb +194 -0
  479. data/lib/advanced_billing/models/segment_price.rb +126 -0
  480. data/lib/advanced_billing/models/segment_response.rb +50 -0
  481. data/lib/advanced_billing/models/seller.rb +82 -0
  482. data/lib/advanced_billing/models/send_invoice_request.rb +73 -0
  483. data/lib/advanced_billing/models/service_credit.rb +92 -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 +107 -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 +220 -0
  490. data/lib/advanced_billing/models/site_response.rb +48 -0
  491. data/lib/advanced_billing/models/site_statistics.rb +174 -0
  492. data/lib/advanced_billing/models/site_summary.rb +90 -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 +805 -0
  498. data/lib/advanced_billing/models/subscription_bank_account.rb +281 -0
  499. data/lib/advanced_billing/models/subscription_component.rb +416 -0
  500. data/lib/advanced_billing/models/subscription_component_allocation_error_item.rb +60 -0
  501. data/lib/advanced_billing/models/subscription_component_response.rb +50 -0
  502. data/lib/advanced_billing/models/subscription_component_subscription.rb +61 -0
  503. data/lib/advanced_billing/models/subscription_date_field.rb +44 -0
  504. data/lib/advanced_billing/models/subscription_group.rb +96 -0
  505. data/lib/advanced_billing/models/subscription_group_balances.rb +82 -0
  506. data/lib/advanced_billing/models/subscription_group_bank_account.rb +225 -0
  507. data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +107 -0
  508. data/lib/advanced_billing/models/subscription_group_credit_card.rb +277 -0
  509. data/lib/advanced_billing/models/subscription_group_customer.rb +90 -0
  510. data/lib/advanced_billing/models/subscription_group_inlined.rb +94 -0
  511. data/lib/advanced_billing/models/subscription_group_item.rb +152 -0
  512. data/lib/advanced_billing/models/subscription_group_member_error.rb +70 -0
  513. data/lib/advanced_billing/models/subscription_group_payment_profile.rb +81 -0
  514. data/lib/advanced_billing/models/subscription_group_prepayment.rb +75 -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 +92 -0
  518. data/lib/advanced_billing/models/subscription_group_response.rb +49 -0
  519. data/lib/advanced_billing/models/subscription_group_signup.rb +154 -0
  520. data/lib/advanced_billing/models/subscription_group_signup_component.rb +110 -0
  521. data/lib/advanced_billing/models/subscription_group_signup_error.rb +112 -0
  522. data/lib/advanced_billing/models/subscription_group_signup_failure.rb +83 -0
  523. data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +140 -0
  524. data/lib/advanced_billing/models/subscription_group_signup_item.rb +197 -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 +171 -0
  527. data/lib/advanced_billing/models/subscription_group_signup_success.rb +81 -0
  528. data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +125 -0
  529. data/lib/advanced_billing/models/subscription_group_subscription_error.rb +87 -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 +115 -0
  533. data/lib/advanced_billing/models/subscription_list_date_field.rb +20 -0
  534. data/lib/advanced_billing/models/subscription_migration_preview.rb +90 -0
  535. data/lib/advanced_billing/models/subscription_migration_preview_options.rb +163 -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 +70 -0
  539. data/lib/advanced_billing/models/subscription_mrr_breakout.rb +59 -0
  540. data/lib/advanced_billing/models/subscription_mrr_response.rb +57 -0
  541. data/lib/advanced_billing/models/subscription_note.rb +101 -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 +81 -0
  546. data/lib/advanced_billing/models/subscription_product_migration.rb +152 -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 +74 -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 +64 -0
  557. data/lib/advanced_billing/models/update_allocation_expiration_date.rb +50 -0
  558. data/lib/advanced_billing/models/update_component.rb +142 -0
  559. data/lib/advanced_billing/models/update_component_price_point.rb +69 -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 +57 -0
  563. data/lib/advanced_billing/models/update_currency_price.rb +57 -0
  564. data/lib/advanced_billing/models/update_currency_prices_request.rb +57 -0
  565. data/lib/advanced_billing/models/update_customer.rb +223 -0
  566. data/lib/advanced_billing/models/update_customer_request.rb +48 -0
  567. data/lib/advanced_billing/models/update_endpoint.rb +58 -0
  568. data/lib/advanced_billing/models/update_endpoint_request.rb +48 -0
  569. data/lib/advanced_billing/models/update_metadata.rb +70 -0
  570. data/lib/advanced_billing/models/update_metadata_request.rb +50 -0
  571. data/lib/advanced_billing/models/update_metafield.rb +106 -0
  572. data/lib/advanced_billing/models/update_metafields_request.rb +62 -0
  573. data/lib/advanced_billing/models/update_payment_profile.rb +194 -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 +92 -0
  577. data/lib/advanced_billing/models/update_product_price_point.rb +61 -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 +70 -0
  580. data/lib/advanced_billing/models/update_reason_code_request.rb +48 -0
  581. data/lib/advanced_billing/models/update_segment.rb +75 -0
  582. data/lib/advanced_billing/models/update_segment_request.rb +48 -0
  583. data/lib/advanced_billing/models/update_subscription.rb +277 -0
  584. data/lib/advanced_billing/models/update_subscription_component.rb +61 -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 +57 -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 +265 -0
  591. data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +95 -0
  592. data/lib/advanced_billing/models/upsert_prepaid_configuration_request.rb +49 -0
  593. data/lib/advanced_billing/models/usage.rb +146 -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 +113 -0
  597. data/lib/advanced_billing/models/void_invoice_event_data1.rb +102 -0
  598. data/lib/advanced_billing/models/void_invoice_request.rb +48 -0
  599. data/lib/advanced_billing/models/webhook.rb +173 -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 +1239 -0
  607. data/lib/advanced_billing.rb +669 -0
  608. metadata +608 -105
  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