subtain-apimatic-sdk 4.1.1 → 9.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (711) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +28 -0
  3. data/README.md +377 -0
  4. data/lib/advanced_billing/api_helper.rb +10 -0
  5. data/lib/advanced_billing/client.rb +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