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, salesforce_id: 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.
513 514 515 516 517 518 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 513 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.
215 216 217 218 219 220 221 222 223 224 225 226 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 215 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.
249 250 251 252 253 254 255 256 257 258 259 260 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 249 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.
283 284 285 286 287 288 289 290 291 292 293 294 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 283 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.
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 185 186 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 153 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.
317 318 319 320 321 322 323 324 325 326 327 328 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 317 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.
379 380 381 382 383 384 385 386 387 388 389 390 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 379 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.
463 464 465 466 467 468 469 470 471 472 473 474 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 463 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.
497 498 499 500 501 502 503 504 505 506 507 508 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 497 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, salesforce_id: 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.
105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 105 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 |