class Recurly::Client
Constants
- ALLOWED_OPTIONS
- API_HOSTS
- BASE36_ALPHABET
- BINARY_TYPES
- CA_FILE
- JSON_CONTENT_TYPE
- LOG_LEVELS
- MAX_RETRIES
- REGION
Attributes
@return [Recurly::ConnectionPool]
Used by the operations.rb file to interpolate paths
Public Class Methods
Source
# File lib/recurly/client.rb, line 64 def initialize(region: REGION, base_url: API_HOSTS[:us], ca_file: CA_FILE, api_key:, logger: nil, keep_alive_timeout: 600) raise ArgumentError, "'api_key' must be set to a non-nil value" if api_key.nil? raise ArgumentError, "Invalid region type. Expected one of: #{API_HOSTS.keys.join(", ")}" if !API_HOSTS.key?(region) base_url = API_HOSTS[region] if base_url == API_HOSTS[:us] && API_HOSTS.key?(region) set_api_key(api_key) set_connection_options(base_url, ca_file, keep_alive_timeout) if logger.nil? @logger = Logger.new(STDOUT).tap do |l| l.level = Logger::WARN end else unless LOG_LEVELS.all? { |lev| logger.respond_to?(lev) } raise ArgumentError, "You must pass in a logger implementation that responds to the following messages: #{LOG_LEVELS}" end @logger = logger end if @logger.level < Logger::INFO msg = <<-MSG The Recurly logger should not be initialized beyond the level INFO. It is currently configured to emit headers and request / response bodies. This has the potential to leak PII and other sensitive information and should never be used in production. MSG log_warn("SECURITY_WARNING", message: msg) end # execute block with this client if given yield(self) if block_given? end
Initialize a client. It requires an API key.
@example
API_KEY = '83749879bbde395b5fe0cc1a5abf8e5' client = Recurly::Client.new(api_key: API_KEY) sub = client.get_subscription(subscription_id: 'abcd123456')
@example
# You can also pass the initializer a block. This will give you # a client scoped for just that block Recurly::Client.new(api_key: API_KEY) do |client| sub = client.get_subscription(subscription_id: 'abcd123456') end
@example
# If you only plan on using the client for more than one site, # you should initialize a new client for each site. client = Recurly::Client.new(api_key: API_KEY1) sub = client.get_subscription(subscription_id: 'uuid-abcd123456') # you should create a new client to connect to another site client = Recurly::Client.new(api_key: API_KEY2) sub = client.get_subscription(subscription_id: 'uuid-abcd7890')
@param region [String] The DataCenter that is called by the API. Default to “us” @param base_url [String] The base URL for the API. Defaults to “v3.recurly.com” @param ca_file [String] The CA bundle to use when connecting to the API. Defaults to “data/ca-certificates.crt” @param api_key [String] The private API key @param logger [Logger] A logger to use. Defaults to creating a new STDOUT logger with level WARN.
Public Instance Methods
Source
# File lib/recurly/client/operations.rb, line 7 def api_version "v2021-02-25" end
Source
# File lib/recurly/client/operations.rb, line 2661 def apply_credit_balance(invoice_id:, **options) path = interpolate_path("/invoices/{invoice_id}/apply_credit_balance", invoice_id: invoice_id) put(path, **options) end
Apply available credit to a pending or past due charge invoice
{developers.recurly.com/api/v2021-02-25#operation/apply_credit_balance apply_credit_balance
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param params [Hash] Optional query string parameters:
:site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
@return [Resources::Invoice] The updated invoice. @example
begin invoice = @client.apply_credit_balance(invoice_id: invoice_id) puts "Applied credit balance to invoice #{invoice}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4496 def cancelPurchase(transaction_id:, **options) path = interpolate_path("/purchases/{transaction_id}/cancel/", transaction_id: transaction_id) post(path, **options) end
Cancel Purchase
{developers.recurly.com/api/v2021-02-25#operation/cancelPurchase cancelPurchase api documentation}
@param transaction_id [String] Transaction ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::InvoiceCollection] Returns the cancelled invoice
Source
# File lib/recurly/client/operations.rb, line 3751 def cancel_subscription(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/cancel", subscription_id: subscription_id) put(path, options[:body], Requests::SubscriptionCancel, **options) end
Cancel a subscription
{developers.recurly.com/api/v2021-02-25#operation/cancel_subscription cancel_subscription
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
:body [Requests::SubscriptionCancel] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionCancel}
@return [Resources::Subscription] A canceled or failed subscription. @example
begin subscription = @client.cancel_subscription( subscription_id: subscription_id ) puts "Canceled Subscription #{subscription}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 2685 def collect_invoice(invoice_id:, **options) path = interpolate_path("/invoices/{invoice_id}/collect", invoice_id: invoice_id) put(path, options[:body], Requests::InvoiceCollect, **options) end
Collect a pending or past due, automatic invoice
{developers.recurly.com/api/v2021-02-25#operation/collect_invoice collect_invoice
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param params [Hash] Optional query string parameters:
:body [Requests::InvoiceCollect] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceCollect}
@return [Resources::Invoice] The updated invoice. @example
begin invoice = @client.collect_invoice(invoice_id: invoice_id) puts "Collected invoice #{invoice}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3845 def convert_trial(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/convert_trial", subscription_id: subscription_id) put(path, **options) end
Convert trial subscription
{developers.recurly.com/api/v2021-02-25#operation/convert_trial convert_trial
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::Subscription] A subscription.
Source
# File lib/recurly/client/operations.rb, line 169 def create_account(body:, **options) path = "/accounts" post(path, body, Requests::AccountCreate, **options) end
Create an account
{developers.recurly.com/api/v2021-02-25#operation/create_account create_account
api documentation}
@param body [Requests::AccountCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AccountCreate} @param params [Hash] Optional query string parameters:
@return [Resources::Account] An account. @example
begin account_create = { code: account_code, first_name: "Benjamin", last_name: "Du Monde", preferred_time_zone: "America/Chicago", acquisition: { campaign: "podcast-marketing", channel: "social_media", subchannel: "twitter", cost: { currency: "USD", amount: 0.50 } }, shipping_addresses: [ { nickname: "Home", street1: "1 Tchoupitoulas St", city: "New Orleans", region: "LA", country: "US", postal_code: "70115", first_name: "Benjamin", last_name: "Du Monde" } ] } account = @client.create_account(body: account_create) puts "Created Account #{account}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 809 def create_account_external_account(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/external_accounts", account_id: account_id) post(path, body, Requests::ExternalAccountCreate, **options) end
Create an external account
{developers.recurly.com/api/v2021-02-25#operation/create_account_external_account create_account_external_account
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::ExternalAccountCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalAccountCreate} @param params [Hash] Optional query string parameters:
@return [Resources::ExternalAccount] A representation of the created external_account.
Source
# File lib/recurly/client/operations.rb, line 541 def create_billing_info(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/billing_infos", account_id: account_id) post(path, body, Requests::BillingInfoCreate, **options) end
Add new billing information on an account
{developers.recurly.com/api/v2021-02-25#operation/create_billing_info create_billing_info
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::BillingInfoCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoCreate} @param params [Hash] Optional query string parameters:
@return [Resources::BillingInfo] Updated billing information.
Source
# File lib/recurly/client/operations.rb, line 4482 def create_capture_purchase(transaction_id:, **options) path = interpolate_path("/purchases/{transaction_id}/capture", transaction_id: transaction_id) post(path, **options) end
Capture a purchase
{developers.recurly.com/api/v2021-02-25#operation/create_capture_purchase create_capture_purchase
api documentation}
@param transaction_id [String] Transaction ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::InvoiceCollection] Returns the captured invoice
Source
# File lib/recurly/client/operations.rb, line 1595 def create_coupon(body:, **options) path = "/coupons" post(path, body, Requests::CouponCreate, **options) end
Create a new coupon
{developers.recurly.com/api/v2021-02-25#operation/create_coupon create_coupon
api documentation}
@param body [Requests::CouponCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponCreate} @param params [Hash] Optional query string parameters:
@return [Resources::Coupon] A new coupon. @example
begin coupon_create = { name: "Promotional Coupon", code: coupon_code, discount_type: 'fixed', currencies: [ { currency: 'USD', discount: 10_000 } ] } coupon = @client.create_coupon( body: coupon_create ) puts "Created Coupon #{coupon}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 720 def create_coupon_redemption(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/coupon_redemptions/active", account_id: account_id) post(path, body, Requests::CouponRedemptionCreate, **options) end
Generate an active coupon redemption on an account or subscription
{developers.recurly.com/api/v2021-02-25#operation/create_coupon_redemption create_coupon_redemption
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::CouponRedemptionCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponRedemptionCreate} @param params [Hash] Optional query string parameters:
@return [Resources::CouponRedemption] Returns the new coupon redemption. @example
begin redemption_create = { currency: 'USD', coupon_id: coupon_id } redemption = @client.create_coupon_redemption( account_id: account_id, body: redemption_create ) puts "Created CouponRedemption #{redemption}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 2508 def create_external_invoice(external_subscription_id:, body:, **options) path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_invoices", external_subscription_id: external_subscription_id) post(path, body, Requests::ExternalInvoiceCreate, **options) end
Create an external invoice
{developers.recurly.com/api/v2021-02-25#operation/create_external_invoice create_external_invoice
api documentation}
@param external_subscription_id [String] External subscription id @param body [Requests::ExternalInvoiceCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalInvoiceCreate} @param params [Hash] Optional query string parameters:
@return [Resources::ExternalInvoice] Returns the external invoice
Source
# File lib/recurly/client/operations.rb, line 2307 def create_external_product(body:, **options) path = "/external_products" post(path, body, Requests::ExternalProductCreate, **options) end
Create an external product
{developers.recurly.com/api/v2021-02-25#operation/create_external_product create_external_product
api documentation}
@param body [Requests::ExternalProductCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalProductCreate} @param params [Hash] Optional query string parameters:
@return [Resources::ExternalProduct] Returns the external product
Source
# File lib/recurly/client/operations.rb, line 2383 def create_external_product_external_product_reference(external_product_id:, body:, **options) path = interpolate_path("/external_products/{external_product_id}/external_product_references", external_product_id: external_product_id) post(path, body, Requests::ExternalProductReferenceCreate, **options) end
Create an external product reference on an external product
{developers.recurly.com/api/v2021-02-25#operation/create_external_product_external_product_reference create_external_product_external_product_reference
api documentation}
@param external_product_id [String] External product id @param body [Requests::ExternalProductReferenceCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalProductReferenceCreate} @param params [Hash] Optional query string parameters:
@return [Resources::ExternalProductReferenceMini] Details for the external product reference.
Source
# File lib/recurly/client/operations.rb, line 2427 def create_external_subscription(body:, **options) path = "/external_subscriptions" post(path, body, Requests::ExternalSubscriptionCreate, **options) end
Create an external subscription
{developers.recurly.com/api/v2021-02-25#operation/create_external_subscription create_external_subscription
api documentation}
@param body [Requests::ExternalSubscriptionCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalSubscriptionCreate} @param params [Hash] Optional query string parameters:
@return [Resources::ExternalSubscription] Returns the external subscription
Source
# File lib/recurly/client/operations.rb, line 1869 def create_general_ledger_account(body:, **options) path = "/general_ledger_accounts" post(path, body, Requests::GeneralLedgerAccountCreate, **options) end
Create a new general ledger account
{developers.recurly.com/api/v2021-02-25#operation/create_general_ledger_account create_general_ledger_account
api documentation}
@param body [Requests::GeneralLedgerAccountCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::GeneralLedgerAccountCreate} @param params [Hash] Optional query string parameters:
@return [Resources::GeneralLedgerAccount] A new general ledger account.
Source
# File lib/recurly/client/operations.rb, line 4781 def create_gift_card(body:, **options) path = "/gift_cards" post(path, body, Requests::GiftCardCreate, **options) end
Create gift card
{developers.recurly.com/api/v2021-02-25#operation/create_gift_card create_gift_card
api documentation}
@param body [Requests::GiftCardCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::GiftCardCreate} @param params [Hash] Optional query string parameters:
@return [Resources::GiftCard] Returns the gift card
Source
# File lib/recurly/client/operations.rb, line 962 def create_invoice(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/invoices", account_id: account_id) post(path, body, Requests::InvoiceCreate, **options) end
Create an invoice for pending line items
{developers.recurly.com/api/v2021-02-25#operation/create_invoice create_invoice
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::InvoiceCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceCreate} @param params [Hash] Optional query string parameters:
@return [Resources::InvoiceCollection] Returns the new invoices. @example
begin invoice_create = { currency: 'USD', collection_method: 'automatic' } collection = @client.create_invoice( account_id: account_id, body: invoice_create ) puts "Created InvoiceCollection #{collection}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 2081 def create_item(body:, **options) path = "/items" post(path, body, Requests::ItemCreate, **options) end
Create a new item
{developers.recurly.com/api/v2021-02-25#operation/create_item create_item
api documentation}
@param body [Requests::ItemCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ItemCreate} @param params [Hash] Optional query string parameters:
@return [Resources::Item] A new item. @example
begin item_create = { code: item_code, name: "Item Name", description: "Item Description", external_sku: "a35JE-44", accounting_code: "item-code-127", revenue_schedule_type: "at_range_end", custom_fields: [{ name: "custom-field-1", value: "Custom Field 1 value" }] } item = @client.create_item(body: item_create) puts "Created Item #{item}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 1077 def create_line_item(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/line_items", account_id: account_id) post(path, body, Requests::LineItemCreate, **options) end
Create a new line item for the account
{developers.recurly.com/api/v2021-02-25#operation/create_line_item create_line_item
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::LineItemCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::LineItemCreate} @param params [Hash] Optional query string parameters:
@return [Resources::LineItem] Returns the new line item. @example
begin line_item_create = { currency: 'USD', unit_amount: 1_000, type: :charge } line_item = @client.create_line_item( account_id: account_id, body: line_item_create ) puts "Created LineItem #{line_item}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 2233 def create_measured_unit(body:, **options) path = "/measured_units" post(path, body, Requests::MeasuredUnitCreate, **options) end
Create a new measured unit
{developers.recurly.com/api/v2021-02-25#operation/create_measured_unit create_measured_unit
api documentation}
@param body [Requests::MeasuredUnitCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::MeasuredUnitCreate} @param params [Hash] Optional query string parameters:
@return [Resources::MeasuredUnit] A new measured unit.
Source
# File lib/recurly/client/operations.rb, line 4454 def create_pending_purchase(body:, **options) path = "/purchases/pending" post(path, body, Requests::PurchaseCreate, **options) end
Create a pending purchase
{developers.recurly.com/api/v2021-02-25#operation/create_pending_purchase create_pending_purchase
api documentation}
@param body [Requests::PurchaseCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::PurchaseCreate} @param params [Hash] Optional query string parameters:
@return [Resources::InvoiceCollection] Returns the pending invoice @example
begin purchase = { currency: 'EUR', account: { code: account_code, email: 'benjamin@example.com', billing_info: { first_name: 'Benjamin', last_name: 'Du Monde', online_banking_payment_type: 'ideal' }, }, line_items: [ { currency: 'EUR', unit_amount: 1000, type: 'charge' } ] } invoice_collection = @client.create_pending_purchase(body: purchase) puts "Created ChargeInvoice with UUID: #{invoice_collection.charge_invoice.uuid}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 3131 def create_plan(body:, **options) path = "/plans" post(path, body, Requests::PlanCreate, **options) end
Create a plan
{developers.recurly.com/api/v2021-02-25#operation/create_plan create_plan
api documentation}
@param body [Requests::PlanCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::PlanCreate} @param params [Hash] Optional query string parameters:
@return [Resources::Plan] A plan. @example
begin plan_create = { code: plan_code, name: plan_name, currencies: [ currency: "USD", setup_fee: 1_000 ], add_ons: [ { name: 'Extra User', code: 'extra_user', currencies: [ { currency: 'USD', unit_amount: 10_000 } ] } ] } plan = @client.create_plan(body: plan_create) puts "Created Plan #{plan}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 3289 def create_plan_add_on(plan_id:, body:, **options) path = interpolate_path("/plans/{plan_id}/add_ons", plan_id: plan_id) post(path, body, Requests::AddOnCreate, **options) end
Create an add-on
{developers.recurly.com/api/v2021-02-25#operation/create_plan_add_on create_plan_add_on
api documentation}
@param plan_id [String] Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param body [Requests::AddOnCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AddOnCreate} @param params [Hash] Optional query string parameters:
@return [Resources::AddOn] An add-on. @example
begin new_add_on = { code: 'coffee_grinder', name: 'A quality grinder for your beans', default_quantity: 1, currencies: [ { currency: 'USD', unit_amount: 10_000 } ] } add_on = @client.create_plan_add_on(plan_id: plan_id, body: new_add_on) puts "Created plan add-on #{add_on}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4372 def create_purchase(body:, **options) path = "/purchases" post(path, body, Requests::PurchaseCreate, **options) end
Create a new purchase
{developers.recurly.com/api/v2021-02-25#operation/create_purchase create_purchase
api documentation}
@param body [Requests::PurchaseCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::PurchaseCreate} @param params [Hash] Optional query string parameters:
@return [Resources::InvoiceCollection] Returns the new invoices @example
begin purchase = { currency: "USD", account: { code: account_code, first_name: "Benjamin", last_name: "Du Monde", billing_info: { token_id: rjs_token_id }, }, subscriptions: [ { plan_code: plan_code } ] } invoice_collection = @client.create_purchase( body: purchase ) puts "Created Charge Invoice #{invoice_collection.charge_invoice}" puts "Created Credit Invoices #{invoice_collection.credit_invoices}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 1221 def create_shipping_address(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/shipping_addresses", account_id: account_id) post(path, body, Requests::ShippingAddressCreate, **options) end
Create a new shipping address for the account
{developers.recurly.com/api/v2021-02-25#operation/create_shipping_address create_shipping_address
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::ShippingAddressCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ShippingAddressCreate} @param params [Hash] Optional query string parameters:
@return [Resources::ShippingAddress] Returns the new shipping address. @example
begin shipping_address_create = { nickname: 'Work', street1: '900 Camp St', city: 'New Orleans', region: 'LA', country: 'US', postal_code: '70115', first_name: 'Joanna', last_name: 'Du Monde' } shipping_address = @client.create_shipping_address(account_id: account_id, body: shipping_address_create) puts "Created Shipping Address #{shipping_address}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3506 def create_shipping_method(body:, **options) path = "/shipping_methods" post(path, body, Requests::ShippingMethodCreate, **options) end
Create a new shipping method
{developers.recurly.com/api/v2021-02-25#operation/create_shipping_method create_shipping_method
api documentation}
@param body [Requests::ShippingMethodCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ShippingMethodCreate} @param params [Hash] Optional query string parameters:
@return [Resources::ShippingMethod] A new shipping method.
Source
# File lib/recurly/client/operations.rb, line 3633 def create_subscription(body:, **options) path = "/subscriptions" post(path, body, Requests::SubscriptionCreate, **options) end
Create a new subscription
{developers.recurly.com/api/v2021-02-25#operation/create_subscription create_subscription
api documentation}
@param body [Requests::SubscriptionCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionCreate} @param params [Hash] Optional query string parameters:
@return [Resources::Subscription] A subscription. @example
begin subscription_create = { plan_code: plan_code, currency: "USD", # This can be an existing account or a new account account: { code: account_code, } } subscription = @client.create_subscription( body: subscription_create ) puts "Created Subscription #{subscription}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 3926 def create_subscription_change(subscription_id:, body:, **options) path = interpolate_path("/subscriptions/{subscription_id}/change", subscription_id: subscription_id) post(path, body, Requests::SubscriptionChangeCreate, **options) end
Create a new subscription change
{developers.recurly.com/api/v2021-02-25#operation/create_subscription_change create_subscription_change
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param body [Requests::SubscriptionChangeCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionChangeCreate} @param params [Hash] Optional query string parameters:
@return [Resources::SubscriptionChange] A subscription change. @example
begin change_create = { timeframe: "now", plan_code: new_plan_code } change = @client.create_subscription_change( subscription_id: subscription_id, body: change_create ) puts "Created SubscriptionChange #{change}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 4177 def create_usage(subscription_id:, add_on_id:, body:, **options) path = interpolate_path("/subscriptions/{subscription_id}/add_ons/{add_on_id}/usage", subscription_id: subscription_id, add_on_id: add_on_id) post(path, body, Requests::UsageCreate, **options) end
Log a usage record on this subscription add-on
{developers.recurly.com/api/v2021-02-25#operation/create_usage create_usage
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param body [Requests::UsageCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::UsageCreate} @param params [Hash] Optional query string parameters:
@return [Resources::Usage] The created usage record.
Source
# File lib/recurly/client/operations.rb, line 246 def deactivate_account(account_id:, **options) path = interpolate_path("/accounts/{account_id}", account_id: account_id) delete(path, **options) end
Deactivate an account
{developers.recurly.com/api/v2021-02-25#operation/deactivate_account deactivate_account
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Resources::Account] An account. @example
begin account = @client.deactivate_account(account_id: account_id) puts "Deactivated Account #{account}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 1668 def deactivate_coupon(coupon_id:, **options) path = interpolate_path("/coupons/{coupon_id}", coupon_id: coupon_id) delete(path, **options) end
Expire a coupon
{developers.recurly.com/api/v2021-02-25#operation/deactivate_coupon deactivate_coupon
api documentation}
@param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-10off
. @param params [Hash] Optional query string parameters:
@return [Resources::Coupon] The expired Coupon @example
begin coupon = @client.deactivate_coupon(coupon_id: coupon_id) puts "Deactivated Coupon #{coupon}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 2413 def deactivate_external_product_external_product_reference(external_product_id:, external_product_reference_id:, **options) path = interpolate_path("/external_products/{external_product_id}/external_product_references/{external_product_reference_id}", external_product_id: external_product_id, external_product_reference_id: external_product_reference_id) delete(path, **options) end
Deactivate an external product reference
{developers.recurly.com/api/v2021-02-25#operation/deactivate_external_product_external_product_reference deactivate_external_product_external_product_reference
api documentation}
@param external_product_id [String] External product id @param external_product_reference_id [String] External product reference ID, e.g. d39iun2fw1v4
. @param params [Hash] Optional query string parameters:
@return [Resources::ExternalProductReferenceMini] Details for an external product reference.
Source
# File lib/recurly/client/operations.rb, line 2350 def deactivate_external_products(external_product_id:, **options) path = interpolate_path("/external_products/{external_product_id}", external_product_id: external_product_id) delete(path, **options) end
Deactivate an external product
{developers.recurly.com/api/v2021-02-25#operation/deactivate_external_products deactivate_external_products
api documentation}
@param external_product_id [String] External product id @param params [Hash] Optional query string parameters:
@return [Resources::ExternalProduct] Deactivated external product.
Source
# File lib/recurly/client/operations.rb, line 2158 def deactivate_item(item_id:, **options) path = interpolate_path("/items/{item_id}", item_id: item_id) delete(path, **options) end
Deactivate an item
{developers.recurly.com/api/v2021-02-25#operation/deactivate_item deactivate_item
api documentation}
@param item_id [String] Item ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-red
. @param params [Hash] Optional query string parameters:
@return [Resources::Item] An item. @example
begin item = @client.deactivate_item(item_id: item_id) puts "Deactivated Item #{item}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3549 def deactivate_shipping_method(shipping_method_id:, **options) path = interpolate_path("/shipping_methods/{shipping_method_id}", shipping_method_id: shipping_method_id) delete(path, **options) end
Deactivate a shipping method
{developers.recurly.com/api/v2021-02-25#operation/deactivate_shipping_method deactivate_shipping_method
api documentation}
@param shipping_method_id [String] Shipping Method ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-usps_2-day
. @param params [Hash] Optional query string parameters:
@return [Resources::ShippingMethod] A shipping method.
Source
# File lib/recurly/client/operations.rb, line 4318 def deactivate_unique_coupon_code(unique_coupon_code_id:, **options) path = interpolate_path("/unique_coupon_codes/{unique_coupon_code_id}", unique_coupon_code_id: unique_coupon_code_id) delete(path, **options) end
Deactivate a unique coupon code
{developers.recurly.com/api/v2021-02-25#operation/deactivate_unique_coupon_code deactivate_unique_coupon_code
api documentation}
@param unique_coupon_code_id [String] Unique Coupon Code ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-abc-8dh2-def
. @param params [Hash] Optional query string parameters:
@return [Resources::UniqueCouponCode] A unique coupon code.
Source
# File lib/recurly/client/operations.rb, line 855 def delete_account_external_account(account_id:, external_account_id:, **options) path = interpolate_path("/accounts/{account_id}/external_accounts/{external_account_id}", account_id: account_id, external_account_id: external_account_id) delete(path, **options) end
Delete an external account for an account
{developers.recurly.com/api/v2021-02-25#operation/delete_account_external_account delete_account_external_account
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param external_account_id [String] External account ID, e.g. s28zov4fw0cb
. @param params [Hash] Optional query string parameters:
@return [Resources::ExternalAccount] Successful Delete
Source
# File lib/recurly/client/operations.rb, line 1683 def generate_unique_coupon_codes(coupon_id:, body:, **options) path = interpolate_path("/coupons/{coupon_id}/generate", coupon_id: coupon_id) post(path, body, Requests::CouponBulkCreate, **options) end
Generate unique coupon codes
{developers.recurly.com/api/v2021-02-25#operation/generate_unique_coupon_codes generate_unique_coupon_codes
api documentation}
@param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-10off
. @param body [Requests::CouponBulkCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponBulkCreate} @param params [Hash] Optional query string parameters:
@return [Resources::UniqueCouponCodeParams] A set of parameters that can be passed to the ‘list_unique_coupon_codes` endpoint to obtain only the newly generated `UniqueCouponCodes`.
Source
# File lib/recurly/client/operations.rb, line 556 def get_a_billing_info(account_id:, billing_info_id:, **options) path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}", account_id: account_id, billing_info_id: billing_info_id) get(path, **options) end
Fetch a billing info
{developers.recurly.com/api/v2021-02-25#operation/get_a_billing_info get_a_billing_info
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param billing_info_id [String] Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature. @param params [Hash] Optional query string parameters:
@return [Resources::BillingInfo] A billing info.
Source
# File lib/recurly/client/operations.rb, line 192 def get_account(account_id:, **options) path = interpolate_path("/accounts/{account_id}", account_id: account_id) get(path, **options) end
Fetch an account
{developers.recurly.com/api/v2021-02-25#operation/get_account get_account
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Resources::Account] An account. @example
begin account = @client.get_account(account_id: account_id) puts "Got Account #{account}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 269 def get_account_acquisition(account_id:, **options) path = interpolate_path("/accounts/{account_id}/acquisition", account_id: account_id) get(path, **options) end
Fetch an account’s acquisition data
{developers.recurly.com/api/v2021-02-25#operation/get_account_acquisition get_account_acquisition
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Resources::AccountAcquisition] An account’s acquisition data. @example
begin @client.get_account_acquisition(account_id: account_id) puts "Got AccountAcquisition" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 374 def get_account_balance(account_id:, **options) path = interpolate_path("/accounts/{account_id}/balance", account_id: account_id) get(path, **options) end
Fetch an account’s balance and past due status
{developers.recurly.com/api/v2021-02-25#operation/get_account_balance get_account_balance
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Resources::AccountBalance] An account’s balance. @example
begin balance = @client.get_account_balance(account_id: account_id) puts "Got AccountBalance #{balance}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 824 def get_account_external_account(account_id:, external_account_id:, **options) path = interpolate_path("/accounts/{account_id}/external_accounts/{external_account_id}", account_id: account_id, external_account_id: external_account_id) get(path, **options) end
Get an external account for an account
{developers.recurly.com/api/v2021-02-25#operation/get_account_external_account get_account_external_account
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param external_account_id [String] External account ID, e.g. s28zov4fw0cb
. @param params [Hash] Optional query string parameters:
@return [Resources::ExternalAccount] A external account on an account.
Source
# File lib/recurly/client/operations.rb, line 1138 def get_account_note(account_id:, account_note_id:, **options) path = interpolate_path("/accounts/{account_id}/notes/{account_note_id}", account_id: account_id, account_note_id: account_note_id) get(path, **options) end
Fetch an account note
{developers.recurly.com/api/v2021-02-25#operation/get_account_note get_account_note
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param account_note_id [String] Account Note ID. @param params [Hash] Optional query string parameters:
@return [Resources::AccountNote] An account note. @example
begin note = @client.get_account_note( account_id: account_id, account_note_id: note_id ) puts "Got AccountNote #{note}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3445 def get_add_on(add_on_id:, **options) path = interpolate_path("/add_ons/{add_on_id}", add_on_id: add_on_id) get(path, **options) end
Fetch an add-on
{developers.recurly.com/api/v2021-02-25#operation/get_add_on get_add_on
api documentation}
@param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param params [Hash] Optional query string parameters:
@return [Resources::AddOn] An add-on. @example
begin add_on = @client.get_add_on(add_on_id: add_on_id) puts "Got add-on #{add_on}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 397 def get_billing_info(account_id:, **options) path = interpolate_path("/accounts/{account_id}/billing_info", account_id: account_id) get(path, **options) end
Fetch an account’s billing information
{developers.recurly.com/api/v2021-02-25#operation/get_billing_info get_billing_info
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Resources::BillingInfo] An account’s billing information. @example
begin billing = @client.get_billing_info(account_id: account_id) puts "Got BillingInfo #{billing}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4741 def get_business_entity(business_entity_id:, **options) path = interpolate_path("/business_entities/{business_entity_id}", business_entity_id: business_entity_id) get(path, **options) end
Fetch a business entity
{developers.recurly.com/api/v2021-02-25#operation/get_business_entity get_business_entity
api documentation}
@param business_entity_id [String] Business Entity ID. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-entity1
. @param params [Hash] Optional query string parameters:
@return [Resources::BusinessEntity] Business entity details
Source
# File lib/recurly/client/operations.rb, line 1618 def get_coupon(coupon_id:, **options) path = interpolate_path("/coupons/{coupon_id}", coupon_id: coupon_id) get(path, **options) end
Fetch a coupon
{developers.recurly.com/api/v2021-02-25#operation/get_coupon get_coupon
api documentation}
@param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-10off
. @param params [Hash] Optional query string parameters:
@return [Resources::Coupon] A coupon. @example
begin coupon = @client.get_coupon(coupon_id: coupon_id) puts "Got Coupon #{coupon}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 1784 def get_credit_payment(credit_payment_id:, **options) path = interpolate_path("/credit_payments/{credit_payment_id}", credit_payment_id: credit_payment_id) get(path, **options) end
Fetch a credit payment
{developers.recurly.com/api/v2021-02-25#operation/get_credit_payment get_credit_payment
api documentation}
@param credit_payment_id [String] Credit Payment ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::CreditPayment] A credit payment.
Source
# File lib/recurly/client/operations.rb, line 1855 def get_custom_field_definition(custom_field_definition_id:, **options) path = interpolate_path("/custom_field_definitions/{custom_field_definition_id}", custom_field_definition_id: custom_field_definition_id) get(path, **options) end
Fetch an custom field definition
{developers.recurly.com/api/v2021-02-25#operation/get_custom_field_definition get_custom_field_definition
api documentation}
@param custom_field_definition_id [String] Custom Field Definition ID @param params [Hash] Optional query string parameters:
@return [Resources::CustomFieldDefinition] A custom field definition. @example
begin custom_field_definition = @client.get_custom_field_definition( custom_field_definition_id: custom_field_definition_id ) puts "Got Custom Field Definition #{custom_field_definition}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4576 def get_dunning_campaign(dunning_campaign_id:, **options) path = interpolate_path("/dunning_campaigns/{dunning_campaign_id}", dunning_campaign_id: dunning_campaign_id) get(path, **options) end
Fetch a dunning campaign
{developers.recurly.com/api/v2021-02-25#operation/get_dunning_campaign get_dunning_campaign
api documentation}
@param dunning_campaign_id [String] Dunning Campaign ID, e.g. e28zov4fw0v2
. @param params [Hash] Optional query string parameters:
@return [Resources::DunningCampaign] Settings for a dunning campaign.
Source
# File lib/recurly/client/operations.rb, line 4520 def get_export_dates(**options) path = "/export_dates" get(path, **options) end
List the dates that have an available export to download.
{developers.recurly.com/api/v2021-02-25#operation/get_export_dates get_export_dates
api documentation}
@param params [Hash] Optional query string parameters:
@return [Resources::ExportDates] Returns a list of dates. @example
begin export_dates = @client.get_export_dates() export_dates.dates.each do |date| puts "Exports are available for: #{date}" end rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4545 def get_export_files(export_date:, **options) path = interpolate_path("/export_dates/{export_date}/export_files", export_date: export_date) get(path, **options) end
List of the export files that are available to download.
{developers.recurly.com/api/v2021-02-25#operation/get_export_files get_export_files
api documentation}
@param export_date [String] Date for which to get a list of available automated export files. Date must be in YYYY-MM-DD format. @param params [Hash] Optional query string parameters:
@return [Resources::ExportFiles] Returns a list of export files to download. @example
begin export_files = @client.get_export_files(export_date: export_date) export_files.files.each do |file| puts "Export file download URL: #{file.href}" end rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 2321 def get_external_product(external_product_id:, **options) path = interpolate_path("/external_products/{external_product_id}", external_product_id: external_product_id) get(path, **options) end
Fetch an external product
{developers.recurly.com/api/v2021-02-25#operation/get_external_product get_external_product
api documentation}
@param external_product_id [String] External product id @param params [Hash] Optional query string parameters:
@return [Resources::ExternalProduct] Settings for an external product.
Source
# File lib/recurly/client/operations.rb, line 2398 def get_external_product_external_product_reference(external_product_id:, external_product_reference_id:, **options) path = interpolate_path("/external_products/{external_product_id}/external_product_references/{external_product_reference_id}", external_product_id: external_product_id, external_product_reference_id: external_product_reference_id) get(path, **options) end
Fetch an external product reference
{developers.recurly.com/api/v2021-02-25#operation/get_external_product_external_product_reference get_external_product_external_product_reference
api documentation}
@param external_product_id [String] External product id @param external_product_reference_id [String] External product reference ID, e.g. d39iun2fw1v4
. @param params [Hash] Optional query string parameters:
@return [Resources::ExternalProductReferenceMini] Details for an external product reference.
Source
# File lib/recurly/client/operations.rb, line 2458 def get_external_subscription(external_subscription_id:, **options) path = interpolate_path("/external_subscriptions/{external_subscription_id}", external_subscription_id: external_subscription_id) get(path, **options) end
Fetch an external subscription
{developers.recurly.com/api/v2021-02-25#operation/get_external_subscription get_external_subscription
api documentation}
@param external_subscription_id [String] External subscription ID, external_id or uuid. For ID no prefix is used e.g. e28zov4fw0v2
. For external_id use prefix external-id-
, e.g. external-id-123456
and for uuid use prefix uuid-
e.g. uuid-7293239bae62777d8c1ae044a9843633
. @param params [Hash] Optional query string parameters:
@return [Resources::ExternalSubscription] Settings for an external subscription.
Source
# File lib/recurly/client/operations.rb, line 4690 def get_external_subscription_external_payment_phase(external_subscription_id:, external_payment_phase_id:, **options) path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_payment_phases/{external_payment_phase_id}", external_subscription_id: external_subscription_id, external_payment_phase_id: external_payment_phase_id) get(path, **options) end
Fetch an external payment phase
{developers.recurly.com/api/v2021-02-25#operation/get_external_subscription_external_payment_phase get_external_subscription_external_payment_phase
api documentation}
@param external_subscription_id [String] External subscription id @param external_payment_phase_id [String] External payment phase ID, e.g. a34ypb2ef9w1
. @param params [Hash] Optional query string parameters:
@return [Resources::ExternalPaymentPhase] Details for an external payment phase.
Source
# File lib/recurly/client/operations.rb, line 1915 def get_general_ledger_account(general_ledger_account_id:, **options) path = interpolate_path("/general_ledger_accounts/{general_ledger_account_id}", general_ledger_account_id: general_ledger_account_id) get(path, **options) end
Fetch a general ledger account
{developers.recurly.com/api/v2021-02-25#operation/get_general_ledger_account get_general_ledger_account
api documentation}
@param general_ledger_account_id [String] General Ledger Account ID @param params [Hash] Optional query string parameters:
@return [Resources::GeneralLedgerAccount] A general ledger account.
Source
# File lib/recurly/client/operations.rb, line 4795 def get_gift_card(gift_card_id:, **options) path = interpolate_path("/gift_cards/{gift_card_id}", gift_card_id: gift_card_id) get(path, **options) end
Fetch a gift card
{developers.recurly.com/api/v2021-02-25#operation/get_gift_card get_gift_card
api documentation}
@param gift_card_id [String] Gift Card ID, e.g. e28zov4fw0v2
. @param params [Hash] Optional query string parameters:
@return [Resources::GiftCard] Gift card details
Source
# File lib/recurly/client/operations.rb, line 2583 def get_invoice(invoice_id:, **options) path = interpolate_path("/invoices/{invoice_id}", invoice_id: invoice_id) get(path, **options) end
Fetch an invoice
{developers.recurly.com/api/v2021-02-25#operation/get_invoice get_invoice
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param params [Hash] Optional query string parameters:
@return [Resources::Invoice] An invoice. @example
begin invoice = @client.get_invoice(invoice_id: invoice_id) puts "Got invoice #{invoice}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 2637 def get_invoice_pdf(invoice_id:, **options) path = interpolate_path("/invoices/{invoice_id}.pdf", invoice_id: invoice_id) get(path, **options) end
Fetch an invoice as a PDF
{developers.recurly.com/api/v2021-02-25#operation/get_invoice_pdf get_invoice_pdf
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param params [Hash] Optional query string parameters:
@return [Resources::BinaryFile] An invoice as a PDF. @example
begin invoice = @client.get_invoice_pdf(invoice_id: invoice_id) puts "Got invoice #{invoice}" filename = "#{download_directory}/rubyinvoice-#{invoice_id}.pdf" IO.write(filename, invoice.data) puts "Saved Invoice PDF to #{filename}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4622 def get_invoice_template(invoice_template_id:, **options) path = interpolate_path("/invoice_templates/{invoice_template_id}", invoice_template_id: invoice_template_id) get(path, **options) end
Fetch an invoice template
{developers.recurly.com/api/v2021-02-25#operation/get_invoice_template get_invoice_template
api documentation}
@param invoice_template_id [String] Invoice template ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Resources::InvoiceTemplate] Settings for an invoice template.
Source
# File lib/recurly/client/operations.rb, line 2104 def get_item(item_id:, **options) path = interpolate_path("/items/{item_id}", item_id: item_id) get(path, **options) end
Fetch an item
{developers.recurly.com/api/v2021-02-25#operation/get_item get_item
api documentation}
@param item_id [String] Item ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-red
. @param params [Hash] Optional query string parameters:
@return [Resources::Item] An item. @example
begin item = @client.get_item(item_id: item_id) puts "Got Item #{item}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3020 def get_line_item(line_item_id:, **options) path = interpolate_path("/line_items/{line_item_id}", line_item_id: line_item_id) get(path, **options) end
Fetch a line item
{developers.recurly.com/api/v2021-02-25#operation/get_line_item get_line_item
api documentation}
@param line_item_id [String] Line Item ID. @param params [Hash] Optional query string parameters:
@return [Resources::LineItem] A line item. @example
begin line_item = @client.get_line_item(line_item_id: line_item_id) puts "Got LineItem #{line_item}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 2247 def get_measured_unit(measured_unit_id:, **options) path = interpolate_path("/measured_units/{measured_unit_id}", measured_unit_id: measured_unit_id) get(path, **options) end
Fetch a measured unit
{developers.recurly.com/api/v2021-02-25#operation/get_measured_unit get_measured_unit
api documentation}
@param measured_unit_id [String] Measured unit ID or name. For ID no prefix is used e.g. e28zov4fw0v2
. For name use prefix name-
, e.g. name-Storage
. @param params [Hash] Optional query string parameters:
@return [Resources::MeasuredUnit] An item.
Source
# File lib/recurly/client/operations.rb, line 1944 def get_performance_obligation(performance_obligation_id:, **options) path = interpolate_path("/performance_obligations/{performance_obligation_id}", performance_obligation_id: performance_obligation_id) get(path, **options) end
Get a single Performance Obligation.
{developers.recurly.com/api/v2021-02-25#operation/get_performance_obligation get_performance_obligation
api documentation}
@param performance_obligation_id [String] Performance Obligation id. @param params [Hash] Optional query string parameters:
@return [Resources::PerformanceObligation] A single Performance Obligation.
Source
# File lib/recurly/client/operations.rb, line 1957 def get_performance_obligations(**options) path = "/performance_obligations" pager(path, **options) end
Get a site’s Performance Obligations
{developers.recurly.com/api/v2021-02-25#operation/get_performance_obligations get_performance_obligations
api documentation}
@param params [Hash] Optional query string parameters:
@return [Pager<Resources::PerformanceObligation>] A list of Performance Obligations.
Source
# File lib/recurly/client/operations.rb, line 3154 def get_plan(plan_id:, **options) path = interpolate_path("/plans/{plan_id}", plan_id: plan_id) get(path, **options) end
Fetch a plan
{developers.recurly.com/api/v2021-02-25#operation/get_plan get_plan
api documentation}
@param plan_id [String] Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param params [Hash] Optional query string parameters:
@return [Resources::Plan] A plan. @example
begin plan = @client.get_plan(plan_id: plan_id) puts "Got plan #{plan}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3315 def get_plan_add_on(plan_id:, add_on_id:, **options) path = interpolate_path("/plans/{plan_id}/add_ons/{add_on_id}", plan_id: plan_id, add_on_id: add_on_id) get(path, **options) end
Fetch a plan’s add-on
{developers.recurly.com/api/v2021-02-25#operation/get_plan_add_on get_plan_add_on
api documentation}
@param plan_id [String] Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param params [Hash] Optional query string parameters:
@return [Resources::AddOn] An add-on. @example
begin add_on = @client.get_plan_add_on( plan_id: plan_id, add_on_id: add_on_id ) puts "Got plan add-on #{add_on}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3870 def get_preview_renewal(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/preview_renewal", subscription_id: subscription_id) get(path, **options) end
Fetch a preview of a subscription’s renewal invoice(s)
{developers.recurly.com/api/v2021-02-25#operation/get_preview_renewal get_preview_renewal
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::InvoiceCollection] A preview of the subscription’s renewal invoice(s). @example
begin invoice_collection = @client.get_preview_renewal( subscription_id: subscription_id ) puts "Fetched Renewal Preview with total: #{invoice_collection.charge_invoice.total}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 1248 def get_shipping_address(account_id:, shipping_address_id:, **options) path = interpolate_path("/accounts/{account_id}/shipping_addresses/{shipping_address_id}", account_id: account_id, shipping_address_id: shipping_address_id) get(path, **options) end
Fetch an account’s shipping address
{developers.recurly.com/api/v2021-02-25#operation/get_shipping_address get_shipping_address
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param shipping_address_id [String] Shipping Address ID. @param params [Hash] Optional query string parameters:
@return [Resources::ShippingAddress] A shipping address. @example
begin address = @client.get_shipping_address( account_id: account_id, shipping_address_id: shipping_address_id ) puts "Got ShippingAddress #{address}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3520 def get_shipping_method(shipping_method_id:, **options) path = interpolate_path("/shipping_methods/{shipping_method_id}", shipping_method_id: shipping_method_id) get(path, **options) end
Fetch a shipping method
{developers.recurly.com/api/v2021-02-25#operation/get_shipping_method get_shipping_method
api documentation}
@param shipping_method_id [String] Shipping Method ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-usps_2-day
. @param params [Hash] Optional query string parameters:
@return [Resources::ShippingMethod] A shipping method.
Source
# File lib/recurly/client/operations.rb, line 69 def get_site(site_id:, **options) path = interpolate_path("/sites/{site_id}", site_id: site_id) get(path, **options) end
Fetch a site
{developers.recurly.com/api/v2021-02-25#operation/get_site get_site
api documentation}
@param site_id
[String] Site ID or subdomain. For ID no prefix is used e.g. e28zov4fw0v2
. For subdomain use prefix subdomain-
, e.g. subdomain-recurly
. @param params [Hash] Optional query string parameters:
@return [Resources::Site] A site. @example
begin site = @client.get_site(site_id: site_id) puts "Got Site #{site}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3658 def get_subscription(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}", subscription_id: subscription_id) get(path, **options) end
Fetch a subscription
{developers.recurly.com/api/v2021-02-25#operation/get_subscription get_subscription
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::Subscription] A subscription. @example
begin subscription = @client.get_subscription( subscription_id: subscription_id ) puts "Got Subscription #{subscription}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3895 def get_subscription_change(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/change", subscription_id: subscription_id) get(path, **options) end
Fetch a subscription’s pending change
{developers.recurly.com/api/v2021-02-25#operation/get_subscription_change get_subscription_change
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::SubscriptionChange] A subscription’s pending change. @example
begin change = @client.get_subscription_change( subscription_id: subscription_id ) puts "Got SubscriptionChange #{change}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4290 def get_transaction(transaction_id:, **options) path = interpolate_path("/transactions/{transaction_id}", transaction_id: transaction_id) get(path, **options) end
Fetch a transaction
{developers.recurly.com/api/v2021-02-25#operation/get_transaction get_transaction
api documentation}
@param transaction_id [String] Transaction ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::Transaction] A transaction. @example
begin transaction = @client.get_transaction(transaction_id: transaction_id) puts "Got Transaction #{transaction}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4304 def get_unique_coupon_code(unique_coupon_code_id:, **options) path = interpolate_path("/unique_coupon_codes/{unique_coupon_code_id}", unique_coupon_code_id: unique_coupon_code_id) get(path, **options) end
Fetch a unique coupon code
{developers.recurly.com/api/v2021-02-25#operation/get_unique_coupon_code get_unique_coupon_code
api documentation}
@param unique_coupon_code_id [String] Unique Coupon Code ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-abc-8dh2-def
. @param params [Hash] Optional query string parameters:
@return [Resources::UniqueCouponCode] A unique coupon code.
Source
# File lib/recurly/client/operations.rb, line 4191 def get_usage(usage_id:, **options) path = interpolate_path("/usage/{usage_id}", usage_id: usage_id) get(path, **options) end
Get a usage record
{developers.recurly.com/api/v2021-02-25#operation/get_usage get_usage
api documentation}
@param usage_id [String] Usage Record ID. @param params [Hash] Optional query string parameters:
@return [Resources::Usage] The usage record.
Source
# File lib/recurly/client/operations.rb, line 1514 def list_account_acquisition(**options) path = "/acquisitions" pager(path, **options) end
List a site’s account acquisition data
{developers.recurly.com/api/v2021-02-25#operation/list_account_acquisition list_account_acquisition
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
@return [Pager<Resources::AccountAcquisition>] A list of the site’s account acquisition data. @example
params = { limit: 200 } acquisitions = @client.list_account_acquisition(params: params) acquisitions.each do |acquisition| puts "AccountAcquisition: #{acquisition.cost}" end
Source
# File lib/recurly/client/operations.rb, line 667 def list_account_coupon_redemptions(account_id:, **options) path = interpolate_path("/accounts/{account_id}/coupon_redemptions", account_id: account_id) pager(path, **options) end
List the coupon redemptions for an account
{developers.recurly.com/api/v2021-02-25#operation/list_account_coupon_redemptions list_account_coupon_redemptions
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :state [String] Filter by state.
@return [Pager<Resources::CouponRedemption>] A list of the the coupon redemptions on an account. @example
params = { limit: 200 } redemptions = @client.list_account_coupon_redemptions( account_id: account_id, params: params ) redemptions.each do |redemption| puts "CouponRedemption: #{redemption.id}" end
Source
# File lib/recurly/client/operations.rb, line 780 def list_account_credit_payments(account_id:, **options) path = interpolate_path("/accounts/{account_id}/credit_payments", account_id: account_id) pager(path, **options) end
List an account’s credit payments
{developers.recurly.com/api/v2021-02-25#operation/list_account_credit_payments list_account_credit_payments
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
@return [Pager<Resources::CreditPayment>] A list of the account’s credit payments. @example
params = { limit: 200 } payments = @client.list_account_credit_payments( account_id: account_id, params: params ) payments.each do |payment| puts "CreditPayment: #{payment.id}" end
Source
# File lib/recurly/client/operations.rb, line 794 def list_account_external_account(account_id:, **options) path = interpolate_path("/accounts/{account_id}/external_accounts", account_id: account_id) pager(path, **options) end
List external accounts for an account
{developers.recurly.com/api/v2021-02-25#operation/list_account_external_account list_account_external_account
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Pager<Resources::ExternalAccount>] A list of external accounts on an account.
Source
# File lib/recurly/client/operations.rb, line 875 def list_account_external_invoices(account_id:, **options) path = interpolate_path("/accounts/{account_id}/external_invoices", account_id: account_id) pager(path, **options) end
List the external invoices on an account
{developers.recurly.com/api/v2021-02-25#operation/list_account_external_invoices list_account_external_invoices
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :limit [Integer] Limit number of records 1-200. :order [String] Sort order.
@return [Pager<Resources::ExternalInvoice>] A list of the the external_invoices on an account.
Source
# File lib/recurly/client/operations.rb, line 4727 def list_account_external_subscriptions(account_id:, **options) path = interpolate_path("/accounts/{account_id}/external_subscriptions", account_id: account_id) pager(path, **options) end
List an account’s external subscriptions
{developers.recurly.com/api/v2021-02-25#operation/list_account_external_subscriptions list_account_external_subscriptions
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned.
@return [Pager<Resources::ExternalSubscription>] A list of the the external_subscriptions on an account.
Source
# File lib/recurly/client/operations.rb, line 931 def list_account_invoices(account_id:, **options) path = interpolate_path("/accounts/{account_id}/invoices", account_id: account_id) pager(path, **options) end
List an account’s invoices
{developers.recurly.com/api/v2021-02-25#operation/list_account_invoices list_account_invoices
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :state [String] Invoice state. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :type [String] Filter by type when: - +type=charge+, only charge invoices will be returned. - +type=credit+, only credit invoices will be returned. - +type=non-legacy+, only charge and credit invoices will be returned. - +type=legacy+, only legacy invoices will be returned.
@return [Pager<Resources::Invoice>] A list of the account’s invoices. @example
params = { limit: 200 } invoices = @client.list_account_invoices( account_id: account_id, params: params ) invoices.each do |invoice| puts "Invoice: #{invoice.number}" end
Source
# File lib/recurly/client/operations.rb, line 1045 def list_account_line_items(account_id:, **options) path = interpolate_path("/accounts/{account_id}/line_items", account_id: account_id) pager(path, **options) end
List an account’s line items
{developers.recurly.com/api/v2021-02-25#operation/list_account_line_items list_account_line_items
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :original [String] Filter by original field. :state [String] Filter by state field. :type [String] Filter by type field.
@return [Pager<Resources::LineItem>] A list of the account’s line items. @example
params = { limit: 200 } line_items = @client.list_account_line_items( account_id: account_id, params: params ) line_items.each do |line_item| puts "LineItem: #{line_item.id}" end
Source
# File lib/recurly/client/operations.rb, line 1111 def list_account_notes(account_id:, **options) path = interpolate_path("/accounts/{account_id}/notes", account_id: account_id) pager(path, **options) end
List an account’s notes
{developers.recurly.com/api/v2021-02-25#operation/list_account_notes list_account_notes
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself.
@return [Pager<Resources::AccountNote>] A list of an account’s notes. @example
params = { limit: 200 } account_notes = @client.list_account_notes(account_id: account_id, params: params) account_notes.each do |note| puts "AccountNote: #{note.message}" end
Source
# File lib/recurly/client/operations.rb, line 1364 def list_account_subscriptions(account_id:, **options) path = interpolate_path("/accounts/{account_id}/subscriptions", account_id: account_id) pager(path, **options) end
List an account’s subscriptions
{developers.recurly.com/api/v2021-02-25#operation/list_account_subscriptions list_account_subscriptions
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :state [String] Filter by state. - When +state=active+, +state=canceled+, +state=expired+, or +state=future+, subscriptions with states that match the query and only those subscriptions will be returned. - When +state=in_trial+, only subscriptions that have a trial_started_at date earlier than now and a trial_ends_at date later than now will be returned. - When +state=live+, only subscriptions that are in an active, canceled, or future state or are in trial will be returned.
@return [Pager<Resources::Subscription>] A list of the account’s subscriptions. @example
params = { limit: 200 } subscriptions = @client.list_account_subscriptions( account_id: account_id, params: params ) subscriptions.each do |subscription| puts "Subscription: #{subscription.uuid}" end
Source
# File lib/recurly/client/operations.rb, line 1415 def list_account_transactions(account_id:, **options) path = interpolate_path("/accounts/{account_id}/transactions", account_id: account_id) pager(path, **options) end
List an account’s transactions
{developers.recurly.com/api/v2021-02-25#operation/list_account_transactions list_account_transactions
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :type [String] Filter by type field. The value +payment+ will return both +purchase+ and +capture+ transactions. :success [String] Filter by success field.
@return [Pager<Resources::Transaction>] A list of the account’s transactions. @example
params = { limit: 200 } transactions = @client.list_account_transactions( account_id: account_id, params: params ) transactions.each do |transaction| puts "Transaction: #{transaction.uuid}" end
Source
# File lib/recurly/client/operations.rb, line 119 def list_accounts(**options) path = "/accounts" pager(path, **options) end
List a site’s accounts
{developers.recurly.com/api/v2021-02-25#operation/list_accounts list_accounts
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :email [String] Filter for accounts with this exact email address. A blank value will return accounts with both +null+ and +""+ email addresses. Note that multiple accounts can share one email address. :subscriber [Boolean] Filter for accounts with or without a subscription in the +active+, +canceled+, or +future+ state. :past_due [String] Filter for accounts with an invoice in the +past_due+ state.
@return [Pager<Resources::Account>] A list of the site’s accounts. @example
params = { limit: 200 } accounts = @client.list_accounts(params: params) accounts.each do |account| puts "Account: #{account.code}" end
Source
# File lib/recurly/client/operations.rb, line 689 def list_active_coupon_redemptions(account_id:, **options) path = interpolate_path("/accounts/{account_id}/coupon_redemptions/active", account_id: account_id) pager(path, **options) end
List the coupon redemptions that are active on an account
{developers.recurly.com/api/v2021-02-25#operation/list_active_coupon_redemptions list_active_coupon_redemptions
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Pager<Resources::CouponRedemption>] Active coupon redemptions on an account. @example
params = { limit: 200 } redemptions = @client.list_active_coupon_redemptions(account_id: account_id, params: params) redemptions.each do |redemption| puts "Redemption: #{redemption.id}" end
Source
# File lib/recurly/client/operations.rb, line 3422 def list_add_ons(**options) path = "/add_ons" pager(path, **options) end
List a site’s add-ons
{developers.recurly.com/api/v2021-02-25#operation/list_add_ons list_add_ons
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :state [String] Filter by state.
@return [Pager<Resources::AddOn>] A list of add-ons. @example
params = { limit: 200 } add_ons = @client.list_add_ons( params: params ) add_ons.each do |add_on| puts "AddOn: #{add_on.code}" end
Source
# File lib/recurly/client/operations.rb, line 526 def list_billing_infos(account_id:, **options) path = interpolate_path("/accounts/{account_id}/billing_infos", account_id: account_id) pager(path, **options) end
Get the list of billing information associated with an account
{developers.recurly.com/api/v2021-02-25#operation/list_billing_infos list_billing_infos
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
@return [Pager<Resources::BillingInfo>] A list of the the billing information for an account’s
Source
# File lib/recurly/client/operations.rb, line 4754 def list_business_entities(**options) path = "/business_entities" pager(path, **options) end
List business entities
{developers.recurly.com/api/v2021-02-25#operation/list_business_entities list_business_entities
api documentation}
@param params [Hash] Optional query string parameters:
@return [Pager<Resources::BusinessEntity>] List of all business entities on your site.
Source
# File lib/recurly/client/operations.rb, line 4869 def list_business_entity_invoices(business_entity_id:, **options) path = interpolate_path("/business_entities/{business_entity_id}/invoices", business_entity_id: business_entity_id) pager(path, **options) end
List a business entity’s invoices
{developers.recurly.com/api/v2021-02-25#operation/list_business_entity_invoices list_business_entity_invoices
api documentation}
@param business_entity_id [String] Business Entity ID. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-entity1
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :state [String] Invoice state. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :type [String] Filter by type when: - +type=charge+, only charge invoices will be returned. - +type=credit+, only credit invoices will be returned. - +type=non-legacy+, only charge and credit invoices will be returned. - +type=legacy+, only legacy invoices will be returned.
@return [Pager<Resources::Invoice>] A list of the business entity’s invoices.
Source
# File lib/recurly/client/operations.rb, line 1469 def list_child_accounts(account_id:, **options) path = interpolate_path("/accounts/{account_id}/accounts", account_id: account_id) pager(path, **options) end
List an account’s child accounts
{developers.recurly.com/api/v2021-02-25#operation/list_child_accounts list_child_accounts
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :email [String] Filter for accounts with this exact email address. A blank value will return accounts with both +null+ and +""+ email addresses. Note that multiple accounts can share one email address. :subscriber [Boolean] Filter for accounts with or without a subscription in the +active+, +canceled+, or +future+ state. :past_due [String] Filter for accounts with an invoice in the +past_due+ state.
@return [Pager<Resources::Account>] A list of an account’s child accounts. @example
params = { limit: 200 } child_accounts = @client.list_child_accounts( account_id: account_id, params: params ) child_accounts.each do |child| puts "Account: #{child.code}" end
Source
# File lib/recurly/client/operations.rb, line 1559 def list_coupons(**options) path = "/coupons" pager(path, **options) end
List a site’s coupons
{developers.recurly.com/api/v2021-02-25#operation/list_coupons list_coupons
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
@return [Pager<Resources::Coupon>] A list of the site’s coupons. @example
params = { limit: 200 } coupons = @client.list_coupons(params: params) coupons.each do |coupon| puts "coupon: #{coupon.code}" end
Source
# File lib/recurly/client/operations.rb, line 1770 def list_credit_payments(**options) path = "/credit_payments" pager(path, **options) end
List a site’s credit payments
{developers.recurly.com/api/v2021-02-25#operation/list_credit_payments list_credit_payments
api documentation}
@param params [Hash] Optional query string parameters:
:limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
@return [Pager<Resources::CreditPayment>] A list of the site’s credit payments. @example
params = { limit: 200 } payments = @client.list_credit_payments(params: params) payments.each do |payment| puts "CreditPayment: #{payment.id}" end
Source
# File lib/recurly/client/operations.rb, line 1830 def list_custom_field_definitions(**options) path = "/custom_field_definitions" pager(path, **options) end
List a site’s custom field definitions
{developers.recurly.com/api/v2021-02-25#operation/list_custom_field_definitions list_custom_field_definitions
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :related_type [String] Filter by related type.
@return [Pager<Resources::CustomFieldDefinition>] A list of the site’s custom field definitions. @example
params = { limit: 200 } custom_fields = @client.list_custom_field_definitions(params: params) custom_fields.each do |field| puts "CustomFieldDefinition: #{field.name}" end
Source
# File lib/recurly/client/operations.rb, line 4562 def list_dunning_campaigns(**options) path = "/dunning_campaigns" pager(path, **options) end
List the dunning campaigns for a site
{developers.recurly.com/api/v2021-02-25#operation/list_dunning_campaigns list_dunning_campaigns
api documentation}
@param params [Hash] Optional query string parameters:
:sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned.
@return [Pager<Resources::DunningCampaign>] A list of the the dunning_campaigns on an account.
Source
# File lib/recurly/client/operations.rb, line 4709 def list_entitlements(account_id:, **options) path = interpolate_path("/accounts/{account_id}/entitlements", account_id: account_id) pager(path, **options) end
List entitlements granted to an account
{developers.recurly.com/api/v2021-02-25#operation/list_entitlements list_entitlements
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:state [String] Filter the entitlements based on the state of the applicable subscription. - When +state=active+, +state=canceled+, +state=expired+, or +state=future+, subscriptions with states that match the query and only those subscriptions will be returned. - When no state is provided, subscriptions with active or canceled states will be returned.
@return [Pager<Resources::Entitlements>] A list of the entitlements granted to an account.
Source
# File lib/recurly/client/operations.rb, line 4641 def list_external_invoices(**options) path = "/external_invoices" pager(path, **options) end
List the external invoices on a site
{developers.recurly.com/api/v2021-02-25#operation/list_external_invoices list_external_invoices
api documentation}
@param params [Hash] Optional query string parameters:
:sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :limit [Integer] Limit number of records 1-200. :order [String] Sort order.
@return [Pager<Resources::ExternalInvoice>] A list of the the external_invoices on a site.
Source
# File lib/recurly/client/operations.rb, line 2368 def list_external_product_external_product_references(external_product_id:, **options) path = interpolate_path("/external_products/{external_product_id}/external_product_references", external_product_id: external_product_id) pager(path, **options) end
List the external product references for an external product
{developers.recurly.com/api/v2021-02-25#operation/list_external_product_external_product_references list_external_product_external_product_references
api documentation}
@param external_product_id [String] External product id @param params [Hash] Optional query string parameters:
:sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned.
@return [Pager<Resources::ExternalProductReferenceCollection>] A list of the the external product references for an external product.
Source
# File lib/recurly/client/operations.rb, line 2293 def list_external_products(**options) path = "/external_products" pager(path, **options) end
List a site’s external products
{developers.recurly.com/api/v2021-02-25#operation/list_external_products list_external_products
api documentation}
@param params [Hash] Optional query string parameters:
:sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned.
@return [Pager<Resources::ExternalProduct>] A list of the the external_products on a site.
Source
# File lib/recurly/client/operations.rb, line 2493 def list_external_subscription_external_invoices(external_subscription_id:, **options) path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_invoices", external_subscription_id: external_subscription_id) pager(path, **options) end
List the external invoices on an external subscription
{developers.recurly.com/api/v2021-02-25#operation/list_external_subscription_external_invoices list_external_subscription_external_invoices
api documentation}
@param external_subscription_id [String] External subscription id @param params [Hash] Optional query string parameters:
:sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :limit [Integer] Limit number of records 1-200. :order [String] Sort order.
@return [Pager<Resources::ExternalInvoice>] A list of the the external_invoices on a site.
Source
# File lib/recurly/client/operations.rb, line 4675 def list_external_subscription_external_payment_phases(external_subscription_id:, **options) path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_payment_phases", external_subscription_id: external_subscription_id) pager(path, **options) end
List the external payment phases on an external subscription
{developers.recurly.com/api/v2021-02-25#operation/list_external_subscription_external_payment_phases list_external_subscription_external_payment_phases
api documentation}
@param external_subscription_id [String] External subscription id @param params [Hash] Optional query string parameters:
:sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :limit [Integer] Limit number of records 1-200. :order [String] Sort order.
@return [Pager<Resources::ExternalPaymentPhase>] A list of the the external_payment_phases on a site.
Source
# File lib/recurly/client/operations.rb, line 2444 def list_external_subscriptions(**options) path = "/external_subscriptions" pager(path, **options) end
List the external subscriptions on a site
{developers.recurly.com/api/v2021-02-25#operation/list_external_subscriptions list_external_subscriptions
api documentation}
@param params [Hash] Optional query string parameters:
:sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned.
@return [Pager<Resources::ExternalSubscription>] A list of the the external_subscriptions on a site.
Source
# File lib/recurly/client/operations.rb, line 1901 def list_general_ledger_accounts(**options) path = "/general_ledger_accounts" pager(path, **options) end
List a site’s general ledger accounts
{developers.recurly.com/api/v2021-02-25#operation/list_general_ledger_accounts list_general_ledger_accounts
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :account_type [String] General Ledger Account type by which to filter the response.
@return [Pager<Resources::GeneralLedgerAccount>] A list of the site’s general ledger accounts.
Source
# File lib/recurly/client/operations.rb, line 4767 def list_gift_cards(**options) path = "/gift_cards" pager(path, **options) end
List gift cards
{developers.recurly.com/api/v2021-02-25#operation/list_gift_cards list_gift_cards
api documentation}
@param params [Hash] Optional query string parameters:
@return [Pager<Resources::GiftCard>] List of all created gift cards on your site.
Source
# File lib/recurly/client/operations.rb, line 2891 def list_invoice_coupon_redemptions(invoice_id:, **options) path = interpolate_path("/invoices/{invoice_id}/coupon_redemptions", invoice_id: invoice_id) pager(path, **options) end
List the coupon redemptions applied to an invoice
{developers.recurly.com/api/v2021-02-25#operation/list_invoice_coupon_redemptions list_invoice_coupon_redemptions
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
@return [Pager<Resources::CouponRedemption>] A list of the the coupon redemptions associated with the invoice. @example
params = { limit: 200 } coupon_redemptions = @client.list_invoice_coupon_redemptions( invoice_id: invoice_id, params: params ) coupon_redemptions.each do |redemption| puts "CouponRedemption: #{redemption.id}" end
Source
# File lib/recurly/client/operations.rb, line 2844 def list_invoice_line_items(invoice_id:, **options) path = interpolate_path("/invoices/{invoice_id}/line_items", invoice_id: invoice_id) pager(path, **options) end
List an invoice’s line items
{developers.recurly.com/api/v2021-02-25#operation/list_invoice_line_items list_invoice_line_items
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :original [String] Filter by original field. :state [String] Filter by state field. :type [String] Filter by type field.
@return [Pager<Resources::LineItem>] A list of the invoice’s line items. @example
params = { limit: 200 } line_items = @client.list_invoice_line_items( invoice_id: invoice_id, params: params ) line_items.each do |line_item| puts "Line Item: #{line_item.id}" end
Source
# File lib/recurly/client/operations.rb, line 2000 def list_invoice_template_accounts(invoice_template_id:, **options) path = interpolate_path("/invoice_templates/{invoice_template_id}/accounts", invoice_template_id: invoice_template_id) pager(path, **options) end
List an invoice template’s associated accounts
{developers.recurly.com/api/v2021-02-25#operation/list_invoice_template_accounts list_invoice_template_accounts
api documentation}
@param invoice_template_id [String] Invoice template ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :email [String] Filter for accounts with this exact email address. A blank value will return accounts with both +null+ and +""+ email addresses. Note that multiple accounts can share one email address. :subscriber [Boolean] Filter for accounts with or without a subscription in the +active+, +canceled+, or +future+ state. :past_due [String] Filter for accounts with an invoice in the +past_due+ state.
@return [Pager<Resources::Account>] A list of an invoice template’s associated accounts.
Source
# File lib/recurly/client/operations.rb, line 4608 def list_invoice_templates(**options) path = "/invoice_templates" pager(path, **options) end
Show the invoice templates for a site
{developers.recurly.com/api/v2021-02-25#operation/list_invoice_templates list_invoice_templates
api documentation}
@param params [Hash] Optional query string parameters:
:sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned.
@return [Pager<Resources::InvoiceTemplate>] A list of the the invoice templates on a site.
Source
# File lib/recurly/client/operations.rb, line 2560 def list_invoices(**options) path = "/invoices" pager(path, **options) end
List a site’s invoices
{developers.recurly.com/api/v2021-02-25#operation/list_invoices list_invoices
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :state [String] Invoice state. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :type [String] Filter by type when: - +type=charge+, only charge invoices will be returned. - +type=credit+, only credit invoices will be returned. - +type=non-legacy+, only charge and credit invoices will be returned. - +type=legacy+, only legacy invoices will be returned.
@return [Pager<Resources::Invoice>] A list of the site’s invoices. @example
params = { limit: 200 } invoices = @client.list_invoices(params: params) invoices.each do |invoice| puts "Invoice: #{invoice.number}" end
Source
# File lib/recurly/client/operations.rb, line 2046 def list_items(**options) path = "/items" pager(path, **options) end
List a site’s items
{developers.recurly.com/api/v2021-02-25#operation/list_items list_items
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :state [String] Filter by state.
@return [Pager<Resources::Item>] A list of the site’s items. @example
params = { limit: 200 } items = @client.list_items(params: params) items.each do |item| puts "Item: #{item.code}" end
Source
# File lib/recurly/client/operations.rb, line 2997 def list_line_items(**options) path = "/line_items" pager(path, **options) end
List a site’s line items
{developers.recurly.com/api/v2021-02-25#operation/list_line_items list_line_items
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :original [String] Filter by original field. :state [String] Filter by state field. :type [String] Filter by type field.
@return [Pager<Resources::LineItem>] A list of the site’s line items. @example
params = { limit: 200 } line_items = @client.list_line_items( params: params ) line_items.each do |line_item| puts "LineItem: #{line_item.id}" end
Source
# File lib/recurly/client/operations.rb, line 2219 def list_measured_unit(**options) path = "/measured_units" pager(path, **options) end
List a site’s measured units
{developers.recurly.com/api/v2021-02-25#operation/list_measured_unit list_measured_unit
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :state [String] Filter by state.
@return [Pager<Resources::MeasuredUnit>] A list of the site’s measured units.
Source
# File lib/recurly/client/operations.rb, line 3254 def list_plan_add_ons(plan_id:, **options) path = interpolate_path("/plans/{plan_id}/add_ons", plan_id: plan_id) pager(path, **options) end
List a plan’s add-ons
{developers.recurly.com/api/v2021-02-25#operation/list_plan_add_ons list_plan_add_ons
api documentation}
@param plan_id [String] Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :state [String] Filter by state.
@return [Pager<Resources::AddOn>] A list of add-ons. @example
params = { limit: 200 } add_ons = @client.list_plan_add_ons( plan_id: plan_id, params: params ) add_ons.each do |add_on| puts "AddOn: #{add_on.code}" end
Source
# File lib/recurly/client/operations.rb, line 3091 def list_plans(**options) path = "/plans" pager(path, **options) end
List a site’s plans
{developers.recurly.com/api/v2021-02-25#operation/list_plans list_plans
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :state [String] Filter by state.
@return [Pager<Resources::Plan>] A list of plans. @example
params = { limit: 200 } plans = @client.list_plans(params: params) plans.each do |plan| puts "Plan: #{plan.code}" end
Source
# File lib/recurly/client/operations.rb, line 1187 def list_shipping_addresses(account_id:, **options) path = interpolate_path("/accounts/{account_id}/shipping_addresses", account_id: account_id) pager(path, **options) end
Fetch a list of an account’s shipping addresses
{developers.recurly.com/api/v2021-02-25#operation/list_shipping_addresses list_shipping_addresses
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
@return [Pager<Resources::ShippingAddress>] A list of an account’s shipping addresses. @example
params = { limit: 200 } shipping_addresses = @client.list_shipping_addresses( account_id: account_id, params: params ) shipping_addresses.each do |addr| puts "ShippingAddress: #{addr.nickname} - #{addr.street1}" end
Source
# File lib/recurly/client/operations.rb, line 3492 def list_shipping_methods(**options) path = "/shipping_methods" pager(path, **options) end
List a site’s shipping methods
{developers.recurly.com/api/v2021-02-25#operation/list_shipping_methods list_shipping_methods
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
@return [Pager<Resources::ShippingMethod>] A list of the site’s shipping methods. @example
params = { limit: 200 } shipping_methods = @client.list_shipping_methods( params: params ) shipping_methods.each do |shipping_method| puts "Shipping Method: #{shipping_method.code}" end
Source
# File lib/recurly/client/operations.rb, line 46 def list_sites(**options) path = "/sites" pager(path, **options) end
List sites
{developers.recurly.com/api/v2021-02-25#operation/list_sites list_sites
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :state [String] Filter by state.
@return [Pager<Resources::Site>] A list of sites. @example
params = { limit: 200 } sites = @client.list_sites(params: params) sites.each do |site| puts "Site: #{site.subdomain}" end
Source
# File lib/recurly/client/operations.rb, line 4121 def list_subscription_coupon_redemptions(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/coupon_redemptions", subscription_id: subscription_id) pager(path, **options) end
List the coupon redemptions for a subscription
{developers.recurly.com/api/v2021-02-25#operation/list_subscription_coupon_redemptions list_subscription_coupon_redemptions
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
@return [Pager<Resources::CouponRedemption>] A list of the the coupon redemptions on a subscription. @example
params = { limit: 200 } coupon_redemptions = @client.list_subscription_coupon_redemptions( subscription_id: subscription_id, params: params ) coupon_redemptions.each do |redemption| puts "CouponRedemption: #{redemption.id}" end
Source
# File lib/recurly/client/operations.rb, line 4022 def list_subscription_invoices(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/invoices", subscription_id: subscription_id) pager(path, **options) end
List a subscription’s invoices
{developers.recurly.com/api/v2021-02-25#operation/list_subscription_invoices list_subscription_invoices
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :state [String] Invoice state. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :type [String] Filter by type when: - +type=charge+, only charge invoices will be returned. - +type=credit+, only credit invoices will be returned. - +type=non-legacy+, only charge and credit invoices will be returned. - +type=legacy+, only legacy invoices will be returned.
@return [Pager<Resources::Invoice>] A list of the subscription’s invoices. @example
params = { limit: 200 } invoices = @client.list_subscription_invoices( subscription_id: subscription_id, params: params ) invoices.each do |invoice| puts "Invoice: #{invoice.number}" end
Source
# File lib/recurly/client/operations.rb, line 4074 def list_subscription_line_items(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/line_items", subscription_id: subscription_id) pager(path, **options) end
List a subscription’s line items
{developers.recurly.com/api/v2021-02-25#operation/list_subscription_line_items list_subscription_line_items
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :original [String] Filter by original field. :state [String] Filter by state field. :type [String] Filter by type field.
@return [Pager<Resources::LineItem>] A list of the subscription’s line items. @example
params = { limit: 200 } line_items = @client.list_subscription_line_items( subscription_id: subscription_id, params: params ) line_items.each do |line_item| puts "LineItem: #{line_item.id}" end
Source
# File lib/recurly/client/operations.rb, line 3600 def list_subscriptions(**options) path = "/subscriptions" pager(path, **options) end
List a site’s subscriptions
{developers.recurly.com/api/v2021-02-25#operation/list_subscriptions list_subscriptions
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :state [String] Filter by state. - When +state=active+, +state=canceled+, +state=expired+, or +state=future+, subscriptions with states that match the query and only those subscriptions will be returned. - When +state=in_trial+, only subscriptions that have a trial_started_at date earlier than now and a trial_ends_at date later than now will be returned. - When +state=live+, only subscriptions that are in an active, canceled, or future state or are in trial will be returned.
@return [Pager<Resources::Subscription>] A list of the site’s subscriptions. @example
params = { limit: 200 } subscriptions = @client.list_subscriptions(params: params) subscriptions.each do |subscription| puts "Subscription: #{subscription.uuid}" end
Source
# File lib/recurly/client/operations.rb, line 4267 def list_transactions(**options) path = "/transactions" pager(path, **options) end
List a site’s transactions
{developers.recurly.com/api/v2021-02-25#operation/list_transactions list_transactions
api documentation}
@param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :type [String] Filter by type field. The value +payment+ will return both +purchase+ and +capture+ transactions. :success [String] Filter by success field.
@return [Pager<Resources::Transaction>] A list of the site’s transactions. @example
params = { limit: 200 } transactions = @client.list_transactions(params: params) transactions.each do |transaction| puts "Transaction: #{transaction.uuid}" end
Source
# File lib/recurly/client/operations.rb, line 1737 def list_unique_coupon_codes(coupon_id:, **options) path = interpolate_path("/coupons/{coupon_id}/unique_coupon_codes", coupon_id: coupon_id) pager(path, **options) end
List unique coupon codes associated with a bulk coupon
{developers.recurly.com/api/v2021-02-25#operation/list_unique_coupon_codes list_unique_coupon_codes
api documentation}
@param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-10off
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :redeemed [String] Filter unique coupon codes by redemption status. +true+ for redeemed, +false+ for not redeemed.
@return [Pager<Resources::UniqueCouponCode>] A list of unique coupon codes that were generated
Source
# File lib/recurly/client/operations.rb, line 4161 def list_usage(subscription_id:, add_on_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/add_ons/{add_on_id}/usage", subscription_id: subscription_id, add_on_id: add_on_id) pager(path, **options) end
List a subscription add-on’s usage records
{developers.recurly.com/api/v2021-02-25#operation/list_usage list_usage
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param params [Hash] Optional query string parameters:
:ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+. *Important notes:* * The +ids+ parameter cannot be used with any other ordering or filtering parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc) * Invalid or unknown IDs will be ignored, so you should check that the results correspond to your request. * Records are returned in an arbitrary order. Since results are all returned at once you can sort the records yourself. :limit [Integer] Limit number of records 1-200. :order [String] Sort order. :sort [String] Sort field. You *really* only want to sort by +usage_timestamp+ in ascending order. In descending order updated records will move behind the cursor and could prevent some records from being returned. :begin_time [DateTime] Inclusively filter by begin_time when +sort=usage_timestamp+ or +sort=recorded_timestamp+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :end_time [DateTime] Inclusively filter by end_time when +sort=usage_timestamp+ or +sort=recorded_timestamp+. *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC. :billing_status [String] Filter by usage record's billing status
@return [Pager<Resources::Usage>] A list of the subscription add-on’s usage records.
Source
# File lib/recurly/client/operations.rb, line 2708 def mark_invoice_failed(invoice_id:, **options) path = interpolate_path("/invoices/{invoice_id}/mark_failed", invoice_id: invoice_id) put(path, **options) end
Mark an open invoice as failed
{developers.recurly.com/api/v2021-02-25#operation/mark_invoice_failed mark_invoice_failed
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param params [Hash] Optional query string parameters:
@return [Resources::Invoice] The updated invoice. @example
begin invoice = @client.mark_invoice_failed(invoice_id: invoice_id) puts "Failed invoice #{invoice}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 2731 def mark_invoice_successful(invoice_id:, **options) path = interpolate_path("/invoices/{invoice_id}/mark_successful", invoice_id: invoice_id) put(path, **options) end
Mark an open invoice as successful
{developers.recurly.com/api/v2021-02-25#operation/mark_invoice_successful mark_invoice_successful
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param params [Hash] Optional query string parameters:
@return [Resources::Invoice] The updated invoice. @example
begin invoice = @client.mark_invoice_successful(invoice_id: invoice_id) puts "Marked invoice sucessful #{invoice}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3806 def pause_subscription(subscription_id:, body:, **options) path = interpolate_path("/subscriptions/{subscription_id}/pause", subscription_id: subscription_id) put(path, body, Requests::SubscriptionPause, **options) end
Pause subscription
{developers.recurly.com/api/v2021-02-25#operation/pause_subscription pause_subscription
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param body [Requests::SubscriptionPause] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionPause} @param params [Hash] Optional query string parameters:
@return [Resources::Subscription] A subscription. @example
begin subscription_pause = { remaining_pause_cycles: 10 } subscription = @client.pause_subscription( subscription_id: subscription_id, body: subscription_pause ) puts "Paused Subscription #{subscription}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4809 def preview_gift_card(body:, **options) path = "/gift_cards/preview" post(path, body, Requests::GiftCardCreate, **options) end
Preview gift card
{developers.recurly.com/api/v2021-02-25#operation/preview_gift_card preview_gift_card
api documentation}
@param body [Requests::GiftCardCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::GiftCardCreate} @param params [Hash] Optional query string parameters:
@return [Resources::GiftCard] Returns the gift card
Source
# File lib/recurly/client/operations.rb, line 993 def preview_invoice(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/invoices/preview", account_id: account_id) post(path, body, Requests::InvoiceCreate, **options) end
Preview new invoice for pending line items
{developers.recurly.com/api/v2021-02-25#operation/preview_invoice preview_invoice
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::InvoiceCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceCreate} @param params [Hash] Optional query string parameters:
@return [Resources::InvoiceCollection] Returns the invoice previews. @example
begin invoice_preview = { currency: "USD", collection_method: "automatic" } collection = @client.create_invoice( account_id: account_id, body: invoice_preview ) puts "Created InvoiceCollection #{collection}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 4412 def preview_purchase(body:, **options) path = "/purchases/preview" post(path, body, Requests::PurchaseCreate, **options) end
Preview a new purchase
{developers.recurly.com/api/v2021-02-25#operation/preview_purchase preview_purchase
api documentation}
@param body [Requests::PurchaseCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::PurchaseCreate} @param params [Hash] Optional query string parameters:
@return [Resources::InvoiceCollection] Returns preview of the new invoices @example
begin purchase = { currency: "USD", account: { code: account_code, first_name: "Benjamin", last_name: "Du Monde", billing_info: { token_id: rjs_token_id }, }, subscriptions: [ { plan_code: plan_code } ] } invoice_collection = @client.preview_purchase( body: purchase ) puts "Preview Charge Invoice #{invoice_collection.charge_invoice}" puts "Preview Credit Invoices #{invoice_collection.credit_invoices}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 3966 def preview_subscription_change(subscription_id:, body:, **options) path = interpolate_path("/subscriptions/{subscription_id}/change/preview", subscription_id: subscription_id) post(path, body, Requests::SubscriptionChangeCreate, **options) end
Preview a new subscription change
{developers.recurly.com/api/v2021-02-25#operation/preview_subscription_change preview_subscription_change
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param body [Requests::SubscriptionChangeCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionChangeCreate} @param params [Hash] Optional query string parameters:
@return [Resources::SubscriptionChange] A subscription change.
Source
# File lib/recurly/client/operations.rb, line 4591 def put_dunning_campaign_bulk_update(dunning_campaign_id:, body:, **options) path = interpolate_path("/dunning_campaigns/{dunning_campaign_id}/bulk_update", dunning_campaign_id: dunning_campaign_id) put(path, body, Requests::DunningCampaignsBulkUpdate, **options) end
Assign a dunning campaign to multiple plans
{developers.recurly.com/api/v2021-02-25#operation/put_dunning_campaign_bulk_update put_dunning_campaign_bulk_update
api documentation}
@param dunning_campaign_id [String] Dunning Campaign ID, e.g. e28zov4fw0v2
. @param body [Requests::DunningCampaignsBulkUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::DunningCampaignsBulkUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::DunningCampaignsBulkUpdateResponse] A list of updated plans.
Source
# File lib/recurly/client/operations.rb, line 2473 def put_external_subscription(external_subscription_id:, **options) path = interpolate_path("/external_subscriptions/{external_subscription_id}", external_subscription_id: external_subscription_id) put(path, options[:body], Requests::ExternalSubscriptionUpdate, **options) end
Update an external subscription
{developers.recurly.com/api/v2021-02-25#operation/put_external_subscription put_external_subscription
api documentation}
@param external_subscription_id [String] External subscription id @param params [Hash] Optional query string parameters:
:body [Requests::ExternalSubscriptionUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalSubscriptionUpdate}
@return [Resources::ExternalSubscription] Settings for an external subscription.
Source
# File lib/recurly/client/operations.rb, line 351 def reactivate_account(account_id:, **options) path = interpolate_path("/accounts/{account_id}/reactivate", account_id: account_id) put(path, **options) end
Reactivate an inactive account
{developers.recurly.com/api/v2021-02-25#operation/reactivate_account reactivate_account
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Resources::Account] An account. @example
begin account = @client.reactivate_account(account_id: account_id) puts "Reactivated account #{account}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 2181 def reactivate_item(item_id:, **options) path = interpolate_path("/items/{item_id}/reactivate", item_id: item_id) put(path, **options) end
Reactivate an inactive item
{developers.recurly.com/api/v2021-02-25#operation/reactivate_item reactivate_item
api documentation}
@param item_id [String] Item ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-red
. @param params [Hash] Optional query string parameters:
@return [Resources::Item] An item. @example
begin item = @client.reactivate_item(item_id: item_id) puts "Reactivated Item #{item}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3776 def reactivate_subscription(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/reactivate", subscription_id: subscription_id) put(path, **options) end
Reactivate a canceled subscription
{developers.recurly.com/api/v2021-02-25#operation/reactivate_subscription reactivate_subscription
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::Subscription] An active subscription. @example
begin subscription = @client.reactivate_subscription( subscription_id: subscription_id ) puts "Reactivated Canceled Subscription #{subscription}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4332 def reactivate_unique_coupon_code(unique_coupon_code_id:, **options) path = interpolate_path("/unique_coupon_codes/{unique_coupon_code_id}/restore", unique_coupon_code_id: unique_coupon_code_id) put(path, **options) end
Restore a unique coupon code
{developers.recurly.com/api/v2021-02-25#operation/reactivate_unique_coupon_code reactivate_unique_coupon_code
api documentation}
@param unique_coupon_code_id [String] Unique Coupon Code ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-abc-8dh2-def
. @param params [Hash] Optional query string parameters:
@return [Resources::UniqueCouponCode] A unique coupon code.
Source
# File lib/recurly/client/operations.rb, line 2792 def record_external_transaction(invoice_id:, body:, **options) path = interpolate_path("/invoices/{invoice_id}/transactions", invoice_id: invoice_id) post(path, body, Requests::ExternalTransaction, **options) end
Record an external payment for a manual invoices.
{developers.recurly.com/api/v2021-02-25#operation/record_external_transaction record_external_transaction
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param body [Requests::ExternalTransaction] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalTransaction} @param params [Hash] Optional query string parameters:
@return [Resources::Transaction] The recorded transaction.
Source
# File lib/recurly/client/operations.rb, line 4824 def redeem_gift_card(redemption_code:, body:, **options) path = interpolate_path("/gift_cards/{redemption_code}/redeem", redemption_code: redemption_code) post(path, body, Requests::GiftCardRedeem, **options) end
Redeem gift card
{developers.recurly.com/api/v2021-02-25#operation/redeem_gift_card redeem_gift_card
api documentation}
@param redemption_code [String] Gift Card redemption code, e.g., N1A2T8IRXSCMO40V
. @param body [Requests::GiftCardRedeem] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::GiftCardRedeem} @param params [Hash] Optional query string parameters:
@return [Resources::GiftCard] Redeems and returns the gift card
Source
# File lib/recurly/client/operations.rb, line 2947 def refund_invoice(invoice_id:, body:, **options) path = interpolate_path("/invoices/{invoice_id}/refund", invoice_id: invoice_id) post(path, body, Requests::InvoiceRefund, **options) end
Refund an invoice
{developers.recurly.com/api/v2021-02-25#operation/refund_invoice refund_invoice
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param body [Requests::InvoiceRefund] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceRefund} @param params [Hash] Optional query string parameters:
@return [Resources::Invoice] Returns the new credit invoice. @example
begin invoice_refund = { type: "amount", amount: 100, } invoice = @client.refund_invoice( invoice_id: invoice_id, body: invoice_refund ) puts "Refunded invoice #{invoice}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 587 def remove_a_billing_info(account_id:, billing_info_id:, **options) path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}", account_id: account_id, billing_info_id: billing_info_id) delete(path, **options) end
Remove an account’s billing information
{developers.recurly.com/api/v2021-02-25#operation/remove_a_billing_info remove_a_billing_info
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param billing_info_id [String] Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature. @param params [Hash] Optional query string parameters:
@return [Resources::Empty] Billing information deleted
Source
# File lib/recurly/client/operations.rb, line 328 def remove_account_acquisition(account_id:, **options) path = interpolate_path("/accounts/{account_id}/acquisition", account_id: account_id) delete(path, **options) end
Remove an account’s acquisition data
{developers.recurly.com/api/v2021-02-25#operation/remove_account_acquisition remove_account_acquisition
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Resources::Empty] Acquisition data was succesfully deleted. @example
begin acquisition = @client.remove_account_acquisition(account_id: account_id) puts "Removed AccountAcqusition #{acquisition}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 451 def remove_billing_info(account_id:, **options) path = interpolate_path("/accounts/{account_id}/billing_info", account_id: account_id) delete(path, **options) end
Remove an account’s billing information
{developers.recurly.com/api/v2021-02-25#operation/remove_billing_info remove_billing_info
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Resources::Empty] Billing information deleted @example
begin @client.remove_billing_info(account_id: account_id) puts "Removed BillingInfo #{account_id}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 743 def remove_coupon_redemption(account_id:, **options) path = interpolate_path("/accounts/{account_id}/coupon_redemptions/active", account_id: account_id) delete(path, **options) end
Delete the active coupon redemption from an account
{developers.recurly.com/api/v2021-02-25#operation/remove_coupon_redemption remove_coupon_redemption
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
@return [Resources::CouponRedemption] Coupon redemption deleted. @example
begin @client.remove_coupon_redemption(account_id: account_id) puts "Removed CouponRedemption #{account_id}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3045 def remove_line_item(line_item_id:, **options) path = interpolate_path("/line_items/{line_item_id}", line_item_id: line_item_id) delete(path, **options) end
Delete an uninvoiced line item
{developers.recurly.com/api/v2021-02-25#operation/remove_line_item remove_line_item
api documentation}
@param line_item_id [String] Line Item ID. @param params [Hash] Optional query string parameters:
@return [Resources::Empty] Line item deleted. @example
begin @client.remove_line_item( line_item_id: line_item_id ) puts "Removed LineItem #{line_item_id}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 2276 def remove_measured_unit(measured_unit_id:, **options) path = interpolate_path("/measured_units/{measured_unit_id}", measured_unit_id: measured_unit_id) delete(path, **options) end
Remove a measured unit
{developers.recurly.com/api/v2021-02-25#operation/remove_measured_unit remove_measured_unit
api documentation}
@param measured_unit_id [String] Measured unit ID or name. For ID no prefix is used e.g. e28zov4fw0v2
. For name use prefix name-
, e.g. name-Storage
. @param params [Hash] Optional query string parameters:
@return [Resources::MeasuredUnit] A measured unit.
Source
# File lib/recurly/client/operations.rb, line 3204 def remove_plan(plan_id:, **options) path = interpolate_path("/plans/{plan_id}", plan_id: plan_id) delete(path, **options) end
Remove a plan
{developers.recurly.com/api/v2021-02-25#operation/remove_plan remove_plan
api documentation}
@param plan_id [String] Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param params [Hash] Optional query string parameters:
@return [Resources::Plan] Plan deleted @example
begin plan = @client.remove_plan(plan_id: plan_id) puts "Removed plan #{plan}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3374 def remove_plan_add_on(plan_id:, add_on_id:, **options) path = interpolate_path("/plans/{plan_id}/add_ons/{add_on_id}", plan_id: plan_id, add_on_id: add_on_id) delete(path, **options) end
Remove an add-on
{developers.recurly.com/api/v2021-02-25#operation/remove_plan_add_on remove_plan_add_on
api documentation}
@param plan_id [String] Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param params [Hash] Optional query string parameters:
@return [Resources::AddOn] Add-on deleted @example
begin add_on = @client.remove_plan_add_on( plan_id: plan_id, add_on_id: add_on_id ) puts "Removed add-on #{add_on}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 1309 def remove_shipping_address(account_id:, shipping_address_id:, **options) path = interpolate_path("/accounts/{account_id}/shipping_addresses/{shipping_address_id}", account_id: account_id, shipping_address_id: shipping_address_id) delete(path, **options) end
Remove an account’s shipping address
{developers.recurly.com/api/v2021-02-25#operation/remove_shipping_address remove_shipping_address
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param shipping_address_id [String] Shipping Address ID. @param params [Hash] Optional query string parameters:
@return [Resources::Empty] Shipping address deleted. @example
begin @client.remove_shipping_address( account_id: account_id, shipping_address_id: shipping_address_id ) puts "Removed ShippingAddress #{shipping_address_id}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3951 def remove_subscription_change(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/change", subscription_id: subscription_id) delete(path, **options) end
Delete the pending subscription change
{developers.recurly.com/api/v2021-02-25#operation/remove_subscription_change remove_subscription_change
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::Empty] Subscription change was deleted. @example
begin @client.remove_subscription_change( subscription_id: subscription_id ) puts "Removed SubscriptionChange #{subscription_id}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4220 def remove_usage(usage_id:, **options) path = interpolate_path("/usage/{usage_id}", usage_id: usage_id) delete(path, **options) end
Delete a usage record.
{developers.recurly.com/api/v2021-02-25#operation/remove_usage remove_usage
api documentation}
@param usage_id [String] Usage Record ID. @param params [Hash] Optional query string parameters:
@return [Resources::Empty] Usage was successfully deleted.
Source
# File lib/recurly/client/operations.rb, line 2754 def reopen_invoice(invoice_id:, **options) path = interpolate_path("/invoices/{invoice_id}/reopen", invoice_id: invoice_id) put(path, **options) end
Reopen a closed, manual invoice
{developers.recurly.com/api/v2021-02-25#operation/reopen_invoice reopen_invoice
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param params [Hash] Optional query string parameters:
@return [Resources::Invoice] The updated invoice. @example
begin invoice = @client.reopen_invoice(invoice_id: invoice_id) puts "Reopened invoice #{invoice}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 1698 def restore_coupon(coupon_id:, body:, **options) path = interpolate_path("/coupons/{coupon_id}/restore", coupon_id: coupon_id) put(path, body, Requests::CouponUpdate, **options) end
Restore an inactive coupon
{developers.recurly.com/api/v2021-02-25#operation/restore_coupon restore_coupon
api documentation}
@param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-10off
. @param body [Requests::CouponUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::Coupon] The restored coupon.
Source
# File lib/recurly/client/operations.rb, line 3831 def resume_subscription(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}/resume", subscription_id: subscription_id) put(path, **options) end
Resume subscription
{developers.recurly.com/api/v2021-02-25#operation/resume_subscription resume_subscription
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
@return [Resources::Subscription] A subscription. @example
begin subscription = @client.resume_subscription( subscription_id: subscription_id ) puts "Resumed Subscription #{subscription}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 4655 def show_external_invoice(external_invoice_id:, **options) path = interpolate_path("/external_invoices/{external_invoice_id}", external_invoice_id: external_invoice_id) get(path, **options) end
Fetch an external invoice
{developers.recurly.com/api/v2021-02-25#operation/show_external_invoice show_external_invoice
api documentation}
@param external_invoice_id [String] External invoice ID, e.g. e28zov4fw0v2
. @param params [Hash] Optional query string parameters:
@return [Resources::ExternalInvoice] Returns the external invoice
Source
# File lib/recurly/client/operations.rb, line 3725 def terminate_subscription(subscription_id:, **options) path = interpolate_path("/subscriptions/{subscription_id}", subscription_id: subscription_id) delete(path, **options) end
Terminate a subscription
{developers.recurly.com/api/v2021-02-25#operation/terminate_subscription terminate_subscription
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param params [Hash] Optional query string parameters:
:refund [String] The type of refund to perform: * +full+ - Performs a full refund of the last invoice for the current subscription term. * +partial+ - Prorates a refund based on the amount of time remaining in the current bill cycle. * +none+ - Terminates the subscription without a refund. In the event that the most recent invoice is a $0 invoice paid entirely by credit, Recurly will apply the credit back to the customer’s account. You may also terminate a subscription with no refund and then manually refund specific invoices. :charge [Boolean] Applicable only if the subscription has usage based add-ons and unbilled usage logged for the current billing cycle. If true, current billing cycle unbilled usage is billed on the final invoice. If false, Recurly will create a negative usage record for current billing cycle usage that will zero out the final invoice line items.
@return [Resources::Subscription] An expired subscription. @example
begin subscription = @client.terminate_subscription( subscription_id: subscription_id, ) puts "Terminated Subscription #{subscription}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 572 def update_a_billing_info(account_id:, billing_info_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}", account_id: account_id, billing_info_id: billing_info_id) put(path, body, Requests::BillingInfoCreate, **options) end
Update an account’s billing information
{developers.recurly.com/api/v2021-02-25#operation/update_a_billing_info update_a_billing_info
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param billing_info_id [String] Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature. @param body [Requests::BillingInfoCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoCreate} @param params [Hash] Optional query string parameters:
@return [Resources::BillingInfo] Updated billing information.
Source
# File lib/recurly/client/operations.rb, line 223 def update_account(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}", account_id: account_id) put(path, body, Requests::AccountUpdate, **options) end
Update an account
{developers.recurly.com/api/v2021-02-25#operation/update_account update_account
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::AccountUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AccountUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::Account] An account. @example
begin account_update = { first_name: "Aaron", last_name: "Du Monde", } account = @client.update_account( account_id: account_id, body: account_update ) puts "Updated Account #{account}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 305 def update_account_acquisition(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/acquisition", account_id: account_id) put(path, body, Requests::AccountAcquisitionUpdate, **options) end
Update an account’s acquisition data
{developers.recurly.com/api/v2021-02-25#operation/update_account_acquisition update_account_acquisition
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::AccountAcquisitionUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AccountAcquisitionUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::AccountAcquisition] An account’s updated acquisition data. @example
begin acquisition_update = { campaign: "podcast-marketing", channel: "social_media", subchannel: "twitter", cost: { currency: "USD", amount: 0.50 } } acquisition = @client.update_account_acquisition( account_id: account_id, body: acquisition_update ) puts "Updated AccountAcqusition #{acquisition}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 840 def update_account_external_account(account_id:, external_account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/external_accounts/{external_account_id}", account_id: account_id, external_account_id: external_account_id) put(path, body, Requests::ExternalAccountUpdate, **options) end
Update an external account
{developers.recurly.com/api/v2021-02-25#operation/update_account_external_account update_account_external_account
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param external_account_id [String] External account ID, e.g. s28zov4fw0cb
. @param body [Requests::ExternalAccountUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalAccountUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::ExternalAccount] A representation of the updated external_account.
Source
# File lib/recurly/client/operations.rb, line 428 def update_billing_info(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/billing_info", account_id: account_id) put(path, body, Requests::BillingInfoCreate, **options) end
Set an account’s billing information
{developers.recurly.com/api/v2021-02-25#operation/update_billing_info update_billing_info
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::BillingInfoCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoCreate} @param params [Hash] Optional query string parameters:
@return [Resources::BillingInfo] Updated billing information. @example
begin billing_update = { first_name: "Aaron", last_name: "Du Monde", } billing = @client.update_billing_info( account_id: account_id, body: billing_update ) puts "Updated BillingInfo #{billing}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 1645 def update_coupon(coupon_id:, body:, **options) path = interpolate_path("/coupons/{coupon_id}", coupon_id: coupon_id) put(path, body, Requests::CouponUpdate, **options) end
Update an active coupon
{developers.recurly.com/api/v2021-02-25#operation/update_coupon update_coupon
api documentation}
@param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-10off
. @param body [Requests::CouponUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::Coupon] The updated coupon. @example
begin coupon_update = { name: "New Coupon Name" } coupon = @client.update_coupon(coupon_id: coupon_id, body: coupon_update) puts "Updated Coupon #{coupon}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 2336 def update_external_product(external_product_id:, body:, **options) path = interpolate_path("/external_products/{external_product_id}", external_product_id: external_product_id) put(path, body, Requests::ExternalProductUpdate, **options) end
Update an external product
{developers.recurly.com/api/v2021-02-25#operation/update_external_product update_external_product
api documentation}
@param external_product_id [String] External product id @param body [Requests::ExternalProductUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalProductUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::ExternalProduct] Settings for an external product.
Source
# File lib/recurly/client/operations.rb, line 1930 def update_general_ledger_account(general_ledger_account_id:, body:, **options) path = interpolate_path("/general_ledger_accounts/{general_ledger_account_id}", general_ledger_account_id: general_ledger_account_id) put(path, body, Requests::GeneralLedgerAccountUpdate, **options) end
Update a general ledger account
{developers.recurly.com/api/v2021-02-25#operation/update_general_ledger_account update_general_ledger_account
api documentation}
@param general_ledger_account_id [String] General Ledger Account ID @param body [Requests::GeneralLedgerAccountUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::GeneralLedgerAccountUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::GeneralLedgerAccount] The updated general ledger account.
Source
# File lib/recurly/client/operations.rb, line 2611 def update_invoice(invoice_id:, body:, **options) path = interpolate_path("/invoices/{invoice_id}", invoice_id: invoice_id) put(path, body, Requests::InvoiceUpdate, **options) end
Update an invoice
{developers.recurly.com/api/v2021-02-25#operation/update_invoice update_invoice
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param body [Requests::InvoiceUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::Invoice] An invoice. @example
begin invoice_update = { customer_notes: "New Notes", terms_and_conditions: "New Terms and Conditions" } invoice = @client.update_invoice(invoice_id: invoice_id, body: invoice_update) puts "Updated invoice #{invoice}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 2135 def update_item(item_id:, body:, **options) path = interpolate_path("/items/{item_id}", item_id: item_id) put(path, body, Requests::ItemUpdate, **options) end
Update an active item
{developers.recurly.com/api/v2021-02-25#operation/update_item update_item
api documentation}
@param item_id [String] Item ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-red
. @param body [Requests::ItemUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ItemUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::Item] The updated item. @example
begin item_update = { name: "New Item Name", description: "New Item Description" } item = @client.update_item( item_id: item_id, body: item_update ) puts "Updated Item #{item}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 2262 def update_measured_unit(measured_unit_id:, body:, **options) path = interpolate_path("/measured_units/{measured_unit_id}", measured_unit_id: measured_unit_id) put(path, body, Requests::MeasuredUnitUpdate, **options) end
Update a measured unit
{developers.recurly.com/api/v2021-02-25#operation/update_measured_unit update_measured_unit
api documentation}
@param measured_unit_id [String] Measured unit ID or name. For ID no prefix is used e.g. e28zov4fw0v2
. For name use prefix name-
, e.g. name-Storage
. @param body [Requests::MeasuredUnitUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::MeasuredUnitUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::MeasuredUnit] The updated measured_unit.
Source
# File lib/recurly/client/operations.rb, line 3181 def update_plan(plan_id:, body:, **options) path = interpolate_path("/plans/{plan_id}", plan_id: plan_id) put(path, body, Requests::PlanUpdate, **options) end
Update a plan
{developers.recurly.com/api/v2021-02-25#operation/update_plan update_plan
api documentation}
@param plan_id [String] Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param body [Requests::PlanUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::PlanUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::Plan] A plan. @example
begin plan_update = { name: "Monthly Kombucha Subscription" } plan = @client.update_plan(plan_id: plan_id, body: plan_update) puts "Updated plan #{plan}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 3347 def update_plan_add_on(plan_id:, add_on_id:, body:, **options) path = interpolate_path("/plans/{plan_id}/add_ons/{add_on_id}", plan_id: plan_id, add_on_id: add_on_id) put(path, body, Requests::AddOnUpdate, **options) end
Update an add-on
{developers.recurly.com/api/v2021-02-25#operation/update_plan_add_on update_plan_add_on
api documentation}
@param plan_id [String] Plan ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param add_on_id [String] Add-on ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-gold
. @param body [Requests::AddOnUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::AddOnUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::AddOn] An add-on. @example
begin add_on_update = { name: "A quality grinder for your finest beans" } add_on = @client.update_plan_add_on( plan_id: plan_id, add_on_id: add_on_id, body: add_on_update ) puts "Updated add-on #{add_on}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 1282 def update_shipping_address(account_id:, shipping_address_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/shipping_addresses/{shipping_address_id}", account_id: account_id, shipping_address_id: shipping_address_id) put(path, body, Requests::ShippingAddressUpdate, **options) end
Update an account’s shipping address
{developers.recurly.com/api/v2021-02-25#operation/update_shipping_address update_shipping_address
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param shipping_address_id [String] Shipping Address ID. @param body [Requests::ShippingAddressUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ShippingAddressUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::ShippingAddress] The updated shipping address. @example
begin address_update = { first_name: "Aaron", last_name: "Du Monde", postal_code: "70130" } address = @client.update_shipping_address( account_id: account_id, shipping_address_id: shipping_address_id, body: address_update ) puts "Updated ShippingAddress #{address}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 3535 def update_shipping_method(shipping_method_id:, body:, **options) path = interpolate_path("/shipping_methods/{shipping_method_id}", shipping_method_id: shipping_method_id) put(path, body, Requests::ShippingMethodUpdate, **options) end
Update an active Shipping Method
{developers.recurly.com/api/v2021-02-25#operation/update_shipping_method update_shipping_method
api documentation}
@param shipping_method_id [String] Shipping Method ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-usps_2-day
. @param body [Requests::ShippingMethodUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ShippingMethodUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::ShippingMethod] The updated shipping method.
Source
# File lib/recurly/client/operations.rb, line 3689 def update_subscription(subscription_id:, body:, **options) path = interpolate_path("/subscriptions/{subscription_id}", subscription_id: subscription_id) put(path, body, Requests::SubscriptionUpdate, **options) end
Update a subscription
{developers.recurly.com/api/v2021-02-25#operation/update_subscription update_subscription
api documentation}
@param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. e28zov4fw0v2
. For UUID use prefix uuid-
, e.g. uuid-123457890
. @param body [Requests::SubscriptionUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::SubscriptionUpdate} @param params [Hash] Optional query string parameters:
@return [Resources::Subscription] A subscription. @example
begin subscription_update = { customer_notes: "New Notes", terms_and_conditions: "New ToC" } subscription = @client.update_subscription( subscription_id: subscription_id, body: subscription_update ) puts "Modified Subscription #{subscription}" rescue Recurly::Errors::ValidationError => e # If the request was invalid, you may want to tell your user # why. You can find the invalid params and reasons in e.recurly_error.params puts "ValidationError: #{e.recurly_error.params}" end
Source
# File lib/recurly/client/operations.rb, line 4206 def update_usage(usage_id:, body:, **options) path = interpolate_path("/usage/{usage_id}", usage_id: usage_id) put(path, body, Requests::UsageCreate, **options) end
Update a usage record
{developers.recurly.com/api/v2021-02-25#operation/update_usage update_usage
api documentation}
@param usage_id [String] Usage Record ID. @param body [Requests::UsageCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::UsageCreate} @param params [Hash] Optional query string parameters:
@return [Resources::Usage] The updated usage record.
Source
# File lib/recurly/client/operations.rb, line 475 def verify_billing_info(account_id:, **options) path = interpolate_path("/accounts/{account_id}/billing_info/verify", account_id: account_id) post(path, options[:body], Requests::BillingInfoVerify, **options) end
Verify an account’s credit card billing information
{developers.recurly.com/api/v2021-02-25#operation/verify_billing_info verify_billing_info
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param params [Hash] Optional query string parameters:
:body [Requests::BillingInfoVerify] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoVerify}
@return [Resources::Transaction] Transaction information from verify. @example
begin transaction = @client.verify_billing_info(account_id: account_id) puts "Got Transaction #{transaction}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Source
# File lib/recurly/client/operations.rb, line 490 def verify_billing_info_cvv(account_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/billing_info/verify_cvv", account_id: account_id) post(path, body, Requests::BillingInfoVerifyCVV, **options) end
Verify an account’s credit card billing cvv
{developers.recurly.com/api/v2021-02-25#operation/verify_billing_info_cvv verify_billing_info_cvv
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param body [Requests::BillingInfoVerifyCVV] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoVerifyCVV} @param params [Hash] Optional query string parameters:
@return [Resources::Transaction] Transaction information from verify.
Source
# File lib/recurly/client/operations.rb, line 603 def verify_billing_infos(account_id:, billing_info_id:, **options) path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}/verify", account_id: account_id, billing_info_id: billing_info_id) post(path, options[:body], Requests::BillingInfoVerify, **options) end
Verify a billing information’s credit card
{developers.recurly.com/api/v2021-02-25#operation/verify_billing_infos verify_billing_infos
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param billing_info_id [String] Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature. @param params [Hash] Optional query string parameters:
:body [Requests::BillingInfoVerify] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoVerify}
@return [Resources::Transaction] Transaction information from verify.
Source
# File lib/recurly/client/operations.rb, line 619 def verify_billing_infos_cvv(account_id:, billing_info_id:, body:, **options) path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}/verify_cvv", account_id: account_id, billing_info_id: billing_info_id) post(path, body, Requests::BillingInfoVerifyCVV, **options) end
Verify a billing information’s credit card cvv
{developers.recurly.com/api/v2021-02-25#operation/verify_billing_infos_cvv verify_billing_infos_cvv
api documentation}
@param account_id [String] Account ID or code. For ID no prefix is used e.g. e28zov4fw0v2
. For code use prefix code-
, e.g. code-bob
. @param billing_info_id [String] Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature. @param body [Requests::BillingInfoVerifyCVV] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoVerifyCVV} @param params [Hash] Optional query string parameters:
@return [Resources::Transaction] Transaction information from verify.
Source
# File lib/recurly/client/operations.rb, line 2777 def void_invoice(invoice_id:, **options) path = interpolate_path("/invoices/{invoice_id}/void", invoice_id: invoice_id) put(path, **options) end
Void a credit invoice.
{developers.recurly.com/api/v2021-02-25#operation/void_invoice void_invoice
api documentation}
@param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. e28zov4fw0v2
. For number use prefix number-
, e.g. number-1000
. @param params [Hash] Optional query string parameters:
@return [Resources::Invoice] The updated invoice. @example
begin invoice = @client.void_invoice(invoice_id: invoice_id) puts "Voided invoice #{invoice}" rescue Recurly::Errors::NotFoundError # If the resource was not found, you may want to alert the user or # just return nil puts "Resource Not Found" end
Protected Instance Methods
Source
# File lib/recurly/client.rb, line 157 def delete(path, **options) validate_options!(**options) request = Net::HTTP::Delete.new build_url(path, options) set_headers(request, options[:headers]) http_response = run_request(request, options) handle_response! request, http_response end
Source
# File lib/recurly/client.rb, line 120 def get(path, **options) validate_options!(**options) request = Net::HTTP::Get.new build_url(path, options) set_headers(request, options[:headers]) http_response = run_request(request, options) handle_response! request, http_response end
Source
# File lib/recurly/client.rb, line 112 def head(path, **options) validate_options!(**options) request = Net::HTTP::Head.new build_url(path, options) set_headers(request, options[:headers]) http_response = run_request(request, options) handle_response! request, http_response end
Source
# File lib/recurly/client.rb, line 104 def pager(path, **options) Pager.new( client: self, path: path, options: options, ) end
Source
# File lib/recurly/client.rb, line 130 def post(path, request_data = nil, request_class = nil, **options) validate_options!(**options) request = Net::HTTP::Post.new build_url(path, options) request.set_content_type(JSON_CONTENT_TYPE) set_headers(request, options[:headers]) if request_data request_class.new(request_data).validate! request.body = JSON.dump(request_data) end http_response = run_request(request, options) handle_response! request, http_response end
Source
# File lib/recurly/client.rb, line 143 def put(path, request_data = nil, request_class = nil, **options) validate_options!(**options) request = Net::HTTP::Put.new build_url(path, options) request.set_content_type(JSON_CONTENT_TYPE) set_headers(request, options[:headers]) if request_data request_class.new(request_data).validate! json_body = JSON.dump(request_data) request.body = json_body end http_response = run_request(request, options) handle_response! request, http_response end
Private Instance Methods
Source
# File lib/recurly/client.rb, line 362 def build_url(path, options) path = scope_by_site(path, options) query_params = map_array_params(options.fetch(:params, {})) if query_params.any? "#{path}?#{URI.encode_www_form(query_params)}" else path end end
Source
# File lib/recurly/client.rb, line 251 def generate_idempotency_key(n = 16) SecureRandom.random_bytes(n).unpack("C*").map do |byte| idx = byte % 64 idx = SecureRandom.random_number(36) if idx >= 36 BASE36_ALPHABET[idx] end.join end
from github.com/rails/rails/blob/6-0-stable/activesupport/lib/active_support/core_ext/securerandom.rb
Source
# File lib/recurly/client.rb, line 264 def handle_response!(request, http_response) response = HTTP::Response.new(http_response, request) raise_api_error!(http_response, response) unless http_response.kind_of?(Net::HTTPSuccess) resource = if response.body if http_response.content_type&.include?(JSON_CONTENT_TYPE) JSONParser.parse(self, response.body) elsif BINARY_TYPES.include?(http_response.content_type) FileParser.parse(response.body) else raise Recurly::Errors::InvalidContentTypeError, "Unexpected content type: #{http_response.content_type}" end else Resources::Empty.new end # Keep this interface "private" resource.instance_variable_set(:@response, response) resource end
Source
# File lib/recurly/client.rb, line 342 def interpolate_path(path, **options) validate_path_parameters!(**options) options.each do |k, v| # We need to encode the values for the url options[k] = ERB::Util.url_encode(v.to_s) end path = path.gsub("{", "%{") path % options end
Source
# File lib/recurly/client.rb, line 375 def map_array_params(params) params.map do |key, param| [key, param.is_a?(Array) ? param.join(",") : param] end.to_h end
Converts array parameters to CSV strings to maintain consistency with how the server expects the request to be formatted while providing the developer with an array type to maintain developer happiness!
Source
# File lib/recurly/client.rb, line 283 def raise_api_error!(http_response, response) if response.content_type.include?(JSON_CONTENT_TYPE) error = JSONParser.parse(self, response.body) begin error_class = Errors::APIError.error_class(error.type) raise error_class.new(error.message, response, error) rescue NameError error_class = Errors::APIError.from_response(http_response) raise error_class.new("Unknown Error", response, error) end end error_class = Errors::APIError.from_response(http_response) if error_class <= Recurly::Errors::APIError error = Recurly::Resources::Error.new(message: "#{http_response.code}: #{http_response.message}") raise error_class.new(error.message, response, error) else raise error_class, "#{http_response.code}: #{http_response.message}" end end
Source
# File lib/recurly/client.rb, line 305 def read_headers(response) if !@_ignore_deprecation_warning && response.headers["Recurly-Deprecated"]&.upcase == "TRUE" log_warn("DEPRECTATION WARNING", message: "Your current API version \"#{api_version}\" is deprecated and will be sunset on #{response.headers["Recurly-Sunset-Date"]}") end response end
Source
# File lib/recurly/client.rb, line 174 def run_request(request, options = {}) self.class.connection_pool.with_connection(uri: @base_uri, keep_alive_timeout: @keep_alive_timeout, ca_file: @ca_file) do |http| set_http_options(http, options) retries = 0 begin http.start unless http.started? log_attrs = { method: request.method, path: request.path, } if @logger.level < Logger::INFO log_attrs[:request_body] = request.body # No need to log the authorization header headers = request.to_hash.reject { |k, _| k&.downcase == "authorization" } log_attrs[:request_headers] = headers end log_info("Request", **log_attrs) start = Time.now response = http.request(request) elapsed = Time.now - start # GETs are safe to retry after a server error, requests with an Idempotency-Key will return the prior response if response.kind_of?(Net::HTTPServerError) && request.is_a?(Net::HTTP::Get) retries += 1 log_info("Retrying", retries: retries, **log_attrs) start = Time.now response = http.request(request) if retries < MAX_RETRIES elapsed = Time.now - start end if @logger.level < Logger::INFO log_attrs[:response_body] = response.body log_attrs[:response_headers] = response.to_hash end log_info("Response", time_ms: (elapsed * 1_000).floor, status: response.code, **log_attrs) response rescue Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::EHOSTUNREACH, Errno::ECONNABORTED, Errno::EPIPE, Errno::ETIMEDOUT, Net::OpenTimeout, EOFError, SocketError => ex retries += 1 if retries < MAX_RETRIES retry end if ex.kind_of?(Net::OpenTimeout) || ex.kind_of?(Errno::ETIMEDOUT) raise Recurly::Errors::TimeoutError, "Request timed out" end raise Recurly::Errors::ConnectionFailedError, "Failed to connect to Recurly: #{ex.message}" rescue Timeout::Error raise Recurly::Errors::TimeoutError, "Request timed out" rescue OpenSSL::SSL::SSLError => ex raise Recurly::Errors::SSLError, ex.message rescue StandardError => ex raise Recurly::Errors::NetworkError, ex.message end end end
Source
# File lib/recurly/client.rb, line 381 def scope_by_site(path, options) if site = site_id || options[:site_id] # Ensure that we are only including the site_id once because the Pager operations # will use the cursor returned from the API which may already have these components path.start_with?("/sites/#{site}") ? path : "/sites/#{site}#{path}" else path end end
Source
# File lib/recurly/client.rb, line 352 def set_api_key(api_key) @api_key = api_key.to_s end
Source
# File lib/recurly/client.rb, line 356 def set_connection_options(base_url, ca_file, keep_alive_timeout) @base_uri = URI.parse(base_url) @ca_file = ca_file @keep_alive_timeout = keep_alive_timeout end
Source
# File lib/recurly/client.rb, line 237 def set_headers(request, additional_headers = {}) # TODO this is undocumented until we finalize it additional_headers.each { |header, v| request[header] = v } if additional_headers request["Accept"] = "application/vnd.recurly.#{api_version}".chomp # got this method from operations.rb request["Authorization"] = "Basic #{Base64.encode64(@api_key)}".chomp request["User-Agent"] = "Recurly/#{VERSION}; #{RUBY_DESCRIPTION}" unless request.is_a?(Net::HTTP::Get) || request.is_a?(Net::HTTP::Head) request["Idempotency-Key"] ||= generate_idempotency_key end end
Source
# File lib/recurly/client.rb, line 259 def set_http_options(http, options) http.open_timeout = options[:open_timeout] || 20 http.read_timeout = options[:read_timeout] || 60 end
Source
# File lib/recurly/client.rb, line 312 def validate_options!(**options) invalid_options = options.keys.reject do |k| ALLOWED_OPTIONS.include?(k) end if invalid_options.any? joinedKeys = invalid_options.join(", ") joinedOptions = ALLOWED_OPTIONS.join(", ") raise ArgumentError, "Invalid options: '#{joinedKeys}'. Allowed options: '#{joinedOptions}'" end end
Source
# File lib/recurly/client.rb, line 323 def validate_path_parameters!(**options) # Check to see that we are passing the correct data types # This prevents a confusing error if the user passes in a non-primitive by mistake options.each do |k, v| unless [String, Symbol, Integer, Float].include?(v.class) message = "We cannot build the url with the given argument #{k}=#{v.inspect}." if k =~ /_id$/ message << " Since this appears to be an id, perhaps you meant to pass in a String?" end raise ArgumentError, message end end # Check to make sure that parameters are not empty string values empty_strings = options.select { |_, v| v.is_a?(String) && v.strip.empty? } if empty_strings.any? raise ArgumentError, "#{empty_strings.keys.join(", ")} cannot be an empty string" end end