subtain-apimatic-sdk 4.1.1 → 9.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (711) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +28 -0
  3. data/README.md +377 -0
  4. data/lib/advanced_billing/api_helper.rb +10 -0
  5. data/lib/advanced_billing/client.rb +243 -0
  6. data/lib/advanced_billing/configuration.rb +158 -0
  7. data/lib/advanced_billing/controllers/advance_invoice_controller.rb +126 -0
  8. data/lib/advanced_billing/controllers/api_exports_controller.rb +268 -0
  9. data/lib/advanced_billing/controllers/base_controller.rb +71 -0
  10. data/lib/advanced_billing/controllers/billing_portal_controller.rb +165 -0
  11. data/lib/advanced_billing/controllers/components_controller.rb +747 -0
  12. data/lib/advanced_billing/controllers/coupons_controller.rb +691 -0
  13. data/lib/advanced_billing/controllers/custom_fields_controller.rb +465 -0
  14. data/lib/advanced_billing/controllers/customers_controller.rb +255 -0
  15. data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +334 -0
  16. data/lib/advanced_billing/controllers/events_controller.rb +229 -0
  17. data/lib/advanced_billing/controllers/insights_controller.rb +168 -0
  18. data/lib/advanced_billing/controllers/invoices_controller.rb +953 -0
  19. data/lib/advanced_billing/controllers/offers_controller.rb +132 -0
  20. data/lib/advanced_billing/controllers/payment_profiles_controller.rb +732 -0
  21. data/lib/advanced_billing/controllers/product_families_controller.rb +187 -0
  22. data/lib/advanced_billing/controllers/product_price_points_controller.rb +422 -0
  23. data/lib/advanced_billing/controllers/products_controller.rb +220 -0
  24. data/lib/advanced_billing/controllers/proforma_invoices_controller.rb +381 -0
  25. data/lib/advanced_billing/controllers/reason_codes_controller.rb +158 -0
  26. data/lib/advanced_billing/controllers/referral_codes_controller.rb +42 -0
  27. data/lib/advanced_billing/controllers/sales_commissions_controller.rb +192 -0
  28. data/lib/advanced_billing/controllers/sites_controller.rb +96 -0
  29. data/lib/advanced_billing/controllers/subscription_components_controller.rb +992 -0
  30. data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +163 -0
  31. data/lib/advanced_billing/controllers/subscription_group_status_controller.rb +157 -0
  32. data/lib/advanced_billing/controllers/subscription_groups_controller.rb +300 -0
  33. data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +226 -0
  34. data/lib/advanced_billing/controllers/subscription_notes_controller.rb +159 -0
  35. data/lib/advanced_billing/controllers/subscription_products_controller.rb +166 -0
  36. data/lib/advanced_billing/controllers/subscription_status_controller.rb +473 -0
  37. data/lib/advanced_billing/controllers/subscriptions_controller.rb +1357 -0
  38. data/lib/advanced_billing/controllers/webhooks_controller.rb +210 -0
  39. data/lib/advanced_billing/exceptions/api_exception.rb +10 -0
  40. data/lib/advanced_billing/exceptions/component_allocation_error_exception.rb +41 -0
  41. data/lib/advanced_billing/exceptions/component_price_point_error_exception.rb +41 -0
  42. data/lib/advanced_billing/exceptions/customer_error_response_exception.rb +34 -0
  43. data/lib/advanced_billing/exceptions/error_list_response_exception.rb +32 -0
  44. data/lib/advanced_billing/exceptions/error_map_response_exception.rb +32 -0
  45. data/lib/advanced_billing/exceptions/event_based_billing_list_segments_errors_exception.rb +32 -0
  46. data/lib/advanced_billing/exceptions/event_based_billing_segment_errors_exception.rb +35 -0
  47. data/lib/advanced_billing/exceptions/event_based_billing_segment_exception.rb +32 -0
  48. data/lib/advanced_billing/exceptions/nested_error_response_exception.rb +32 -0
  49. data/lib/advanced_billing/exceptions/proforma_bad_request_error_response_exception.rb +32 -0
  50. data/lib/advanced_billing/exceptions/refund_prepayment_aggregated_errors_response_exception.rb +33 -0
  51. data/lib/advanced_billing/exceptions/refund_prepayment_base_errors_response_exception.rb +32 -0
  52. data/lib/advanced_billing/exceptions/single_error_response_exception.rb +32 -0
  53. data/lib/advanced_billing/exceptions/single_string_error_response_exception.rb +32 -0
  54. data/lib/advanced_billing/exceptions/subscription_add_coupon_error_exception.rb +42 -0
  55. data/lib/advanced_billing/exceptions/subscription_component_allocation_error_exception.rb +41 -0
  56. data/lib/advanced_billing/exceptions/subscription_group_signup_error_response_exception.rb +32 -0
  57. data/lib/advanced_billing/exceptions/subscription_group_update_error_response_exception.rb +32 -0
  58. data/lib/advanced_billing/exceptions/subscription_remove_coupon_errors_exception.rb +32 -0
  59. data/lib/advanced_billing/exceptions/subscriptions_mrr_error_response_exception.rb +32 -0
  60. data/lib/advanced_billing/exceptions/too_many_management_link_requests_error_exception.rb +32 -0
  61. data/lib/advanced_billing/http/auth/basic_auth.rb +50 -0
  62. data/lib/advanced_billing/http/http_call_back.rb +10 -0
  63. data/lib/advanced_billing/http/http_method_enum.rb +10 -0
  64. data/lib/advanced_billing/http/http_request.rb +10 -0
  65. data/lib/advanced_billing/http/http_response.rb +10 -0
  66. data/lib/advanced_billing/models/account_balance.rb +51 -0
  67. data/lib/advanced_billing/models/account_balances.rb +81 -0
  68. data/lib/advanced_billing/models/ach_agreement.rb +96 -0
  69. data/lib/advanced_billing/models/activate_subscription_request.rb +57 -0
  70. data/lib/advanced_billing/models/add_coupons_request.rb +50 -0
  71. data/lib/advanced_billing/models/add_subscription_to_a_group.rb +62 -0
  72. data/lib/advanced_billing/models/agreement_acceptance.rb +125 -0
  73. data/lib/advanced_billing/models/allocate_components.rb +130 -0
  74. data/lib/advanced_billing/models/allocation.rb +231 -0
  75. data/lib/advanced_billing/models/allocation_expiration_date.rb +50 -0
  76. data/lib/advanced_billing/models/allocation_payment.rb +89 -0
  77. data/lib/advanced_billing/models/allocation_preview.rb +190 -0
  78. data/lib/advanced_billing/models/allocation_preview_item.rb +187 -0
  79. data/lib/advanced_billing/models/allocation_preview_line_item.rb +130 -0
  80. data/lib/advanced_billing/models/allocation_preview_response.rb +49 -0
  81. data/lib/advanced_billing/models/allocation_response.rb +50 -0
  82. data/lib/advanced_billing/models/allocation_settings.rb +74 -0
  83. data/lib/advanced_billing/models/applied_credit_note.rb +69 -0
  84. data/lib/advanced_billing/models/apply_credit_note_event_data.rb +174 -0
  85. data/lib/advanced_billing/models/apply_debit_note_event_data.rb +94 -0
  86. data/lib/advanced_billing/models/apply_payment_event_data.rb +130 -0
  87. data/lib/advanced_billing/models/attribute_error.rb +48 -0
  88. data/lib/advanced_billing/models/auto_invite.rb +23 -0
  89. data/lib/advanced_billing/models/auto_resume.rb +51 -0
  90. data/lib/advanced_billing/models/bank_account.rb +270 -0
  91. data/lib/advanced_billing/models/bank_account_attributes.rb +183 -0
  92. data/lib/advanced_billing/models/bank_account_payment_profile.rb +285 -0
  93. data/lib/advanced_billing/models/bank_account_response.rb +48 -0
  94. data/lib/advanced_billing/models/bank_account_type.rb +23 -0
  95. data/lib/advanced_billing/models/bank_account_vault.rb +32 -0
  96. data/lib/advanced_billing/models/bank_account_verification.rb +61 -0
  97. data/lib/advanced_billing/models/bank_account_verification_request.rb +50 -0
  98. data/lib/advanced_billing/models/base_model.rb +62 -0
  99. data/lib/advanced_billing/models/base_refund_error.rb +50 -0
  100. data/lib/advanced_billing/models/base_string_error.rb +50 -0
  101. data/lib/advanced_billing/models/basic_date_field.rb +23 -0
  102. data/lib/advanced_billing/models/batch_job.rb +91 -0
  103. data/lib/advanced_billing/models/batch_job_response.rb +48 -0
  104. data/lib/advanced_billing/models/billing_address.rb +113 -0
  105. data/lib/advanced_billing/models/billing_manifest.rb +142 -0
  106. data/lib/advanced_billing/models/billing_manifest_item.rb +182 -0
  107. data/lib/advanced_billing/models/breakouts.rb +82 -0
  108. data/lib/advanced_billing/models/bulk_component_s_price_point_assignment.rb +59 -0
  109. data/lib/advanced_billing/models/bulk_create_product_price_points_request.rb +57 -0
  110. data/lib/advanced_billing/models/bulk_create_product_price_points_response.rb +59 -0
  111. data/lib/advanced_billing/models/bulk_create_segments.rb +59 -0
  112. data/lib/advanced_billing/models/bulk_update_segments.rb +59 -0
  113. data/lib/advanced_billing/models/bulk_update_segments_item.rb +80 -0
  114. data/lib/advanced_billing/models/calendar_billing.rb +78 -0
  115. data/lib/advanced_billing/models/cancel_grouped_subscriptions_request.rb +51 -0
  116. data/lib/advanced_billing/models/cancellation_method.rb +30 -0
  117. data/lib/advanced_billing/models/cancellation_options.rb +62 -0
  118. data/lib/advanced_billing/models/cancellation_request.rb +48 -0
  119. data/lib/advanced_billing/models/card_type.rb +56 -0
  120. data/lib/advanced_billing/models/card_type1.rb +116 -0
  121. data/lib/advanced_billing/models/change_invoice_collection_method_event_data.rb +71 -0
  122. data/lib/advanced_billing/models/chargify_ebb.rb +113 -0
  123. data/lib/advanced_billing/models/cleanup_scope.rb +26 -0
  124. data/lib/advanced_billing/models/component.rb +405 -0
  125. data/lib/advanced_billing/models/component_allocation_change.rb +142 -0
  126. data/lib/advanced_billing/models/component_allocation_error_item.rb +77 -0
  127. data/lib/advanced_billing/models/component_cost_data.rb +135 -0
  128. data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +101 -0
  129. data/lib/advanced_billing/models/component_custom_price.rb +81 -0
  130. data/lib/advanced_billing/models/component_kind.rb +32 -0
  131. data/lib/advanced_billing/models/component_kind_path.rb +32 -0
  132. data/lib/advanced_billing/models/component_price.rb +123 -0
  133. data/lib/advanced_billing/models/component_price_point.rb +192 -0
  134. data/lib/advanced_billing/models/component_price_point_error_item.rb +68 -0
  135. data/lib/advanced_billing/models/component_price_point_item.rb +98 -0
  136. data/lib/advanced_billing/models/component_price_point_price.rb +123 -0
  137. data/lib/advanced_billing/models/component_price_point_response.rb +48 -0
  138. data/lib/advanced_billing/models/component_price_points_response.rb +59 -0
  139. data/lib/advanced_billing/models/component_response.rb +48 -0
  140. data/lib/advanced_billing/models/component_s_price_point_assignment.rb +71 -0
  141. data/lib/advanced_billing/models/compounding_strategy.rb +23 -0
  142. data/lib/advanced_billing/models/consolidated_invoice.rb +59 -0
  143. data/lib/advanced_billing/models/count_response.rb +50 -0
  144. data/lib/advanced_billing/models/coupon.rb +367 -0
  145. data/lib/advanced_billing/models/coupon_currency.rb +77 -0
  146. data/lib/advanced_billing/models/coupon_currency_request.rb +57 -0
  147. data/lib/advanced_billing/models/coupon_response.rb +50 -0
  148. data/lib/advanced_billing/models/coupon_restriction.rb +99 -0
  149. data/lib/advanced_billing/models/coupon_subcodes.rb +50 -0
  150. data/lib/advanced_billing/models/coupon_subcodes_response.rb +70 -0
  151. data/lib/advanced_billing/models/coupon_usage.rb +114 -0
  152. data/lib/advanced_billing/models/create_allocation.rb +162 -0
  153. data/lib/advanced_billing/models/create_allocation_request.rb +48 -0
  154. data/lib/advanced_billing/models/create_component_price_point.rb +125 -0
  155. data/lib/advanced_billing/models/create_component_price_point_request.rb +64 -0
  156. data/lib/advanced_billing/models/create_component_price_points_request.rb +64 -0
  157. data/lib/advanced_billing/models/create_currency_price.rb +68 -0
  158. data/lib/advanced_billing/models/create_currency_prices_request.rb +57 -0
  159. data/lib/advanced_billing/models/create_customer.rb +209 -0
  160. data/lib/advanced_billing/models/create_customer_request.rb +48 -0
  161. data/lib/advanced_billing/models/create_ebb_component.rb +65 -0
  162. data/lib/advanced_billing/models/create_invoice.rb +163 -0
  163. data/lib/advanced_billing/models/create_invoice_address.rb +124 -0
  164. data/lib/advanced_billing/models/create_invoice_coupon.rb +115 -0
  165. data/lib/advanced_billing/models/create_invoice_item.rb +185 -0
  166. data/lib/advanced_billing/models/create_invoice_payment.rb +90 -0
  167. data/lib/advanced_billing/models/create_invoice_payment_application.rb +79 -0
  168. data/lib/advanced_billing/models/create_invoice_payment_request.rb +58 -0
  169. data/lib/advanced_billing/models/create_invoice_request.rb +48 -0
  170. data/lib/advanced_billing/models/create_metadata.rb +59 -0
  171. data/lib/advanced_billing/models/create_metadata_request.rb +57 -0
  172. data/lib/advanced_billing/models/create_metafield.rb +103 -0
  173. data/lib/advanced_billing/models/create_metafields_request.rb +64 -0
  174. data/lib/advanced_billing/models/create_metered_component.rb +65 -0
  175. data/lib/advanced_billing/models/create_multi_invoice_payment.rb +134 -0
  176. data/lib/advanced_billing/models/create_multi_invoice_payment_request.rb +48 -0
  177. data/lib/advanced_billing/models/create_offer.rb +116 -0
  178. data/lib/advanced_billing/models/create_offer_component.rb +60 -0
  179. data/lib/advanced_billing/models/create_offer_request.rb +48 -0
  180. data/lib/advanced_billing/models/create_on_off_component.rb +65 -0
  181. data/lib/advanced_billing/models/create_or_update_coupon.rb +85 -0
  182. data/lib/advanced_billing/models/create_or_update_flat_amount_coupon.rb +214 -0
  183. data/lib/advanced_billing/models/create_or_update_percentage_coupon.rb +215 -0
  184. data/lib/advanced_billing/models/create_or_update_product.rb +133 -0
  185. data/lib/advanced_billing/models/create_or_update_product_request.rb +48 -0
  186. data/lib/advanced_billing/models/create_or_update_segment_price.rb +87 -0
  187. data/lib/advanced_billing/models/create_payment.rb +75 -0
  188. data/lib/advanced_billing/models/create_payment_profile.rb +416 -0
  189. data/lib/advanced_billing/models/create_payment_profile_request.rb +49 -0
  190. data/lib/advanced_billing/models/create_payment_profile_response.rb +49 -0
  191. data/lib/advanced_billing/models/create_prepaid_component.rb +65 -0
  192. data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +194 -0
  193. data/lib/advanced_billing/models/create_prepayment.rb +90 -0
  194. data/lib/advanced_billing/models/create_prepayment_request.rb +48 -0
  195. data/lib/advanced_billing/models/create_prepayment_response.rb +48 -0
  196. data/lib/advanced_billing/models/create_product_currency_price.rb +64 -0
  197. data/lib/advanced_billing/models/create_product_currency_prices_request.rb +57 -0
  198. data/lib/advanced_billing/models/create_product_family.rb +61 -0
  199. data/lib/advanced_billing/models/create_product_family_request.rb +49 -0
  200. data/lib/advanced_billing/models/create_product_price_point.rb +182 -0
  201. data/lib/advanced_billing/models/create_product_price_point_request.rb +48 -0
  202. data/lib/advanced_billing/models/create_quantity_based_component.rb +66 -0
  203. data/lib/advanced_billing/models/create_reason_code.rb +66 -0
  204. data/lib/advanced_billing/models/create_reason_code_request.rb +48 -0
  205. data/lib/advanced_billing/models/create_segment.rb +143 -0
  206. data/lib/advanced_billing/models/create_segment_request.rb +48 -0
  207. data/lib/advanced_billing/models/create_subscription.rb +694 -0
  208. data/lib/advanced_billing/models/create_subscription_component.rb +122 -0
  209. data/lib/advanced_billing/models/create_subscription_group.rb +74 -0
  210. data/lib/advanced_billing/models/create_subscription_group_request.rb +49 -0
  211. data/lib/advanced_billing/models/create_subscription_request.rb +48 -0
  212. data/lib/advanced_billing/models/create_usage.rb +72 -0
  213. data/lib/advanced_billing/models/create_usage_request.rb +48 -0
  214. data/lib/advanced_billing/models/created_payment_profile.rb +327 -0
  215. data/lib/advanced_billing/models/created_prepayment.rb +114 -0
  216. data/lib/advanced_billing/models/credit_account_balance_changed.rb +120 -0
  217. data/lib/advanced_billing/models/credit_card_attributes.rb +81 -0
  218. data/lib/advanced_billing/models/credit_card_payment_profile.rb +277 -0
  219. data/lib/advanced_billing/models/credit_note.rb +403 -0
  220. data/lib/advanced_billing/models/credit_note1.rb +405 -0
  221. data/lib/advanced_billing/models/credit_note_application.rb +99 -0
  222. data/lib/advanced_billing/models/credit_note_line_item.rb +246 -0
  223. data/lib/advanced_billing/models/credit_scheme.rb +26 -0
  224. data/lib/advanced_billing/models/credit_scheme_request.rb +48 -0
  225. data/lib/advanced_billing/models/credit_type.rb +27 -0
  226. data/lib/advanced_billing/models/credit_type1.rb +28 -0
  227. data/lib/advanced_billing/models/currency_price.rb +99 -0
  228. data/lib/advanced_billing/models/currency_price_role.rb +26 -0
  229. data/lib/advanced_billing/models/current_vault.rb +99 -0
  230. data/lib/advanced_billing/models/custom_field_value_change.rb +144 -0
  231. data/lib/advanced_billing/models/custom_price_used_for_subscription_create_update.rb +197 -0
  232. data/lib/advanced_billing/models/customer.rb +352 -0
  233. data/lib/advanced_billing/models/customer1.rb +120 -0
  234. data/lib/advanced_billing/models/customer_attributes.rb +241 -0
  235. data/lib/advanced_billing/models/customer_billing_address_change.rb +59 -0
  236. data/lib/advanced_billing/models/customer_change.rb +81 -0
  237. data/lib/advanced_billing/models/customer_changes_preview_response.rb +48 -0
  238. data/lib/advanced_billing/models/customer_custom_fields_change.rb +77 -0
  239. data/lib/advanced_billing/models/customer_error.rb +60 -0
  240. data/lib/advanced_billing/models/customer_payer_change.rb +59 -0
  241. data/lib/advanced_billing/models/customer_response.rb +48 -0
  242. data/lib/advanced_billing/models/customer_shipping_address_change.rb +59 -0
  243. data/lib/advanced_billing/models/deduct_service_credit.rb +80 -0
  244. data/lib/advanced_billing/models/deduct_service_credit_request.rb +48 -0
  245. data/lib/advanced_billing/models/delayed_cancellation_response.rb +50 -0
  246. data/lib/advanced_billing/models/delete_subscription_group_response.rb +59 -0
  247. data/lib/advanced_billing/models/direction.rb +23 -0
  248. data/lib/advanced_billing/models/discount_type.rb +23 -0
  249. data/lib/advanced_billing/models/dunner_data.rb +131 -0
  250. data/lib/advanced_billing/models/dunning_step_data.rb +149 -0
  251. data/lib/advanced_billing/models/dunning_step_reached.rb +96 -0
  252. data/lib/advanced_billing/models/ebb_component.rb +271 -0
  253. data/lib/advanced_billing/models/ebb_event.rb +50 -0
  254. data/lib/advanced_billing/models/enable_webhooks_request.rb +49 -0
  255. data/lib/advanced_billing/models/enable_webhooks_response.rb +51 -0
  256. data/lib/advanced_billing/models/endpoint.rb +88 -0
  257. data/lib/advanced_billing/models/endpoint_response.rb +50 -0
  258. data/lib/advanced_billing/models/errors.rb +59 -0
  259. data/lib/advanced_billing/models/event.rb +145 -0
  260. data/lib/advanced_billing/models/event_based_billing_segment_error.rb +51 -0
  261. data/lib/advanced_billing/models/event_response.rb +48 -0
  262. data/lib/advanced_billing/models/event_type.rb +121 -0
  263. data/lib/advanced_billing/models/extended_interval_unit.rb +26 -0
  264. data/lib/advanced_billing/models/failed_payment_action.rb +37 -0
  265. data/lib/advanced_billing/models/first_charge_type.rb +26 -0
  266. data/lib/advanced_billing/models/full_subscription_group_response.rb +165 -0
  267. data/lib/advanced_billing/models/get_one_time_token_payment_profile.rb +249 -0
  268. data/lib/advanced_billing/models/get_one_time_token_request.rb +49 -0
  269. data/lib/advanced_billing/models/group_billing.rb +85 -0
  270. data/lib/advanced_billing/models/group_settings.rb +76 -0
  271. data/lib/advanced_billing/models/group_target.rb +75 -0
  272. data/lib/advanced_billing/models/group_target_type.rb +32 -0
  273. data/lib/advanced_billing/models/holder_type.rb +23 -0
  274. data/lib/advanced_billing/models/include_not_null.rb +20 -0
  275. data/lib/advanced_billing/models/include_option.rb +23 -0
  276. data/lib/advanced_billing/models/interval_unit.rb +23 -0
  277. data/lib/advanced_billing/models/invoice.rb +712 -0
  278. data/lib/advanced_billing/models/invoice_address.rb +113 -0
  279. data/lib/advanced_billing/models/invoice_balance_item.rb +79 -0
  280. data/lib/advanced_billing/models/invoice_consolidation_level.rb +34 -0
  281. data/lib/advanced_billing/models/invoice_credit.rb +121 -0
  282. data/lib/advanced_billing/models/invoice_custom_field.rb +88 -0
  283. data/lib/advanced_billing/models/invoice_customer.rb +121 -0
  284. data/lib/advanced_billing/models/invoice_date_field.rb +32 -0
  285. data/lib/advanced_billing/models/invoice_discount.rb +177 -0
  286. data/lib/advanced_billing/models/invoice_discount_breakout.rb +80 -0
  287. data/lib/advanced_billing/models/invoice_display_settings.rb +75 -0
  288. data/lib/advanced_billing/models/invoice_event.rb +102 -0
  289. data/lib/advanced_billing/models/invoice_event1.rb +374 -0
  290. data/lib/advanced_billing/models/invoice_event_type.rb +50 -0
  291. data/lib/advanced_billing/models/invoice_issued.rb +252 -0
  292. data/lib/advanced_billing/models/invoice_line_item.rb +321 -0
  293. data/lib/advanced_billing/models/invoice_line_item_component_cost_data.rb +69 -0
  294. data/lib/advanced_billing/models/invoice_line_item_event_data.rb +262 -0
  295. data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +69 -0
  296. data/lib/advanced_billing/models/invoice_payer.rb +109 -0
  297. data/lib/advanced_billing/models/invoice_payment.rb +155 -0
  298. data/lib/advanced_billing/models/invoice_payment_application.rb +73 -0
  299. data/lib/advanced_billing/models/invoice_payment_method.rb +129 -0
  300. data/lib/advanced_billing/models/invoice_payment_method_type.rb +35 -0
  301. data/lib/advanced_billing/models/invoice_payment_type.rb +29 -0
  302. data/lib/advanced_billing/models/invoice_previous_balance.rb +78 -0
  303. data/lib/advanced_billing/models/invoice_refund.rb +113 -0
  304. data/lib/advanced_billing/models/invoice_response.rb +48 -0
  305. data/lib/advanced_billing/models/invoice_seller.rb +90 -0
  306. data/lib/advanced_billing/models/invoice_sort_field.rb +41 -0
  307. data/lib/advanced_billing/models/invoice_tax.rb +176 -0
  308. data/lib/advanced_billing/models/invoice_tax_breakout.rb +79 -0
  309. data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +89 -0
  310. data/lib/advanced_billing/models/issue_advance_invoice_request.rb +50 -0
  311. data/lib/advanced_billing/models/issue_invoice_event_data.rb +115 -0
  312. data/lib/advanced_billing/models/issue_invoice_request.rb +63 -0
  313. data/lib/advanced_billing/models/issue_service_credit.rb +80 -0
  314. data/lib/advanced_billing/models/issue_service_credit_request.rb +49 -0
  315. data/lib/advanced_billing/models/item_category.rb +33 -0
  316. data/lib/advanced_billing/models/item_price_point_changed.rb +134 -0
  317. data/lib/advanced_billing/models/item_price_point_data.rb +78 -0
  318. data/lib/advanced_billing/models/list_components_price_points_include.rb +20 -0
  319. data/lib/advanced_billing/models/list_components_price_points_response.rb +57 -0
  320. data/lib/advanced_billing/models/list_credit_notes_response.rb +57 -0
  321. data/lib/advanced_billing/models/list_events_date_field.rb +20 -0
  322. data/lib/advanced_billing/models/list_invoice_events_response.rb +87 -0
  323. data/lib/advanced_billing/models/list_invoices_response.rb +57 -0
  324. data/lib/advanced_billing/models/list_metafields_response.rb +96 -0
  325. data/lib/advanced_billing/models/list_mrr_response.rb +48 -0
  326. data/lib/advanced_billing/models/list_mrr_response_result.rb +116 -0
  327. data/lib/advanced_billing/models/list_offers_response.rb +59 -0
  328. data/lib/advanced_billing/models/list_payment_profile_item.rb +274 -0
  329. data/lib/advanced_billing/models/list_payment_profiles_response.rb +51 -0
  330. data/lib/advanced_billing/models/list_product_price_points_response.rb +57 -0
  331. data/lib/advanced_billing/models/list_products_include.rb +20 -0
  332. data/lib/advanced_billing/models/list_products_price_points_include.rb +20 -0
  333. data/lib/advanced_billing/models/list_public_keys_meta.rb +78 -0
  334. data/lib/advanced_billing/models/list_public_keys_response.rb +68 -0
  335. data/lib/advanced_billing/models/list_sale_rep_item.rb +90 -0
  336. data/lib/advanced_billing/models/list_segments_response.rb +59 -0
  337. data/lib/advanced_billing/models/list_subcription_group_prepayment_item.rb +137 -0
  338. data/lib/advanced_billing/models/list_subscription_components_include.rb +20 -0
  339. data/lib/advanced_billing/models/list_subscription_components_response.rb +57 -0
  340. data/lib/advanced_billing/models/list_subscription_components_sort.rb +23 -0
  341. data/lib/advanced_billing/models/list_subscription_group_prepayment.rb +49 -0
  342. data/lib/advanced_billing/models/list_subscription_group_prepayment_date_field.rb +23 -0
  343. data/lib/advanced_billing/models/list_subscription_group_prepayment_response.rb +57 -0
  344. data/lib/advanced_billing/models/list_subscription_groups_item.rb +141 -0
  345. data/lib/advanced_billing/models/list_subscription_groups_meta.rb +59 -0
  346. data/lib/advanced_billing/models/list_subscription_groups_response.rb +68 -0
  347. data/lib/advanced_billing/models/metadata.rb +98 -0
  348. data/lib/advanced_billing/models/metafield.rb +112 -0
  349. data/lib/advanced_billing/models/metafield_input.rb +32 -0
  350. data/lib/advanced_billing/models/metafield_scope.rb +119 -0
  351. data/lib/advanced_billing/models/metafields.rb +103 -0
  352. data/lib/advanced_billing/models/metafields1.rb +103 -0
  353. data/lib/advanced_billing/models/metered_component.rb +294 -0
  354. data/lib/advanced_billing/models/metered_usage.rb +132 -0
  355. data/lib/advanced_billing/models/movement.rb +138 -0
  356. data/lib/advanced_billing/models/movement_line_item.rb +143 -0
  357. data/lib/advanced_billing/models/mrr.rb +100 -0
  358. data/lib/advanced_billing/models/mrr_movement.rb +79 -0
  359. data/lib/advanced_billing/models/mrr_response.rb +48 -0
  360. data/lib/advanced_billing/models/multi_invoice_payment.rb +90 -0
  361. data/lib/advanced_billing/models/multi_invoice_payment_response.rb +48 -0
  362. data/lib/advanced_billing/models/net_terms.rb +94 -0
  363. data/lib/advanced_billing/models/offer.rb +254 -0
  364. data/lib/advanced_billing/models/offer_discount.rb +68 -0
  365. data/lib/advanced_billing/models/offer_item.rb +130 -0
  366. data/lib/advanced_billing/models/offer_response.rb +50 -0
  367. data/lib/advanced_billing/models/offer_signup_page.rb +96 -0
  368. data/lib/advanced_billing/models/on_off_component.rb +291 -0
  369. data/lib/advanced_billing/models/organization_address.rb +123 -0
  370. data/lib/advanced_billing/models/origin_invoice.rb +69 -0
  371. data/lib/advanced_billing/models/overage_pricing.rb +87 -0
  372. data/lib/advanced_billing/models/override_subscription.rb +100 -0
  373. data/lib/advanced_billing/models/override_subscription_request.rb +48 -0
  374. data/lib/advanced_billing/models/paginated_metadata.rb +96 -0
  375. data/lib/advanced_billing/models/pause_request.rb +50 -0
  376. data/lib/advanced_billing/models/payer_attributes.rb +221 -0
  377. data/lib/advanced_billing/models/payer_error.rb +68 -0
  378. data/lib/advanced_billing/models/payment.rb +80 -0
  379. data/lib/advanced_billing/models/payment_collection_method.rb +32 -0
  380. data/lib/advanced_billing/models/payment_collection_method1.rb +30 -0
  381. data/lib/advanced_billing/models/payment_collection_method_changed.rb +79 -0
  382. data/lib/advanced_billing/models/payment_method_apple_pay_type.rb +60 -0
  383. data/lib/advanced_billing/models/payment_method_bank_account_type.rb +81 -0
  384. data/lib/advanced_billing/models/payment_method_credit_card_type.rb +101 -0
  385. data/lib/advanced_billing/models/payment_method_external_type.rb +87 -0
  386. data/lib/advanced_billing/models/payment_method_nested_data.rb +150 -0
  387. data/lib/advanced_billing/models/payment_method_paypal_type.rb +69 -0
  388. data/lib/advanced_billing/models/payment_profile.rb +287 -0
  389. data/lib/advanced_billing/models/payment_profile_attributes.rb +356 -0
  390. data/lib/advanced_billing/models/payment_profile_response.rb +49 -0
  391. data/lib/advanced_billing/models/payment_related_events.rb +79 -0
  392. data/lib/advanced_billing/models/payment_response.rb +68 -0
  393. data/lib/advanced_billing/models/payment_type.rb +26 -0
  394. data/lib/advanced_billing/models/pending_cancellation_change.rb +79 -0
  395. data/lib/advanced_billing/models/portal_management_link.rb +101 -0
  396. data/lib/advanced_billing/models/pre_payment.rb +74 -0
  397. data/lib/advanced_billing/models/prepaid_component_price_point.rb +108 -0
  398. data/lib/advanced_billing/models/prepaid_configuration.rb +103 -0
  399. data/lib/advanced_billing/models/prepaid_configuration_response.rb +49 -0
  400. data/lib/advanced_billing/models/prepaid_subscription_balance_changed.rb +110 -0
  401. data/lib/advanced_billing/models/prepaid_usage.rb +199 -0
  402. data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +80 -0
  403. data/lib/advanced_billing/models/prepaid_usage_component.rb +350 -0
  404. data/lib/advanced_billing/models/prepayment1.rb +131 -0
  405. data/lib/advanced_billing/models/prepayment_account_balance_changed.rb +108 -0
  406. data/lib/advanced_billing/models/prepayment_aggregated_error.rb +69 -0
  407. data/lib/advanced_billing/models/prepayment_method.rb +41 -0
  408. data/lib/advanced_billing/models/prepayment_response.rb +48 -0
  409. data/lib/advanced_billing/models/prepayments_response.rb +59 -0
  410. data/lib/advanced_billing/models/preview_allocations_request.rb +69 -0
  411. data/lib/advanced_billing/models/price.rb +98 -0
  412. data/lib/advanced_billing/models/price_point.rb +172 -0
  413. data/lib/advanced_billing/models/price_point_type.rb +30 -0
  414. data/lib/advanced_billing/models/pricing_scheme.rb +31 -0
  415. data/lib/advanced_billing/models/product.rb +506 -0
  416. data/lib/advanced_billing/models/product_family.rb +120 -0
  417. data/lib/advanced_billing/models/product_family_response.rb +50 -0
  418. data/lib/advanced_billing/models/product_price_point.rb +289 -0
  419. data/lib/advanced_billing/models/product_price_point_currency_price.rb +99 -0
  420. data/lib/advanced_billing/models/product_price_point_response.rb +48 -0
  421. data/lib/advanced_billing/models/product_response.rb +48 -0
  422. data/lib/advanced_billing/models/proforma_custom_field.rb +87 -0
  423. data/lib/advanced_billing/models/proforma_error.rb +51 -0
  424. data/lib/advanced_billing/models/proforma_invoice.rb +463 -0
  425. data/lib/advanced_billing/models/proforma_invoice_credit.rb +80 -0
  426. data/lib/advanced_billing/models/proforma_invoice_discount.rb +108 -0
  427. data/lib/advanced_billing/models/proforma_invoice_discount_breakout.rb +61 -0
  428. data/lib/advanced_billing/models/proforma_invoice_issued.rb +202 -0
  429. data/lib/advanced_billing/models/proforma_invoice_payment.rb +80 -0
  430. data/lib/advanced_billing/models/proforma_invoice_preview.rb +463 -0
  431. data/lib/advanced_billing/models/proforma_invoice_tax.rb +116 -0
  432. data/lib/advanced_billing/models/proforma_invoice_tax_breakout.rb +60 -0
  433. data/lib/advanced_billing/models/proration.rb +52 -0
  434. data/lib/advanced_billing/models/public_key.rb +70 -0
  435. data/lib/advanced_billing/models/public_signup_page.rb +92 -0
  436. data/lib/advanced_billing/models/quantity_based_component.rb +303 -0
  437. data/lib/advanced_billing/models/reactivate_subscription_group_request.rb +60 -0
  438. data/lib/advanced_billing/models/reactivate_subscription_group_response.rb +130 -0
  439. data/lib/advanced_billing/models/reactivate_subscription_request.rb +122 -0
  440. data/lib/advanced_billing/models/reactivation_billing.rb +66 -0
  441. data/lib/advanced_billing/models/reactivation_charge.rb +30 -0
  442. data/lib/advanced_billing/models/read_payment_profile_response.rb +64 -0
  443. data/lib/advanced_billing/models/reason_code.rb +105 -0
  444. data/lib/advanced_billing/models/reason_code_response.rb +48 -0
  445. data/lib/advanced_billing/models/reason_codes_json_response.rb +50 -0
  446. data/lib/advanced_billing/models/record_payment_request.rb +48 -0
  447. data/lib/advanced_billing/models/recurring_scheme.rb +26 -0
  448. data/lib/advanced_billing/models/referral_code.rb +79 -0
  449. data/lib/advanced_billing/models/referral_validation_response.rb +50 -0
  450. data/lib/advanced_billing/models/refund.rb +124 -0
  451. data/lib/advanced_billing/models/refund_consolidated_invoice.rb +125 -0
  452. data/lib/advanced_billing/models/refund_invoice.rb +124 -0
  453. data/lib/advanced_billing/models/refund_invoice_event_data.rb +171 -0
  454. data/lib/advanced_billing/models/refund_invoice_request.rb +64 -0
  455. data/lib/advanced_billing/models/refund_prepayment.rb +106 -0
  456. data/lib/advanced_billing/models/refund_prepayment_aggregated_error.rb +50 -0
  457. data/lib/advanced_billing/models/refund_prepayment_base_refund_error.rb +50 -0
  458. data/lib/advanced_billing/models/refund_prepayment_request.rb +48 -0
  459. data/lib/advanced_billing/models/refund_success.rb +92 -0
  460. data/lib/advanced_billing/models/remove_payment_event_data.rb +131 -0
  461. data/lib/advanced_billing/models/renewal_preview.rb +157 -0
  462. data/lib/advanced_billing/models/renewal_preview_component.rb +91 -0
  463. data/lib/advanced_billing/models/renewal_preview_line_item.rb +161 -0
  464. data/lib/advanced_billing/models/renewal_preview_request.rb +62 -0
  465. data/lib/advanced_billing/models/renewal_preview_response.rb +49 -0
  466. data/lib/advanced_billing/models/replay_webhooks_request.rb +48 -0
  467. data/lib/advanced_billing/models/replay_webhooks_response.rb +50 -0
  468. data/lib/advanced_billing/models/resent_invitation.rb +81 -0
  469. data/lib/advanced_billing/models/resource_type.rb +23 -0
  470. data/lib/advanced_billing/models/restriction_type.rb +23 -0
  471. data/lib/advanced_billing/models/resume_options.rb +75 -0
  472. data/lib/advanced_billing/models/resumption_charge.rb +27 -0
  473. data/lib/advanced_billing/models/revoked_invitation.rb +71 -0
  474. data/lib/advanced_billing/models/sale_rep.rb +97 -0
  475. data/lib/advanced_billing/models/sale_rep_item_mrr.rb +68 -0
  476. data/lib/advanced_billing/models/sale_rep_settings.rb +109 -0
  477. data/lib/advanced_billing/models/sale_rep_subscription.rb +137 -0
  478. data/lib/advanced_billing/models/segment.rb +189 -0
  479. data/lib/advanced_billing/models/segment_price.rb +132 -0
  480. data/lib/advanced_billing/models/segment_response.rb +50 -0
  481. data/lib/advanced_billing/models/seller.rb +89 -0
  482. data/lib/advanced_billing/models/send_invoice_request.rb +72 -0
  483. data/lib/advanced_billing/models/service_credit.rb +90 -0
  484. data/lib/advanced_billing/models/service_credit_response.rb +48 -0
  485. data/lib/advanced_billing/models/service_credit_type.rb +23 -0
  486. data/lib/advanced_billing/models/shipping_address.rb +113 -0
  487. data/lib/advanced_billing/models/signup_proforma_preview.rb +62 -0
  488. data/lib/advanced_billing/models/signup_proforma_preview_response.rb +50 -0
  489. data/lib/advanced_billing/models/site.rb +212 -0
  490. data/lib/advanced_billing/models/site_response.rb +48 -0
  491. data/lib/advanced_billing/models/site_statistics.rb +171 -0
  492. data/lib/advanced_billing/models/site_summary.rb +87 -0
  493. data/lib/advanced_billing/models/snap_day.rb +21 -0
  494. data/lib/advanced_billing/models/sorting_direction.rb +23 -0
  495. data/lib/advanced_billing/models/status.rb +37 -0
  496. data/lib/advanced_billing/models/status1.rb +23 -0
  497. data/lib/advanced_billing/models/subscription.rb +776 -0
  498. data/lib/advanced_billing/models/subscription_bank_account.rb +281 -0
  499. data/lib/advanced_billing/models/subscription_component.rb +400 -0
  500. data/lib/advanced_billing/models/subscription_component_allocation_error_item.rb +59 -0
  501. data/lib/advanced_billing/models/subscription_component_response.rb +50 -0
  502. data/lib/advanced_billing/models/subscription_component_subscription.rb +70 -0
  503. data/lib/advanced_billing/models/subscription_date_field.rb +44 -0
  504. data/lib/advanced_billing/models/subscription_group.rb +94 -0
  505. data/lib/advanced_billing/models/subscription_group_balances.rb +80 -0
  506. data/lib/advanced_billing/models/subscription_group_bank_account.rb +228 -0
  507. data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +105 -0
  508. data/lib/advanced_billing/models/subscription_group_credit_card.rb +266 -0
  509. data/lib/advanced_billing/models/subscription_group_customer.rb +87 -0
  510. data/lib/advanced_billing/models/subscription_group_inlined.rb +92 -0
  511. data/lib/advanced_billing/models/subscription_group_item.rb +147 -0
  512. data/lib/advanced_billing/models/subscription_group_member_error.rb +68 -0
  513. data/lib/advanced_billing/models/subscription_group_payment_profile.rb +79 -0
  514. data/lib/advanced_billing/models/subscription_group_prepayment.rb +72 -0
  515. data/lib/advanced_billing/models/subscription_group_prepayment_method.rb +35 -0
  516. data/lib/advanced_billing/models/subscription_group_prepayment_request.rb +48 -0
  517. data/lib/advanced_billing/models/subscription_group_prepayment_response.rb +90 -0
  518. data/lib/advanced_billing/models/subscription_group_response.rb +49 -0
  519. data/lib/advanced_billing/models/subscription_group_signup.rb +153 -0
  520. data/lib/advanced_billing/models/subscription_group_signup_component.rb +108 -0
  521. data/lib/advanced_billing/models/subscription_group_signup_error.rb +109 -0
  522. data/lib/advanced_billing/models/subscription_group_signup_failure.rb +84 -0
  523. data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +146 -0
  524. data/lib/advanced_billing/models/subscription_group_signup_item.rb +200 -0
  525. data/lib/advanced_billing/models/subscription_group_signup_request.rb +49 -0
  526. data/lib/advanced_billing/models/subscription_group_signup_response.rb +167 -0
  527. data/lib/advanced_billing/models/subscription_group_signup_success.rb +84 -0
  528. data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +170 -0
  529. data/lib/advanced_billing/models/subscription_group_subscription_error.rb +86 -0
  530. data/lib/advanced_billing/models/subscription_group_update_error.rb +59 -0
  531. data/lib/advanced_billing/models/subscription_include.rb +23 -0
  532. data/lib/advanced_billing/models/subscription_included_coupon.rb +121 -0
  533. data/lib/advanced_billing/models/subscription_list_date_field.rb +20 -0
  534. data/lib/advanced_billing/models/subscription_migration_preview.rb +88 -0
  535. data/lib/advanced_billing/models/subscription_migration_preview_options.rb +158 -0
  536. data/lib/advanced_billing/models/subscription_migration_preview_request.rb +49 -0
  537. data/lib/advanced_billing/models/subscription_migration_preview_response.rb +48 -0
  538. data/lib/advanced_billing/models/subscription_mrr.rb +69 -0
  539. data/lib/advanced_billing/models/subscription_mrr_breakout.rb +58 -0
  540. data/lib/advanced_billing/models/subscription_mrr_response.rb +57 -0
  541. data/lib/advanced_billing/models/subscription_note.rb +97 -0
  542. data/lib/advanced_billing/models/subscription_note_response.rb +48 -0
  543. data/lib/advanced_billing/models/subscription_preview.rb +62 -0
  544. data/lib/advanced_billing/models/subscription_preview_response.rb +49 -0
  545. data/lib/advanced_billing/models/subscription_product_change.rb +80 -0
  546. data/lib/advanced_billing/models/subscription_product_migration.rb +148 -0
  547. data/lib/advanced_billing/models/subscription_product_migration_request.rb +48 -0
  548. data/lib/advanced_billing/models/subscription_purge_type.rb +23 -0
  549. data/lib/advanced_billing/models/subscription_response.rb +50 -0
  550. data/lib/advanced_billing/models/subscription_sort.rb +35 -0
  551. data/lib/advanced_billing/models/subscription_state.rb +53 -0
  552. data/lib/advanced_billing/models/subscription_state_change.rb +81 -0
  553. data/lib/advanced_billing/models/tax_configuration.rb +73 -0
  554. data/lib/advanced_billing/models/tax_configuration_kind.rb +29 -0
  555. data/lib/advanced_billing/models/tax_destination_address.rb +29 -0
  556. data/lib/advanced_billing/models/too_many_management_link_requests.rb +63 -0
  557. data/lib/advanced_billing/models/update_allocation_expiration_date.rb +50 -0
  558. data/lib/advanced_billing/models/update_component.rb +137 -0
  559. data/lib/advanced_billing/models/update_component_price_point.rb +68 -0
  560. data/lib/advanced_billing/models/update_component_price_point_request.rb +51 -0
  561. data/lib/advanced_billing/models/update_component_request.rb +48 -0
  562. data/lib/advanced_billing/models/update_coupon_currency.rb +56 -0
  563. data/lib/advanced_billing/models/update_currency_price.rb +56 -0
  564. data/lib/advanced_billing/models/update_currency_prices_request.rb +57 -0
  565. data/lib/advanced_billing/models/update_customer.rb +211 -0
  566. data/lib/advanced_billing/models/update_customer_request.rb +48 -0
  567. data/lib/advanced_billing/models/update_endpoint.rb +57 -0
  568. data/lib/advanced_billing/models/update_endpoint_request.rb +48 -0
  569. data/lib/advanced_billing/models/update_metadata.rb +68 -0
  570. data/lib/advanced_billing/models/update_metadata_request.rb +50 -0
  571. data/lib/advanced_billing/models/update_metafield.rb +103 -0
  572. data/lib/advanced_billing/models/update_metafields_request.rb +62 -0
  573. data/lib/advanced_billing/models/update_payment_profile.rb +187 -0
  574. data/lib/advanced_billing/models/update_payment_profile_request.rb +49 -0
  575. data/lib/advanced_billing/models/update_payment_profile_response.rb +49 -0
  576. data/lib/advanced_billing/models/update_price.rb +89 -0
  577. data/lib/advanced_billing/models/update_product_price_point.rb +60 -0
  578. data/lib/advanced_billing/models/update_product_price_point_request.rb +48 -0
  579. data/lib/advanced_billing/models/update_reason_code.rb +68 -0
  580. data/lib/advanced_billing/models/update_reason_code_request.rb +48 -0
  581. data/lib/advanced_billing/models/update_segment.rb +74 -0
  582. data/lib/advanced_billing/models/update_segment_request.rb +48 -0
  583. data/lib/advanced_billing/models/update_subscription.rb +270 -0
  584. data/lib/advanced_billing/models/update_subscription_component.rb +70 -0
  585. data/lib/advanced_billing/models/update_subscription_group.rb +50 -0
  586. data/lib/advanced_billing/models/update_subscription_group_request.rb +49 -0
  587. data/lib/advanced_billing/models/update_subscription_note.rb +56 -0
  588. data/lib/advanced_billing/models/update_subscription_note_request.rb +48 -0
  589. data/lib/advanced_billing/models/update_subscription_request.rb +48 -0
  590. data/lib/advanced_billing/models/updated_payment_profile.rb +255 -0
  591. data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +104 -0
  592. data/lib/advanced_billing/models/upsert_prepaid_configuration_request.rb +49 -0
  593. data/lib/advanced_billing/models/usage.rb +141 -0
  594. data/lib/advanced_billing/models/usage_response.rb +48 -0
  595. data/lib/advanced_billing/models/void_invoice.rb +48 -0
  596. data/lib/advanced_billing/models/void_invoice_event_data.rb +111 -0
  597. data/lib/advanced_billing/models/void_invoice_event_data1.rb +100 -0
  598. data/lib/advanced_billing/models/void_invoice_request.rb +48 -0
  599. data/lib/advanced_billing/models/webhook.rb +165 -0
  600. data/lib/advanced_billing/models/webhook_order.rb +23 -0
  601. data/lib/advanced_billing/models/webhook_response.rb +50 -0
  602. data/lib/advanced_billing/models/webhook_status.rb +29 -0
  603. data/lib/advanced_billing/models/webhook_subscription.rb +124 -0
  604. data/lib/advanced_billing/utilities/date_time_helper.rb +11 -0
  605. data/lib/advanced_billing/utilities/file_wrapper.rb +16 -0
  606. data/lib/advanced_billing/utilities/union_type_lookup.rb +1240 -0
  607. data/lib/advanced_billing.rb +669 -0
  608. metadata +614 -111
  609. data/bin/arch +0 -1
  610. data/bin/ash +0 -1
  611. data/bin/base64 +0 -1
  612. data/bin/bbconfig +0 -1
  613. data/bin/busybox +0 -0
  614. data/bin/cat +0 -1
  615. data/bin/chattr +0 -1
  616. data/bin/chgrp +0 -1
  617. data/bin/chmod +0 -1
  618. data/bin/chown +0 -1
  619. data/bin/cp +0 -1
  620. data/bin/date +0 -1
  621. data/bin/dd +0 -1
  622. data/bin/df +0 -1
  623. data/bin/dmesg +0 -1
  624. data/bin/dnsdomainname +0 -1
  625. data/bin/dumpkmap +0 -1
  626. data/bin/echo +0 -1
  627. data/bin/ed +0 -1
  628. data/bin/egrep +0 -1
  629. data/bin/false +0 -1
  630. data/bin/fatattr +0 -1
  631. data/bin/fdflush +0 -1
  632. data/bin/fgrep +0 -1
  633. data/bin/fsync +0 -1
  634. data/bin/getopt +0 -1
  635. data/bin/grep +0 -1
  636. data/bin/gunzip +0 -1
  637. data/bin/gzip +0 -1
  638. data/bin/hostname +0 -1
  639. data/bin/ionice +0 -1
  640. data/bin/iostat +0 -1
  641. data/bin/ipcalc +0 -1
  642. data/bin/kbd_mode +0 -1
  643. data/bin/kill +0 -1
  644. data/bin/link +0 -1
  645. data/bin/linux32 +0 -1
  646. data/bin/linux64 +0 -1
  647. data/bin/ln +0 -1
  648. data/bin/login +0 -1
  649. data/bin/ls +0 -1
  650. data/bin/lsattr +0 -1
  651. data/bin/lzop +0 -1
  652. data/bin/makemime +0 -1
  653. data/bin/mkdir +0 -1
  654. data/bin/mknod +0 -1
  655. data/bin/mktemp +0 -1
  656. data/bin/more +0 -1
  657. data/bin/mount +0 -1
  658. data/bin/mountpoint +0 -1
  659. data/bin/mpstat +0 -1
  660. data/bin/mv +0 -1
  661. data/bin/netstat +0 -1
  662. data/bin/nice +0 -1
  663. data/bin/pidof +0 -0
  664. data/bin/ping +0 -1
  665. data/bin/ping6 +0 -1
  666. data/bin/pipe_progress +0 -1
  667. data/bin/printenv +0 -1
  668. data/bin/ps +0 -0
  669. data/bin/pwait +0 -0
  670. data/bin/pwd +0 -1
  671. data/bin/reformime +0 -1
  672. data/bin/rev +0 -1
  673. data/bin/rm +0 -1
  674. data/bin/rmdir +0 -1
  675. data/bin/run-parts +0 -1
  676. data/bin/sed +0 -1
  677. data/bin/setpriv +0 -1
  678. data/bin/setserial +0 -1
  679. data/bin/sh +0 -1
  680. data/bin/slabtop +0 -0
  681. data/bin/sleep +0 -1
  682. data/bin/stat +0 -1
  683. data/bin/stty +0 -1
  684. data/bin/su +0 -1
  685. data/bin/sync +0 -1
  686. data/bin/tar +0 -1
  687. data/bin/tload +0 -0
  688. data/bin/touch +0 -1
  689. data/bin/true +0 -1
  690. data/bin/umount +0 -1
  691. data/bin/uname +0 -1
  692. data/bin/usleep +0 -1
  693. data/bin/vmstat +0 -0
  694. data/bin/w +0 -0
  695. data/bin/watch +0 -0
  696. data/bin/zcat +0 -1
  697. data/lib/apk/db/installed +0 -3582
  698. data/lib/apk/db/lock +0 -0
  699. data/lib/apk/db/scripts.tar +0 -0
  700. data/lib/apk/db/triggers +0 -2
  701. data/lib/ld-musl-x86_64.so.1 +0 -0
  702. data/lib/libapk.so.3.12.0 +0 -0
  703. data/lib/libc.musl-x86_64.so.1 +0 -1
  704. data/lib/libcrypto.so.1.1 +0 -0
  705. data/lib/libprocps.so.8 +0 -1
  706. data/lib/libprocps.so.8.0.3 +0 -0
  707. data/lib/libssl.so.1.1 +0 -0
  708. data/lib/libz.so +0 -1
  709. data/lib/libz.so.1 +0 -1
  710. data/lib/libz.so.1.2.12 +0 -0
  711. data/lib/sysctl.d/00-alpine.conf +0 -40
@@ -0,0 +1,953 @@
1
+ # advanced_billing
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module AdvancedBilling
7
+ # InvoicesController
8
+ class InvoicesController < BaseController
9
+ # Use this endpoint to retrieve the details for an invoice.
10
+ # @param [String] uid Required parameter: The unique identifier for the
11
+ # invoice, this does not refer to the public facing invoice number.
12
+ # @return [Invoice] response from the API call.
13
+ def read_invoice(uid)
14
+ new_api_call_builder
15
+ .request(new_request_builder(HttpMethodEnum::GET,
16
+ '/invoices/{uid}.json',
17
+ Server::DEFAULT)
18
+ .template_param(new_parameter(uid, key: 'uid')
19
+ .is_required(true)
20
+ .should_encode(true))
21
+ .header_param(new_parameter('application/json', key: 'accept'))
22
+ .auth(Single.new('BasicAuth')))
23
+ .response(new_response_handler
24
+ .is_nullify404(true)
25
+ .deserializer(APIHelper.method(:custom_type_deserializer))
26
+ .deserialize_into(Invoice.method(:from_hash)))
27
+ .execute
28
+ end
29
+
30
+ # Credit Notes are like inverse invoices. They reduce the amount a customer
31
+ # owes.
32
+ # By default, the credit notes returned by this endpoint will exclude the
33
+ # arrays of `line_items`, `discounts`, `taxes`, `applications`, or
34
+ # `refunds`. To include these arrays, pass the specific field as a key in
35
+ # the query with a value set to `true`.
36
+ # @param [Integer] subscription_id Optional parameter: The subscription's
37
+ # Chargify id
38
+ # @param [Integer] page Optional parameter: Result records are organized in
39
+ # pages. By default, the first page of results is displayed. The page
40
+ # parameter specifies a page number of results to fetch. You can start
41
+ # navigating through the pages to consume the results. You do this by
42
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
43
+ # the query string. If there are no results to return, then an empty result
44
+ # set will be returned. Use in query `page=1`.
45
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
46
+ # many records to fetch in each request. Default value is 20. The maximum
47
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
48
+ # Use in query `per_page=200`.
49
+ # @param [TrueClass | FalseClass] line_items Optional parameter: Include
50
+ # line items data
51
+ # @param [TrueClass | FalseClass] discounts Optional parameter: Include
52
+ # discounts data
53
+ # @param [TrueClass | FalseClass] taxes Optional parameter: Include taxes
54
+ # data
55
+ # @param [TrueClass | FalseClass] refunds Optional parameter: Include
56
+ # refunds data
57
+ # @param [TrueClass | FalseClass] applications Optional parameter: Include
58
+ # applications data
59
+ # @return [ListCreditNotesResponse] response from the API call.
60
+ def list_credit_notes(options = {})
61
+ new_api_call_builder
62
+ .request(new_request_builder(HttpMethodEnum::GET,
63
+ '/credit_notes.json',
64
+ Server::DEFAULT)
65
+ .query_param(new_parameter(options['subscription_id'], key: 'subscription_id'))
66
+ .query_param(new_parameter(options['page'], key: 'page'))
67
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
68
+ .query_param(new_parameter(options['line_items'], key: 'line_items'))
69
+ .query_param(new_parameter(options['discounts'], key: 'discounts'))
70
+ .query_param(new_parameter(options['taxes'], key: 'taxes'))
71
+ .query_param(new_parameter(options['refunds'], key: 'refunds'))
72
+ .query_param(new_parameter(options['applications'], key: 'applications'))
73
+ .header_param(new_parameter('application/json', key: 'accept'))
74
+ .auth(Single.new('BasicAuth')))
75
+ .response(new_response_handler
76
+ .is_nullify404(true)
77
+ .deserializer(APIHelper.method(:custom_type_deserializer))
78
+ .deserialize_into(ListCreditNotesResponse.method(:from_hash)))
79
+ .execute
80
+ end
81
+
82
+ # Use this endpoint to retrieve the details for a credit note.
83
+ # @param [String] uid Required parameter: The unique identifier of the
84
+ # credit note
85
+ # @return [CreditNote] response from the API call.
86
+ def read_credit_note(uid)
87
+ new_api_call_builder
88
+ .request(new_request_builder(HttpMethodEnum::GET,
89
+ '/credit_notes/{uid}.json',
90
+ Server::DEFAULT)
91
+ .template_param(new_parameter(uid, key: 'uid')
92
+ .is_required(true)
93
+ .should_encode(true))
94
+ .header_param(new_parameter('application/json', key: 'accept'))
95
+ .auth(Single.new('BasicAuth')))
96
+ .response(new_response_handler
97
+ .is_nullify404(true)
98
+ .deserializer(APIHelper.method(:custom_type_deserializer))
99
+ .deserialize_into(CreditNote.method(:from_hash)))
100
+ .execute
101
+ end
102
+
103
+ # Record an external payment made against a subscription that will pay
104
+ # partially or in full one or more invoices.
105
+ # Payment will be applied starting with the oldest open invoice and then
106
+ # next oldest, and so on until the amount of the payment is fully consumed.
107
+ # Excess payment will result in the creation of a prepayment on the Invoice
108
+ # Account.
109
+ # Only ungrouped or primary subscriptions may be paid using the "bulk"
110
+ # payment request.
111
+ # @param [String] subscription_id Required parameter: The Chargify id of the
112
+ # subscription
113
+ # @param [RecordPaymentRequest] body Optional parameter: Example:
114
+ # @return [PaymentResponse] response from the API call.
115
+ def record_payment_for_subscription(subscription_id,
116
+ body: nil)
117
+ new_api_call_builder
118
+ .request(new_request_builder(HttpMethodEnum::POST,
119
+ '/subscriptions/{subscription_id}/payments.json',
120
+ Server::DEFAULT)
121
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
122
+ .is_required(true)
123
+ .should_encode(true))
124
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
125
+ .body_param(new_parameter(body))
126
+ .header_param(new_parameter('application/json', key: 'accept'))
127
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
128
+ .auth(Single.new('BasicAuth')))
129
+ .response(new_response_handler
130
+ .is_nullify404(true)
131
+ .deserializer(APIHelper.method(:custom_type_deserializer))
132
+ .deserialize_into(PaymentResponse.method(:from_hash))
133
+ .local_error('422',
134
+ 'Unprocessable Entity (WebDAV)',
135
+ ErrorListResponseException))
136
+ .execute
137
+ end
138
+
139
+ # This endpoint allows you to void any invoice with the "open" or "canceled"
140
+ # status. It will also allow voiding of an invoice with the "pending"
141
+ # status if it is not a consolidated invoice.
142
+ # @param [String] uid Required parameter: The unique identifier for the
143
+ # invoice, this does not refer to the public facing invoice number.
144
+ # @param [VoidInvoiceRequest] body Optional parameter: Example:
145
+ # @return [Invoice] response from the API call.
146
+ def void_invoice(uid,
147
+ body: nil)
148
+ new_api_call_builder
149
+ .request(new_request_builder(HttpMethodEnum::POST,
150
+ '/invoices/{uid}/void.json',
151
+ Server::DEFAULT)
152
+ .template_param(new_parameter(uid, key: 'uid')
153
+ .is_required(true)
154
+ .should_encode(true))
155
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
156
+ .body_param(new_parameter(body))
157
+ .header_param(new_parameter('application/json', key: 'accept'))
158
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
159
+ .auth(Single.new('BasicAuth')))
160
+ .response(new_response_handler
161
+ .is_nullify404(true)
162
+ .deserializer(APIHelper.method(:custom_type_deserializer))
163
+ .deserialize_into(Invoice.method(:from_hash))
164
+ .local_error('404',
165
+ 'Not Found',
166
+ APIException)
167
+ .local_error('422',
168
+ 'Unprocessable Entity (WebDAV)',
169
+ ErrorListResponseException))
170
+ .execute
171
+ end
172
+
173
+ # Invoice segments returned on the index will only include totals, not
174
+ # detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`,
175
+ # `payments`, or `custom_fields`.
176
+ # @param [String] invoice_uid Required parameter: The unique identifier of
177
+ # the consolidated invoice
178
+ # @param [Integer] page Optional parameter: Result records are organized in
179
+ # pages. By default, the first page of results is displayed. The page
180
+ # parameter specifies a page number of results to fetch. You can start
181
+ # navigating through the pages to consume the results. You do this by
182
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
183
+ # the query string. If there are no results to return, then an empty result
184
+ # set will be returned. Use in query `page=1`.
185
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
186
+ # many records to fetch in each request. Default value is 20. The maximum
187
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
188
+ # Use in query `per_page=200`.
189
+ # @param [Direction] direction Optional parameter: Sort direction of the
190
+ # returned segments.
191
+ # @return [ConsolidatedInvoice] response from the API call.
192
+ def list_invoice_segments(options = {})
193
+ new_api_call_builder
194
+ .request(new_request_builder(HttpMethodEnum::GET,
195
+ '/invoices/{invoice_uid}/segments.json',
196
+ Server::DEFAULT)
197
+ .template_param(new_parameter(options['invoice_uid'], key: 'invoice_uid')
198
+ .is_required(true)
199
+ .should_encode(true))
200
+ .query_param(new_parameter(options['page'], key: 'page'))
201
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
202
+ .query_param(new_parameter(options['direction'], key: 'direction'))
203
+ .header_param(new_parameter('application/json', key: 'accept'))
204
+ .auth(Single.new('BasicAuth')))
205
+ .response(new_response_handler
206
+ .is_nullify404(true)
207
+ .deserializer(APIHelper.method(:custom_type_deserializer))
208
+ .deserialize_into(ConsolidatedInvoice.method(:from_hash)))
209
+ .execute
210
+ end
211
+
212
+ # Refund an invoice, segment, or consolidated invoice.
213
+ # ## Partial Refund for Consolidated Invoice
214
+ # A refund less than the total of a consolidated invoice will be split
215
+ # across its segments.
216
+ # A $50.00 refund on a $100.00 consolidated invoice with one $60.00 and one
217
+ # $40.00 segment, the refunded amount will be applied as 50% of each ($30.00
218
+ # and $20.00 respectively).
219
+ # @param [String] uid Required parameter: The unique identifier for the
220
+ # invoice, this does not refer to the public facing invoice number.
221
+ # @param [RefundInvoiceRequest] body Optional parameter: Example:
222
+ # @return [Invoice] response from the API call.
223
+ def refund_invoice(uid,
224
+ body: nil)
225
+ new_api_call_builder
226
+ .request(new_request_builder(HttpMethodEnum::POST,
227
+ '/invoices/{uid}/refunds.json',
228
+ Server::DEFAULT)
229
+ .template_param(new_parameter(uid, key: 'uid')
230
+ .is_required(true)
231
+ .should_encode(true))
232
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
233
+ .body_param(new_parameter(body))
234
+ .header_param(new_parameter('application/json', key: 'accept'))
235
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
236
+ .auth(Single.new('BasicAuth')))
237
+ .response(new_response_handler
238
+ .is_nullify404(true)
239
+ .deserializer(APIHelper.method(:custom_type_deserializer))
240
+ .deserialize_into(Invoice.method(:from_hash)))
241
+ .execute
242
+ end
243
+
244
+ # This API call should be used when you want to record a payment of a given
245
+ # type against a specific invoice. If you would like to apply a payment
246
+ # across multiple invoices, you can use the Bulk Payment endpoint.
247
+ # ## Create a Payment from the existing payment profile
248
+ # In order to apply a payment to an invoice using an existing payment
249
+ # profile, specify `type` as `payment`, the amount less than the invoice
250
+ # total, and the customer's `payment_profile_id`. The ID of a payment
251
+ # profile might be retrieved via the Payment Profiles API endpoint.
252
+ # ```
253
+ # {
254
+ # "type": "payment",
255
+ # "payment": {
256
+ # "amount": 10.00,
257
+ # "payment_profile_id": 123
258
+ # }
259
+ # }
260
+ # ```
261
+ # ## Create a Payment from the Subscription's Prepayment Account
262
+ # In order apply a prepayment to an invoice, specify the `type` as
263
+ # `prepayment`, and also the `amount`.
264
+ # ```
265
+ # {
266
+ # "type": "prepayment",
267
+ # "payment": {
268
+ # "amount": 10.00
269
+ # }
270
+ # }
271
+ # ```
272
+ # Note that the `amount` must be less than or equal to the Subscription's
273
+ # Prepayment account balance.
274
+ # ## Create a Payment from the Subscription's Service Credit Account
275
+ # In order to apply a service credit to an invoice, specify the `type` as
276
+ # `service_credit`, and also the `amount`:
277
+ # ```
278
+ # {
279
+ # "type": "service_credit",
280
+ # "payment": {
281
+ # "amount": 10.00
282
+ # }
283
+ # }
284
+ # ```
285
+ # Note that Chargify will attempt to fully pay the invoice's `due_amount`
286
+ # from the Subscription's Service Credit account. At this time, partial
287
+ # payments from a Service Credit Account are only allowed for consolidated
288
+ # invoices (subscription groups). Therefore, for normal invoices the Service
289
+ # Credit account balance must be greater than or equal to the invoice's
290
+ # `due_amount`.
291
+ # @param [String] uid Required parameter: The unique identifier for the
292
+ # invoice, this does not refer to the public facing invoice number.
293
+ # @param [CreateInvoicePaymentRequest] body Optional parameter: Example:
294
+ # @return [Invoice] response from the API call.
295
+ def record_payment_for_invoice(uid,
296
+ body: nil)
297
+ new_api_call_builder
298
+ .request(new_request_builder(HttpMethodEnum::POST,
299
+ '/invoices/{uid}/payments.json',
300
+ Server::DEFAULT)
301
+ .template_param(new_parameter(uid, key: 'uid')
302
+ .is_required(true)
303
+ .should_encode(true))
304
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
305
+ .body_param(new_parameter(body))
306
+ .header_param(new_parameter('application/json', key: 'accept'))
307
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
308
+ .auth(Single.new('BasicAuth')))
309
+ .response(new_response_handler
310
+ .is_nullify404(true)
311
+ .deserializer(APIHelper.method(:custom_type_deserializer))
312
+ .deserialize_into(Invoice.method(:from_hash)))
313
+ .execute
314
+ end
315
+
316
+ # This API call should be used when you want to record an external payment
317
+ # against multiple invoices.
318
+ # In order apply a payment to multiple invoices, at minimum, specify the
319
+ # `amount` and `applications` (i.e., `invoice_uid` and `amount`) details.
320
+ # ```
321
+ # {
322
+ # "payment": {
323
+ # "memo": "to pay the bills",
324
+ # "details": "check number 8675309",
325
+ # "method": "check",
326
+ # "amount": "250.00",
327
+ # "applications": [
328
+ # {
329
+ # "invoice_uid": "inv_8gk5bwkct3gqt",
330
+ # "amount": "100.00"
331
+ # },
332
+ # {
333
+ # "invoice_uid": "inv_7bc6bwkct3lyt",
334
+ # "amount": "150.00"
335
+ # }
336
+ # ]
337
+ # }
338
+ # }
339
+ # ```
340
+ # Note that the invoice payment amounts must be greater than 0. Total amount
341
+ # must be greater or equal to invoices payment amount sum.
342
+ # @param [CreateMultiInvoicePaymentRequest] body Optional parameter:
343
+ # Example:
344
+ # @return [MultiInvoicePaymentResponse] response from the API call.
345
+ def record_external_payment_for_invoices(body: nil)
346
+ new_api_call_builder
347
+ .request(new_request_builder(HttpMethodEnum::POST,
348
+ '/invoices/payments.json',
349
+ Server::DEFAULT)
350
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
351
+ .body_param(new_parameter(body))
352
+ .header_param(new_parameter('application/json', key: 'accept'))
353
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
354
+ .auth(Single.new('BasicAuth')))
355
+ .response(new_response_handler
356
+ .is_nullify404(true)
357
+ .deserializer(APIHelper.method(:custom_type_deserializer))
358
+ .deserialize_into(MultiInvoicePaymentResponse.method(:from_hash))
359
+ .local_error('422',
360
+ 'Unprocessable Entity',
361
+ ErrorListResponseException))
362
+ .execute
363
+ end
364
+
365
+ # This endpoint allows you to reopen any invoice with the "canceled" status.
366
+ # Invoices enter "canceled" status if they were open at the time the
367
+ # subscription was canceled (whether through dunning or an intentional
368
+ # cancellation).
369
+ # Invoices with "canceled" status are no longer considered to be due. Once
370
+ # reopened, they are considered due for payment. Payment may then be
371
+ # captured in one of the following ways:
372
+ # - Reactivating the subscription, which will capture all open invoices (See
373
+ # note below about automatic reopening of invoices.)
374
+ # - Recording a payment directly against the invoice
375
+ # A note about reactivations: any canceled invoices from the most recent
376
+ # active period are automatically opened as a part of the reactivation
377
+ # process. Reactivating via this endpoint prior to reactivation is only
378
+ # necessary when you wish to capture older invoices from previous periods
379
+ # during the reactivation.
380
+ # ### Reopening Consolidated Invoices
381
+ # When reopening a consolidated invoice, all of its canceled segments will
382
+ # also be reopened.
383
+ # @param [String] uid Required parameter: The unique identifier for the
384
+ # invoice, this does not refer to the public facing invoice number.
385
+ # @return [Invoice] response from the API call.
386
+ def reopen_invoice(uid)
387
+ new_api_call_builder
388
+ .request(new_request_builder(HttpMethodEnum::POST,
389
+ '/invoices/{uid}/reopen.json',
390
+ Server::DEFAULT)
391
+ .template_param(new_parameter(uid, key: 'uid')
392
+ .is_required(true)
393
+ .should_encode(true))
394
+ .header_param(new_parameter('application/json', key: 'accept'))
395
+ .auth(Single.new('BasicAuth')))
396
+ .response(new_response_handler
397
+ .is_nullify404(true)
398
+ .deserializer(APIHelper.method(:custom_type_deserializer))
399
+ .deserialize_into(Invoice.method(:from_hash))
400
+ .local_error('404',
401
+ 'Not Found',
402
+ APIException)
403
+ .local_error('422',
404
+ 'Unprocessable Entity (WebDAV)',
405
+ ErrorListResponseException))
406
+ .execute
407
+ end
408
+
409
+ # By default, invoices returned on the index will only include totals, not
410
+ # detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`,
411
+ # `payments`, `custom_fields`, or `refunds`. To include breakdowns, pass the
412
+ # specific field as a key in the query with a value set to `true`.
413
+ # @param [String] start_date Optional parameter: The start date (format
414
+ # YYYY-MM-DD) with which to filter the date_field. Returns invoices with a
415
+ # timestamp at or after midnight (12:00:00 AM) in your site’s time zone on
416
+ # the date specified.
417
+ # @param [String] end_date Optional parameter: The end date (format
418
+ # YYYY-MM-DD) with which to filter the date_field. Returns invoices with a
419
+ # timestamp up to and including 11:59:59PM in your site’s time zone on the
420
+ # date specified.
421
+ # @param [Status] status Optional parameter: The current status of the
422
+ # invoice. Allowed Values: draft, open, paid, pending, voided
423
+ # @param [Integer] subscription_id Optional parameter: The subscription's
424
+ # ID.
425
+ # @param [String] subscription_group_uid Optional parameter: The UID of the
426
+ # subscription group you want to fetch consolidated invoices for. This will
427
+ # return a paginated list of consolidated invoices for the specified
428
+ # group.
429
+ # @param [Integer] page Optional parameter: Result records are organized in
430
+ # pages. By default, the first page of results is displayed. The page
431
+ # parameter specifies a page number of results to fetch. You can start
432
+ # navigating through the pages to consume the results. You do this by
433
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
434
+ # the query string. If there are no results to return, then an empty result
435
+ # set will be returned. Use in query `page=1`.
436
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
437
+ # many records to fetch in each request. Default value is 20. The maximum
438
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
439
+ # Use in query `per_page=200`.
440
+ # @param [Direction] direction Optional parameter: The sort direction of the
441
+ # returned invoices.
442
+ # @param [TrueClass | FalseClass] line_items Optional parameter: Include
443
+ # line items data
444
+ # @param [TrueClass | FalseClass] discounts Optional parameter: Include
445
+ # discounts data
446
+ # @param [TrueClass | FalseClass] taxes Optional parameter: Include taxes
447
+ # data
448
+ # @param [TrueClass | FalseClass] credits Optional parameter: Include
449
+ # credits data
450
+ # @param [TrueClass | FalseClass] payments Optional parameter: Include
451
+ # payments data
452
+ # @param [TrueClass | FalseClass] custom_fields Optional parameter: Include
453
+ # custom fields data
454
+ # @param [TrueClass | FalseClass] refunds Optional parameter: Include
455
+ # refunds data
456
+ # @param [InvoiceDateField] date_field Optional parameter: The type of
457
+ # filter you would like to apply to your search. Use in query
458
+ # `date_field=issue_date`.
459
+ # @param [String] start_datetime Optional parameter: The start date and time
460
+ # (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns
461
+ # invoices with a timestamp at or after exact time provided in query. You
462
+ # can specify timezone in query - otherwise your site's time zone will be
463
+ # used. If provided, this parameter will be used instead of start_date.
464
+ # Allowed to be used only along with date_field set to created_at or
465
+ # updated_at.
466
+ # @param [String] end_datetime Optional parameter: The end date and time
467
+ # (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns
468
+ # invoices with a timestamp at or before exact time provided in query. You
469
+ # can specify timezone in query - otherwise your site's time zone will be
470
+ # used. If provided, this parameter will be used instead of end_date.
471
+ # Allowed to be used only along with date_field set to created_at or
472
+ # updated_at.
473
+ # @param [Array[Integer]] customer_ids Optional parameter: Allows fetching
474
+ # invoices with matching customer id based on provided values. Use in query
475
+ # `customer_ids=1,2,3`.
476
+ # @param [Array[String]] number Optional parameter: Allows fetching invoices
477
+ # with matching invoice number based on provided values. Use in query
478
+ # `number=1234,1235`.
479
+ # @param [Array[Integer]] product_ids Optional parameter: Allows fetching
480
+ # invoices with matching line items product ids based on provided values.
481
+ # Use in query `product_ids=23,34`.
482
+ # @param [InvoiceSortField] sort Optional parameter: Allows specification of
483
+ # the order of the returned list. Use in query `sort=total_amount`.
484
+ # @return [ListInvoicesResponse] response from the API call.
485
+ def list_invoices(options = {})
486
+ new_api_call_builder
487
+ .request(new_request_builder(HttpMethodEnum::GET,
488
+ '/invoices.json',
489
+ Server::DEFAULT)
490
+ .query_param(new_parameter(options['start_date'], key: 'start_date'))
491
+ .query_param(new_parameter(options['end_date'], key: 'end_date'))
492
+ .query_param(new_parameter(options['status'], key: 'status'))
493
+ .query_param(new_parameter(options['subscription_id'], key: 'subscription_id'))
494
+ .query_param(new_parameter(options['subscription_group_uid'], key: 'subscription_group_uid'))
495
+ .query_param(new_parameter(options['page'], key: 'page'))
496
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
497
+ .query_param(new_parameter(options['direction'], key: 'direction'))
498
+ .query_param(new_parameter(options['line_items'], key: 'line_items'))
499
+ .query_param(new_parameter(options['discounts'], key: 'discounts'))
500
+ .query_param(new_parameter(options['taxes'], key: 'taxes'))
501
+ .query_param(new_parameter(options['credits'], key: 'credits'))
502
+ .query_param(new_parameter(options['payments'], key: 'payments'))
503
+ .query_param(new_parameter(options['custom_fields'], key: 'custom_fields'))
504
+ .query_param(new_parameter(options['refunds'], key: 'refunds'))
505
+ .query_param(new_parameter(options['date_field'], key: 'date_field'))
506
+ .query_param(new_parameter(options['start_datetime'], key: 'start_datetime'))
507
+ .query_param(new_parameter(options['end_datetime'], key: 'end_datetime'))
508
+ .query_param(new_parameter(options['customer_ids'], key: 'customer_ids'))
509
+ .query_param(new_parameter(options['number'], key: 'number'))
510
+ .query_param(new_parameter(options['product_ids'], key: 'product_ids'))
511
+ .query_param(new_parameter(options['sort'], key: 'sort'))
512
+ .header_param(new_parameter('application/json', key: 'accept'))
513
+ .auth(Single.new('BasicAuth'))
514
+ .array_serialization_format(ArraySerializationFormat::CSV))
515
+ .response(new_response_handler
516
+ .is_nullify404(true)
517
+ .deserializer(APIHelper.method(:custom_type_deserializer))
518
+ .deserialize_into(ListInvoicesResponse.method(:from_hash)))
519
+ .execute
520
+ end
521
+
522
+ # This endpoint returns a list of invoice events. Each event contains event
523
+ # "data" (such as an applied payment) as well as a snapshot of the `invoice`
524
+ # at the time of event completion.
525
+ # Exposed event types are:
526
+ # + issue_invoice
527
+ # + apply_credit_note
528
+ # + apply_payment
529
+ # + refund_invoice
530
+ # + void_invoice
531
+ # + void_remainder
532
+ # + backport_invoice
533
+ # + change_invoice_status
534
+ # + change_invoice_collection_method
535
+ # + remove_payment
536
+ # Invoice events are returned in ascending order.
537
+ # If both a `since_date` and `since_id` are provided in request parameters,
538
+ # the `since_date` will be used.
539
+ # Note - invoice events that occurred prior to 09/05/2018 __will not__
540
+ # contain an `invoice` snapshot.
541
+ # @param [String] since_date Optional parameter: The timestamp in a format
542
+ # `YYYY-MM-DD T HH:MM:SS Z`, or `YYYY-MM-DD`(in this case, it returns data
543
+ # from the beginning of the day). of the event from which you want to start
544
+ # the search. All the events before the `since_date` timestamp are not
545
+ # returned in the response.
546
+ # @param [Integer] since_id Optional parameter: The ID of the event from
547
+ # which you want to start the search(ID is not included. e.g. if ID is set
548
+ # to 2, then all events with ID 3 and more will be shown) This parameter is
549
+ # not used if since_date is defined.
550
+ # @param [Integer] page Optional parameter: Result records are organized in
551
+ # pages. By default, the first page of results is displayed. The page
552
+ # parameter specifies a page number of results to fetch. You can start
553
+ # navigating through the pages to consume the results. You do this by
554
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
555
+ # the query string. If there are no results to return, then an empty result
556
+ # set will be returned. Use in query `page=1`.
557
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
558
+ # many records to fetch in each request. Default value is 100. The maximum
559
+ # allowed values is 200; any per_page value over 200 will be changed to
560
+ # 200.
561
+ # @param [String] invoice_uid Optional parameter: Providing an invoice_uid
562
+ # allows for scoping of the invoice events to a single invoice or credit
563
+ # note.
564
+ # @param [String] with_change_invoice_status Optional parameter: Use this
565
+ # parameter if you want to fetch also invoice events with
566
+ # change_invoice_status type.
567
+ # @param [Array[InvoiceEventType]] event_types Optional parameter: Filter
568
+ # results by event_type. Supply a comma separated list of event types
569
+ # (listed above). Use in query: `event_types=void_invoice,void_remainder`.
570
+ # @return [ListInvoiceEventsResponse] response from the API call.
571
+ def list_invoice_events(options = {})
572
+ new_api_call_builder
573
+ .request(new_request_builder(HttpMethodEnum::GET,
574
+ '/invoices/events.json',
575
+ Server::DEFAULT)
576
+ .query_param(new_parameter(options['since_date'], key: 'since_date'))
577
+ .query_param(new_parameter(options['since_id'], key: 'since_id'))
578
+ .query_param(new_parameter(options['page'], key: 'page'))
579
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
580
+ .query_param(new_parameter(options['invoice_uid'], key: 'invoice_uid'))
581
+ .query_param(new_parameter(options['with_change_invoice_status'], key: 'with_change_invoice_status'))
582
+ .query_param(new_parameter(options['event_types'], key: 'event_types'))
583
+ .header_param(new_parameter('application/json', key: 'accept'))
584
+ .auth(Single.new('BasicAuth'))
585
+ .array_serialization_format(ArraySerializationFormat::CSV))
586
+ .response(new_response_handler
587
+ .is_nullify404(true)
588
+ .deserializer(APIHelper.method(:custom_type_deserializer))
589
+ .deserialize_into(ListInvoiceEventsResponse.method(:from_hash)))
590
+ .execute
591
+ end
592
+
593
+ # This endpoint updates customer information on an open invoice and returns
594
+ # the updated invoice. If you would like to preview changes that will be
595
+ # applied, use the `/invoices/{uid}/customer_information/preview.json`
596
+ # endpoint before.
597
+ # The endpoint doesn't accept a request body. Customer information
598
+ # differences are calculated on the application side.
599
+ # @param [String] uid Required parameter: The unique identifier for the
600
+ # invoice, this does not refer to the public facing invoice number.
601
+ # @return [Invoice] response from the API call.
602
+ def update_customer_information(uid)
603
+ new_api_call_builder
604
+ .request(new_request_builder(HttpMethodEnum::PUT,
605
+ '/invoices/{uid}/customer_information.json',
606
+ Server::DEFAULT)
607
+ .template_param(new_parameter(uid, key: 'uid')
608
+ .is_required(true)
609
+ .should_encode(true))
610
+ .header_param(new_parameter('application/json', key: 'accept'))
611
+ .auth(Single.new('BasicAuth')))
612
+ .response(new_response_handler
613
+ .is_nullify404(true)
614
+ .deserializer(APIHelper.method(:custom_type_deserializer))
615
+ .deserialize_into(Invoice.method(:from_hash))
616
+ .local_error('404',
617
+ 'Not Found',
618
+ ErrorListResponseException)
619
+ .local_error('422',
620
+ 'Unprocessable Entity (WebDAV)',
621
+ ErrorListResponseException))
622
+ .execute
623
+ end
624
+
625
+ # This endpoint will allow you to create an ad hoc invoice.
626
+ # ### Basic Behavior
627
+ # You can create a basic invoice by sending an array of line items to this
628
+ # endpoint. Each line item, at a minimum, must include a title, a quantity
629
+ # and a unit price. Example:
630
+ # ```json
631
+ # {
632
+ # "invoice": {
633
+ # "line_items": [
634
+ # {
635
+ # "title": "A Product",
636
+ # "quantity": 12,
637
+ # "unit_price": "150.00"
638
+ # }
639
+ # ]
640
+ # }
641
+ # }
642
+ # ```
643
+ # ### Catalog items
644
+ # Instead of creating custom products like in above example, You can pass
645
+ # existing items like products, components.
646
+ # ```json
647
+ # {
648
+ # "invoice": {
649
+ # "line_items": [
650
+ # {
651
+ # "product_id": "handle:gold-product",
652
+ # "quantity": 2,
653
+ # }
654
+ # ]
655
+ # }
656
+ # }
657
+ # ```
658
+ # The price for each line item will be calculated as well as a total due
659
+ # amount for the invoice. Multiple line items can be sent.
660
+ # ### Line items types
661
+ # When defining line item, You can choose one of 3 types for one line item:
662
+ # #### Custom item
663
+ # Like in basic behavior example above, You can pass `title` and
664
+ # `unit_price` for custom item.
665
+ # #### Product id
666
+ # Product handle (with handle: prefix) or id from the scope of current
667
+ # subscription's site can be provided with `product_id`. By default
668
+ # `unit_price` is taken from product's default price point, but can be
669
+ # overwritten by passing `unit_price` or `product_price_point_id`. If
670
+ # `product_id` is used, following fields cannot be used: `title`,
671
+ # `component_id`.
672
+ # #### Component id
673
+ # Component handle (with handle: prefix) or id from the scope of current
674
+ # subscription's site can be provided with `component_id`. If `component_id`
675
+ # is used, following fields cannot be used: `title`, `product_id`. By
676
+ # default `unit_price` is taken from product's default price point, but can
677
+ # be overwritten by passing `unit_price` or `price_point_id`. At this moment
678
+ # price points are supportted only for quantity based, on/off and metered
679
+ # components. For prepaid and event based billing components `unit_price` is
680
+ # required.
681
+ # ### Coupons
682
+ # When creating ad hoc invoice, new discounts can be applied in following
683
+ # way:
684
+ # ```json
685
+ # {
686
+ # "invoice": {
687
+ # "line_items": [
688
+ # {
689
+ # "product_id": "handle:gold-product",
690
+ # "quantity": 1
691
+ # }
692
+ # ],
693
+ # "coupons": [
694
+ # {
695
+ # "code": "COUPONCODE",
696
+ # "percentage": 50.0
697
+ # }
698
+ # ]
699
+ # }
700
+ # }
701
+ # ```
702
+ # If You want to use existing coupon for discount creation, only `code` and
703
+ # optional `product_family_id` is needed
704
+ # ```json
705
+ # ...
706
+ # "coupons": [
707
+ # {
708
+ # "code": "FREESETUP",
709
+ # "product_family_id": 1
710
+ # }
711
+ # ]
712
+ # ...
713
+ # ```
714
+ # ### Coupon options
715
+ # #### Code
716
+ # Coupon `code` will be displayed on invoice discount section.
717
+ # Coupon code can only contain uppercase letters, numbers, and allowed
718
+ # special characters.
719
+ # Lowercase letters will be converted to uppercase. It can be used to select
720
+ # an existing coupon from the catalog, or as an ad hoc coupon when passed
721
+ # with `percentage` or `amount`.
722
+ # #### Percentage
723
+ # Coupon `percentage` can take values from 0 to 100 and up to 4 decimal
724
+ # places. It cannot be used with `amount`. Only for ad hoc coupons, will be
725
+ # ignored if `code` is used to select an existing coupon from the catalog.
726
+ # #### Amount
727
+ # Coupon `amount` takes number value. It cannot be used with `percentage`.
728
+ # Used only when not matching existing coupon by `code`.
729
+ # #### Description
730
+ # Optional `description` will be displayed with coupon `code`. Used only
731
+ # when not matching existing coupon by `code`.
732
+ # #### Product Family id
733
+ # Optional `product_family_id` handle (with handle: prefix) or id is used to
734
+ # match existing coupon within site, when codes are not unique.
735
+ # #### Compounding Strategy
736
+ # Optional `compounding_strategy` for percentage coupons, can take values
737
+ # `compound` or `full-price`.
738
+ # For amount coupons, discounts will be always calculated against the
739
+ # original item price, before other discounts are applied.
740
+ # `compound` strategy:
741
+ # Percentage-based discounts will be calculated against the remaining price,
742
+ # after prior discounts have been calculated. It is set by default.
743
+ # `full-price` strategy:
744
+ # Percentage-based discounts will always be calculated against the original
745
+ # item price, before other discounts are applied.
746
+ # ### Line Item Options
747
+ # #### Period Date Range
748
+ # A custom period date range can be defined for each line item with the
749
+ # `period_range_start` and `period_range_end` parameters. Dates must be sent
750
+ # in the `YYYY-MM-DD` format.
751
+ # `period_range_end` must be greater or equal `period_range_start`.
752
+ # #### Taxes
753
+ # The `taxable` parameter can be sent as `true` if taxes should be
754
+ # calculated for a specific line item. For this to work, the site should be
755
+ # configured to use and calculate taxes. Further, if the site uses Avalara
756
+ # for tax calculations, a `tax_code` parameter should also be sent. For
757
+ # existing catalog items: products/components taxes cannot be overwritten.
758
+ # #### Price Point
759
+ # Price point handle (with handle: prefix) or id from the scope of current
760
+ # subscription's site can be provided with `price_point_id` for components
761
+ # with `component_id` or `product_price_point_id` for products with
762
+ # `product_id` parameter. If price point is passed `unit_price` cannot be
763
+ # used. It can be used only with catalog items products and components.
764
+ # #### Description
765
+ # Optional `description` parameter, it will overwrite default generated
766
+ # description for line item.
767
+ # ### Invoice Options
768
+ # #### Issue Date
769
+ # By default, invoices will be created with a issue date set to today.
770
+ # `issue_date` parameter can be send to alter that. Only dates in the past
771
+ # can be send. `issue_date` should be send in `YYYY-MM-DD` format.
772
+ # #### Net Terms
773
+ # By default, invoices will be created with a due date matching the date of
774
+ # invoice creation. If a different due date is desired, the `net_terms`
775
+ # parameter can be sent indicating the number of days in advance the due
776
+ # date should be.
777
+ # #### Addresses
778
+ # The seller, shipping and billing addresses can be sent to override the
779
+ # site's defaults. Each address requires to send a `first_name` at a minimum
780
+ # in order to work. Please see below for the details on which parameters can
781
+ # be sent for each address object.
782
+ # #### Memo and Payment Instructions
783
+ # A custom memo can be sent with the `memo` parameter to override the site's
784
+ # default. Likewise, custom payment instructions can be sent with the
785
+ # `payment_instrucions` parameter.
786
+ # #### Status
787
+ # By default, invoices will be created with open status. Possible
788
+ # alternative is `draft`.
789
+ # @param [String] subscription_id Required parameter: The Chargify id of the
790
+ # subscription
791
+ # @param [CreateInvoiceRequest] body Optional parameter: Example:
792
+ # @return [InvoiceResponse] response from the API call.
793
+ def create_invoice(subscription_id,
794
+ body: nil)
795
+ new_api_call_builder
796
+ .request(new_request_builder(HttpMethodEnum::POST,
797
+ '/subscriptions/{subscription_id}/invoices.json',
798
+ Server::DEFAULT)
799
+ .template_param(new_parameter(subscription_id, key: 'subscription_id')
800
+ .is_required(true)
801
+ .should_encode(true))
802
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
803
+ .body_param(new_parameter(body))
804
+ .header_param(new_parameter('application/json', key: 'accept'))
805
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
806
+ .auth(Single.new('BasicAuth')))
807
+ .response(new_response_handler
808
+ .is_nullify404(true)
809
+ .deserializer(APIHelper.method(:custom_type_deserializer))
810
+ .deserialize_into(InvoiceResponse.method(:from_hash))
811
+ .local_error('401',
812
+ 'Unauthorized',
813
+ APIException)
814
+ .local_error('422',
815
+ 'Unprocessable Entity (WebDAV)',
816
+ NestedErrorResponseException))
817
+ .execute
818
+ end
819
+
820
+ # This endpoint allows you to issue an invoice that is in "pending" status.
821
+ # For example, you can issue an invoice that was created when allocating new
822
+ # quantity on a component and using "accrue charges" option.
823
+ # You cannot issue a pending child invoice that was created for a member
824
+ # subscription in a group.
825
+ # For Remittance subscriptions, the invoice will go into "open" status and
826
+ # payment won't be attempted. The value for `on_failed_payment` would be
827
+ # rejected if sent. Any prepayments or service credits that exist on
828
+ # subscription will be automatically applied. Additionally, if setting is
829
+ # on, an email will be sent for issued invoice.
830
+ # For Automatic subscriptions, prepayments and service credits will apply to
831
+ # the invoice and before payment is attempted. On successful payment, the
832
+ # invoice will go into "paid" status and email will be sent to the customer
833
+ # (if setting applies). When payment fails, the next event depends on the
834
+ # `on_failed_payment` value:
835
+ # - `leave_open_invoice` - prepayments and credits applied to invoice;
836
+ # invoice status set to "open"; email sent to the customer for the issued
837
+ # invoice (if setting applies); payment failure recorded in the invoice
838
+ # history. This is the default option.
839
+ # - `rollback_to_pending` - prepayments and credits not applied; invoice
840
+ # remains in "pending" status; no email sent to the customer; payment
841
+ # failure recorded in the invoice history.
842
+ # - `initiate_dunning` - prepayments and credits applied to the invoice;
843
+ # invoice status set to "open"; email sent to the customer for the issued
844
+ # invoice (if setting applies); payment failure recorded in the invoice
845
+ # history; subscription will most likely go into "past_due" or "canceled"
846
+ # state (depending upon net terms and dunning settings).
847
+ # @param [String] uid Required parameter: The unique identifier for the
848
+ # invoice, this does not refer to the public facing invoice number.
849
+ # @param [IssueInvoiceRequest] body Optional parameter: Example:
850
+ # @return [Invoice] response from the API call.
851
+ def issue_invoice(uid,
852
+ body: nil)
853
+ new_api_call_builder
854
+ .request(new_request_builder(HttpMethodEnum::POST,
855
+ '/invoices/{uid}/issue.json',
856
+ Server::DEFAULT)
857
+ .template_param(new_parameter(uid, key: 'uid')
858
+ .is_required(true)
859
+ .should_encode(true))
860
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
861
+ .body_param(new_parameter(body))
862
+ .header_param(new_parameter('application/json', key: 'accept'))
863
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
864
+ .auth(Single.new('BasicAuth')))
865
+ .response(new_response_handler
866
+ .is_nullify404(true)
867
+ .deserializer(APIHelper.method(:custom_type_deserializer))
868
+ .deserialize_into(Invoice.method(:from_hash))
869
+ .local_error('401',
870
+ 'Unauthorized',
871
+ APIException)
872
+ .local_error('404',
873
+ 'Not Found',
874
+ APIException)
875
+ .local_error('422',
876
+ 'Unprocessable Entity (WebDAV)',
877
+ ErrorListResponseException))
878
+ .execute
879
+ end
880
+
881
+ # This endpoint allows for invoices to be programmatically delivered via
882
+ # email. This endpoint supports the delivery of both ad-hoc and
883
+ # automatically generated invoices. Additionally, this endpoint supports
884
+ # email delivery to direct recipients, carbon-copy (cc) recipients, and
885
+ # blind carbon-copy (bcc) recipients.
886
+ # Please note that if no recipient email addresses are specified in the
887
+ # request, then the subscription's default email configuration will be used.
888
+ # For example, if `recipient_emails` is left blank, then the invoice will be
889
+ # delivered to the subscription's customer email address.
890
+ # On success, a 204 no-content response will be returned. Please note that
891
+ # this does not indicate that email(s) have been delivered, but instead
892
+ # indicates that emails have been successfully queued for delivery. If _any_
893
+ # invalid or malformed email address is found in the request body, the
894
+ # entire request will be rejected and a 422 response will be returned.
895
+ # @param [String] uid Required parameter: The unique identifier for the
896
+ # invoice, this does not refer to the public facing invoice number.
897
+ # @param [SendInvoiceRequest] body Optional parameter: Example:
898
+ # @return [void] response from the API call.
899
+ def send_invoice(uid,
900
+ body: nil)
901
+ new_api_call_builder
902
+ .request(new_request_builder(HttpMethodEnum::POST,
903
+ '/invoices/{uid}/deliveries.json',
904
+ Server::DEFAULT)
905
+ .template_param(new_parameter(uid, key: 'uid')
906
+ .is_required(true)
907
+ .should_encode(true))
908
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
909
+ .body_param(new_parameter(body))
910
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
911
+ .auth(Single.new('BasicAuth')))
912
+ .response(new_response_handler
913
+ .is_nullify404(true)
914
+ .is_response_void(true)
915
+ .local_error('422',
916
+ 'Unprocessable Entity (WebDAV)',
917
+ ErrorListResponseException))
918
+ .execute
919
+ end
920
+
921
+ # Customer information may change after an invoice is issued which may lead
922
+ # to a mismatch between customer information that are present on an open
923
+ # invoice and actual customer information. This endpoint allows to preview
924
+ # these differences, if any.
925
+ # The endpoint doesn't accept a request body. Customer information
926
+ # differences are calculated on the application side.
927
+ # @param [String] uid Required parameter: The unique identifier for the
928
+ # invoice, this does not refer to the public facing invoice number.
929
+ # @return [CustomerChangesPreviewResponse] response from the API call.
930
+ def preview_customer_information_changes(uid)
931
+ new_api_call_builder
932
+ .request(new_request_builder(HttpMethodEnum::POST,
933
+ '/invoices/{uid}/customer_information/preview.json',
934
+ Server::DEFAULT)
935
+ .template_param(new_parameter(uid, key: 'uid')
936
+ .is_required(true)
937
+ .should_encode(true))
938
+ .header_param(new_parameter('application/json', key: 'accept'))
939
+ .auth(Single.new('BasicAuth')))
940
+ .response(new_response_handler
941
+ .is_nullify404(true)
942
+ .deserializer(APIHelper.method(:custom_type_deserializer))
943
+ .deserialize_into(CustomerChangesPreviewResponse.method(:from_hash))
944
+ .local_error('404',
945
+ 'Not Found',
946
+ ErrorListResponseException)
947
+ .local_error('422',
948
+ 'Unprocessable Entity (WebDAV)',
949
+ ErrorListResponseException))
950
+ .execute
951
+ end
952
+ end
953
+ end