subtain-apimatic-sdk 4.1.1 → 9.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (711) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +28 -0
  3. data/README.md +377 -0
  4. data/lib/advanced_billing/api_helper.rb +10 -0
  5. data/lib/advanced_billing/client.rb +243 -0
  6. data/lib/advanced_billing/configuration.rb +158 -0
  7. data/lib/advanced_billing/controllers/advance_invoice_controller.rb +126 -0
  8. data/lib/advanced_billing/controllers/api_exports_controller.rb +268 -0
  9. data/lib/advanced_billing/controllers/base_controller.rb +71 -0
  10. data/lib/advanced_billing/controllers/billing_portal_controller.rb +165 -0
  11. data/lib/advanced_billing/controllers/components_controller.rb +747 -0
  12. data/lib/advanced_billing/controllers/coupons_controller.rb +691 -0
  13. data/lib/advanced_billing/controllers/custom_fields_controller.rb +465 -0
  14. data/lib/advanced_billing/controllers/customers_controller.rb +255 -0
  15. data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +334 -0
  16. data/lib/advanced_billing/controllers/events_controller.rb +229 -0
  17. data/lib/advanced_billing/controllers/insights_controller.rb +168 -0
  18. data/lib/advanced_billing/controllers/invoices_controller.rb +953 -0
  19. data/lib/advanced_billing/controllers/offers_controller.rb +132 -0
  20. data/lib/advanced_billing/controllers/payment_profiles_controller.rb +732 -0
  21. data/lib/advanced_billing/controllers/product_families_controller.rb +187 -0
  22. data/lib/advanced_billing/controllers/product_price_points_controller.rb +422 -0
  23. data/lib/advanced_billing/controllers/products_controller.rb +220 -0
  24. data/lib/advanced_billing/controllers/proforma_invoices_controller.rb +381 -0
  25. data/lib/advanced_billing/controllers/reason_codes_controller.rb +158 -0
  26. data/lib/advanced_billing/controllers/referral_codes_controller.rb +42 -0
  27. data/lib/advanced_billing/controllers/sales_commissions_controller.rb +192 -0
  28. data/lib/advanced_billing/controllers/sites_controller.rb +96 -0
  29. data/lib/advanced_billing/controllers/subscription_components_controller.rb +992 -0
  30. data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +163 -0
  31. data/lib/advanced_billing/controllers/subscription_group_status_controller.rb +157 -0
  32. data/lib/advanced_billing/controllers/subscription_groups_controller.rb +300 -0
  33. data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +226 -0
  34. data/lib/advanced_billing/controllers/subscription_notes_controller.rb +159 -0
  35. data/lib/advanced_billing/controllers/subscription_products_controller.rb +166 -0
  36. data/lib/advanced_billing/controllers/subscription_status_controller.rb +473 -0
  37. data/lib/advanced_billing/controllers/subscriptions_controller.rb +1357 -0
  38. data/lib/advanced_billing/controllers/webhooks_controller.rb +210 -0
  39. data/lib/advanced_billing/exceptions/api_exception.rb +10 -0
  40. data/lib/advanced_billing/exceptions/component_allocation_error_exception.rb +41 -0
  41. data/lib/advanced_billing/exceptions/component_price_point_error_exception.rb +41 -0
  42. data/lib/advanced_billing/exceptions/customer_error_response_exception.rb +34 -0
  43. data/lib/advanced_billing/exceptions/error_list_response_exception.rb +32 -0
  44. data/lib/advanced_billing/exceptions/error_map_response_exception.rb +32 -0
  45. data/lib/advanced_billing/exceptions/event_based_billing_list_segments_errors_exception.rb +32 -0
  46. data/lib/advanced_billing/exceptions/event_based_billing_segment_errors_exception.rb +35 -0
  47. data/lib/advanced_billing/exceptions/event_based_billing_segment_exception.rb +32 -0
  48. data/lib/advanced_billing/exceptions/nested_error_response_exception.rb +32 -0
  49. data/lib/advanced_billing/exceptions/proforma_bad_request_error_response_exception.rb +32 -0
  50. data/lib/advanced_billing/exceptions/refund_prepayment_aggregated_errors_response_exception.rb +33 -0
  51. data/lib/advanced_billing/exceptions/refund_prepayment_base_errors_response_exception.rb +32 -0
  52. data/lib/advanced_billing/exceptions/single_error_response_exception.rb +32 -0
  53. data/lib/advanced_billing/exceptions/single_string_error_response_exception.rb +32 -0
  54. data/lib/advanced_billing/exceptions/subscription_add_coupon_error_exception.rb +42 -0
  55. data/lib/advanced_billing/exceptions/subscription_component_allocation_error_exception.rb +41 -0
  56. data/lib/advanced_billing/exceptions/subscription_group_signup_error_response_exception.rb +32 -0
  57. data/lib/advanced_billing/exceptions/subscription_group_update_error_response_exception.rb +32 -0
  58. data/lib/advanced_billing/exceptions/subscription_remove_coupon_errors_exception.rb +32 -0
  59. data/lib/advanced_billing/exceptions/subscriptions_mrr_error_response_exception.rb +32 -0
  60. data/lib/advanced_billing/exceptions/too_many_management_link_requests_error_exception.rb +32 -0
  61. data/lib/advanced_billing/http/auth/basic_auth.rb +50 -0
  62. data/lib/advanced_billing/http/http_call_back.rb +10 -0
  63. data/lib/advanced_billing/http/http_method_enum.rb +10 -0
  64. data/lib/advanced_billing/http/http_request.rb +10 -0
  65. data/lib/advanced_billing/http/http_response.rb +10 -0
  66. data/lib/advanced_billing/models/account_balance.rb +51 -0
  67. data/lib/advanced_billing/models/account_balances.rb +81 -0
  68. data/lib/advanced_billing/models/ach_agreement.rb +96 -0
  69. data/lib/advanced_billing/models/activate_subscription_request.rb +57 -0
  70. data/lib/advanced_billing/models/add_coupons_request.rb +50 -0
  71. data/lib/advanced_billing/models/add_subscription_to_a_group.rb +62 -0
  72. data/lib/advanced_billing/models/agreement_acceptance.rb +125 -0
  73. data/lib/advanced_billing/models/allocate_components.rb +130 -0
  74. data/lib/advanced_billing/models/allocation.rb +231 -0
  75. data/lib/advanced_billing/models/allocation_expiration_date.rb +50 -0
  76. data/lib/advanced_billing/models/allocation_payment.rb +89 -0
  77. data/lib/advanced_billing/models/allocation_preview.rb +190 -0
  78. data/lib/advanced_billing/models/allocation_preview_item.rb +187 -0
  79. data/lib/advanced_billing/models/allocation_preview_line_item.rb +130 -0
  80. data/lib/advanced_billing/models/allocation_preview_response.rb +49 -0
  81. data/lib/advanced_billing/models/allocation_response.rb +50 -0
  82. data/lib/advanced_billing/models/allocation_settings.rb +74 -0
  83. data/lib/advanced_billing/models/applied_credit_note.rb +69 -0
  84. data/lib/advanced_billing/models/apply_credit_note_event_data.rb +174 -0
  85. data/lib/advanced_billing/models/apply_debit_note_event_data.rb +94 -0
  86. data/lib/advanced_billing/models/apply_payment_event_data.rb +130 -0
  87. data/lib/advanced_billing/models/attribute_error.rb +48 -0
  88. data/lib/advanced_billing/models/auto_invite.rb +23 -0
  89. data/lib/advanced_billing/models/auto_resume.rb +51 -0
  90. data/lib/advanced_billing/models/bank_account.rb +270 -0
  91. data/lib/advanced_billing/models/bank_account_attributes.rb +183 -0
  92. data/lib/advanced_billing/models/bank_account_payment_profile.rb +285 -0
  93. data/lib/advanced_billing/models/bank_account_response.rb +48 -0
  94. data/lib/advanced_billing/models/bank_account_type.rb +23 -0
  95. data/lib/advanced_billing/models/bank_account_vault.rb +32 -0
  96. data/lib/advanced_billing/models/bank_account_verification.rb +61 -0
  97. data/lib/advanced_billing/models/bank_account_verification_request.rb +50 -0
  98. data/lib/advanced_billing/models/base_model.rb +62 -0
  99. data/lib/advanced_billing/models/base_refund_error.rb +50 -0
  100. data/lib/advanced_billing/models/base_string_error.rb +50 -0
  101. data/lib/advanced_billing/models/basic_date_field.rb +23 -0
  102. data/lib/advanced_billing/models/batch_job.rb +91 -0
  103. data/lib/advanced_billing/models/batch_job_response.rb +48 -0
  104. data/lib/advanced_billing/models/billing_address.rb +113 -0
  105. data/lib/advanced_billing/models/billing_manifest.rb +142 -0
  106. data/lib/advanced_billing/models/billing_manifest_item.rb +182 -0
  107. data/lib/advanced_billing/models/breakouts.rb +82 -0
  108. data/lib/advanced_billing/models/bulk_component_s_price_point_assignment.rb +59 -0
  109. data/lib/advanced_billing/models/bulk_create_product_price_points_request.rb +57 -0
  110. data/lib/advanced_billing/models/bulk_create_product_price_points_response.rb +59 -0
  111. data/lib/advanced_billing/models/bulk_create_segments.rb +59 -0
  112. data/lib/advanced_billing/models/bulk_update_segments.rb +59 -0
  113. data/lib/advanced_billing/models/bulk_update_segments_item.rb +80 -0
  114. data/lib/advanced_billing/models/calendar_billing.rb +78 -0
  115. data/lib/advanced_billing/models/cancel_grouped_subscriptions_request.rb +51 -0
  116. data/lib/advanced_billing/models/cancellation_method.rb +30 -0
  117. data/lib/advanced_billing/models/cancellation_options.rb +62 -0
  118. data/lib/advanced_billing/models/cancellation_request.rb +48 -0
  119. data/lib/advanced_billing/models/card_type.rb +56 -0
  120. data/lib/advanced_billing/models/card_type1.rb +116 -0
  121. data/lib/advanced_billing/models/change_invoice_collection_method_event_data.rb +71 -0
  122. data/lib/advanced_billing/models/chargify_ebb.rb +113 -0
  123. data/lib/advanced_billing/models/cleanup_scope.rb +26 -0
  124. data/lib/advanced_billing/models/component.rb +405 -0
  125. data/lib/advanced_billing/models/component_allocation_change.rb +142 -0
  126. data/lib/advanced_billing/models/component_allocation_error_item.rb +77 -0
  127. data/lib/advanced_billing/models/component_cost_data.rb +135 -0
  128. data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +101 -0
  129. data/lib/advanced_billing/models/component_custom_price.rb +81 -0
  130. data/lib/advanced_billing/models/component_kind.rb +32 -0
  131. data/lib/advanced_billing/models/component_kind_path.rb +32 -0
  132. data/lib/advanced_billing/models/component_price.rb +123 -0
  133. data/lib/advanced_billing/models/component_price_point.rb +192 -0
  134. data/lib/advanced_billing/models/component_price_point_error_item.rb +68 -0
  135. data/lib/advanced_billing/models/component_price_point_item.rb +98 -0
  136. data/lib/advanced_billing/models/component_price_point_price.rb +123 -0
  137. data/lib/advanced_billing/models/component_price_point_response.rb +48 -0
  138. data/lib/advanced_billing/models/component_price_points_response.rb +59 -0
  139. data/lib/advanced_billing/models/component_response.rb +48 -0
  140. data/lib/advanced_billing/models/component_s_price_point_assignment.rb +71 -0
  141. data/lib/advanced_billing/models/compounding_strategy.rb +23 -0
  142. data/lib/advanced_billing/models/consolidated_invoice.rb +59 -0
  143. data/lib/advanced_billing/models/count_response.rb +50 -0
  144. data/lib/advanced_billing/models/coupon.rb +367 -0
  145. data/lib/advanced_billing/models/coupon_currency.rb +77 -0
  146. data/lib/advanced_billing/models/coupon_currency_request.rb +57 -0
  147. data/lib/advanced_billing/models/coupon_response.rb +50 -0
  148. data/lib/advanced_billing/models/coupon_restriction.rb +99 -0
  149. data/lib/advanced_billing/models/coupon_subcodes.rb +50 -0
  150. data/lib/advanced_billing/models/coupon_subcodes_response.rb +70 -0
  151. data/lib/advanced_billing/models/coupon_usage.rb +114 -0
  152. data/lib/advanced_billing/models/create_allocation.rb +162 -0
  153. data/lib/advanced_billing/models/create_allocation_request.rb +48 -0
  154. data/lib/advanced_billing/models/create_component_price_point.rb +125 -0
  155. data/lib/advanced_billing/models/create_component_price_point_request.rb +64 -0
  156. data/lib/advanced_billing/models/create_component_price_points_request.rb +64 -0
  157. data/lib/advanced_billing/models/create_currency_price.rb +68 -0
  158. data/lib/advanced_billing/models/create_currency_prices_request.rb +57 -0
  159. data/lib/advanced_billing/models/create_customer.rb +209 -0
  160. data/lib/advanced_billing/models/create_customer_request.rb +48 -0
  161. data/lib/advanced_billing/models/create_ebb_component.rb +65 -0
  162. data/lib/advanced_billing/models/create_invoice.rb +163 -0
  163. data/lib/advanced_billing/models/create_invoice_address.rb +124 -0
  164. data/lib/advanced_billing/models/create_invoice_coupon.rb +115 -0
  165. data/lib/advanced_billing/models/create_invoice_item.rb +185 -0
  166. data/lib/advanced_billing/models/create_invoice_payment.rb +90 -0
  167. data/lib/advanced_billing/models/create_invoice_payment_application.rb +79 -0
  168. data/lib/advanced_billing/models/create_invoice_payment_request.rb +58 -0
  169. data/lib/advanced_billing/models/create_invoice_request.rb +48 -0
  170. data/lib/advanced_billing/models/create_metadata.rb +59 -0
  171. data/lib/advanced_billing/models/create_metadata_request.rb +57 -0
  172. data/lib/advanced_billing/models/create_metafield.rb +103 -0
  173. data/lib/advanced_billing/models/create_metafields_request.rb +64 -0
  174. data/lib/advanced_billing/models/create_metered_component.rb +65 -0
  175. data/lib/advanced_billing/models/create_multi_invoice_payment.rb +134 -0
  176. data/lib/advanced_billing/models/create_multi_invoice_payment_request.rb +48 -0
  177. data/lib/advanced_billing/models/create_offer.rb +116 -0
  178. data/lib/advanced_billing/models/create_offer_component.rb +60 -0
  179. data/lib/advanced_billing/models/create_offer_request.rb +48 -0
  180. data/lib/advanced_billing/models/create_on_off_component.rb +65 -0
  181. data/lib/advanced_billing/models/create_or_update_coupon.rb +85 -0
  182. data/lib/advanced_billing/models/create_or_update_flat_amount_coupon.rb +214 -0
  183. data/lib/advanced_billing/models/create_or_update_percentage_coupon.rb +215 -0
  184. data/lib/advanced_billing/models/create_or_update_product.rb +133 -0
  185. data/lib/advanced_billing/models/create_or_update_product_request.rb +48 -0
  186. data/lib/advanced_billing/models/create_or_update_segment_price.rb +87 -0
  187. data/lib/advanced_billing/models/create_payment.rb +75 -0
  188. data/lib/advanced_billing/models/create_payment_profile.rb +416 -0
  189. data/lib/advanced_billing/models/create_payment_profile_request.rb +49 -0
  190. data/lib/advanced_billing/models/create_payment_profile_response.rb +49 -0
  191. data/lib/advanced_billing/models/create_prepaid_component.rb +65 -0
  192. data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +194 -0
  193. data/lib/advanced_billing/models/create_prepayment.rb +90 -0
  194. data/lib/advanced_billing/models/create_prepayment_request.rb +48 -0
  195. data/lib/advanced_billing/models/create_prepayment_response.rb +48 -0
  196. data/lib/advanced_billing/models/create_product_currency_price.rb +64 -0
  197. data/lib/advanced_billing/models/create_product_currency_prices_request.rb +57 -0
  198. data/lib/advanced_billing/models/create_product_family.rb +61 -0
  199. data/lib/advanced_billing/models/create_product_family_request.rb +49 -0
  200. data/lib/advanced_billing/models/create_product_price_point.rb +182 -0
  201. data/lib/advanced_billing/models/create_product_price_point_request.rb +48 -0
  202. data/lib/advanced_billing/models/create_quantity_based_component.rb +66 -0
  203. data/lib/advanced_billing/models/create_reason_code.rb +66 -0
  204. data/lib/advanced_billing/models/create_reason_code_request.rb +48 -0
  205. data/lib/advanced_billing/models/create_segment.rb +143 -0
  206. data/lib/advanced_billing/models/create_segment_request.rb +48 -0
  207. data/lib/advanced_billing/models/create_subscription.rb +694 -0
  208. data/lib/advanced_billing/models/create_subscription_component.rb +122 -0
  209. data/lib/advanced_billing/models/create_subscription_group.rb +74 -0
  210. data/lib/advanced_billing/models/create_subscription_group_request.rb +49 -0
  211. data/lib/advanced_billing/models/create_subscription_request.rb +48 -0
  212. data/lib/advanced_billing/models/create_usage.rb +72 -0
  213. data/lib/advanced_billing/models/create_usage_request.rb +48 -0
  214. data/lib/advanced_billing/models/created_payment_profile.rb +327 -0
  215. data/lib/advanced_billing/models/created_prepayment.rb +114 -0
  216. data/lib/advanced_billing/models/credit_account_balance_changed.rb +120 -0
  217. data/lib/advanced_billing/models/credit_card_attributes.rb +81 -0
  218. data/lib/advanced_billing/models/credit_card_payment_profile.rb +277 -0
  219. data/lib/advanced_billing/models/credit_note.rb +403 -0
  220. data/lib/advanced_billing/models/credit_note1.rb +405 -0
  221. data/lib/advanced_billing/models/credit_note_application.rb +99 -0
  222. data/lib/advanced_billing/models/credit_note_line_item.rb +246 -0
  223. data/lib/advanced_billing/models/credit_scheme.rb +26 -0
  224. data/lib/advanced_billing/models/credit_scheme_request.rb +48 -0
  225. data/lib/advanced_billing/models/credit_type.rb +27 -0
  226. data/lib/advanced_billing/models/credit_type1.rb +28 -0
  227. data/lib/advanced_billing/models/currency_price.rb +99 -0
  228. data/lib/advanced_billing/models/currency_price_role.rb +26 -0
  229. data/lib/advanced_billing/models/current_vault.rb +99 -0
  230. data/lib/advanced_billing/models/custom_field_value_change.rb +144 -0
  231. data/lib/advanced_billing/models/custom_price_used_for_subscription_create_update.rb +197 -0
  232. data/lib/advanced_billing/models/customer.rb +352 -0
  233. data/lib/advanced_billing/models/customer1.rb +120 -0
  234. data/lib/advanced_billing/models/customer_attributes.rb +241 -0
  235. data/lib/advanced_billing/models/customer_billing_address_change.rb +59 -0
  236. data/lib/advanced_billing/models/customer_change.rb +81 -0
  237. data/lib/advanced_billing/models/customer_changes_preview_response.rb +48 -0
  238. data/lib/advanced_billing/models/customer_custom_fields_change.rb +77 -0
  239. data/lib/advanced_billing/models/customer_error.rb +60 -0
  240. data/lib/advanced_billing/models/customer_payer_change.rb +59 -0
  241. data/lib/advanced_billing/models/customer_response.rb +48 -0
  242. data/lib/advanced_billing/models/customer_shipping_address_change.rb +59 -0
  243. data/lib/advanced_billing/models/deduct_service_credit.rb +80 -0
  244. data/lib/advanced_billing/models/deduct_service_credit_request.rb +48 -0
  245. data/lib/advanced_billing/models/delayed_cancellation_response.rb +50 -0
  246. data/lib/advanced_billing/models/delete_subscription_group_response.rb +59 -0
  247. data/lib/advanced_billing/models/direction.rb +23 -0
  248. data/lib/advanced_billing/models/discount_type.rb +23 -0
  249. data/lib/advanced_billing/models/dunner_data.rb +131 -0
  250. data/lib/advanced_billing/models/dunning_step_data.rb +149 -0
  251. data/lib/advanced_billing/models/dunning_step_reached.rb +96 -0
  252. data/lib/advanced_billing/models/ebb_component.rb +271 -0
  253. data/lib/advanced_billing/models/ebb_event.rb +50 -0
  254. data/lib/advanced_billing/models/enable_webhooks_request.rb +49 -0
  255. data/lib/advanced_billing/models/enable_webhooks_response.rb +51 -0
  256. data/lib/advanced_billing/models/endpoint.rb +88 -0
  257. data/lib/advanced_billing/models/endpoint_response.rb +50 -0
  258. data/lib/advanced_billing/models/errors.rb +59 -0
  259. data/lib/advanced_billing/models/event.rb +145 -0
  260. data/lib/advanced_billing/models/event_based_billing_segment_error.rb +51 -0
  261. data/lib/advanced_billing/models/event_response.rb +48 -0
  262. data/lib/advanced_billing/models/event_type.rb +121 -0
  263. data/lib/advanced_billing/models/extended_interval_unit.rb +26 -0
  264. data/lib/advanced_billing/models/failed_payment_action.rb +37 -0
  265. data/lib/advanced_billing/models/first_charge_type.rb +26 -0
  266. data/lib/advanced_billing/models/full_subscription_group_response.rb +165 -0
  267. data/lib/advanced_billing/models/get_one_time_token_payment_profile.rb +249 -0
  268. data/lib/advanced_billing/models/get_one_time_token_request.rb +49 -0
  269. data/lib/advanced_billing/models/group_billing.rb +85 -0
  270. data/lib/advanced_billing/models/group_settings.rb +76 -0
  271. data/lib/advanced_billing/models/group_target.rb +75 -0
  272. data/lib/advanced_billing/models/group_target_type.rb +32 -0
  273. data/lib/advanced_billing/models/holder_type.rb +23 -0
  274. data/lib/advanced_billing/models/include_not_null.rb +20 -0
  275. data/lib/advanced_billing/models/include_option.rb +23 -0
  276. data/lib/advanced_billing/models/interval_unit.rb +23 -0
  277. data/lib/advanced_billing/models/invoice.rb +712 -0
  278. data/lib/advanced_billing/models/invoice_address.rb +113 -0
  279. data/lib/advanced_billing/models/invoice_balance_item.rb +79 -0
  280. data/lib/advanced_billing/models/invoice_consolidation_level.rb +34 -0
  281. data/lib/advanced_billing/models/invoice_credit.rb +121 -0
  282. data/lib/advanced_billing/models/invoice_custom_field.rb +88 -0
  283. data/lib/advanced_billing/models/invoice_customer.rb +121 -0
  284. data/lib/advanced_billing/models/invoice_date_field.rb +32 -0
  285. data/lib/advanced_billing/models/invoice_discount.rb +177 -0
  286. data/lib/advanced_billing/models/invoice_discount_breakout.rb +80 -0
  287. data/lib/advanced_billing/models/invoice_display_settings.rb +75 -0
  288. data/lib/advanced_billing/models/invoice_event.rb +102 -0
  289. data/lib/advanced_billing/models/invoice_event1.rb +374 -0
  290. data/lib/advanced_billing/models/invoice_event_type.rb +50 -0
  291. data/lib/advanced_billing/models/invoice_issued.rb +252 -0
  292. data/lib/advanced_billing/models/invoice_line_item.rb +321 -0
  293. data/lib/advanced_billing/models/invoice_line_item_component_cost_data.rb +69 -0
  294. data/lib/advanced_billing/models/invoice_line_item_event_data.rb +262 -0
  295. data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +69 -0
  296. data/lib/advanced_billing/models/invoice_payer.rb +109 -0
  297. data/lib/advanced_billing/models/invoice_payment.rb +155 -0
  298. data/lib/advanced_billing/models/invoice_payment_application.rb +73 -0
  299. data/lib/advanced_billing/models/invoice_payment_method.rb +129 -0
  300. data/lib/advanced_billing/models/invoice_payment_method_type.rb +35 -0
  301. data/lib/advanced_billing/models/invoice_payment_type.rb +29 -0
  302. data/lib/advanced_billing/models/invoice_previous_balance.rb +78 -0
  303. data/lib/advanced_billing/models/invoice_refund.rb +113 -0
  304. data/lib/advanced_billing/models/invoice_response.rb +48 -0
  305. data/lib/advanced_billing/models/invoice_seller.rb +90 -0
  306. data/lib/advanced_billing/models/invoice_sort_field.rb +41 -0
  307. data/lib/advanced_billing/models/invoice_tax.rb +176 -0
  308. data/lib/advanced_billing/models/invoice_tax_breakout.rb +79 -0
  309. data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +89 -0
  310. data/lib/advanced_billing/models/issue_advance_invoice_request.rb +50 -0
  311. data/lib/advanced_billing/models/issue_invoice_event_data.rb +115 -0
  312. data/lib/advanced_billing/models/issue_invoice_request.rb +63 -0
  313. data/lib/advanced_billing/models/issue_service_credit.rb +80 -0
  314. data/lib/advanced_billing/models/issue_service_credit_request.rb +49 -0
  315. data/lib/advanced_billing/models/item_category.rb +33 -0
  316. data/lib/advanced_billing/models/item_price_point_changed.rb +134 -0
  317. data/lib/advanced_billing/models/item_price_point_data.rb +78 -0
  318. data/lib/advanced_billing/models/list_components_price_points_include.rb +20 -0
  319. data/lib/advanced_billing/models/list_components_price_points_response.rb +57 -0
  320. data/lib/advanced_billing/models/list_credit_notes_response.rb +57 -0
  321. data/lib/advanced_billing/models/list_events_date_field.rb +20 -0
  322. data/lib/advanced_billing/models/list_invoice_events_response.rb +87 -0
  323. data/lib/advanced_billing/models/list_invoices_response.rb +57 -0
  324. data/lib/advanced_billing/models/list_metafields_response.rb +96 -0
  325. data/lib/advanced_billing/models/list_mrr_response.rb +48 -0
  326. data/lib/advanced_billing/models/list_mrr_response_result.rb +116 -0
  327. data/lib/advanced_billing/models/list_offers_response.rb +59 -0
  328. data/lib/advanced_billing/models/list_payment_profile_item.rb +274 -0
  329. data/lib/advanced_billing/models/list_payment_profiles_response.rb +51 -0
  330. data/lib/advanced_billing/models/list_product_price_points_response.rb +57 -0
  331. data/lib/advanced_billing/models/list_products_include.rb +20 -0
  332. data/lib/advanced_billing/models/list_products_price_points_include.rb +20 -0
  333. data/lib/advanced_billing/models/list_public_keys_meta.rb +78 -0
  334. data/lib/advanced_billing/models/list_public_keys_response.rb +68 -0
  335. data/lib/advanced_billing/models/list_sale_rep_item.rb +90 -0
  336. data/lib/advanced_billing/models/list_segments_response.rb +59 -0
  337. data/lib/advanced_billing/models/list_subcription_group_prepayment_item.rb +137 -0
  338. data/lib/advanced_billing/models/list_subscription_components_include.rb +20 -0
  339. data/lib/advanced_billing/models/list_subscription_components_response.rb +57 -0
  340. data/lib/advanced_billing/models/list_subscription_components_sort.rb +23 -0
  341. data/lib/advanced_billing/models/list_subscription_group_prepayment.rb +49 -0
  342. data/lib/advanced_billing/models/list_subscription_group_prepayment_date_field.rb +23 -0
  343. data/lib/advanced_billing/models/list_subscription_group_prepayment_response.rb +57 -0
  344. data/lib/advanced_billing/models/list_subscription_groups_item.rb +141 -0
  345. data/lib/advanced_billing/models/list_subscription_groups_meta.rb +59 -0
  346. data/lib/advanced_billing/models/list_subscription_groups_response.rb +68 -0
  347. data/lib/advanced_billing/models/metadata.rb +98 -0
  348. data/lib/advanced_billing/models/metafield.rb +112 -0
  349. data/lib/advanced_billing/models/metafield_input.rb +32 -0
  350. data/lib/advanced_billing/models/metafield_scope.rb +119 -0
  351. data/lib/advanced_billing/models/metafields.rb +103 -0
  352. data/lib/advanced_billing/models/metafields1.rb +103 -0
  353. data/lib/advanced_billing/models/metered_component.rb +294 -0
  354. data/lib/advanced_billing/models/metered_usage.rb +132 -0
  355. data/lib/advanced_billing/models/movement.rb +138 -0
  356. data/lib/advanced_billing/models/movement_line_item.rb +143 -0
  357. data/lib/advanced_billing/models/mrr.rb +100 -0
  358. data/lib/advanced_billing/models/mrr_movement.rb +79 -0
  359. data/lib/advanced_billing/models/mrr_response.rb +48 -0
  360. data/lib/advanced_billing/models/multi_invoice_payment.rb +90 -0
  361. data/lib/advanced_billing/models/multi_invoice_payment_response.rb +48 -0
  362. data/lib/advanced_billing/models/net_terms.rb +94 -0
  363. data/lib/advanced_billing/models/offer.rb +254 -0
  364. data/lib/advanced_billing/models/offer_discount.rb +68 -0
  365. data/lib/advanced_billing/models/offer_item.rb +130 -0
  366. data/lib/advanced_billing/models/offer_response.rb +50 -0
  367. data/lib/advanced_billing/models/offer_signup_page.rb +96 -0
  368. data/lib/advanced_billing/models/on_off_component.rb +291 -0
  369. data/lib/advanced_billing/models/organization_address.rb +123 -0
  370. data/lib/advanced_billing/models/origin_invoice.rb +69 -0
  371. data/lib/advanced_billing/models/overage_pricing.rb +87 -0
  372. data/lib/advanced_billing/models/override_subscription.rb +100 -0
  373. data/lib/advanced_billing/models/override_subscription_request.rb +48 -0
  374. data/lib/advanced_billing/models/paginated_metadata.rb +96 -0
  375. data/lib/advanced_billing/models/pause_request.rb +50 -0
  376. data/lib/advanced_billing/models/payer_attributes.rb +221 -0
  377. data/lib/advanced_billing/models/payer_error.rb +68 -0
  378. data/lib/advanced_billing/models/payment.rb +80 -0
  379. data/lib/advanced_billing/models/payment_collection_method.rb +32 -0
  380. data/lib/advanced_billing/models/payment_collection_method1.rb +30 -0
  381. data/lib/advanced_billing/models/payment_collection_method_changed.rb +79 -0
  382. data/lib/advanced_billing/models/payment_method_apple_pay_type.rb +60 -0
  383. data/lib/advanced_billing/models/payment_method_bank_account_type.rb +81 -0
  384. data/lib/advanced_billing/models/payment_method_credit_card_type.rb +101 -0
  385. data/lib/advanced_billing/models/payment_method_external_type.rb +87 -0
  386. data/lib/advanced_billing/models/payment_method_nested_data.rb +150 -0
  387. data/lib/advanced_billing/models/payment_method_paypal_type.rb +69 -0
  388. data/lib/advanced_billing/models/payment_profile.rb +287 -0
  389. data/lib/advanced_billing/models/payment_profile_attributes.rb +356 -0
  390. data/lib/advanced_billing/models/payment_profile_response.rb +49 -0
  391. data/lib/advanced_billing/models/payment_related_events.rb +79 -0
  392. data/lib/advanced_billing/models/payment_response.rb +68 -0
  393. data/lib/advanced_billing/models/payment_type.rb +26 -0
  394. data/lib/advanced_billing/models/pending_cancellation_change.rb +79 -0
  395. data/lib/advanced_billing/models/portal_management_link.rb +101 -0
  396. data/lib/advanced_billing/models/pre_payment.rb +74 -0
  397. data/lib/advanced_billing/models/prepaid_component_price_point.rb +108 -0
  398. data/lib/advanced_billing/models/prepaid_configuration.rb +103 -0
  399. data/lib/advanced_billing/models/prepaid_configuration_response.rb +49 -0
  400. data/lib/advanced_billing/models/prepaid_subscription_balance_changed.rb +110 -0
  401. data/lib/advanced_billing/models/prepaid_usage.rb +199 -0
  402. data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +80 -0
  403. data/lib/advanced_billing/models/prepaid_usage_component.rb +350 -0
  404. data/lib/advanced_billing/models/prepayment1.rb +131 -0
  405. data/lib/advanced_billing/models/prepayment_account_balance_changed.rb +108 -0
  406. data/lib/advanced_billing/models/prepayment_aggregated_error.rb +69 -0
  407. data/lib/advanced_billing/models/prepayment_method.rb +41 -0
  408. data/lib/advanced_billing/models/prepayment_response.rb +48 -0
  409. data/lib/advanced_billing/models/prepayments_response.rb +59 -0
  410. data/lib/advanced_billing/models/preview_allocations_request.rb +69 -0
  411. data/lib/advanced_billing/models/price.rb +98 -0
  412. data/lib/advanced_billing/models/price_point.rb +172 -0
  413. data/lib/advanced_billing/models/price_point_type.rb +30 -0
  414. data/lib/advanced_billing/models/pricing_scheme.rb +31 -0
  415. data/lib/advanced_billing/models/product.rb +506 -0
  416. data/lib/advanced_billing/models/product_family.rb +120 -0
  417. data/lib/advanced_billing/models/product_family_response.rb +50 -0
  418. data/lib/advanced_billing/models/product_price_point.rb +289 -0
  419. data/lib/advanced_billing/models/product_price_point_currency_price.rb +99 -0
  420. data/lib/advanced_billing/models/product_price_point_response.rb +48 -0
  421. data/lib/advanced_billing/models/product_response.rb +48 -0
  422. data/lib/advanced_billing/models/proforma_custom_field.rb +87 -0
  423. data/lib/advanced_billing/models/proforma_error.rb +51 -0
  424. data/lib/advanced_billing/models/proforma_invoice.rb +463 -0
  425. data/lib/advanced_billing/models/proforma_invoice_credit.rb +80 -0
  426. data/lib/advanced_billing/models/proforma_invoice_discount.rb +108 -0
  427. data/lib/advanced_billing/models/proforma_invoice_discount_breakout.rb +61 -0
  428. data/lib/advanced_billing/models/proforma_invoice_issued.rb +202 -0
  429. data/lib/advanced_billing/models/proforma_invoice_payment.rb +80 -0
  430. data/lib/advanced_billing/models/proforma_invoice_preview.rb +463 -0
  431. data/lib/advanced_billing/models/proforma_invoice_tax.rb +116 -0
  432. data/lib/advanced_billing/models/proforma_invoice_tax_breakout.rb +60 -0
  433. data/lib/advanced_billing/models/proration.rb +52 -0
  434. data/lib/advanced_billing/models/public_key.rb +70 -0
  435. data/lib/advanced_billing/models/public_signup_page.rb +92 -0
  436. data/lib/advanced_billing/models/quantity_based_component.rb +303 -0
  437. data/lib/advanced_billing/models/reactivate_subscription_group_request.rb +60 -0
  438. data/lib/advanced_billing/models/reactivate_subscription_group_response.rb +130 -0
  439. data/lib/advanced_billing/models/reactivate_subscription_request.rb +122 -0
  440. data/lib/advanced_billing/models/reactivation_billing.rb +66 -0
  441. data/lib/advanced_billing/models/reactivation_charge.rb +30 -0
  442. data/lib/advanced_billing/models/read_payment_profile_response.rb +64 -0
  443. data/lib/advanced_billing/models/reason_code.rb +105 -0
  444. data/lib/advanced_billing/models/reason_code_response.rb +48 -0
  445. data/lib/advanced_billing/models/reason_codes_json_response.rb +50 -0
  446. data/lib/advanced_billing/models/record_payment_request.rb +48 -0
  447. data/lib/advanced_billing/models/recurring_scheme.rb +26 -0
  448. data/lib/advanced_billing/models/referral_code.rb +79 -0
  449. data/lib/advanced_billing/models/referral_validation_response.rb +50 -0
  450. data/lib/advanced_billing/models/refund.rb +124 -0
  451. data/lib/advanced_billing/models/refund_consolidated_invoice.rb +125 -0
  452. data/lib/advanced_billing/models/refund_invoice.rb +124 -0
  453. data/lib/advanced_billing/models/refund_invoice_event_data.rb +171 -0
  454. data/lib/advanced_billing/models/refund_invoice_request.rb +64 -0
  455. data/lib/advanced_billing/models/refund_prepayment.rb +106 -0
  456. data/lib/advanced_billing/models/refund_prepayment_aggregated_error.rb +50 -0
  457. data/lib/advanced_billing/models/refund_prepayment_base_refund_error.rb +50 -0
  458. data/lib/advanced_billing/models/refund_prepayment_request.rb +48 -0
  459. data/lib/advanced_billing/models/refund_success.rb +92 -0
  460. data/lib/advanced_billing/models/remove_payment_event_data.rb +131 -0
  461. data/lib/advanced_billing/models/renewal_preview.rb +157 -0
  462. data/lib/advanced_billing/models/renewal_preview_component.rb +91 -0
  463. data/lib/advanced_billing/models/renewal_preview_line_item.rb +161 -0
  464. data/lib/advanced_billing/models/renewal_preview_request.rb +62 -0
  465. data/lib/advanced_billing/models/renewal_preview_response.rb +49 -0
  466. data/lib/advanced_billing/models/replay_webhooks_request.rb +48 -0
  467. data/lib/advanced_billing/models/replay_webhooks_response.rb +50 -0
  468. data/lib/advanced_billing/models/resent_invitation.rb +81 -0
  469. data/lib/advanced_billing/models/resource_type.rb +23 -0
  470. data/lib/advanced_billing/models/restriction_type.rb +23 -0
  471. data/lib/advanced_billing/models/resume_options.rb +75 -0
  472. data/lib/advanced_billing/models/resumption_charge.rb +27 -0
  473. data/lib/advanced_billing/models/revoked_invitation.rb +71 -0
  474. data/lib/advanced_billing/models/sale_rep.rb +97 -0
  475. data/lib/advanced_billing/models/sale_rep_item_mrr.rb +68 -0
  476. data/lib/advanced_billing/models/sale_rep_settings.rb +109 -0
  477. data/lib/advanced_billing/models/sale_rep_subscription.rb +137 -0
  478. data/lib/advanced_billing/models/segment.rb +189 -0
  479. data/lib/advanced_billing/models/segment_price.rb +132 -0
  480. data/lib/advanced_billing/models/segment_response.rb +50 -0
  481. data/lib/advanced_billing/models/seller.rb +89 -0
  482. data/lib/advanced_billing/models/send_invoice_request.rb +72 -0
  483. data/lib/advanced_billing/models/service_credit.rb +90 -0
  484. data/lib/advanced_billing/models/service_credit_response.rb +48 -0
  485. data/lib/advanced_billing/models/service_credit_type.rb +23 -0
  486. data/lib/advanced_billing/models/shipping_address.rb +113 -0
  487. data/lib/advanced_billing/models/signup_proforma_preview.rb +62 -0
  488. data/lib/advanced_billing/models/signup_proforma_preview_response.rb +50 -0
  489. data/lib/advanced_billing/models/site.rb +212 -0
  490. data/lib/advanced_billing/models/site_response.rb +48 -0
  491. data/lib/advanced_billing/models/site_statistics.rb +171 -0
  492. data/lib/advanced_billing/models/site_summary.rb +87 -0
  493. data/lib/advanced_billing/models/snap_day.rb +21 -0
  494. data/lib/advanced_billing/models/sorting_direction.rb +23 -0
  495. data/lib/advanced_billing/models/status.rb +37 -0
  496. data/lib/advanced_billing/models/status1.rb +23 -0
  497. data/lib/advanced_billing/models/subscription.rb +776 -0
  498. data/lib/advanced_billing/models/subscription_bank_account.rb +281 -0
  499. data/lib/advanced_billing/models/subscription_component.rb +400 -0
  500. data/lib/advanced_billing/models/subscription_component_allocation_error_item.rb +59 -0
  501. data/lib/advanced_billing/models/subscription_component_response.rb +50 -0
  502. data/lib/advanced_billing/models/subscription_component_subscription.rb +70 -0
  503. data/lib/advanced_billing/models/subscription_date_field.rb +44 -0
  504. data/lib/advanced_billing/models/subscription_group.rb +94 -0
  505. data/lib/advanced_billing/models/subscription_group_balances.rb +80 -0
  506. data/lib/advanced_billing/models/subscription_group_bank_account.rb +228 -0
  507. data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +105 -0
  508. data/lib/advanced_billing/models/subscription_group_credit_card.rb +266 -0
  509. data/lib/advanced_billing/models/subscription_group_customer.rb +87 -0
  510. data/lib/advanced_billing/models/subscription_group_inlined.rb +92 -0
  511. data/lib/advanced_billing/models/subscription_group_item.rb +147 -0
  512. data/lib/advanced_billing/models/subscription_group_member_error.rb +68 -0
  513. data/lib/advanced_billing/models/subscription_group_payment_profile.rb +79 -0
  514. data/lib/advanced_billing/models/subscription_group_prepayment.rb +72 -0
  515. data/lib/advanced_billing/models/subscription_group_prepayment_method.rb +35 -0
  516. data/lib/advanced_billing/models/subscription_group_prepayment_request.rb +48 -0
  517. data/lib/advanced_billing/models/subscription_group_prepayment_response.rb +90 -0
  518. data/lib/advanced_billing/models/subscription_group_response.rb +49 -0
  519. data/lib/advanced_billing/models/subscription_group_signup.rb +153 -0
  520. data/lib/advanced_billing/models/subscription_group_signup_component.rb +108 -0
  521. data/lib/advanced_billing/models/subscription_group_signup_error.rb +109 -0
  522. data/lib/advanced_billing/models/subscription_group_signup_failure.rb +84 -0
  523. data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +146 -0
  524. data/lib/advanced_billing/models/subscription_group_signup_item.rb +200 -0
  525. data/lib/advanced_billing/models/subscription_group_signup_request.rb +49 -0
  526. data/lib/advanced_billing/models/subscription_group_signup_response.rb +167 -0
  527. data/lib/advanced_billing/models/subscription_group_signup_success.rb +84 -0
  528. data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +170 -0
  529. data/lib/advanced_billing/models/subscription_group_subscription_error.rb +86 -0
  530. data/lib/advanced_billing/models/subscription_group_update_error.rb +59 -0
  531. data/lib/advanced_billing/models/subscription_include.rb +23 -0
  532. data/lib/advanced_billing/models/subscription_included_coupon.rb +121 -0
  533. data/lib/advanced_billing/models/subscription_list_date_field.rb +20 -0
  534. data/lib/advanced_billing/models/subscription_migration_preview.rb +88 -0
  535. data/lib/advanced_billing/models/subscription_migration_preview_options.rb +158 -0
  536. data/lib/advanced_billing/models/subscription_migration_preview_request.rb +49 -0
  537. data/lib/advanced_billing/models/subscription_migration_preview_response.rb +48 -0
  538. data/lib/advanced_billing/models/subscription_mrr.rb +69 -0
  539. data/lib/advanced_billing/models/subscription_mrr_breakout.rb +58 -0
  540. data/lib/advanced_billing/models/subscription_mrr_response.rb +57 -0
  541. data/lib/advanced_billing/models/subscription_note.rb +97 -0
  542. data/lib/advanced_billing/models/subscription_note_response.rb +48 -0
  543. data/lib/advanced_billing/models/subscription_preview.rb +62 -0
  544. data/lib/advanced_billing/models/subscription_preview_response.rb +49 -0
  545. data/lib/advanced_billing/models/subscription_product_change.rb +80 -0
  546. data/lib/advanced_billing/models/subscription_product_migration.rb +148 -0
  547. data/lib/advanced_billing/models/subscription_product_migration_request.rb +48 -0
  548. data/lib/advanced_billing/models/subscription_purge_type.rb +23 -0
  549. data/lib/advanced_billing/models/subscription_response.rb +50 -0
  550. data/lib/advanced_billing/models/subscription_sort.rb +35 -0
  551. data/lib/advanced_billing/models/subscription_state.rb +53 -0
  552. data/lib/advanced_billing/models/subscription_state_change.rb +81 -0
  553. data/lib/advanced_billing/models/tax_configuration.rb +73 -0
  554. data/lib/advanced_billing/models/tax_configuration_kind.rb +29 -0
  555. data/lib/advanced_billing/models/tax_destination_address.rb +29 -0
  556. data/lib/advanced_billing/models/too_many_management_link_requests.rb +63 -0
  557. data/lib/advanced_billing/models/update_allocation_expiration_date.rb +50 -0
  558. data/lib/advanced_billing/models/update_component.rb +137 -0
  559. data/lib/advanced_billing/models/update_component_price_point.rb +68 -0
  560. data/lib/advanced_billing/models/update_component_price_point_request.rb +51 -0
  561. data/lib/advanced_billing/models/update_component_request.rb +48 -0
  562. data/lib/advanced_billing/models/update_coupon_currency.rb +56 -0
  563. data/lib/advanced_billing/models/update_currency_price.rb +56 -0
  564. data/lib/advanced_billing/models/update_currency_prices_request.rb +57 -0
  565. data/lib/advanced_billing/models/update_customer.rb +211 -0
  566. data/lib/advanced_billing/models/update_customer_request.rb +48 -0
  567. data/lib/advanced_billing/models/update_endpoint.rb +57 -0
  568. data/lib/advanced_billing/models/update_endpoint_request.rb +48 -0
  569. data/lib/advanced_billing/models/update_metadata.rb +68 -0
  570. data/lib/advanced_billing/models/update_metadata_request.rb +50 -0
  571. data/lib/advanced_billing/models/update_metafield.rb +103 -0
  572. data/lib/advanced_billing/models/update_metafields_request.rb +62 -0
  573. data/lib/advanced_billing/models/update_payment_profile.rb +187 -0
  574. data/lib/advanced_billing/models/update_payment_profile_request.rb +49 -0
  575. data/lib/advanced_billing/models/update_payment_profile_response.rb +49 -0
  576. data/lib/advanced_billing/models/update_price.rb +89 -0
  577. data/lib/advanced_billing/models/update_product_price_point.rb +60 -0
  578. data/lib/advanced_billing/models/update_product_price_point_request.rb +48 -0
  579. data/lib/advanced_billing/models/update_reason_code.rb +68 -0
  580. data/lib/advanced_billing/models/update_reason_code_request.rb +48 -0
  581. data/lib/advanced_billing/models/update_segment.rb +74 -0
  582. data/lib/advanced_billing/models/update_segment_request.rb +48 -0
  583. data/lib/advanced_billing/models/update_subscription.rb +270 -0
  584. data/lib/advanced_billing/models/update_subscription_component.rb +70 -0
  585. data/lib/advanced_billing/models/update_subscription_group.rb +50 -0
  586. data/lib/advanced_billing/models/update_subscription_group_request.rb +49 -0
  587. data/lib/advanced_billing/models/update_subscription_note.rb +56 -0
  588. data/lib/advanced_billing/models/update_subscription_note_request.rb +48 -0
  589. data/lib/advanced_billing/models/update_subscription_request.rb +48 -0
  590. data/lib/advanced_billing/models/updated_payment_profile.rb +255 -0
  591. data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +104 -0
  592. data/lib/advanced_billing/models/upsert_prepaid_configuration_request.rb +49 -0
  593. data/lib/advanced_billing/models/usage.rb +141 -0
  594. data/lib/advanced_billing/models/usage_response.rb +48 -0
  595. data/lib/advanced_billing/models/void_invoice.rb +48 -0
  596. data/lib/advanced_billing/models/void_invoice_event_data.rb +111 -0
  597. data/lib/advanced_billing/models/void_invoice_event_data1.rb +100 -0
  598. data/lib/advanced_billing/models/void_invoice_request.rb +48 -0
  599. data/lib/advanced_billing/models/webhook.rb +165 -0
  600. data/lib/advanced_billing/models/webhook_order.rb +23 -0
  601. data/lib/advanced_billing/models/webhook_response.rb +50 -0
  602. data/lib/advanced_billing/models/webhook_status.rb +29 -0
  603. data/lib/advanced_billing/models/webhook_subscription.rb +124 -0
  604. data/lib/advanced_billing/utilities/date_time_helper.rb +11 -0
  605. data/lib/advanced_billing/utilities/file_wrapper.rb +16 -0
  606. data/lib/advanced_billing/utilities/union_type_lookup.rb +1240 -0
  607. data/lib/advanced_billing.rb +669 -0
  608. metadata +614 -111
  609. data/bin/arch +0 -1
  610. data/bin/ash +0 -1
  611. data/bin/base64 +0 -1
  612. data/bin/bbconfig +0 -1
  613. data/bin/busybox +0 -0
  614. data/bin/cat +0 -1
  615. data/bin/chattr +0 -1
  616. data/bin/chgrp +0 -1
  617. data/bin/chmod +0 -1
  618. data/bin/chown +0 -1
  619. data/bin/cp +0 -1
  620. data/bin/date +0 -1
  621. data/bin/dd +0 -1
  622. data/bin/df +0 -1
  623. data/bin/dmesg +0 -1
  624. data/bin/dnsdomainname +0 -1
  625. data/bin/dumpkmap +0 -1
  626. data/bin/echo +0 -1
  627. data/bin/ed +0 -1
  628. data/bin/egrep +0 -1
  629. data/bin/false +0 -1
  630. data/bin/fatattr +0 -1
  631. data/bin/fdflush +0 -1
  632. data/bin/fgrep +0 -1
  633. data/bin/fsync +0 -1
  634. data/bin/getopt +0 -1
  635. data/bin/grep +0 -1
  636. data/bin/gunzip +0 -1
  637. data/bin/gzip +0 -1
  638. data/bin/hostname +0 -1
  639. data/bin/ionice +0 -1
  640. data/bin/iostat +0 -1
  641. data/bin/ipcalc +0 -1
  642. data/bin/kbd_mode +0 -1
  643. data/bin/kill +0 -1
  644. data/bin/link +0 -1
  645. data/bin/linux32 +0 -1
  646. data/bin/linux64 +0 -1
  647. data/bin/ln +0 -1
  648. data/bin/login +0 -1
  649. data/bin/ls +0 -1
  650. data/bin/lsattr +0 -1
  651. data/bin/lzop +0 -1
  652. data/bin/makemime +0 -1
  653. data/bin/mkdir +0 -1
  654. data/bin/mknod +0 -1
  655. data/bin/mktemp +0 -1
  656. data/bin/more +0 -1
  657. data/bin/mount +0 -1
  658. data/bin/mountpoint +0 -1
  659. data/bin/mpstat +0 -1
  660. data/bin/mv +0 -1
  661. data/bin/netstat +0 -1
  662. data/bin/nice +0 -1
  663. data/bin/pidof +0 -0
  664. data/bin/ping +0 -1
  665. data/bin/ping6 +0 -1
  666. data/bin/pipe_progress +0 -1
  667. data/bin/printenv +0 -1
  668. data/bin/ps +0 -0
  669. data/bin/pwait +0 -0
  670. data/bin/pwd +0 -1
  671. data/bin/reformime +0 -1
  672. data/bin/rev +0 -1
  673. data/bin/rm +0 -1
  674. data/bin/rmdir +0 -1
  675. data/bin/run-parts +0 -1
  676. data/bin/sed +0 -1
  677. data/bin/setpriv +0 -1
  678. data/bin/setserial +0 -1
  679. data/bin/sh +0 -1
  680. data/bin/slabtop +0 -0
  681. data/bin/sleep +0 -1
  682. data/bin/stat +0 -1
  683. data/bin/stty +0 -1
  684. data/bin/su +0 -1
  685. data/bin/sync +0 -1
  686. data/bin/tar +0 -1
  687. data/bin/tload +0 -0
  688. data/bin/touch +0 -1
  689. data/bin/true +0 -1
  690. data/bin/umount +0 -1
  691. data/bin/uname +0 -1
  692. data/bin/usleep +0 -1
  693. data/bin/vmstat +0 -0
  694. data/bin/w +0 -0
  695. data/bin/watch +0 -0
  696. data/bin/zcat +0 -1
  697. data/lib/apk/db/installed +0 -3582
  698. data/lib/apk/db/lock +0 -0
  699. data/lib/apk/db/scripts.tar +0 -0
  700. data/lib/apk/db/triggers +0 -2
  701. data/lib/ld-musl-x86_64.so.1 +0 -0
  702. data/lib/libapk.so.3.12.0 +0 -0
  703. data/lib/libc.musl-x86_64.so.1 +0 -1
  704. data/lib/libcrypto.so.1.1 +0 -0
  705. data/lib/libprocps.so.8 +0 -1
  706. data/lib/libprocps.so.8.0.3 +0 -0
  707. data/lib/libssl.so.1.1 +0 -0
  708. data/lib/libz.so +0 -1
  709. data/lib/libz.so.1 +0 -1
  710. data/lib/libz.so.1.2.12 +0 -0
  711. data/lib/sysctl.d/00-alpine.conf +0 -40
@@ -0,0 +1,691 @@
1
+ # advanced_billing
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module AdvancedBilling
7
+ # CouponsController
8
+ class CouponsController < BaseController
9
+ # List coupons for a specific Product Family in a Site.
10
+ # If the coupon is set to `use_site_exchange_rate: true`, it will return
11
+ # pricing based on the current exchange rate. If the flag is set to false,
12
+ # it will return all of the defined prices for each currency.
13
+ # @param [Integer] product_family_id Required parameter: The Chargify id of
14
+ # the product family to which the coupon belongs
15
+ # @param [Integer] page Optional parameter: Result records are organized in
16
+ # pages. By default, the first page of results is displayed. The page
17
+ # parameter specifies a page number of results to fetch. You can start
18
+ # navigating through the pages to consume the results. You do this by
19
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
20
+ # the query string. If there are no results to return, then an empty result
21
+ # set will be returned. Use in query `page=1`.
22
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
23
+ # many records to fetch in each request. Default value is 30. The maximum
24
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
25
+ # Use in query `per_page=200`.
26
+ # @param [BasicDateField] filter_date_field Optional parameter: The type of
27
+ # filter you would like to apply to your search. Use in query
28
+ # `filter[date_field]=created_at`.
29
+ # @param [String] filter_end_date Optional parameter: The end date (format
30
+ # YYYY-MM-DD) with which to filter the date_field. Returns coupons with a
31
+ # timestamp up to and including 11:59:59PM in your site’s time zone on the
32
+ # date specified. Use in query `filter[date_field]=2011-12-15`.
33
+ # @param [String] filter_end_datetime Optional parameter: The end date and
34
+ # time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field.
35
+ # Returns coupons with a timestamp at or before exact time provided in
36
+ # query. You can specify timezone in query - otherwise your site's time zone
37
+ # will be used. If provided, this parameter will be used instead of
38
+ # end_date. Use in query `?filter[end_datetime]=2011-12-1T10:15:30+01:00`.
39
+ # @param [String] filter_start_date Optional parameter: The start date
40
+ # (format YYYY-MM-DD) with which to filter the date_field. Returns coupons
41
+ # with a timestamp at or after midnight (12:00:00 AM) in your site’s time
42
+ # zone on the date specified. Use in query
43
+ # `filter[start_date]=2011-12-17`.
44
+ # @param [String] filter_start_datetime Optional parameter: The start date
45
+ # and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field.
46
+ # Returns coupons with a timestamp at or after exact time provided in query.
47
+ # You can specify timezone in query - otherwise your site's time zone will
48
+ # be used. If provided, this parameter will be used instead of start_date.
49
+ # Use in query `filter[start_datetime]=2011-12-19T10:15:30+01:00`.
50
+ # @param [Array[Integer]] filter_ids Optional parameter: Allows fetching
51
+ # coupons with matching id based on provided values. Use in query
52
+ # `filter[ids]=1,2,3`.
53
+ # @param [Array[String]] filter_codes Optional parameter: Allows fetching
54
+ # coupons with matching codes based on provided values. Use in query
55
+ # `filter[codes]=free,free_trial`.
56
+ # @param [TrueClass | FalseClass] currency_prices Optional parameter: When
57
+ # fetching coupons, if you have defined multiple currencies at the site
58
+ # level, you can optionally pass the `?currency_prices=true` query param to
59
+ # include an array of currency price data in the response. Use in query
60
+ # `currency_prices=true`.
61
+ # @param [TrueClass | FalseClass] filter_use_site_exchange_rate Optional
62
+ # parameter: Allows fetching coupons with matching use_site_exchange_rate
63
+ # based on provided value. Use in query
64
+ # `filter[use_site_exchange_rate]=true`.
65
+ # @return [Array[CouponResponse]] response from the API call.
66
+ def list_coupons_for_product_family(options = {})
67
+ new_api_call_builder
68
+ .request(new_request_builder(HttpMethodEnum::GET,
69
+ '/product_families/{product_family_id}/coupons.json',
70
+ Server::DEFAULT)
71
+ .template_param(new_parameter(options['product_family_id'], key: 'product_family_id')
72
+ .is_required(true)
73
+ .should_encode(true))
74
+ .query_param(new_parameter(options['page'], key: 'page'))
75
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
76
+ .query_param(new_parameter(options['filter_date_field'], key: 'filter[date_field]'))
77
+ .query_param(new_parameter(options['filter_end_date'], key: 'filter[end_date]'))
78
+ .query_param(new_parameter(options['filter_end_datetime'], key: 'filter[end_datetime]'))
79
+ .query_param(new_parameter(options['filter_start_date'], key: 'filter[start_date]'))
80
+ .query_param(new_parameter(options['filter_start_datetime'], key: 'filter[start_datetime]'))
81
+ .query_param(new_parameter(options['filter_ids'], key: 'filter[ids]'))
82
+ .query_param(new_parameter(options['filter_codes'], key: 'filter[codes]'))
83
+ .query_param(new_parameter(options['currency_prices'], key: 'currency_prices'))
84
+ .query_param(new_parameter(options['filter_use_site_exchange_rate'], key: 'filter[use_site_exchange_rate]'))
85
+ .header_param(new_parameter('application/json', key: 'accept'))
86
+ .auth(Single.new('BasicAuth'))
87
+ .array_serialization_format(ArraySerializationFormat::CSV))
88
+ .response(new_response_handler
89
+ .is_nullify404(true)
90
+ .deserializer(APIHelper.method(:custom_type_deserializer))
91
+ .deserialize_into(CouponResponse.method(:from_hash))
92
+ .is_response_array(true))
93
+ .execute
94
+ end
95
+
96
+ # You can search for a coupon via the API with the find method. By passing a
97
+ # code parameter, the find will attempt to locate a coupon that matches that
98
+ # code. If no coupon is found, a 404 is returned.
99
+ # If you have more than one product family and if the coupon you are trying
100
+ # to find does not belong to the default product family in your site, then
101
+ # you will need to specify (either in the url or as a query string param)
102
+ # the product family id.
103
+ # @param [Integer] product_family_id Optional parameter: The Chargify id of
104
+ # the product family to which the coupon belongs
105
+ # @param [String] code Optional parameter: The code of the coupon
106
+ # @return [CouponResponse] response from the API call.
107
+ def read_coupon_by_code(product_family_id: nil,
108
+ code: nil)
109
+ new_api_call_builder
110
+ .request(new_request_builder(HttpMethodEnum::GET,
111
+ '/coupons/find.json',
112
+ Server::DEFAULT)
113
+ .query_param(new_parameter(product_family_id, key: 'product_family_id'))
114
+ .query_param(new_parameter(code, key: 'code'))
115
+ .header_param(new_parameter('application/json', key: 'accept'))
116
+ .auth(Single.new('BasicAuth')))
117
+ .response(new_response_handler
118
+ .is_nullify404(true)
119
+ .deserializer(APIHelper.method(:custom_type_deserializer))
120
+ .deserialize_into(CouponResponse.method(:from_hash)))
121
+ .execute
122
+ end
123
+
124
+ # This request allows you to request the subcodes that are attached to a
125
+ # coupon.
126
+ # @param [Integer] coupon_id Required parameter: The Chargify id of the
127
+ # coupon
128
+ # @param [Integer] page Optional parameter: Result records are organized in
129
+ # pages. By default, the first page of results is displayed. The page
130
+ # parameter specifies a page number of results to fetch. You can start
131
+ # navigating through the pages to consume the results. You do this by
132
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
133
+ # the query string. If there are no results to return, then an empty result
134
+ # set will be returned. Use in query `page=1`.
135
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
136
+ # many records to fetch in each request. Default value is 20. The maximum
137
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
138
+ # Use in query `per_page=200`.
139
+ # @return [CouponSubcodes] response from the API call.
140
+ def list_coupon_subcodes(options = {})
141
+ new_api_call_builder
142
+ .request(new_request_builder(HttpMethodEnum::GET,
143
+ '/coupons/{coupon_id}/codes.json',
144
+ Server::DEFAULT)
145
+ .template_param(new_parameter(options['coupon_id'], key: 'coupon_id')
146
+ .is_required(true)
147
+ .should_encode(true))
148
+ .query_param(new_parameter(options['page'], key: 'page'))
149
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
150
+ .header_param(new_parameter('application/json', key: 'accept'))
151
+ .auth(Single.new('BasicAuth')))
152
+ .response(new_response_handler
153
+ .is_nullify404(true)
154
+ .deserializer(APIHelper.method(:custom_type_deserializer))
155
+ .deserialize_into(CouponSubcodes.method(:from_hash)))
156
+ .execute
157
+ end
158
+
159
+ # You can update the subcodes for the given Coupon via the API with a PUT
160
+ # request to the resource endpoint.
161
+ # Send an array of new coupon subcodes.
162
+ # **Note**: All current subcodes for that Coupon will be deleted first, and
163
+ # replaced with the list of subcodes sent to this endpoint.
164
+ # The response will contain:
165
+ # + The created subcodes,
166
+ # + Subcodes that were not created because they already exist,
167
+ # + Any subcodes not created because they are invalid.
168
+ # @param [Integer] coupon_id Required parameter: The Chargify id of the
169
+ # coupon
170
+ # @param [CouponSubcodes] body Optional parameter: Example:
171
+ # @return [CouponSubcodesResponse] response from the API call.
172
+ def update_coupon_subcodes(coupon_id,
173
+ body: nil)
174
+ new_api_call_builder
175
+ .request(new_request_builder(HttpMethodEnum::PUT,
176
+ '/coupons/{coupon_id}/codes.json',
177
+ Server::DEFAULT)
178
+ .template_param(new_parameter(coupon_id, key: 'coupon_id')
179
+ .is_required(true)
180
+ .should_encode(true))
181
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
182
+ .body_param(new_parameter(body))
183
+ .header_param(new_parameter('application/json', key: 'accept'))
184
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
185
+ .auth(Single.new('BasicAuth')))
186
+ .response(new_response_handler
187
+ .is_nullify404(true)
188
+ .deserializer(APIHelper.method(:custom_type_deserializer))
189
+ .deserialize_into(CouponSubcodesResponse.method(:from_hash)))
190
+ .execute
191
+ end
192
+
193
+ # You can verify if a specific coupon code is valid using the `validate`
194
+ # method. This method is useful for validating coupon codes that are entered
195
+ # by a customer. If the coupon is found and is valid, the coupon will be
196
+ # returned with a 200 status code.
197
+ # If the coupon is invalid, the status code will be 404 and the response
198
+ # will say why it is invalid. If the coupon is valid, the status code will
199
+ # be 200 and the coupon will be returned. The following reasons for
200
+ # invalidity are supported:
201
+ # + Coupon not found
202
+ # + Coupon is invalid
203
+ # + Coupon expired
204
+ # If you have more than one product family and if the coupon you are
205
+ # validating does not belong to the first product family in your site, then
206
+ # you will need to specify the product family, either in the url or as a
207
+ # query string param. This can be done by supplying the id or the handle in
208
+ # the `handle:my-family` format.
209
+ # Eg.
210
+ # ```
211
+ # https://<subdomain>.chargify.com/product_families/handle:<product_family_h
212
+ # andle>/coupons/validate.<format>?code=<coupon_code>
213
+ # ```
214
+ # Or:
215
+ # ```
216
+ # https://<subdomain>.chargify.com/coupons/validate.<format>?code=<coupon_co
217
+ # de>&product_family_id=<id>
218
+ # ```
219
+ # @param [String] code Required parameter: The code of the coupon
220
+ # @param [Integer] product_family_id Optional parameter: The Chargify id of
221
+ # the product family to which the coupon belongs
222
+ # @return [CouponResponse] response from the API call.
223
+ def validate_coupon(code,
224
+ product_family_id: nil)
225
+ new_api_call_builder
226
+ .request(new_request_builder(HttpMethodEnum::GET,
227
+ '/coupons/validate.json',
228
+ Server::DEFAULT)
229
+ .query_param(new_parameter(code, key: 'code')
230
+ .is_required(true))
231
+ .query_param(new_parameter(product_family_id, key: 'product_family_id'))
232
+ .header_param(new_parameter('application/json', key: 'accept'))
233
+ .auth(Single.new('BasicAuth')))
234
+ .response(new_response_handler
235
+ .is_nullify404(true)
236
+ .deserializer(APIHelper.method(:custom_type_deserializer))
237
+ .deserialize_into(CouponResponse.method(:from_hash))
238
+ .local_error('404',
239
+ 'Not Found',
240
+ SingleStringErrorResponseException))
241
+ .execute
242
+ end
243
+
244
+ # ## Update Coupon
245
+ # You can update a Coupon via the API with a PUT request to the resource
246
+ # endpoint.
247
+ # You can restrict a coupon to only apply to specific products / components
248
+ # by optionally passing in hashes of `restricted_products` and/or
249
+ # `restricted_components` in the format:
250
+ # `{ "<product/component_id>": boolean_value }`
251
+ # @param [Integer] product_family_id Required parameter: The Chargify id of
252
+ # the product family to which the coupon belongs
253
+ # @param [Integer] coupon_id Required parameter: The Chargify id of the
254
+ # coupon
255
+ # @param [CreateOrUpdateCoupon | nil] body Optional parameter: Example:
256
+ # @return [CouponResponse] response from the API call.
257
+ def update_coupon(product_family_id,
258
+ coupon_id,
259
+ body: nil)
260
+ new_api_call_builder
261
+ .request(new_request_builder(HttpMethodEnum::PUT,
262
+ '/product_families/{product_family_id}/coupons/{coupon_id}.json',
263
+ Server::DEFAULT)
264
+ .template_param(new_parameter(product_family_id, key: 'product_family_id')
265
+ .is_required(true)
266
+ .should_encode(true))
267
+ .template_param(new_parameter(coupon_id, key: 'coupon_id')
268
+ .is_required(true)
269
+ .should_encode(true))
270
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
271
+ .body_param(new_parameter(body)
272
+ .validator(proc do |value|
273
+ UnionTypeLookUp.get(:UpdateCouponBody)
274
+ .validate(value)
275
+ end))
276
+ .header_param(new_parameter('application/json', key: 'accept'))
277
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
278
+ .auth(Single.new('BasicAuth')))
279
+ .response(new_response_handler
280
+ .is_nullify404(true)
281
+ .deserializer(APIHelper.method(:custom_type_deserializer))
282
+ .deserialize_into(CouponResponse.method(:from_hash)))
283
+ .execute
284
+ end
285
+
286
+ # You can retrieve a list of coupons.
287
+ # If the coupon is set to `use_site_exchange_rate: true`, it will return
288
+ # pricing based on the current exchange rate. If the flag is set to false,
289
+ # it will return all of the defined prices for each currency.
290
+ # @param [Integer] page Optional parameter: Result records are organized in
291
+ # pages. By default, the first page of results is displayed. The page
292
+ # parameter specifies a page number of results to fetch. You can start
293
+ # navigating through the pages to consume the results. You do this by
294
+ # passing in a page parameter. Retrieve the next page by adding ?page=2 to
295
+ # the query string. If there are no results to return, then an empty result
296
+ # set will be returned. Use in query `page=1`.
297
+ # @param [Integer] per_page Optional parameter: This parameter indicates how
298
+ # many records to fetch in each request. Default value is 30. The maximum
299
+ # allowed values is 200; any per_page value over 200 will be changed to 200.
300
+ # Use in query `per_page=200`.
301
+ # @param [BasicDateField] date_field Optional parameter: The field was
302
+ # deprecated: on January 20, 2022. We recommend using filter[date_field]
303
+ # instead to achieve the same result. The type of filter you would like to
304
+ # apply to your search.
305
+ # @param [String] start_date Optional parameter: The field was deprecated:
306
+ # on January 20, 2022. We recommend using filter[start_date] instead to
307
+ # achieve the same result. The start date (format YYYY-MM-DD) with which to
308
+ # filter the date_field. Returns coupons with a timestamp at or after
309
+ # midnight (12:00:00 AM) in your site’s time zone on the date specified.
310
+ # @param [String] end_date Optional parameter: The field was deprecated: on
311
+ # January 20, 2022. We recommend using filter[end_date] instead to achieve
312
+ # the same result. The end date (format YYYY-MM-DD) with which to filter the
313
+ # date_field. Returns coupons with a timestamp up to and including
314
+ # 11:59:59PM in your site’s time zone on the date specified.
315
+ # @param [String] start_datetime Optional parameter: The field was
316
+ # deprecated: on January 20, 2022. We recommend using filter[start_datetime]
317
+ # instead to achieve the same result. The start date and time (format
318
+ # YYYY-MM-DD HH:MM:SS) with which to filter the date_field. Returns coupons
319
+ # with a timestamp at or after exact time provided in query. You can specify
320
+ # timezone in query - otherwise your site's time zone will be used. If
321
+ # provided, this parameter will be used instead of start_date.
322
+ # @param [String] end_datetime Optional parameter: The field was deprecated:
323
+ # on January 20, 2022. We recommend using filter[end_datetime] instead to
324
+ # achieve the same result. The end date and time (format YYYY-MM-DD
325
+ # HH:MM:SS) with which to filter the date_field. Returns coupons with a
326
+ # timestamp at or before exact time provided in query. You can specify
327
+ # timezone in query - otherwise your site's time zone will be used. If
328
+ # provided, this parameter will be used instead of end_date.
329
+ # @param [Array[Integer]] filter_ids Optional parameter: Allows fetching
330
+ # coupons with matching id based on provided values. Use in query
331
+ # `filter[ids]=1,2,3`.
332
+ # @param [Array[String]] filter_codes Optional parameter: Allows fetching
333
+ # coupons with matching code based on provided values. Use in query
334
+ # `filter[ids]=1,2,3`.
335
+ # @param [TrueClass | FalseClass] currency_prices Optional parameter: When
336
+ # fetching coupons, if you have defined multiple currencies at the site
337
+ # level, you can optionally pass the `?currency_prices=true` query param to
338
+ # include an array of currency price data in the response. Use in query
339
+ # `currency_prices=true`.
340
+ # @param [String] filter_end_date Optional parameter: The end date (format
341
+ # YYYY-MM-DD) with which to filter the date_field. Returns coupons with a
342
+ # timestamp up to and including 11:59:59PM in your site’s time zone on the
343
+ # date specified. Use in query `filter[end_date]=2011-12-17`.
344
+ # @param [String] filter_end_datetime Optional parameter: The end date and
345
+ # time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field.
346
+ # Returns coupons with a timestamp at or before exact time provided in
347
+ # query. You can specify timezone in query - otherwise your site's time zone
348
+ # will be used. If provided, this parameter will be used instead of
349
+ # end_date. Use in query `filter[end_datetime]=2011-12-19T10:15:30+01:00`.
350
+ # @param [String] filter_start_date Optional parameter: The start date
351
+ # (format YYYY-MM-DD) with which to filter the date_field. Returns coupons
352
+ # with a timestamp at or after midnight (12:00:00 AM) in your site’s time
353
+ # zone on the date specified. Use in query
354
+ # `filter[start_date]=2011-12-19`.
355
+ # @param [String] filter_start_datetime Optional parameter: The start date
356
+ # and time (format YYYY-MM-DD HH:MM:SS) with which to filter the date_field.
357
+ # Returns coupons with a timestamp at or after exact time provided in query.
358
+ # You can specify timezone in query - otherwise your site's time zone will
359
+ # be used. If provided, this parameter will be used instead of start_date.
360
+ # Use in query `filter[start_datetime]=2011-12-19T10:15:30+01:00`.
361
+ # @param [BasicDateField] filter_date_field Optional parameter: The type of
362
+ # filter you would like to apply to your search. Use in query
363
+ # `filter[date_field]=updated_at`.
364
+ # @param [TrueClass | FalseClass] filter_use_site_exchange_rate Optional
365
+ # parameter: Allows fetching coupons with matching use_site_exchange_rate
366
+ # based on provided value. Use in query
367
+ # `filter[use_site_exchange_rate]=true`.
368
+ # @return [Array[CouponResponse]] response from the API call.
369
+ def list_coupons(options = {})
370
+ new_api_call_builder
371
+ .request(new_request_builder(HttpMethodEnum::GET,
372
+ '/coupons.json',
373
+ Server::DEFAULT)
374
+ .query_param(new_parameter(options['page'], key: 'page'))
375
+ .query_param(new_parameter(options['per_page'], key: 'per_page'))
376
+ .query_param(new_parameter(options['date_field'], key: 'date_field'))
377
+ .query_param(new_parameter(options['start_date'], key: 'start_date'))
378
+ .query_param(new_parameter(options['end_date'], key: 'end_date'))
379
+ .query_param(new_parameter(options['start_datetime'], key: 'start_datetime'))
380
+ .query_param(new_parameter(options['end_datetime'], key: 'end_datetime'))
381
+ .query_param(new_parameter(options['filter_ids'], key: 'filter[ids]'))
382
+ .query_param(new_parameter(options['filter_codes'], key: 'filter[codes]'))
383
+ .query_param(new_parameter(options['currency_prices'], key: 'currency_prices'))
384
+ .query_param(new_parameter(options['filter_end_date'], key: 'filter[end_date]'))
385
+ .query_param(new_parameter(options['filter_end_datetime'], key: 'filter[end_datetime]'))
386
+ .query_param(new_parameter(options['filter_start_date'], key: 'filter[start_date]'))
387
+ .query_param(new_parameter(options['filter_start_datetime'], key: 'filter[start_datetime]'))
388
+ .query_param(new_parameter(options['filter_date_field'], key: 'filter[date_field]'))
389
+ .query_param(new_parameter(options['filter_use_site_exchange_rate'], key: 'filter[use_site_exchange_rate]'))
390
+ .header_param(new_parameter('application/json', key: 'accept'))
391
+ .auth(Single.new('BasicAuth'))
392
+ .array_serialization_format(ArraySerializationFormat::CSV))
393
+ .response(new_response_handler
394
+ .is_nullify404(true)
395
+ .deserializer(APIHelper.method(:custom_type_deserializer))
396
+ .deserialize_into(CouponResponse.method(:from_hash))
397
+ .is_response_array(true))
398
+ .execute
399
+ end
400
+
401
+ # This endpoint allows you to create and/or update currency prices for an
402
+ # existing coupon. Multiple prices can be created or updated in a single
403
+ # request but each of the currencies must be defined on the site level
404
+ # already and the coupon must be an amount-based coupon, not percentage.
405
+ # Currency pricing for coupons must mirror the setup of the primary coupon
406
+ # pricing - if the primary coupon is percentage based, you will not be able
407
+ # to define pricing in non-primary currencies.
408
+ # @param [Integer] coupon_id Required parameter: The Chargify id of the
409
+ # coupon
410
+ # @param [CouponCurrencyRequest] body Optional parameter: Example:
411
+ # @return [Array[CouponCurrency]] response from the API call.
412
+ def update_coupon_currency_prices(coupon_id,
413
+ body: nil)
414
+ new_api_call_builder
415
+ .request(new_request_builder(HttpMethodEnum::PUT,
416
+ '/coupon/{coupon_id}/currency_prices.json',
417
+ Server::DEFAULT)
418
+ .template_param(new_parameter(coupon_id, key: 'coupon_id')
419
+ .is_required(true)
420
+ .should_encode(true))
421
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
422
+ .body_param(new_parameter(body))
423
+ .header_param(new_parameter('application/json', key: 'accept'))
424
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
425
+ .auth(Single.new('BasicAuth')))
426
+ .response(new_response_handler
427
+ .is_nullify404(true)
428
+ .deserializer(APIHelper.method(:custom_type_deserializer))
429
+ .deserialize_into(CouponCurrency.method(:from_hash))
430
+ .is_response_array(true))
431
+ .execute
432
+ end
433
+
434
+ # ## Coupon Subcodes Intro
435
+ # Coupon Subcodes allow you to create a set of unique codes that allow you
436
+ # to expand the use of one coupon.
437
+ # For example:
438
+ # Master Coupon Code:
439
+ # + SPRING2020
440
+ # Coupon Subcodes:
441
+ # + SPRING90210
442
+ # + DP80302
443
+ # + SPRINGBALTIMORE
444
+ # Coupon subcodes can be administered in the Admin Interface or via the API.
445
+ # When creating a coupon subcode, you must specify a coupon to attach it to
446
+ # using the coupon_id. Valid coupon subcodes are all capital letters,
447
+ # contain only letters and numbers, and do not have any spaces. Lowercase
448
+ # letters will be capitalized before the subcode is created.
449
+ # ## Coupon Subcodes Documentation
450
+ # Full documentation on how to create coupon subcodes in the Chargify UI can
451
+ # be located
452
+ # [here](https://chargify.zendesk.com/hc/en-us/articles/4407755909531#coupon
453
+ # -codes).
454
+ # Additionally, for documentation on how to apply a coupon to a Subscription
455
+ # within the Chargify UI, please see our documentation
456
+ # [here](https://chargify.zendesk.com/hc/en-us/articles/4407884887835#coupon
457
+ # ).
458
+ # ## Create Coupon Subcode
459
+ # This request allows you to create specific subcodes underneath an existing
460
+ # coupon code.
461
+ # *Note*: If you are using any of the allowed special characters ("%", "@",
462
+ # "+", "-", "_", and "."), you must encode them for use in the URL.
463
+ # % to %25
464
+ # @ to %40
465
+ # + to %2B
466
+ # - to %2D
467
+ # _ to %5F
468
+ # . to %2E
469
+ # So, if the coupon subcode is `20%OFF`, the URL to delete this coupon
470
+ # subcode would be:
471
+ # `https://<subdomain>.chargify.com/coupons/567/codes/20%25OFF.<format>`
472
+ # @param [Integer] coupon_id Required parameter: The Chargify id of the
473
+ # coupon
474
+ # @param [CouponSubcodes] body Optional parameter: Example:
475
+ # @return [CouponSubcodesResponse] response from the API call.
476
+ def create_coupon_subcodes(coupon_id,
477
+ body: nil)
478
+ new_api_call_builder
479
+ .request(new_request_builder(HttpMethodEnum::POST,
480
+ '/coupons/{coupon_id}/codes.json',
481
+ Server::DEFAULT)
482
+ .template_param(new_parameter(coupon_id, key: 'coupon_id')
483
+ .is_required(true)
484
+ .should_encode(true))
485
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
486
+ .body_param(new_parameter(body))
487
+ .header_param(new_parameter('application/json', key: 'accept'))
488
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
489
+ .auth(Single.new('BasicAuth')))
490
+ .response(new_response_handler
491
+ .is_nullify404(true)
492
+ .deserializer(APIHelper.method(:custom_type_deserializer))
493
+ .deserialize_into(CouponSubcodesResponse.method(:from_hash)))
494
+ .execute
495
+ end
496
+
497
+ # ## Example
498
+ # Given a coupon with an ID of 567, and a coupon subcode of 20OFF, the URL
499
+ # to `DELETE` this coupon subcode would be:
500
+ # ```
501
+ # http://subdomain.chargify.com/coupons/567/codes/20OFF.<format>
502
+ # ```
503
+ # Note: If you are using any of the allowed special characters (“%”, “@”,
504
+ # “+”, “-”, “_”, and “.”), you must encode them for use in the URL.
505
+ # | Special character | Encoding |
506
+ # |-------------------|----------|
507
+ # | % | %25 |
508
+ # | @ | %40 |
509
+ # | + | %2B |
510
+ # | – | %2D |
511
+ # | _ | %5F |
512
+ # | . | %2E |
513
+ # ## Percent Encoding Example
514
+ # Or if the coupon subcode is 20%OFF, the URL to delete this coupon subcode
515
+ # would be:
516
+ # @https://<subdomain>.chargify.com/coupons/567/codes/20%25OFF.<format>
517
+ # @param [Integer] coupon_id Required parameter: The Chargify id of the
518
+ # coupon to which the subcode belongs
519
+ # @param [String] subcode Required parameter: The subcode of the coupon
520
+ # @return [void] response from the API call.
521
+ def delete_coupon_subcode(coupon_id,
522
+ subcode)
523
+ new_api_call_builder
524
+ .request(new_request_builder(HttpMethodEnum::DELETE,
525
+ '/coupons/{coupon_id}/codes/{subcode}.json',
526
+ Server::DEFAULT)
527
+ .template_param(new_parameter(coupon_id, key: 'coupon_id')
528
+ .is_required(true)
529
+ .should_encode(true))
530
+ .template_param(new_parameter(subcode, key: 'subcode')
531
+ .is_required(true)
532
+ .should_encode(true))
533
+ .auth(Single.new('BasicAuth')))
534
+ .response(new_response_handler
535
+ .is_nullify404(true)
536
+ .is_response_void(true)
537
+ .local_error('404',
538
+ 'Not Found',
539
+ APIException))
540
+ .execute
541
+ end
542
+
543
+ # ## Coupons Documentation
544
+ # Coupons can be administered in the Chargify application or created via
545
+ # API. Please view our section on [creating
546
+ # coupons](https://maxio-chargify.zendesk.com/hc/en-us/articles/540474283073
547
+ # 3) for more information.
548
+ # Additionally, for documentation on how to apply a coupon to a subscription
549
+ # within the Chargify UI, please see our documentation
550
+ # [here](https://maxio-chargify.zendesk.com/hc/en-us/articles/5404761012877)
551
+ # .
552
+ # ## Create Coupon
553
+ # This request will create a coupon, based on the provided information.
554
+ # When creating a coupon, you must specify a product family using the
555
+ # `product_family_id`. If no `product_family_id` is passed, the first
556
+ # product family available is used. You will also need to formulate your URL
557
+ # to cite the Product Family ID in your request.
558
+ # You can restrict a coupon to only apply to specific products / components
559
+ # by optionally passing in hashes of `restricted_products` and/or
560
+ # `restricted_components` in the format:
561
+ # `{ "<product/component_id>": boolean_value }`
562
+ # @param [Integer] product_family_id Required parameter: The Chargify id of
563
+ # the product family to which the coupon belongs
564
+ # @param [CreateOrUpdateCoupon | nil] body Optional parameter: Example:
565
+ # @return [CouponResponse] response from the API call.
566
+ def create_coupon(product_family_id,
567
+ body: nil)
568
+ new_api_call_builder
569
+ .request(new_request_builder(HttpMethodEnum::POST,
570
+ '/product_families/{product_family_id}/coupons.json',
571
+ Server::DEFAULT)
572
+ .template_param(new_parameter(product_family_id, key: 'product_family_id')
573
+ .is_required(true)
574
+ .should_encode(true))
575
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
576
+ .body_param(new_parameter(body)
577
+ .validator(proc do |value|
578
+ UnionTypeLookUp.get(:CreateCouponBody)
579
+ .validate(value)
580
+ end))
581
+ .header_param(new_parameter('application/json', key: 'accept'))
582
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
583
+ .auth(Single.new('BasicAuth')))
584
+ .response(new_response_handler
585
+ .is_nullify404(true)
586
+ .deserializer(APIHelper.method(:custom_type_deserializer))
587
+ .deserialize_into(CouponResponse.method(:from_hash))
588
+ .local_error('422',
589
+ 'Unprocessable Entity (WebDAV)',
590
+ ErrorListResponseException))
591
+ .execute
592
+ end
593
+
594
+ # You can retrieve the Coupon via the API with the Show method. You must
595
+ # identify the Coupon in this call by the ID parameter that Chargify
596
+ # assigns.
597
+ # If instead you would like to find a Coupon using a Coupon code, see the
598
+ # Coupon Find method.
599
+ # When fetching a coupon, if you have defined multiple currencies at the
600
+ # site level, you can optionally pass the `?currency_prices=true` query
601
+ # param to include an array of currency price data in the response.
602
+ # If the coupon is set to `use_site_exchange_rate: true`, it will return
603
+ # pricing based on the current exchange rate. If the flag is set to false,
604
+ # it will return all of the defined prices for each currency.
605
+ # @param [Integer] product_family_id Required parameter: The Chargify id of
606
+ # the product family to which the coupon belongs
607
+ # @param [Integer] coupon_id Required parameter: The Chargify id of the
608
+ # coupon
609
+ # @return [CouponResponse] response from the API call.
610
+ def read_coupon(product_family_id,
611
+ coupon_id)
612
+ new_api_call_builder
613
+ .request(new_request_builder(HttpMethodEnum::GET,
614
+ '/product_families/{product_family_id}/coupons/{coupon_id}.json',
615
+ Server::DEFAULT)
616
+ .template_param(new_parameter(product_family_id, key: 'product_family_id')
617
+ .is_required(true)
618
+ .should_encode(true))
619
+ .template_param(new_parameter(coupon_id, key: 'coupon_id')
620
+ .is_required(true)
621
+ .should_encode(true))
622
+ .header_param(new_parameter('application/json', key: 'accept'))
623
+ .auth(Single.new('BasicAuth')))
624
+ .response(new_response_handler
625
+ .is_nullify404(true)
626
+ .deserializer(APIHelper.method(:custom_type_deserializer))
627
+ .deserialize_into(CouponResponse.method(:from_hash)))
628
+ .execute
629
+ end
630
+
631
+ # You can archive a Coupon via the API with the archive method.
632
+ # Archiving makes that Coupon unavailable for future use, but allows it to
633
+ # remain attached and functional on existing Subscriptions that are using
634
+ # it.
635
+ # The `archived_at` date and time will be assigned.
636
+ # @param [Integer] product_family_id Required parameter: The Chargify id of
637
+ # the product family to which the coupon belongs
638
+ # @param [Integer] coupon_id Required parameter: The Chargify id of the
639
+ # coupon
640
+ # @return [CouponResponse] response from the API call.
641
+ def archive_coupon(product_family_id,
642
+ coupon_id)
643
+ new_api_call_builder
644
+ .request(new_request_builder(HttpMethodEnum::DELETE,
645
+ '/product_families/{product_family_id}/coupons/{coupon_id}.json',
646
+ Server::DEFAULT)
647
+ .template_param(new_parameter(product_family_id, key: 'product_family_id')
648
+ .is_required(true)
649
+ .should_encode(true))
650
+ .template_param(new_parameter(coupon_id, key: 'coupon_id')
651
+ .is_required(true)
652
+ .should_encode(true))
653
+ .header_param(new_parameter('application/json', key: 'accept'))
654
+ .auth(Single.new('BasicAuth')))
655
+ .response(new_response_handler
656
+ .is_nullify404(true)
657
+ .deserializer(APIHelper.method(:custom_type_deserializer))
658
+ .deserialize_into(CouponResponse.method(:from_hash)))
659
+ .execute
660
+ end
661
+
662
+ # This request will provide details about the coupon usage as an array of
663
+ # data hashes, one per product.
664
+ # @param [Integer] product_family_id Required parameter: The Chargify id of
665
+ # the product family to which the coupon belongs
666
+ # @param [Integer] coupon_id Required parameter: The Chargify id of the
667
+ # coupon
668
+ # @return [Array[CouponUsage]] response from the API call.
669
+ def read_coupon_usage(product_family_id,
670
+ coupon_id)
671
+ new_api_call_builder
672
+ .request(new_request_builder(HttpMethodEnum::GET,
673
+ '/product_families/{product_family_id}/coupons/{coupon_id}/usage.json',
674
+ Server::DEFAULT)
675
+ .template_param(new_parameter(product_family_id, key: 'product_family_id')
676
+ .is_required(true)
677
+ .should_encode(true))
678
+ .template_param(new_parameter(coupon_id, key: 'coupon_id')
679
+ .is_required(true)
680
+ .should_encode(true))
681
+ .header_param(new_parameter('application/json', key: 'accept'))
682
+ .auth(Single.new('BasicAuth')))
683
+ .response(new_response_handler
684
+ .is_nullify404(true)
685
+ .deserializer(APIHelper.method(:custom_type_deserializer))
686
+ .deserialize_into(CouponUsage.method(:from_hash))
687
+ .is_response_array(true))
688
+ .execute
689
+ end
690
+ end
691
+ end