lago_ruby 0.46.0.pre.beta
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.
- checksums.yaml +7 -0
- data/CODE_OF_CONDUCT.md +128 -0
- data/CONTRIBUTING.md +213 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +72 -0
- data/LICENSE +21 -0
- data/README.md +343 -0
- data/Rakefile +10 -0
- data/docs/AddOn.md +18 -0
- data/docs/AddOnBaseInput.md +28 -0
- data/docs/AddOnCreateInput.md +18 -0
- data/docs/AddOnCreateInputAddOn.md +28 -0
- data/docs/AddOnObject.md +32 -0
- data/docs/AddOnUpdateInput.md +18 -0
- data/docs/AddOnsApi.md +433 -0
- data/docs/AddOnsPaginated.md +20 -0
- data/docs/ApiErrorBadRequest.md +20 -0
- data/docs/ApiErrorForbidden.md +22 -0
- data/docs/ApiErrorNotAllowed.md +22 -0
- data/docs/ApiErrorNotFound.md +22 -0
- data/docs/ApiErrorUnauthorized.md +20 -0
- data/docs/ApiErrorUnprocessableEntity.md +24 -0
- data/docs/AppliedAddOn.md +18 -0
- data/docs/AppliedAddOnInput.md +18 -0
- data/docs/AppliedAddOnInputAppliedAddOn.md +24 -0
- data/docs/AppliedAddOnObject.md +32 -0
- data/docs/AppliedCoupon.md +18 -0
- data/docs/AppliedCouponInput.md +18 -0
- data/docs/AppliedCouponInputAppliedCoupon.md +30 -0
- data/docs/AppliedCouponObject.md +50 -0
- data/docs/AppliedCouponObjectExtended.md +52 -0
- data/docs/AppliedCouponsPaginated.md +20 -0
- data/docs/BaseAppliedTax.md +34 -0
- data/docs/BillableMetric.md +18 -0
- data/docs/BillableMetricBaseInput.md +30 -0
- data/docs/BillableMetricCreateInput.md +18 -0
- data/docs/BillableMetricCreateInputBillableMetric.md +30 -0
- data/docs/BillableMetricGroup.md +20 -0
- data/docs/BillableMetricGroupValuesInner.md +49 -0
- data/docs/BillableMetricGroupValuesInnerOneOf.md +20 -0
- data/docs/BillableMetricObject.md +40 -0
- data/docs/BillableMetricUpdateInput.md +18 -0
- data/docs/BillableMetricsApi.md +439 -0
- data/docs/BillableMetricsPaginated.md +20 -0
- data/docs/ChargeObject.md +40 -0
- data/docs/ChargeObjectProperties.md +40 -0
- data/docs/ChargeProperties.md +40 -0
- data/docs/ChargePropertiesGraduatedPercentageRangesInner.md +24 -0
- data/docs/ChargePropertiesGraduatedRangesInner.md +24 -0
- data/docs/ChargePropertiesVolumeRangesInner.md +24 -0
- data/docs/Country.md +15 -0
- data/docs/Coupon.md +18 -0
- data/docs/CouponBaseInput.md +42 -0
- data/docs/CouponBaseInputAppliesTo.md +20 -0
- data/docs/CouponCreateInput.md +18 -0
- data/docs/CouponCreateInputCoupon.md +42 -0
- data/docs/CouponObject.md +52 -0
- data/docs/CouponUpdateInput.md +18 -0
- data/docs/CouponsApi.md +583 -0
- data/docs/CouponsPaginated.md +20 -0
- data/docs/CreateWebhookEndpoint200Response.md +18 -0
- data/docs/CreateWebhookEndpoint200ResponseWebhookEndpoint.md +26 -0
- data/docs/CreateWebhookEndpointRequest.md +18 -0
- data/docs/CreateWebhookEndpointRequestWebhookEndpoint.md +20 -0
- data/docs/CreditNote.md +18 -0
- data/docs/CreditNoteAppliedTaxObject.md +38 -0
- data/docs/CreditNoteCreateInput.md +18 -0
- data/docs/CreditNoteCreateInputCreditNote.md +28 -0
- data/docs/CreditNoteCreateInputCreditNoteItemsInner.md +20 -0
- data/docs/CreditNoteItemObject.md +24 -0
- data/docs/CreditNoteItemObjectFee.md +74 -0
- data/docs/CreditNoteObject.md +64 -0
- data/docs/CreditNoteUpdateInput.md +18 -0
- data/docs/CreditNoteUpdateInputCreditNote.md +18 -0
- data/docs/CreditNotes.md +18 -0
- data/docs/CreditNotesApi.md +435 -0
- data/docs/CreditObject.md +28 -0
- data/docs/CreditObjectInvoice.md +20 -0
- data/docs/CreditObjectItem.md +24 -0
- data/docs/Currency.md +15 -0
- data/docs/Customer.md +18 -0
- data/docs/CustomerBillingConfiguration.md +30 -0
- data/docs/CustomerChargeUsageObject.md +28 -0
- data/docs/CustomerChargeUsageObjectBillableMetric.md +24 -0
- data/docs/CustomerChargeUsageObjectCharge.md +20 -0
- data/docs/CustomerChargeUsageObjectGroupsInner.md +26 -0
- data/docs/CustomerCreateInput.md +18 -0
- data/docs/CustomerCreateInputCustomer.md +58 -0
- data/docs/CustomerCreateInputCustomerMetadataInner.md +24 -0
- data/docs/CustomerMetadata.md +26 -0
- data/docs/CustomerObject.md +68 -0
- data/docs/CustomerObjectExtended.md +70 -0
- data/docs/CustomerUsage.md +18 -0
- data/docs/CustomerUsageObject.md +32 -0
- data/docs/CustomersApi.md +505 -0
- data/docs/CustomersPaginated.md +20 -0
- data/docs/Event.md +18 -0
- data/docs/EventBatchInput.md +18 -0
- data/docs/EventBatchInputEvent.md +28 -0
- data/docs/EventBatchInputEventProperties.md +18 -0
- data/docs/EventEstimateFeesInput.md +18 -0
- data/docs/EventEstimateFeesInputEvent.md +24 -0
- data/docs/EventInput.md +18 -0
- data/docs/EventInputEvent.md +28 -0
- data/docs/EventObject.md +36 -0
- data/docs/EventsApi.md +285 -0
- data/docs/Fee.md +18 -0
- data/docs/FeeAppliedTaxObject.md +36 -0
- data/docs/FeeObject.md +74 -0
- data/docs/FeeObjectItem.md +26 -0
- data/docs/FeeUpdateInput.md +18 -0
- data/docs/FeeUpdateInputFee.md +18 -0
- data/docs/Fees.md +18 -0
- data/docs/FeesApi.md +253 -0
- data/docs/FeesPaginated.md +20 -0
- data/docs/FindAllWebhookEndpoints200Response.md +20 -0
- data/docs/GetCustomerPortalUrl200Response.md +18 -0
- data/docs/GetCustomerPortalUrl200ResponseCustomer.md +18 -0
- data/docs/GroupObject.md +22 -0
- data/docs/GroupPropertiesObject.md +20 -0
- data/docs/GroupPropertiesObjectValues.md +40 -0
- data/docs/GroupsPaginated.md +20 -0
- data/docs/Invoice.md +18 -0
- data/docs/InvoiceAppliedTaxObject.md +38 -0
- data/docs/InvoiceMetadataObject.md +24 -0
- data/docs/InvoiceObject.md +62 -0
- data/docs/InvoiceObjectCustomer.md +68 -0
- data/docs/InvoiceObjectExtended.md +68 -0
- data/docs/InvoiceOneOffCreateInput.md +18 -0
- data/docs/InvoiceOneOffCreateInputInvoice.md +22 -0
- data/docs/InvoiceOneOffCreateInputInvoiceFeesInner.md +26 -0
- data/docs/InvoiceUpdateInput.md +18 -0
- data/docs/InvoiceUpdateInputInvoice.md +20 -0
- data/docs/InvoiceUpdateInputInvoiceMetadataInner.md +22 -0
- data/docs/InvoicesApi.md +582 -0
- data/docs/InvoicesPaginated.md +20 -0
- data/docs/Organization.md +18 -0
- data/docs/OrganizationBillingConfiguration.md +22 -0
- data/docs/OrganizationObject.md +54 -0
- data/docs/OrganizationUpdateInput.md +18 -0
- data/docs/OrganizationUpdateInputOrganization.md +46 -0
- data/docs/OrganizationsApi.md +77 -0
- data/docs/PaginationMeta.md +26 -0
- data/docs/Plan.md +18 -0
- data/docs/PlanCreateInput.md +18 -0
- data/docs/PlanCreateInputPlan.md +38 -0
- data/docs/PlanCreateInputPlanChargesInner.md +34 -0
- data/docs/PlanCreateInputPlanChargesInnerGroupPropertiesInner.md +20 -0
- data/docs/PlanObject.md +46 -0
- data/docs/PlanUpdateInput.md +18 -0
- data/docs/PlanUpdateInputPlan.md +38 -0
- data/docs/PlanUpdateInputPlanChargesInner.md +36 -0
- data/docs/PlansApi.md +363 -0
- data/docs/PlansPaginated.md +20 -0
- data/docs/Subscription.md +18 -0
- data/docs/SubscriptionCreateInput.md +18 -0
- data/docs/SubscriptionCreateInputSubscription.md +28 -0
- data/docs/SubscriptionObject.md +48 -0
- data/docs/SubscriptionUpdateInput.md +18 -0
- data/docs/SubscriptionUpdateInputSubscription.md +20 -0
- data/docs/SubscriptionsApi.md +303 -0
- data/docs/SubscriptionsPaginated.md +20 -0
- data/docs/Tax.md +18 -0
- data/docs/TaxBaseInput.md +26 -0
- data/docs/TaxCreateInput.md +18 -0
- data/docs/TaxCreateInputTax.md +26 -0
- data/docs/TaxObject.md +38 -0
- data/docs/TaxUpdateInput.md +18 -0
- data/docs/TaxesApi.md +363 -0
- data/docs/TaxesPaginated.md +20 -0
- data/docs/Timezone.md +15 -0
- data/docs/Wallet.md +18 -0
- data/docs/WalletCreateInput.md +18 -0
- data/docs/WalletCreateInputWallet.md +30 -0
- data/docs/WalletObject.md +46 -0
- data/docs/WalletTransactionCreateInput.md +18 -0
- data/docs/WalletTransactionCreateInputWalletTransaction.md +22 -0
- data/docs/WalletTransactionObject.md +32 -0
- data/docs/WalletTransactions.md +18 -0
- data/docs/WalletTransactionsPaginated.md +20 -0
- data/docs/WalletUpdateInput.md +18 -0
- data/docs/WalletUpdateInputWallet.md +20 -0
- data/docs/WalletsApi.md +515 -0
- data/docs/WalletsPaginated.md +20 -0
- data/docs/WebhookEndpointsApi.md +363 -0
- data/docs/WebhooksApi.md +74 -0
- data/git_push.sh +57 -0
- data/lago_ruby.gemspec +42 -0
- data/lib/lago_ruby/api/add_ons_api.rb +421 -0
- data/lib/lago_ruby/api/billable_metrics_api.rb +422 -0
- data/lib/lago_ruby/api/coupons_api.rb +563 -0
- data/lib/lago_ruby/api/credit_notes_api.rb +419 -0
- data/lib/lago_ruby/api/customers_api.rb +481 -0
- data/lib/lago_ruby/api/events_api.rb +289 -0
- data/lib/lago_ruby/api/fees_api.rb +268 -0
- data/lib/lago_ruby/api/invoices_api.rb +565 -0
- data/lib/lago_ruby/api/organizations_api.rb +90 -0
- data/lib/lago_ruby/api/plans_api.rb +353 -0
- data/lib/lago_ruby/api/subscriptions_api.rb +306 -0
- data/lib/lago_ruby/api/taxes_api.rb +353 -0
- data/lib/lago_ruby/api/wallets_api.rb +503 -0
- data/lib/lago_ruby/api/webhook_endpoints_api.rb +353 -0
- data/lib/lago_ruby/api/webhooks_api.rb +79 -0
- data/lib/lago_ruby/api_client.rb +392 -0
- data/lib/lago_ruby/api_error.rb +58 -0
- data/lib/lago_ruby/configuration.rb +297 -0
- data/lib/lago_ruby/models/add_on.rb +221 -0
- data/lib/lago_ruby/models/add_on_base_input.rb +267 -0
- data/lib/lago_ruby/models/add_on_create_input.rb +221 -0
- data/lib/lago_ruby/models/add_on_create_input_add_on.rb +302 -0
- data/lib/lago_ruby/models/add_on_object.rb +329 -0
- data/lib/lago_ruby/models/add_on_update_input.rb +221 -0
- data/lib/lago_ruby/models/add_ons_paginated.rb +239 -0
- data/lib/lago_ruby/models/api_error_bad_request.rb +237 -0
- data/lib/lago_ruby/models/api_error_forbidden.rb +253 -0
- data/lib/lago_ruby/models/api_error_not_allowed.rb +253 -0
- data/lib/lago_ruby/models/api_error_not_found.rb +253 -0
- data/lib/lago_ruby/models/api_error_unauthorized.rb +237 -0
- data/lib/lago_ruby/models/api_error_unprocessable_entity.rb +269 -0
- data/lib/lago_ruby/models/applied_add_on.rb +221 -0
- data/lib/lago_ruby/models/applied_add_on_input.rb +221 -0
- data/lib/lago_ruby/models/applied_add_on_input_applied_add_on.rb +259 -0
- data/lib/lago_ruby/models/applied_add_on_object.rb +339 -0
- data/lib/lago_ruby/models/applied_coupon.rb +221 -0
- data/lib/lago_ruby/models/applied_coupon_input.rb +221 -0
- data/lib/lago_ruby/models/applied_coupon_input_applied_coupon.rb +343 -0
- data/lib/lago_ruby/models/applied_coupon_object.rb +507 -0
- data/lib/lago_ruby/models/applied_coupon_object_extended.rb +532 -0
- data/lib/lago_ruby/models/applied_coupons_paginated.rb +239 -0
- data/lib/lago_ruby/models/base_applied_tax.rb +294 -0
- data/lib/lago_ruby/models/billable_metric.rb +221 -0
- data/lib/lago_ruby/models/billable_metric_base_input.rb +310 -0
- data/lib/lago_ruby/models/billable_metric_create_input.rb +221 -0
- data/lib/lago_ruby/models/billable_metric_create_input_billable_metric.rb +338 -0
- data/lib/lago_ruby/models/billable_metric_group.rb +242 -0
- data/lib/lago_ruby/models/billable_metric_group_values_inner.rb +105 -0
- data/lib/lago_ruby/models/billable_metric_group_values_inner_one_of.rb +242 -0
- data/lib/lago_ruby/models/billable_metric_object.rb +423 -0
- data/lib/lago_ruby/models/billable_metric_update_input.rb +221 -0
- data/lib/lago_ruby/models/billable_metrics_paginated.rb +239 -0
- data/lib/lago_ruby/models/charge_object.rb +397 -0
- data/lib/lago_ruby/models/charge_object_properties.rb +422 -0
- data/lib/lago_ruby/models/charge_properties.rb +415 -0
- data/lib/lago_ruby/models/charge_properties_graduated_percentage_ranges_inner.rb +269 -0
- data/lib/lago_ruby/models/charge_properties_graduated_ranges_inner.rb +311 -0
- data/lib/lago_ruby/models/charge_properties_volume_ranges_inner.rb +311 -0
- data/lib/lago_ruby/models/country.rb +287 -0
- data/lib/lago_ruby/models/coupon.rb +221 -0
- data/lib/lago_ruby/models/coupon_base_input.rb +414 -0
- data/lib/lago_ruby/models/coupon_base_input_applies_to.rb +232 -0
- data/lib/lago_ruby/models/coupon_create_input.rb +221 -0
- data/lib/lago_ruby/models/coupon_create_input_coupon.rb +449 -0
- data/lib/lago_ruby/models/coupon_object.rb +538 -0
- data/lib/lago_ruby/models/coupon_update_input.rb +221 -0
- data/lib/lago_ruby/models/coupons_paginated.rb +239 -0
- data/lib/lago_ruby/models/create_webhook_endpoint200_response.rb +221 -0
- data/lib/lago_ruby/models/create_webhook_endpoint200_response_webhook_endpoint.rb +317 -0
- data/lib/lago_ruby/models/create_webhook_endpoint_request.rb +214 -0
- data/lib/lago_ruby/models/create_webhook_endpoint_request_webhook_endpoint.rb +267 -0
- data/lib/lago_ruby/models/credit_note.rb +221 -0
- data/lib/lago_ruby/models/credit_note_applied_tax_object.rb +320 -0
- data/lib/lago_ruby/models/credit_note_create_input.rb +221 -0
- data/lib/lago_ruby/models/credit_note_create_input_credit_note.rb +318 -0
- data/lib/lago_ruby/models/credit_note_create_input_credit_note_items_inner.rb +239 -0
- data/lib/lago_ruby/models/credit_note_item_object.rb +271 -0
- data/lib/lago_ruby/models/credit_note_item_object_fee.rb +628 -0
- data/lib/lago_ruby/models/credit_note_object.rb +635 -0
- data/lib/lago_ruby/models/credit_note_update_input.rb +221 -0
- data/lib/lago_ruby/models/credit_note_update_input_credit_note.rb +256 -0
- data/lib/lago_ruby/models/credit_notes.rb +223 -0
- data/lib/lago_ruby/models/credit_object.rb +304 -0
- data/lib/lago_ruby/models/credit_object_invoice.rb +271 -0
- data/lib/lago_ruby/models/credit_object_item.rb +308 -0
- data/lib/lago_ruby/models/currency.rb +175 -0
- data/lib/lago_ruby/models/customer.rb +221 -0
- data/lib/lago_ruby/models/customer_billing_configuration.rb +313 -0
- data/lib/lago_ruby/models/customer_charge_usage_object.rb +327 -0
- data/lib/lago_ruby/models/customer_charge_usage_object_billable_metric.rb +308 -0
- data/lib/lago_ruby/models/customer_charge_usage_object_charge.rb +274 -0
- data/lib/lago_ruby/models/customer_charge_usage_object_groups_inner.rb +277 -0
- data/lib/lago_ruby/models/customer_create_input.rb +221 -0
- data/lib/lago_ruby/models/customer_create_input_customer.rb +436 -0
- data/lib/lago_ruby/models/customer_create_input_customer_metadata_inner.rb +266 -0
- data/lib/lago_ruby/models/customer_metadata.rb +291 -0
- data/lib/lago_ruby/models/customer_object.rb +517 -0
- data/lib/lago_ruby/models/customer_object_extended.rb +536 -0
- data/lib/lago_ruby/models/customer_usage.rb +221 -0
- data/lib/lago_ruby/models/customer_usage_object.rb +335 -0
- data/lib/lago_ruby/models/customers_paginated.rb +239 -0
- data/lib/lago_ruby/models/event.rb +221 -0
- data/lib/lago_ruby/models/event_batch_input.rb +221 -0
- data/lib/lago_ruby/models/event_batch_input_event.rb +287 -0
- data/lib/lago_ruby/models/event_batch_input_event_properties.rb +250 -0
- data/lib/lago_ruby/models/event_estimate_fees_input.rb +221 -0
- data/lib/lago_ruby/models/event_estimate_fees_input_event.rb +252 -0
- data/lib/lago_ruby/models/event_input.rb +221 -0
- data/lib/lago_ruby/models/event_input_event.rb +278 -0
- data/lib/lago_ruby/models/event_object.rb +367 -0
- data/lib/lago_ruby/models/fee.rb +221 -0
- data/lib/lago_ruby/models/fee_applied_tax_object.rb +311 -0
- data/lib/lago_ruby/models/fee_object.rb +621 -0
- data/lib/lago_ruby/models/fee_object_item.rb +337 -0
- data/lib/lago_ruby/models/fee_update_input.rb +221 -0
- data/lib/lago_ruby/models/fee_update_input_fee.rb +256 -0
- data/lib/lago_ruby/models/fees.rb +223 -0
- data/lib/lago_ruby/models/fees_paginated.rb +246 -0
- data/lib/lago_ruby/models/find_all_webhook_endpoints200_response.rb +239 -0
- data/lib/lago_ruby/models/get_customer_portal_url200_response.rb +221 -0
- data/lib/lago_ruby/models/get_customer_portal_url200_response_customer.rb +222 -0
- data/lib/lago_ruby/models/group_object.rb +256 -0
- data/lib/lago_ruby/models/group_properties_object.rb +238 -0
- data/lib/lago_ruby/models/group_properties_object_values.rb +422 -0
- data/lib/lago_ruby/models/groups_paginated.rb +239 -0
- data/lib/lago_ruby/models/invoice.rb +221 -0
- data/lib/lago_ruby/models/invoice_applied_tax_object.rb +321 -0
- data/lib/lago_ruby/models/invoice_metadata_object.rb +245 -0
- data/lib/lago_ruby/models/invoice_object.rb +611 -0
- data/lib/lago_ruby/models/invoice_object_customer.rb +524 -0
- data/lib/lago_ruby/models/invoice_object_extended.rb +651 -0
- data/lib/lago_ruby/models/invoice_one_off_create_input.rb +221 -0
- data/lib/lago_ruby/models/invoice_one_off_create_input_invoice.rb +249 -0
- data/lib/lago_ruby/models/invoice_one_off_create_input_invoice_fees_inner.rb +284 -0
- data/lib/lago_ruby/models/invoice_update_input.rb +221 -0
- data/lib/lago_ruby/models/invoice_update_input_invoice.rb +260 -0
- data/lib/lago_ruby/models/invoice_update_input_invoice_metadata_inner.rb +235 -0
- data/lib/lago_ruby/models/invoices_paginated.rb +239 -0
- data/lib/lago_ruby/models/organization.rb +221 -0
- data/lib/lago_ruby/models/organization_billing_configuration.rb +237 -0
- data/lib/lago_ruby/models/organization_object.rb +431 -0
- data/lib/lago_ruby/models/organization_update_input.rb +221 -0
- data/lib/lago_ruby/models/organization_update_input_organization.rb +386 -0
- data/lib/lago_ruby/models/pagination_meta.rb +278 -0
- data/lib/lago_ruby/models/plan.rb +221 -0
- data/lib/lago_ruby/models/plan_create_input.rb +221 -0
- data/lib/lago_ruby/models/plan_create_input_plan.rb +353 -0
- data/lib/lago_ruby/models/plan_create_input_plan_charges_inner.rb +332 -0
- data/lib/lago_ruby/models/plan_create_input_plan_charges_inner_group_properties_inner.rb +238 -0
- data/lib/lago_ruby/models/plan_object.rb +456 -0
- data/lib/lago_ruby/models/plan_update_input.rb +221 -0
- data/lib/lago_ruby/models/plan_update_input_plan.rb +353 -0
- data/lib/lago_ruby/models/plan_update_input_plan_charges_inner.rb +342 -0
- data/lib/lago_ruby/models/plans_paginated.rb +239 -0
- data/lib/lago_ruby/models/subscription.rb +221 -0
- data/lib/lago_ruby/models/subscription_create_input.rb +221 -0
- data/lib/lago_ruby/models/subscription_create_input_subscription.rb +320 -0
- data/lib/lago_ruby/models/subscription_object.rb +481 -0
- data/lib/lago_ruby/models/subscription_update_input.rb +221 -0
- data/lib/lago_ruby/models/subscription_update_input_subscription.rb +226 -0
- data/lib/lago_ruby/models/subscriptions_paginated.rb +239 -0
- data/lib/lago_ruby/models/tax.rb +221 -0
- data/lib/lago_ruby/models/tax_base_input.rb +277 -0
- data/lib/lago_ruby/models/tax_create_input.rb +221 -0
- data/lib/lago_ruby/models/tax_create_input_tax.rb +305 -0
- data/lib/lago_ruby/models/tax_object.rb +364 -0
- data/lib/lago_ruby/models/tax_update_input.rb +221 -0
- data/lib/lago_ruby/models/taxes_paginated.rb +239 -0
- data/lib/lago_ruby/models/timezone.rb +173 -0
- data/lib/lago_ruby/models/wallet.rb +221 -0
- data/lib/lago_ruby/models/wallet_create_input.rb +214 -0
- data/lib/lago_ruby/models/wallet_create_input_wallet.rb +353 -0
- data/lib/lago_ruby/models/wallet_object.rb +525 -0
- data/lib/lago_ruby/models/wallet_transaction_create_input.rb +221 -0
- data/lib/lago_ruby/models/wallet_transaction_create_input_wallet_transaction.rb +284 -0
- data/lib/lago_ruby/models/wallet_transaction_object.rb +422 -0
- data/lib/lago_ruby/models/wallet_transactions.rb +223 -0
- data/lib/lago_ruby/models/wallet_transactions_paginated.rb +246 -0
- data/lib/lago_ruby/models/wallet_update_input.rb +221 -0
- data/lib/lago_ruby/models/wallet_update_input_wallet.rb +227 -0
- data/lib/lago_ruby/models/wallets_paginated.rb +239 -0
- data/lib/lago_ruby/version.rb +15 -0
- data/lib/lago_ruby.rb +217 -0
- data/spec/api/add_ons_api_spec.rb +109 -0
- data/spec/api/billable_metrics_api_spec.rb +111 -0
- data/spec/api/coupons_api_spec.rb +137 -0
- data/spec/api/credit_notes_api_spec.rb +110 -0
- data/spec/api/customers_api_spec.rb +122 -0
- data/spec/api/events_api_spec.rb +83 -0
- data/spec/api/fees_api_spec.rb +87 -0
- data/spec/api/invoices_api_spec.rb +138 -0
- data/spec/api/organizations_api_spec.rb +47 -0
- data/spec/api/plans_api_spec.rb +97 -0
- data/spec/api/subscriptions_api_spec.rb +89 -0
- data/spec/api/taxes_api_spec.rb +97 -0
- data/spec/api/wallets_api_spec.rb +126 -0
- data/spec/api/webhook_endpoints_api_spec.rb +97 -0
- data/spec/api/webhooks_api_spec.rb +46 -0
- data/spec/api_client_spec.rb +228 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/models/add_on_base_input_spec.rb +64 -0
- data/spec/models/add_on_create_input_add_on_spec.rb +64 -0
- data/spec/models/add_on_create_input_spec.rb +34 -0
- data/spec/models/add_on_object_spec.rb +76 -0
- data/spec/models/add_on_spec.rb +34 -0
- data/spec/models/add_on_update_input_spec.rb +34 -0
- data/spec/models/add_ons_paginated_spec.rb +40 -0
- data/spec/models/api_error_bad_request_spec.rb +40 -0
- data/spec/models/api_error_forbidden_spec.rb +46 -0
- data/spec/models/api_error_not_allowed_spec.rb +46 -0
- data/spec/models/api_error_not_found_spec.rb +46 -0
- data/spec/models/api_error_unauthorized_spec.rb +40 -0
- data/spec/models/api_error_unprocessable_entity_spec.rb +52 -0
- data/spec/models/applied_add_on_input_applied_add_on_spec.rb +52 -0
- data/spec/models/applied_add_on_input_spec.rb +34 -0
- data/spec/models/applied_add_on_object_spec.rb +76 -0
- data/spec/models/applied_add_on_spec.rb +34 -0
- data/spec/models/applied_coupon_input_applied_coupon_spec.rb +74 -0
- data/spec/models/applied_coupon_input_spec.rb +34 -0
- data/spec/models/applied_coupon_object_extended_spec.rb +144 -0
- data/spec/models/applied_coupon_object_spec.rb +138 -0
- data/spec/models/applied_coupon_spec.rb +34 -0
- data/spec/models/applied_coupons_paginated_spec.rb +40 -0
- data/spec/models/base_applied_tax_spec.rb +82 -0
- data/spec/models/billable_metric_base_input_spec.rb +74 -0
- data/spec/models/billable_metric_create_input_billable_metric_spec.rb +74 -0
- data/spec/models/billable_metric_create_input_spec.rb +34 -0
- data/spec/models/billable_metric_group_spec.rb +40 -0
- data/spec/models/billable_metric_group_values_inner_one_of_spec.rb +40 -0
- data/spec/models/billable_metric_group_values_inner_spec.rb +31 -0
- data/spec/models/billable_metric_object_spec.rb +104 -0
- data/spec/models/billable_metric_spec.rb +34 -0
- data/spec/models/billable_metric_update_input_spec.rb +34 -0
- data/spec/models/billable_metrics_paginated_spec.rb +40 -0
- data/spec/models/charge_object_properties_spec.rb +100 -0
- data/spec/models/charge_object_spec.rb +104 -0
- data/spec/models/charge_properties_graduated_percentage_ranges_inner_spec.rb +52 -0
- data/spec/models/charge_properties_graduated_ranges_inner_spec.rb +59 -0
- data/spec/models/charge_properties_spec.rb +100 -0
- data/spec/models/charge_properties_volume_ranges_inner_spec.rb +59 -0
- data/spec/models/country_spec.rb +28 -0
- data/spec/models/coupon_base_input_applies_to_spec.rb +40 -0
- data/spec/models/coupon_base_input_spec.rb +118 -0
- data/spec/models/coupon_create_input_coupon_spec.rb +118 -0
- data/spec/models/coupon_create_input_spec.rb +34 -0
- data/spec/models/coupon_object_spec.rb +148 -0
- data/spec/models/coupon_spec.rb +34 -0
- data/spec/models/coupon_update_input_spec.rb +34 -0
- data/spec/models/coupons_paginated_spec.rb +40 -0
- data/spec/models/create_webhook_endpoint200_response_spec.rb +34 -0
- data/spec/models/create_webhook_endpoint200_response_webhook_endpoint_spec.rb +62 -0
- data/spec/models/create_webhook_endpoint_request_spec.rb +34 -0
- data/spec/models/create_webhook_endpoint_request_webhook_endpoint_spec.rb +44 -0
- data/spec/models/credit_note_applied_tax_object_spec.rb +94 -0
- data/spec/models/credit_note_create_input_credit_note_items_inner_spec.rb +40 -0
- data/spec/models/credit_note_create_input_credit_note_spec.rb +68 -0
- data/spec/models/credit_note_create_input_spec.rb +34 -0
- data/spec/models/credit_note_item_object_fee_spec.rb +206 -0
- data/spec/models/credit_note_item_object_spec.rb +52 -0
- data/spec/models/credit_note_object_spec.rb +184 -0
- data/spec/models/credit_note_spec.rb +34 -0
- data/spec/models/credit_note_update_input_credit_note_spec.rb +38 -0
- data/spec/models/credit_note_update_input_spec.rb +34 -0
- data/spec/models/credit_notes_spec.rb +34 -0
- data/spec/models/credit_object_invoice_spec.rb +44 -0
- data/spec/models/credit_object_item_spec.rb +56 -0
- data/spec/models/credit_object_spec.rb +64 -0
- data/spec/models/currency_spec.rb +28 -0
- data/spec/models/customer_billing_configuration_spec.rb +74 -0
- data/spec/models/customer_charge_usage_object_billable_metric_spec.rb +56 -0
- data/spec/models/customer_charge_usage_object_charge_spec.rb +44 -0
- data/spec/models/customer_charge_usage_object_groups_inner_spec.rb +58 -0
- data/spec/models/customer_charge_usage_object_spec.rb +89 -0
- data/spec/models/customer_create_input_customer_metadata_inner_spec.rb +52 -0
- data/spec/models/customer_create_input_customer_spec.rb +154 -0
- data/spec/models/customer_create_input_spec.rb +34 -0
- data/spec/models/customer_metadata_spec.rb +58 -0
- data/spec/models/customer_object_extended_spec.rb +190 -0
- data/spec/models/customer_object_spec.rb +184 -0
- data/spec/models/customer_spec.rb +34 -0
- data/spec/models/customer_usage_object_spec.rb +76 -0
- data/spec/models/customer_usage_spec.rb +34 -0
- data/spec/models/customers_paginated_spec.rb +40 -0
- data/spec/models/event_batch_input_event_properties_spec.rb +38 -0
- data/spec/models/event_batch_input_event_spec.rb +64 -0
- data/spec/models/event_batch_input_spec.rb +34 -0
- data/spec/models/event_estimate_fees_input_event_spec.rb +52 -0
- data/spec/models/event_estimate_fees_input_spec.rb +34 -0
- data/spec/models/event_input_event_spec.rb +64 -0
- data/spec/models/event_input_spec.rb +34 -0
- data/spec/models/event_object_spec.rb +88 -0
- data/spec/models/event_spec.rb +34 -0
- data/spec/models/fee_applied_tax_object_spec.rb +88 -0
- data/spec/models/fee_object_item_spec.rb +66 -0
- data/spec/models/fee_object_spec.rb +206 -0
- data/spec/models/fee_spec.rb +34 -0
- data/spec/models/fee_update_input_fee_spec.rb +38 -0
- data/spec/models/fee_update_input_spec.rb +34 -0
- data/spec/models/fees_paginated_spec.rb +40 -0
- data/spec/models/fees_spec.rb +34 -0
- data/spec/models/find_all_webhook_endpoints200_response_spec.rb +40 -0
- data/spec/models/get_customer_portal_url200_response_customer_spec.rb +34 -0
- data/spec/models/get_customer_portal_url200_response_spec.rb +34 -0
- data/spec/models/group_object_spec.rb +46 -0
- data/spec/models/group_properties_object_spec.rb +40 -0
- data/spec/models/group_properties_object_values_spec.rb +100 -0
- data/spec/models/groups_paginated_spec.rb +40 -0
- data/spec/models/invoice_applied_tax_object_spec.rb +94 -0
- data/spec/models/invoice_metadata_object_spec.rb +52 -0
- data/spec/models/invoice_object_customer_spec.rb +184 -0
- data/spec/models/invoice_object_extended_spec.rb +196 -0
- data/spec/models/invoice_object_spec.rb +178 -0
- data/spec/models/invoice_one_off_create_input_invoice_fees_inner_spec.rb +58 -0
- data/spec/models/invoice_one_off_create_input_invoice_spec.rb +46 -0
- data/spec/models/invoice_one_off_create_input_spec.rb +34 -0
- data/spec/models/invoice_spec.rb +34 -0
- data/spec/models/invoice_update_input_invoice_metadata_inner_spec.rb +46 -0
- data/spec/models/invoice_update_input_invoice_spec.rb +44 -0
- data/spec/models/invoice_update_input_spec.rb +34 -0
- data/spec/models/invoices_paginated_spec.rb +40 -0
- data/spec/models/organization_billing_configuration_spec.rb +46 -0
- data/spec/models/organization_object_spec.rb +142 -0
- data/spec/models/organization_spec.rb +34 -0
- data/spec/models/organization_update_input_organization_spec.rb +122 -0
- data/spec/models/organization_update_input_spec.rb +34 -0
- data/spec/models/pagination_meta_spec.rb +58 -0
- data/spec/models/plan_create_input_plan_charges_inner_group_properties_inner_spec.rb +40 -0
- data/spec/models/plan_create_input_plan_charges_inner_spec.rb +86 -0
- data/spec/models/plan_create_input_plan_spec.rb +98 -0
- data/spec/models/plan_create_input_spec.rb +34 -0
- data/spec/models/plan_object_spec.rb +122 -0
- data/spec/models/plan_spec.rb +34 -0
- data/spec/models/plan_update_input_plan_charges_inner_spec.rb +92 -0
- data/spec/models/plan_update_input_plan_spec.rb +98 -0
- data/spec/models/plan_update_input_spec.rb +34 -0
- data/spec/models/plans_paginated_spec.rb +40 -0
- data/spec/models/subscription_create_input_spec.rb +34 -0
- data/spec/models/subscription_create_input_subscription_spec.rb +68 -0
- data/spec/models/subscription_object_spec.rb +132 -0
- data/spec/models/subscription_spec.rb +34 -0
- data/spec/models/subscription_update_input_spec.rb +34 -0
- data/spec/models/subscription_update_input_subscription_spec.rb +40 -0
- data/spec/models/subscriptions_paginated_spec.rb +40 -0
- data/spec/models/tax_base_input_spec.rb +58 -0
- data/spec/models/tax_create_input_spec.rb +34 -0
- data/spec/models/tax_create_input_tax_spec.rb +66 -0
- data/spec/models/tax_object_spec.rb +94 -0
- data/spec/models/tax_spec.rb +34 -0
- data/spec/models/tax_update_input_spec.rb +34 -0
- data/spec/models/taxes_paginated_spec.rb +40 -0
- data/spec/models/timezone_spec.rb +28 -0
- data/spec/models/wallet_create_input_spec.rb +34 -0
- data/spec/models/wallet_create_input_wallet_spec.rb +80 -0
- data/spec/models/wallet_object_spec.rb +140 -0
- data/spec/models/wallet_spec.rb +34 -0
- data/spec/models/wallet_transaction_create_input_spec.rb +34 -0
- data/spec/models/wallet_transaction_create_input_wallet_transaction_spec.rb +46 -0
- data/spec/models/wallet_transaction_object_spec.rb +95 -0
- data/spec/models/wallet_transactions_paginated_spec.rb +40 -0
- data/spec/models/wallet_transactions_spec.rb +34 -0
- data/spec/models/wallet_update_input_spec.rb +34 -0
- data/spec/models/wallet_update_input_wallet_spec.rb +40 -0
- data/spec/models/wallets_paginated_spec.rb +40 -0
- data/spec/spec_helper.rb +111 -0
- metadata +818 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Lago API documentation
|
|
3
|
+
|
|
4
|
+
#Lago API allows your application to push customer information and metrics (events) from your application to the billing application.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.46.0-beta
|
|
7
|
+
Contact: tech@getlago.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 7.0.1-SNAPSHOT
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module LagoAPI
|
|
16
|
+
class PlansApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Create a plan
|
|
23
|
+
# This endpoint creates a plan with subscription and usage-based charges. It supports flexible billing cadence (in-advance or in-arrears) and allows for both recurring and metered charges.
|
|
24
|
+
# @param plan_create_input [PlanCreateInput] Plan payload
|
|
25
|
+
# @param [Hash] opts the optional parameters
|
|
26
|
+
# @return [Plan]
|
|
27
|
+
def create_plan(plan_create_input, opts = {})
|
|
28
|
+
data, _status_code, _headers = create_plan_with_http_info(plan_create_input, opts)
|
|
29
|
+
data
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Create a plan
|
|
33
|
+
# This endpoint creates a plan with subscription and usage-based charges. It supports flexible billing cadence (in-advance or in-arrears) and allows for both recurring and metered charges.
|
|
34
|
+
# @param plan_create_input [PlanCreateInput] Plan payload
|
|
35
|
+
# @param [Hash] opts the optional parameters
|
|
36
|
+
# @return [Array<(Plan, Integer, Hash)>] Plan data, response status code and response headers
|
|
37
|
+
def create_plan_with_http_info(plan_create_input, opts = {})
|
|
38
|
+
if @api_client.config.debugging
|
|
39
|
+
@api_client.config.logger.debug 'Calling API: PlansApi.create_plan ...'
|
|
40
|
+
end
|
|
41
|
+
# verify the required parameter 'plan_create_input' is set
|
|
42
|
+
if @api_client.config.client_side_validation && plan_create_input.nil?
|
|
43
|
+
fail ArgumentError, "Missing the required parameter 'plan_create_input' when calling PlansApi.create_plan"
|
|
44
|
+
end
|
|
45
|
+
# resource path
|
|
46
|
+
local_var_path = '/plans'
|
|
47
|
+
|
|
48
|
+
# query parameters
|
|
49
|
+
query_params = opts[:query_params] || {}
|
|
50
|
+
|
|
51
|
+
# header parameters
|
|
52
|
+
header_params = opts[:header_params] || {}
|
|
53
|
+
# HTTP header 'Accept' (if needed)
|
|
54
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
55
|
+
# HTTP header 'Content-Type'
|
|
56
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
57
|
+
if !content_type.nil?
|
|
58
|
+
header_params['Content-Type'] = content_type
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# form parameters
|
|
62
|
+
form_params = opts[:form_params] || {}
|
|
63
|
+
|
|
64
|
+
# http body (model)
|
|
65
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(plan_create_input)
|
|
66
|
+
|
|
67
|
+
# return_type
|
|
68
|
+
return_type = opts[:debug_return_type] || 'Plan'
|
|
69
|
+
|
|
70
|
+
# auth_names
|
|
71
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
72
|
+
|
|
73
|
+
new_options = opts.merge(
|
|
74
|
+
:operation => :"PlansApi.create_plan",
|
|
75
|
+
:header_params => header_params,
|
|
76
|
+
:query_params => query_params,
|
|
77
|
+
:form_params => form_params,
|
|
78
|
+
:body => post_body,
|
|
79
|
+
:auth_names => auth_names,
|
|
80
|
+
:return_type => return_type
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
84
|
+
if @api_client.config.debugging
|
|
85
|
+
@api_client.config.logger.debug "API called: PlansApi#create_plan\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
86
|
+
end
|
|
87
|
+
return data, status_code, headers
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Delete a plan
|
|
91
|
+
# This endpoint deletes a specific plan. Note that this plan could be associated with active subscriptions.
|
|
92
|
+
# @param code [String] The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
|
|
93
|
+
# @param [Hash] opts the optional parameters
|
|
94
|
+
# @return [Plan]
|
|
95
|
+
def destroy_plan(code, opts = {})
|
|
96
|
+
data, _status_code, _headers = destroy_plan_with_http_info(code, opts)
|
|
97
|
+
data
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# Delete a plan
|
|
101
|
+
# This endpoint deletes a specific plan. Note that this plan could be associated with active subscriptions.
|
|
102
|
+
# @param code [String] The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
|
|
103
|
+
# @param [Hash] opts the optional parameters
|
|
104
|
+
# @return [Array<(Plan, Integer, Hash)>] Plan data, response status code and response headers
|
|
105
|
+
def destroy_plan_with_http_info(code, opts = {})
|
|
106
|
+
if @api_client.config.debugging
|
|
107
|
+
@api_client.config.logger.debug 'Calling API: PlansApi.destroy_plan ...'
|
|
108
|
+
end
|
|
109
|
+
# verify the required parameter 'code' is set
|
|
110
|
+
if @api_client.config.client_side_validation && code.nil?
|
|
111
|
+
fail ArgumentError, "Missing the required parameter 'code' when calling PlansApi.destroy_plan"
|
|
112
|
+
end
|
|
113
|
+
# resource path
|
|
114
|
+
local_var_path = '/plans/{code}'.sub('{' + 'code' + '}', CGI.escape(code.to_s))
|
|
115
|
+
|
|
116
|
+
# query parameters
|
|
117
|
+
query_params = opts[:query_params] || {}
|
|
118
|
+
|
|
119
|
+
# header parameters
|
|
120
|
+
header_params = opts[:header_params] || {}
|
|
121
|
+
# HTTP header 'Accept' (if needed)
|
|
122
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
123
|
+
|
|
124
|
+
# form parameters
|
|
125
|
+
form_params = opts[:form_params] || {}
|
|
126
|
+
|
|
127
|
+
# http body (model)
|
|
128
|
+
post_body = opts[:debug_body]
|
|
129
|
+
|
|
130
|
+
# return_type
|
|
131
|
+
return_type = opts[:debug_return_type] || 'Plan'
|
|
132
|
+
|
|
133
|
+
# auth_names
|
|
134
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
135
|
+
|
|
136
|
+
new_options = opts.merge(
|
|
137
|
+
:operation => :"PlansApi.destroy_plan",
|
|
138
|
+
:header_params => header_params,
|
|
139
|
+
:query_params => query_params,
|
|
140
|
+
:form_params => form_params,
|
|
141
|
+
:body => post_body,
|
|
142
|
+
:auth_names => auth_names,
|
|
143
|
+
:return_type => return_type
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
|
|
147
|
+
if @api_client.config.debugging
|
|
148
|
+
@api_client.config.logger.debug "API called: PlansApi#destroy_plan\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
149
|
+
end
|
|
150
|
+
return data, status_code, headers
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# List all plans
|
|
154
|
+
# This endpoint retrieves all existing plans.
|
|
155
|
+
# @param [Hash] opts the optional parameters
|
|
156
|
+
# @option opts [Integer] :page Page number.
|
|
157
|
+
# @option opts [Integer] :per_page Number of records per page.
|
|
158
|
+
# @return [PlansPaginated]
|
|
159
|
+
def find_all_plans(opts = {})
|
|
160
|
+
data, _status_code, _headers = find_all_plans_with_http_info(opts)
|
|
161
|
+
data
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# List all plans
|
|
165
|
+
# This endpoint retrieves all existing plans.
|
|
166
|
+
# @param [Hash] opts the optional parameters
|
|
167
|
+
# @option opts [Integer] :page Page number.
|
|
168
|
+
# @option opts [Integer] :per_page Number of records per page.
|
|
169
|
+
# @return [Array<(PlansPaginated, Integer, Hash)>] PlansPaginated data, response status code and response headers
|
|
170
|
+
def find_all_plans_with_http_info(opts = {})
|
|
171
|
+
if @api_client.config.debugging
|
|
172
|
+
@api_client.config.logger.debug 'Calling API: PlansApi.find_all_plans ...'
|
|
173
|
+
end
|
|
174
|
+
# resource path
|
|
175
|
+
local_var_path = '/plans'
|
|
176
|
+
|
|
177
|
+
# query parameters
|
|
178
|
+
query_params = opts[:query_params] || {}
|
|
179
|
+
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
|
180
|
+
query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
|
|
181
|
+
|
|
182
|
+
# header parameters
|
|
183
|
+
header_params = opts[:header_params] || {}
|
|
184
|
+
# HTTP header 'Accept' (if needed)
|
|
185
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
186
|
+
|
|
187
|
+
# form parameters
|
|
188
|
+
form_params = opts[:form_params] || {}
|
|
189
|
+
|
|
190
|
+
# http body (model)
|
|
191
|
+
post_body = opts[:debug_body]
|
|
192
|
+
|
|
193
|
+
# return_type
|
|
194
|
+
return_type = opts[:debug_return_type] || 'PlansPaginated'
|
|
195
|
+
|
|
196
|
+
# auth_names
|
|
197
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
198
|
+
|
|
199
|
+
new_options = opts.merge(
|
|
200
|
+
:operation => :"PlansApi.find_all_plans",
|
|
201
|
+
:header_params => header_params,
|
|
202
|
+
:query_params => query_params,
|
|
203
|
+
:form_params => form_params,
|
|
204
|
+
:body => post_body,
|
|
205
|
+
:auth_names => auth_names,
|
|
206
|
+
:return_type => return_type
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
210
|
+
if @api_client.config.debugging
|
|
211
|
+
@api_client.config.logger.debug "API called: PlansApi#find_all_plans\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
212
|
+
end
|
|
213
|
+
return data, status_code, headers
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# Retrieve a plan
|
|
217
|
+
# This endpoint retrieves a specific plan.
|
|
218
|
+
# @param code [String] The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
|
|
219
|
+
# @param [Hash] opts the optional parameters
|
|
220
|
+
# @return [Plan]
|
|
221
|
+
def find_plan(code, opts = {})
|
|
222
|
+
data, _status_code, _headers = find_plan_with_http_info(code, opts)
|
|
223
|
+
data
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
# Retrieve a plan
|
|
227
|
+
# This endpoint retrieves a specific plan.
|
|
228
|
+
# @param code [String] The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
|
|
229
|
+
# @param [Hash] opts the optional parameters
|
|
230
|
+
# @return [Array<(Plan, Integer, Hash)>] Plan data, response status code and response headers
|
|
231
|
+
def find_plan_with_http_info(code, opts = {})
|
|
232
|
+
if @api_client.config.debugging
|
|
233
|
+
@api_client.config.logger.debug 'Calling API: PlansApi.find_plan ...'
|
|
234
|
+
end
|
|
235
|
+
# verify the required parameter 'code' is set
|
|
236
|
+
if @api_client.config.client_side_validation && code.nil?
|
|
237
|
+
fail ArgumentError, "Missing the required parameter 'code' when calling PlansApi.find_plan"
|
|
238
|
+
end
|
|
239
|
+
# resource path
|
|
240
|
+
local_var_path = '/plans/{code}'.sub('{' + 'code' + '}', CGI.escape(code.to_s))
|
|
241
|
+
|
|
242
|
+
# query parameters
|
|
243
|
+
query_params = opts[:query_params] || {}
|
|
244
|
+
|
|
245
|
+
# header parameters
|
|
246
|
+
header_params = opts[:header_params] || {}
|
|
247
|
+
# HTTP header 'Accept' (if needed)
|
|
248
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
249
|
+
|
|
250
|
+
# form parameters
|
|
251
|
+
form_params = opts[:form_params] || {}
|
|
252
|
+
|
|
253
|
+
# http body (model)
|
|
254
|
+
post_body = opts[:debug_body]
|
|
255
|
+
|
|
256
|
+
# return_type
|
|
257
|
+
return_type = opts[:debug_return_type] || 'Plan'
|
|
258
|
+
|
|
259
|
+
# auth_names
|
|
260
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
261
|
+
|
|
262
|
+
new_options = opts.merge(
|
|
263
|
+
:operation => :"PlansApi.find_plan",
|
|
264
|
+
:header_params => header_params,
|
|
265
|
+
:query_params => query_params,
|
|
266
|
+
:form_params => form_params,
|
|
267
|
+
:body => post_body,
|
|
268
|
+
:auth_names => auth_names,
|
|
269
|
+
:return_type => return_type
|
|
270
|
+
)
|
|
271
|
+
|
|
272
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
273
|
+
if @api_client.config.debugging
|
|
274
|
+
@api_client.config.logger.debug "API called: PlansApi#find_plan\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
275
|
+
end
|
|
276
|
+
return data, status_code, headers
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
# Update a plan
|
|
280
|
+
# This endpoint updates a specific plan with subscription and usage-based charges. It supports flexible billing cadence (in-advance or in-arrears) and allows for both recurring and metered charges.
|
|
281
|
+
# @param code [String] The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
|
|
282
|
+
# @param plan_update_input [PlanUpdateInput] Plan payload
|
|
283
|
+
# @param [Hash] opts the optional parameters
|
|
284
|
+
# @return [Plan]
|
|
285
|
+
def update_plan(code, plan_update_input, opts = {})
|
|
286
|
+
data, _status_code, _headers = update_plan_with_http_info(code, plan_update_input, opts)
|
|
287
|
+
data
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
# Update a plan
|
|
291
|
+
# This endpoint updates a specific plan with subscription and usage-based charges. It supports flexible billing cadence (in-advance or in-arrears) and allows for both recurring and metered charges.
|
|
292
|
+
# @param code [String] The code of the plan. It serves as a unique identifier associated with a particular plan. The code is typically used for internal or system-level identification purposes, like assigning a subscription, for instance.
|
|
293
|
+
# @param plan_update_input [PlanUpdateInput] Plan payload
|
|
294
|
+
# @param [Hash] opts the optional parameters
|
|
295
|
+
# @return [Array<(Plan, Integer, Hash)>] Plan data, response status code and response headers
|
|
296
|
+
def update_plan_with_http_info(code, plan_update_input, opts = {})
|
|
297
|
+
if @api_client.config.debugging
|
|
298
|
+
@api_client.config.logger.debug 'Calling API: PlansApi.update_plan ...'
|
|
299
|
+
end
|
|
300
|
+
# verify the required parameter 'code' is set
|
|
301
|
+
if @api_client.config.client_side_validation && code.nil?
|
|
302
|
+
fail ArgumentError, "Missing the required parameter 'code' when calling PlansApi.update_plan"
|
|
303
|
+
end
|
|
304
|
+
# verify the required parameter 'plan_update_input' is set
|
|
305
|
+
if @api_client.config.client_side_validation && plan_update_input.nil?
|
|
306
|
+
fail ArgumentError, "Missing the required parameter 'plan_update_input' when calling PlansApi.update_plan"
|
|
307
|
+
end
|
|
308
|
+
# resource path
|
|
309
|
+
local_var_path = '/plans/{code}'.sub('{' + 'code' + '}', CGI.escape(code.to_s))
|
|
310
|
+
|
|
311
|
+
# query parameters
|
|
312
|
+
query_params = opts[:query_params] || {}
|
|
313
|
+
|
|
314
|
+
# header parameters
|
|
315
|
+
header_params = opts[:header_params] || {}
|
|
316
|
+
# HTTP header 'Accept' (if needed)
|
|
317
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
318
|
+
# HTTP header 'Content-Type'
|
|
319
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
320
|
+
if !content_type.nil?
|
|
321
|
+
header_params['Content-Type'] = content_type
|
|
322
|
+
end
|
|
323
|
+
|
|
324
|
+
# form parameters
|
|
325
|
+
form_params = opts[:form_params] || {}
|
|
326
|
+
|
|
327
|
+
# http body (model)
|
|
328
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(plan_update_input)
|
|
329
|
+
|
|
330
|
+
# return_type
|
|
331
|
+
return_type = opts[:debug_return_type] || 'Plan'
|
|
332
|
+
|
|
333
|
+
# auth_names
|
|
334
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
335
|
+
|
|
336
|
+
new_options = opts.merge(
|
|
337
|
+
:operation => :"PlansApi.update_plan",
|
|
338
|
+
:header_params => header_params,
|
|
339
|
+
:query_params => query_params,
|
|
340
|
+
:form_params => form_params,
|
|
341
|
+
:body => post_body,
|
|
342
|
+
:auth_names => auth_names,
|
|
343
|
+
:return_type => return_type
|
|
344
|
+
)
|
|
345
|
+
|
|
346
|
+
data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
|
|
347
|
+
if @api_client.config.debugging
|
|
348
|
+
@api_client.config.logger.debug "API called: PlansApi#update_plan\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
349
|
+
end
|
|
350
|
+
return data, status_code, headers
|
|
351
|
+
end
|
|
352
|
+
end
|
|
353
|
+
end
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Lago API documentation
|
|
3
|
+
|
|
4
|
+
#Lago API allows your application to push customer information and metrics (events) from your application to the billing application.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.46.0-beta
|
|
7
|
+
Contact: tech@getlago.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 7.0.1-SNAPSHOT
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module LagoAPI
|
|
16
|
+
class SubscriptionsApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Assign a plan to a customer
|
|
23
|
+
# This endpoint assigns a plan to a customer, creating or modifying a subscription. Ideal for initial subscriptions or plan changes (upgrades/downgrades).
|
|
24
|
+
# @param subscription_create_input [SubscriptionCreateInput] Subscription payload
|
|
25
|
+
# @param [Hash] opts the optional parameters
|
|
26
|
+
# @return [Subscription]
|
|
27
|
+
def create_subscription(subscription_create_input, opts = {})
|
|
28
|
+
data, _status_code, _headers = create_subscription_with_http_info(subscription_create_input, opts)
|
|
29
|
+
data
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Assign a plan to a customer
|
|
33
|
+
# This endpoint assigns a plan to a customer, creating or modifying a subscription. Ideal for initial subscriptions or plan changes (upgrades/downgrades).
|
|
34
|
+
# @param subscription_create_input [SubscriptionCreateInput] Subscription payload
|
|
35
|
+
# @param [Hash] opts the optional parameters
|
|
36
|
+
# @return [Array<(Subscription, Integer, Hash)>] Subscription data, response status code and response headers
|
|
37
|
+
def create_subscription_with_http_info(subscription_create_input, opts = {})
|
|
38
|
+
if @api_client.config.debugging
|
|
39
|
+
@api_client.config.logger.debug 'Calling API: SubscriptionsApi.create_subscription ...'
|
|
40
|
+
end
|
|
41
|
+
# verify the required parameter 'subscription_create_input' is set
|
|
42
|
+
if @api_client.config.client_side_validation && subscription_create_input.nil?
|
|
43
|
+
fail ArgumentError, "Missing the required parameter 'subscription_create_input' when calling SubscriptionsApi.create_subscription"
|
|
44
|
+
end
|
|
45
|
+
# resource path
|
|
46
|
+
local_var_path = '/subscriptions'
|
|
47
|
+
|
|
48
|
+
# query parameters
|
|
49
|
+
query_params = opts[:query_params] || {}
|
|
50
|
+
|
|
51
|
+
# header parameters
|
|
52
|
+
header_params = opts[:header_params] || {}
|
|
53
|
+
# HTTP header 'Accept' (if needed)
|
|
54
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
55
|
+
# HTTP header 'Content-Type'
|
|
56
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
57
|
+
if !content_type.nil?
|
|
58
|
+
header_params['Content-Type'] = content_type
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# form parameters
|
|
62
|
+
form_params = opts[:form_params] || {}
|
|
63
|
+
|
|
64
|
+
# http body (model)
|
|
65
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(subscription_create_input)
|
|
66
|
+
|
|
67
|
+
# return_type
|
|
68
|
+
return_type = opts[:debug_return_type] || 'Subscription'
|
|
69
|
+
|
|
70
|
+
# auth_names
|
|
71
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
72
|
+
|
|
73
|
+
new_options = opts.merge(
|
|
74
|
+
:operation => :"SubscriptionsApi.create_subscription",
|
|
75
|
+
:header_params => header_params,
|
|
76
|
+
:query_params => query_params,
|
|
77
|
+
:form_params => form_params,
|
|
78
|
+
:body => post_body,
|
|
79
|
+
:auth_names => auth_names,
|
|
80
|
+
:return_type => return_type
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
84
|
+
if @api_client.config.debugging
|
|
85
|
+
@api_client.config.logger.debug "API called: SubscriptionsApi#create_subscription\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
86
|
+
end
|
|
87
|
+
return data, status_code, headers
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Terminate a subscription
|
|
91
|
+
# This endpoint allows you to terminate a subscription.
|
|
92
|
+
# @param external_id [String] External ID of the existing subscription
|
|
93
|
+
# @param [Hash] opts the optional parameters
|
|
94
|
+
# @option opts [String] :status If the field is not defined, Lago will terminate only `active` subscriptions. However, if you wish to cancel a `pending` subscription, please ensure that you include `status=pending` in your request.
|
|
95
|
+
# @return [Subscription]
|
|
96
|
+
def destroy_subscription(external_id, opts = {})
|
|
97
|
+
data, _status_code, _headers = destroy_subscription_with_http_info(external_id, opts)
|
|
98
|
+
data
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# Terminate a subscription
|
|
102
|
+
# This endpoint allows you to terminate a subscription.
|
|
103
|
+
# @param external_id [String] External ID of the existing subscription
|
|
104
|
+
# @param [Hash] opts the optional parameters
|
|
105
|
+
# @option opts [String] :status If the field is not defined, Lago will terminate only `active` subscriptions. However, if you wish to cancel a `pending` subscription, please ensure that you include `status=pending` in your request.
|
|
106
|
+
# @return [Array<(Subscription, Integer, Hash)>] Subscription data, response status code and response headers
|
|
107
|
+
def destroy_subscription_with_http_info(external_id, opts = {})
|
|
108
|
+
if @api_client.config.debugging
|
|
109
|
+
@api_client.config.logger.debug 'Calling API: SubscriptionsApi.destroy_subscription ...'
|
|
110
|
+
end
|
|
111
|
+
# verify the required parameter 'external_id' is set
|
|
112
|
+
if @api_client.config.client_side_validation && external_id.nil?
|
|
113
|
+
fail ArgumentError, "Missing the required parameter 'external_id' when calling SubscriptionsApi.destroy_subscription"
|
|
114
|
+
end
|
|
115
|
+
# resource path
|
|
116
|
+
local_var_path = '/subscriptions/{external_id}'.sub('{' + 'external_id' + '}', CGI.escape(external_id.to_s))
|
|
117
|
+
|
|
118
|
+
# query parameters
|
|
119
|
+
query_params = opts[:query_params] || {}
|
|
120
|
+
query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
|
|
121
|
+
|
|
122
|
+
# header parameters
|
|
123
|
+
header_params = opts[:header_params] || {}
|
|
124
|
+
# HTTP header 'Accept' (if needed)
|
|
125
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
126
|
+
|
|
127
|
+
# form parameters
|
|
128
|
+
form_params = opts[:form_params] || {}
|
|
129
|
+
|
|
130
|
+
# http body (model)
|
|
131
|
+
post_body = opts[:debug_body]
|
|
132
|
+
|
|
133
|
+
# return_type
|
|
134
|
+
return_type = opts[:debug_return_type] || 'Subscription'
|
|
135
|
+
|
|
136
|
+
# auth_names
|
|
137
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
138
|
+
|
|
139
|
+
new_options = opts.merge(
|
|
140
|
+
:operation => :"SubscriptionsApi.destroy_subscription",
|
|
141
|
+
:header_params => header_params,
|
|
142
|
+
:query_params => query_params,
|
|
143
|
+
:form_params => form_params,
|
|
144
|
+
:body => post_body,
|
|
145
|
+
:auth_names => auth_names,
|
|
146
|
+
:return_type => return_type
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
|
|
150
|
+
if @api_client.config.debugging
|
|
151
|
+
@api_client.config.logger.debug "API called: SubscriptionsApi#destroy_subscription\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
152
|
+
end
|
|
153
|
+
return data, status_code, headers
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# List all subscriptions
|
|
157
|
+
# This endpoint retrieves all active subscriptions.
|
|
158
|
+
# @param [Hash] opts the optional parameters
|
|
159
|
+
# @option opts [Integer] :page Page number.
|
|
160
|
+
# @option opts [Integer] :per_page Number of records per page.
|
|
161
|
+
# @option opts [String] :external_customer_id The customer external unique identifier (provided by your own application)
|
|
162
|
+
# @option opts [String] :plan_code The unique code representing the plan to be attached to the customer. This code must correspond to the code property of one of the active plans.
|
|
163
|
+
# @option opts [Array<String>] :status If the field is not defined, Lago will return only `active` subscriptions. However, if you wish to fetch subscriptions by different status you can define them in a status[] query param. Available filter values: `pending`, `canceled`, `terminated`, `active`.
|
|
164
|
+
# @return [SubscriptionsPaginated]
|
|
165
|
+
def find_all_subscriptions(opts = {})
|
|
166
|
+
data, _status_code, _headers = find_all_subscriptions_with_http_info(opts)
|
|
167
|
+
data
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# List all subscriptions
|
|
171
|
+
# This endpoint retrieves all active subscriptions.
|
|
172
|
+
# @param [Hash] opts the optional parameters
|
|
173
|
+
# @option opts [Integer] :page Page number.
|
|
174
|
+
# @option opts [Integer] :per_page Number of records per page.
|
|
175
|
+
# @option opts [String] :external_customer_id The customer external unique identifier (provided by your own application)
|
|
176
|
+
# @option opts [String] :plan_code The unique code representing the plan to be attached to the customer. This code must correspond to the code property of one of the active plans.
|
|
177
|
+
# @option opts [Array<String>] :status If the field is not defined, Lago will return only `active` subscriptions. However, if you wish to fetch subscriptions by different status you can define them in a status[] query param. Available filter values: `pending`, `canceled`, `terminated`, `active`.
|
|
178
|
+
# @return [Array<(SubscriptionsPaginated, Integer, Hash)>] SubscriptionsPaginated data, response status code and response headers
|
|
179
|
+
def find_all_subscriptions_with_http_info(opts = {})
|
|
180
|
+
if @api_client.config.debugging
|
|
181
|
+
@api_client.config.logger.debug 'Calling API: SubscriptionsApi.find_all_subscriptions ...'
|
|
182
|
+
end
|
|
183
|
+
allowable_values = ["pending", "canceled", "terminated", "active"]
|
|
184
|
+
if @api_client.config.client_side_validation && opts[:'status'] && !opts[:'status'].all? { |item| allowable_values.include?(item) }
|
|
185
|
+
fail ArgumentError, "invalid value for \"status\", must include one of #{allowable_values}"
|
|
186
|
+
end
|
|
187
|
+
# resource path
|
|
188
|
+
local_var_path = '/subscriptions'
|
|
189
|
+
|
|
190
|
+
# query parameters
|
|
191
|
+
query_params = opts[:query_params] || {}
|
|
192
|
+
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
|
193
|
+
query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
|
|
194
|
+
query_params[:'external_customer_id'] = opts[:'external_customer_id'] if !opts[:'external_customer_id'].nil?
|
|
195
|
+
query_params[:'plan_code'] = opts[:'plan_code'] if !opts[:'plan_code'].nil?
|
|
196
|
+
query_params[:'status'] = @api_client.build_collection_param(opts[:'status'], :multi) if !opts[:'status'].nil?
|
|
197
|
+
|
|
198
|
+
# header parameters
|
|
199
|
+
header_params = opts[:header_params] || {}
|
|
200
|
+
# HTTP header 'Accept' (if needed)
|
|
201
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
202
|
+
|
|
203
|
+
# form parameters
|
|
204
|
+
form_params = opts[:form_params] || {}
|
|
205
|
+
|
|
206
|
+
# http body (model)
|
|
207
|
+
post_body = opts[:debug_body]
|
|
208
|
+
|
|
209
|
+
# return_type
|
|
210
|
+
return_type = opts[:debug_return_type] || 'SubscriptionsPaginated'
|
|
211
|
+
|
|
212
|
+
# auth_names
|
|
213
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
214
|
+
|
|
215
|
+
new_options = opts.merge(
|
|
216
|
+
:operation => :"SubscriptionsApi.find_all_subscriptions",
|
|
217
|
+
:header_params => header_params,
|
|
218
|
+
:query_params => query_params,
|
|
219
|
+
:form_params => form_params,
|
|
220
|
+
:body => post_body,
|
|
221
|
+
:auth_names => auth_names,
|
|
222
|
+
:return_type => return_type
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
226
|
+
if @api_client.config.debugging
|
|
227
|
+
@api_client.config.logger.debug "API called: SubscriptionsApi#find_all_subscriptions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
228
|
+
end
|
|
229
|
+
return data, status_code, headers
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
# Update a subscription
|
|
233
|
+
# This endpoint allows you to update a subscription.
|
|
234
|
+
# @param external_id [String] External ID of the existing subscription
|
|
235
|
+
# @param subscription_update_input [SubscriptionUpdateInput] Update an existing subscription
|
|
236
|
+
# @param [Hash] opts the optional parameters
|
|
237
|
+
# @return [Subscription]
|
|
238
|
+
def update_subscription(external_id, subscription_update_input, opts = {})
|
|
239
|
+
data, _status_code, _headers = update_subscription_with_http_info(external_id, subscription_update_input, opts)
|
|
240
|
+
data
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
# Update a subscription
|
|
244
|
+
# This endpoint allows you to update a subscription.
|
|
245
|
+
# @param external_id [String] External ID of the existing subscription
|
|
246
|
+
# @param subscription_update_input [SubscriptionUpdateInput] Update an existing subscription
|
|
247
|
+
# @param [Hash] opts the optional parameters
|
|
248
|
+
# @return [Array<(Subscription, Integer, Hash)>] Subscription data, response status code and response headers
|
|
249
|
+
def update_subscription_with_http_info(external_id, subscription_update_input, opts = {})
|
|
250
|
+
if @api_client.config.debugging
|
|
251
|
+
@api_client.config.logger.debug 'Calling API: SubscriptionsApi.update_subscription ...'
|
|
252
|
+
end
|
|
253
|
+
# verify the required parameter 'external_id' is set
|
|
254
|
+
if @api_client.config.client_side_validation && external_id.nil?
|
|
255
|
+
fail ArgumentError, "Missing the required parameter 'external_id' when calling SubscriptionsApi.update_subscription"
|
|
256
|
+
end
|
|
257
|
+
# verify the required parameter 'subscription_update_input' is set
|
|
258
|
+
if @api_client.config.client_side_validation && subscription_update_input.nil?
|
|
259
|
+
fail ArgumentError, "Missing the required parameter 'subscription_update_input' when calling SubscriptionsApi.update_subscription"
|
|
260
|
+
end
|
|
261
|
+
# resource path
|
|
262
|
+
local_var_path = '/subscriptions/{external_id}'.sub('{' + 'external_id' + '}', CGI.escape(external_id.to_s))
|
|
263
|
+
|
|
264
|
+
# query parameters
|
|
265
|
+
query_params = opts[:query_params] || {}
|
|
266
|
+
|
|
267
|
+
# header parameters
|
|
268
|
+
header_params = opts[:header_params] || {}
|
|
269
|
+
# HTTP header 'Accept' (if needed)
|
|
270
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
271
|
+
# HTTP header 'Content-Type'
|
|
272
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
273
|
+
if !content_type.nil?
|
|
274
|
+
header_params['Content-Type'] = content_type
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
# form parameters
|
|
278
|
+
form_params = opts[:form_params] || {}
|
|
279
|
+
|
|
280
|
+
# http body (model)
|
|
281
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(subscription_update_input)
|
|
282
|
+
|
|
283
|
+
# return_type
|
|
284
|
+
return_type = opts[:debug_return_type] || 'Subscription'
|
|
285
|
+
|
|
286
|
+
# auth_names
|
|
287
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
288
|
+
|
|
289
|
+
new_options = opts.merge(
|
|
290
|
+
:operation => :"SubscriptionsApi.update_subscription",
|
|
291
|
+
:header_params => header_params,
|
|
292
|
+
:query_params => query_params,
|
|
293
|
+
:form_params => form_params,
|
|
294
|
+
:body => post_body,
|
|
295
|
+
:auth_names => auth_names,
|
|
296
|
+
:return_type => return_type
|
|
297
|
+
)
|
|
298
|
+
|
|
299
|
+
data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
|
|
300
|
+
if @api_client.config.debugging
|
|
301
|
+
@api_client.config.logger.debug "API called: SubscriptionsApi#update_subscription\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
302
|
+
end
|
|
303
|
+
return data, status_code, headers
|
|
304
|
+
end
|
|
305
|
+
end
|
|
306
|
+
end
|