Class: Stigg::Resources::V1::Subscriptions
- Inherits:
-
Object
- Object
- Stigg::Resources::V1::Subscriptions
- Defined in:
- lib/stigg/resources/v1/subscriptions.rb,
lib/stigg/resources/v1/subscriptions/usage.rb,
lib/stigg/resources/v1/subscriptions/invoice.rb,
lib/stigg/resources/v1/subscriptions/future_update.rb
Defined Under Namespace
Classes: FutureUpdate, Invoice, Usage
Instance Attribute Summary collapse
-
#future_update ⇒ Stigg::Resources::V1::Subscriptions::FutureUpdate
readonly
Operations related to subscriptions.
-
#invoice ⇒ Stigg::Resources::V1::Subscriptions::Invoice
readonly
Operations related to subscriptions.
-
#usage ⇒ Stigg::Resources::V1::Subscriptions::Usage
readonly
Operations related to subscriptions.
Instance Method Summary collapse
-
#cancel(id, cancellation_action: nil, cancellation_time: nil, end_date: nil, prorate: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionCancelParams for more details.
-
#delegate(id, target_customer_id:, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionDelegateParams for more details.
-
#import(subscriptions:, integration_id: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionImportResponse
Some parameter documentations has been truncated, see Models::V1::SubscriptionImportParams for more details.
-
#initialize(client:) ⇒ Subscriptions
constructor
private
A new instance of Subscriptions.
-
#list(after: nil, before: nil, created_at: nil, customer_id: nil, limit: nil, plan_id: nil, pricing_type: nil, resource_id: nil, status: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Internal::MyCursorIDPage<Stigg::Models::V1::SubscriptionListResponse>
Some parameter documentations has been truncated, see Models::V1::SubscriptionListParams for more details.
-
#migrate(id, subscription_migration_time: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionMigrateParams for more details.
-
#preview(customer_id:, plan_id:, addons: nil, applied_coupon: nil, billable_features: nil, billing_country_code: nil, billing_cycle_anchor: nil, billing_information: nil, billing_period: nil, charges: nil, paying_customer_id: nil, resource_id: nil, schedule_strategy: nil, start_date: nil, trial_override_configuration: nil, unit_quantity: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionPreviewResponse
Some parameter documentations has been truncated, see Models::V1::SubscriptionPreviewParams for more details.
-
#provision(customer_id:, plan_id:, id: nil, addons: nil, applied_coupon: nil, await_payment_confirmation: nil, billing_country_code: nil, billing_cycle_anchor: nil, billing_id: nil, billing_information: nil, billing_period: nil, budget: nil, cancellation_date: nil, charges: nil, checkout_options: nil, entitlements: nil, metadata: nil, minimum_spend: nil, paying_customer_id: nil, payment_collection_method: nil, price_overrides: nil, resource_id: nil, salesforce_id: nil, schedule_strategy: nil, start_date: nil, trial_override_configuration: nil, unit_quantity: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionProvisionResponse
Some parameter documentations has been truncated, see Models::V1::SubscriptionProvisionParams for more details.
-
#retrieve(id, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionRetrieveParams for more details.
-
#transfer(id, destination_resource_id:, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionTransferParams for more details.
-
#update(id, addons: nil, applied_coupon: nil, await_payment_confirmation: nil, billing_cycle_anchor: nil, billing_information: nil, billing_period: nil, budget: nil, cancellation_date: nil, charges: nil, entitlements: nil, metadata: nil, minimum_spend: nil, price_overrides: nil, promotion_code: nil, schedule_strategy: nil, trial_end_date: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionUpdateParams for more details.
Constructor Details
#initialize(client:) ⇒ Subscriptions
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Subscriptions.
511 512 513 514 515 516 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 511 def initialize(client:) @client = client @future_update = Stigg::Resources::V1::Subscriptions::FutureUpdate.new(client: client) @usage = Stigg::Resources::V1::Subscriptions::Usage.new(client: client) @invoice = Stigg::Resources::V1::Subscriptions::Invoice.new(client: client) end |
Instance Attribute Details
#future_update ⇒ Stigg::Resources::V1::Subscriptions::FutureUpdate (readonly)
Operations related to subscriptions
9 10 11 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 9 def future_update @future_update end |
#invoice ⇒ Stigg::Resources::V1::Subscriptions::Invoice (readonly)
Operations related to subscriptions
17 18 19 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 17 def invoice @invoice end |
#usage ⇒ Stigg::Resources::V1::Subscriptions::Usage (readonly)
Operations related to subscriptions
13 14 15 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 13 def usage @usage end |
Instance Method Details
#cancel(id, cancellation_action: nil, cancellation_time: nil, end_date: nil, prorate: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionCancelParams for more details.
Cancels an active subscription, either immediately or at a specified time such as end of billing period.
213 214 215 216 217 218 219 220 221 222 223 224 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 213 def cancel(id, params = {}) parsed, = Stigg::V1::SubscriptionCancelParams.dump_request(params) header_params = {x_account_id: "x-account-id", x_environment_id: "x-environment-id"} @client.request( method: :post, path: ["api/v1/subscriptions/%1$s/cancel", id], headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Stigg::V1::Subscription, options: ) end |
#delegate(id, target_customer_id:, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionDelegateParams for more details.
Delegates the payment responsibility of a subscription to a different customer. The delegated customer will be billed for this subscription.
247 248 249 250 251 252 253 254 255 256 257 258 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 247 def delegate(id, params) parsed, = Stigg::V1::SubscriptionDelegateParams.dump_request(params) header_params = {x_account_id: "x-account-id", x_environment_id: "x-environment-id"} @client.request( method: :post, path: ["api/v1/subscriptions/%1$s/delegate", id], headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Stigg::V1::Subscription, options: ) end |
#import(subscriptions:, integration_id: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionImportResponse
Some parameter documentations has been truncated, see Models::V1::SubscriptionImportParams for more details.
Imports multiple subscriptions in bulk. Used for migrating subscription data from external systems.
281 282 283 284 285 286 287 288 289 290 291 292 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 281 def import(params) parsed, = Stigg::V1::SubscriptionImportParams.dump_request(params) header_params = {x_account_id: "x-account-id", x_environment_id: "x-environment-id"} @client.request( method: :post, path: "api/v1/subscriptions/import", headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Stigg::Models::V1::SubscriptionImportResponse, options: ) end |
#list(after: nil, before: nil, created_at: nil, customer_id: nil, limit: nil, plan_id: nil, pricing_type: nil, resource_id: nil, status: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Internal::MyCursorIDPage<Stigg::Models::V1::SubscriptionListResponse>
Some parameter documentations has been truncated, see Models::V1::SubscriptionListParams for more details.
Retrieves a paginated list of subscriptions, with optional filters for customer, status, and plan.
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 151 def list(params = {}) query_params = [ :after, :before, :created_at, :customer_id, :limit, :plan_id, :pricing_type, :resource_id, :status ] parsed, = Stigg::V1::SubscriptionListParams.dump_request(params) query = Stigg::Internal::Util.encode_query_params(parsed.slice(*query_params)) @client.request( method: :get, path: "api/v1/subscriptions", query: query.transform_keys( created_at: "createdAt", customer_id: "customerId", plan_id: "planId", pricing_type: "pricingType", resource_id: "resourceId" ), headers: parsed.except(*query_params).transform_keys( x_account_id: "x-account-id", x_environment_id: "x-environment-id" ), page: Stigg::Internal::MyCursorIDPage, model: Stigg::Models::V1::SubscriptionListResponse, options: ) end |
#migrate(id, subscription_migration_time: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionMigrateParams for more details.
Migrates a subscription to the latest published version of its plan or add-ons. Handles prorated charges or credits automatically.
315 316 317 318 319 320 321 322 323 324 325 326 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 315 def migrate(id, params = {}) parsed, = Stigg::V1::SubscriptionMigrateParams.dump_request(params) header_params = {x_account_id: "x-account-id", x_environment_id: "x-environment-id"} @client.request( method: :post, path: ["api/v1/subscriptions/%1$s/migrate", id], headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Stigg::V1::Subscription, options: ) end |
#preview(customer_id:, plan_id:, addons: nil, applied_coupon: nil, billable_features: nil, billing_country_code: nil, billing_cycle_anchor: nil, billing_information: nil, billing_period: nil, charges: nil, paying_customer_id: nil, resource_id: nil, schedule_strategy: nil, start_date: nil, trial_override_configuration: nil, unit_quantity: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionPreviewResponse
Some parameter documentations has been truncated, see Models::V1::SubscriptionPreviewParams for more details.
Previews the pricing impact of creating or updating a subscription without making changes. Returns estimated costs, taxes, and proration details.
377 378 379 380 381 382 383 384 385 386 387 388 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 377 def preview(params) parsed, = Stigg::V1::SubscriptionPreviewParams.dump_request(params) header_params = {x_account_id: "x-account-id", x_environment_id: "x-environment-id"} @client.request( method: :post, path: "api/v1/subscriptions/preview", headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Stigg::Models::V1::SubscriptionPreviewResponse, options: ) end |
#provision(customer_id:, plan_id:, id: nil, addons: nil, applied_coupon: nil, await_payment_confirmation: nil, billing_country_code: nil, billing_cycle_anchor: nil, billing_id: nil, billing_information: nil, billing_period: nil, budget: nil, cancellation_date: nil, charges: nil, checkout_options: nil, entitlements: nil, metadata: nil, minimum_spend: nil, paying_customer_id: nil, payment_collection_method: nil, price_overrides: nil, resource_id: nil, salesforce_id: nil, schedule_strategy: nil, start_date: nil, trial_override_configuration: nil, unit_quantity: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionProvisionResponse
Some parameter documentations has been truncated, see Models::V1::SubscriptionProvisionParams for more details.
Creates a new subscription for an existing customer. When payment is required and no payment method exists, returns a checkout URL.
461 462 463 464 465 466 467 468 469 470 471 472 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 461 def provision(params) parsed, = Stigg::V1::SubscriptionProvisionParams.dump_request(params) header_params = {x_account_id: "x-account-id", x_environment_id: "x-environment-id"} @client.request( method: :post, path: "api/v1/subscriptions", headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Stigg::Models::V1::SubscriptionProvisionResponse, options: ) end |
#retrieve(id, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionRetrieveParams for more details.
Retrieves a subscription by its unique identifier, including plan details, billing period, status, and add-ons.
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 38 def retrieve(id, params = {}) parsed, = Stigg::V1::SubscriptionRetrieveParams.dump_request(params) @client.request( method: :get, path: ["api/v1/subscriptions/%1$s", id], headers: parsed.transform_keys( x_account_id: "x-account-id", x_environment_id: "x-environment-id" ), model: Stigg::V1::Subscription, options: ) end |
#transfer(id, destination_resource_id:, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionTransferParams for more details.
Transfers a subscription to a different resource ID. Used for multi-resource products where subscriptions apply to specific entities like websites or apps.
495 496 497 498 499 500 501 502 503 504 505 506 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 495 def transfer(id, params) parsed, = Stigg::V1::SubscriptionTransferParams.dump_request(params) header_params = {x_account_id: "x-account-id", x_environment_id: "x-environment-id"} @client.request( method: :post, path: ["api/v1/subscriptions/%1$s/transfer", id], headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Stigg::V1::Subscription, options: ) end |
#update(id, addons: nil, applied_coupon: nil, await_payment_confirmation: nil, billing_cycle_anchor: nil, billing_information: nil, billing_period: nil, budget: nil, cancellation_date: nil, charges: nil, entitlements: nil, metadata: nil, minimum_spend: nil, price_overrides: nil, promotion_code: nil, schedule_strategy: nil, trial_end_date: nil, x_account_id: nil, x_environment_id: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionUpdateParams for more details.
Updates an active subscription’s properties including billing period, add-ons, unit quantities, and discounts.
103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 103 def update(id, params = {}) parsed, = Stigg::V1::SubscriptionUpdateParams.dump_request(params) header_params = {x_account_id: "x-account-id", x_environment_id: "x-environment-id"} @client.request( method: :patch, path: ["api/v1/subscriptions/%1$s", id], headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Stigg::V1::Subscription, options: ) end |