orb-billing 0.1.0.pre.alpha.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +169 -0
- data/lib/orb/client.rb +129 -0
- data/lib/orb/errors.rb +317 -0
- data/lib/orb/models/alert.rb +225 -0
- data/lib/orb/models/alert_create_for_customer_params.rb +77 -0
- data/lib/orb/models/alert_create_for_external_customer_params.rb +77 -0
- data/lib/orb/models/alert_create_for_subscription_params.rb +74 -0
- data/lib/orb/models/alert_disable_params.rb +26 -0
- data/lib/orb/models/alert_enable_params.rb +26 -0
- data/lib/orb/models/alert_list_params.rb +97 -0
- data/lib/orb/models/alert_retrieve_params.rb +19 -0
- data/lib/orb/models/alert_update_params.rb +46 -0
- data/lib/orb/models/amount_discount.rb +53 -0
- data/lib/orb/models/billable_metric.rb +76 -0
- data/lib/orb/models/billing_cycle_relative_date.rb +18 -0
- data/lib/orb/models/coupon.rb +86 -0
- data/lib/orb/models/coupon_archive_params.rb +19 -0
- data/lib/orb/models/coupon_create_params.rb +102 -0
- data/lib/orb/models/coupon_fetch_params.rb +19 -0
- data/lib/orb/models/coupon_list_params.rb +53 -0
- data/lib/orb/models/coupons/subscription_list_params.rb +40 -0
- data/lib/orb/models/credit_note.rb +522 -0
- data/lib/orb/models/credit_note_create_params.rb +77 -0
- data/lib/orb/models/credit_note_fetch_params.rb +19 -0
- data/lib/orb/models/credit_note_list_params.rb +73 -0
- data/lib/orb/models/customer.rb +872 -0
- data/lib/orb/models/customer_create_params.rb +843 -0
- data/lib/orb/models/customer_delete_params.rb +19 -0
- data/lib/orb/models/customer_fetch_by_external_id_params.rb +19 -0
- data/lib/orb/models/customer_fetch_params.rb +19 -0
- data/lib/orb/models/customer_list_params.rb +73 -0
- data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +19 -0
- data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +19 -0
- data/lib/orb/models/customer_update_by_external_id_params.rb +848 -0
- data/lib/orb/models/customer_update_params.rb +838 -0
- data/lib/orb/models/customers/balance_transaction_create_params.rb +53 -0
- data/lib/orb/models/customers/balance_transaction_create_response.rb +167 -0
- data/lib/orb/models/customers/balance_transaction_list_params.rb +75 -0
- data/lib/orb/models/customers/balance_transaction_list_response.rb +167 -0
- data/lib/orb/models/customers/cost_list_by_external_id_params.rb +69 -0
- data/lib/orb/models/customers/cost_list_by_external_id_response.rb +106 -0
- data/lib/orb/models/customers/cost_list_params.rb +69 -0
- data/lib/orb/models/customers/cost_list_response.rb +106 -0
- data/lib/orb/models/customers/credit_list_by_external_id_params.rb +59 -0
- data/lib/orb/models/customers/credit_list_by_external_id_response.rb +72 -0
- data/lib/orb/models/customers/credit_list_params.rb +59 -0
- data/lib/orb/models/customers/credit_list_response.rb +72 -0
- data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +215 -0
- data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +1311 -0
- data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +214 -0
- data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +1310 -0
- data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +141 -0
- data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +1310 -0
- data/lib/orb/models/customers/credits/ledger_list_params.rb +141 -0
- data/lib/orb/models/customers/credits/ledger_list_response.rb +1306 -0
- data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +159 -0
- data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +154 -0
- data/lib/orb/models/customers/credits/top_up_create_params.rb +158 -0
- data/lib/orb/models/customers/credits/top_up_create_response.rb +153 -0
- data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +29 -0
- data/lib/orb/models/customers/credits/top_up_delete_params.rb +29 -0
- data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +42 -0
- data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +154 -0
- data/lib/orb/models/customers/credits/top_up_list_params.rb +42 -0
- data/lib/orb/models/customers/credits/top_up_list_response.rb +153 -0
- data/lib/orb/models/dimensional_price_group.rb +64 -0
- data/lib/orb/models/dimensional_price_group_create_params.rb +63 -0
- data/lib/orb/models/dimensional_price_group_list_params.rb +38 -0
- data/lib/orb/models/dimensional_price_group_retrieve_params.rb +19 -0
- data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +21 -0
- data/lib/orb/models/dimensional_price_groups.rb +25 -0
- data/lib/orb/models/discount.rb +23 -0
- data/lib/orb/models/evaluate_price_group.rb +48 -0
- data/lib/orb/models/event_deprecate_params.rb +19 -0
- data/lib/orb/models/event_deprecate_response.rb +21 -0
- data/lib/orb/models/event_ingest_params.rb +100 -0
- data/lib/orb/models/event_ingest_response.rb +77 -0
- data/lib/orb/models/event_search_params.rb +45 -0
- data/lib/orb/models/event_search_response.rb +87 -0
- data/lib/orb/models/event_update_params.rb +58 -0
- data/lib/orb/models/event_update_response.rb +21 -0
- data/lib/orb/models/events/backfill_close_params.rb +21 -0
- data/lib/orb/models/events/backfill_close_response.rb +131 -0
- data/lib/orb/models/events/backfill_create_params.rb +97 -0
- data/lib/orb/models/events/backfill_create_response.rb +131 -0
- data/lib/orb/models/events/backfill_fetch_params.rb +21 -0
- data/lib/orb/models/events/backfill_fetch_response.rb +131 -0
- data/lib/orb/models/events/backfill_list_params.rb +40 -0
- data/lib/orb/models/events/backfill_list_response.rb +131 -0
- data/lib/orb/models/events/backfill_revert_params.rb +21 -0
- data/lib/orb/models/events/backfill_revert_response.rb +131 -0
- data/lib/orb/models/events/event_volumes.rb +54 -0
- data/lib/orb/models/events/volume_list_params.rb +64 -0
- data/lib/orb/models/invoice.rb +2218 -0
- data/lib/orb/models/invoice_create_params.rb +200 -0
- data/lib/orb/models/invoice_fetch_params.rb +19 -0
- data/lib/orb/models/invoice_fetch_upcoming_params.rb +25 -0
- data/lib/orb/models/invoice_fetch_upcoming_response.rb +2226 -0
- data/lib/orb/models/invoice_issue_params.rb +34 -0
- data/lib/orb/models/invoice_level_discount.rb +21 -0
- data/lib/orb/models/invoice_line_item_create_params.rb +62 -0
- data/lib/orb/models/invoice_line_item_create_response.rb +929 -0
- data/lib/orb/models/invoice_list_params.rb +197 -0
- data/lib/orb/models/invoice_mark_paid_params.rb +40 -0
- data/lib/orb/models/invoice_pay_params.rb +19 -0
- data/lib/orb/models/invoice_update_params.rb +28 -0
- data/lib/orb/models/invoice_void_params.rb +19 -0
- data/lib/orb/models/item.rb +82 -0
- data/lib/orb/models/item_create_params.rb +26 -0
- data/lib/orb/models/item_fetch_params.rb +19 -0
- data/lib/orb/models/item_list_params.rb +38 -0
- data/lib/orb/models/item_update_params.rb +73 -0
- data/lib/orb/models/metric_create_params.rb +56 -0
- data/lib/orb/models/metric_fetch_params.rb +19 -0
- data/lib/orb/models/metric_list_params.rb +73 -0
- data/lib/orb/models/metric_update_params.rb +28 -0
- data/lib/orb/models/pagination_metadata.rb +25 -0
- data/lib/orb/models/percentage_discount.rb +54 -0
- data/lib/orb/models/plan.rb +894 -0
- data/lib/orb/models/plan_create_params.rb +6702 -0
- data/lib/orb/models/plan_fetch_params.rb +19 -0
- data/lib/orb/models/plan_list_params.rb +100 -0
- data/lib/orb/models/plan_update_params.rb +37 -0
- data/lib/orb/models/plans/external_plan_id_fetch_params.rb +21 -0
- data/lib/orb/models/plans/external_plan_id_update_params.rb +39 -0
- data/lib/orb/models/price.rb +12229 -0
- data/lib/orb/models/price_create_params.rb +808 -0
- data/lib/orb/models/price_evaluate_params.rb +80 -0
- data/lib/orb/models/price_evaluate_response.rb +20 -0
- data/lib/orb/models/price_fetch_params.rb +19 -0
- data/lib/orb/models/price_list_params.rb +38 -0
- data/lib/orb/models/price_update_params.rb +28 -0
- data/lib/orb/models/prices/external_price_id_fetch_params.rb +21 -0
- data/lib/orb/models/prices/external_price_id_update_params.rb +30 -0
- data/lib/orb/models/subscription.rb +1233 -0
- data/lib/orb/models/subscription_cancel_params.rb +58 -0
- data/lib/orb/models/subscription_cancel_response.rb +1217 -0
- data/lib/orb/models/subscription_create_params.rb +15065 -0
- data/lib/orb/models/subscription_create_response.rb +1217 -0
- data/lib/orb/models/subscription_fetch_costs_params.rb +67 -0
- data/lib/orb/models/subscription_fetch_costs_response.rb +104 -0
- data/lib/orb/models/subscription_fetch_params.rb +19 -0
- data/lib/orb/models/subscription_fetch_schedule_params.rb +73 -0
- data/lib/orb/models/subscription_fetch_schedule_response.rb +68 -0
- data/lib/orb/models/subscription_fetch_usage_params.rb +135 -0
- data/lib/orb/models/subscription_list_params.rb +108 -0
- data/lib/orb/models/subscription_price_intervals_params.rb +8358 -0
- data/lib/orb/models/subscription_price_intervals_response.rb +1224 -0
- data/lib/orb/models/subscription_schedule_plan_change_params.rb +15088 -0
- data/lib/orb/models/subscription_schedule_plan_change_response.rb +1224 -0
- data/lib/orb/models/subscription_trigger_phase_params.rb +36 -0
- data/lib/orb/models/subscription_trigger_phase_response.rb +1224 -0
- data/lib/orb/models/subscription_unschedule_cancellation_params.rb +19 -0
- data/lib/orb/models/subscription_unschedule_cancellation_response.rb +1224 -0
- data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +26 -0
- data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +1228 -0
- data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +19 -0
- data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +1224 -0
- data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +90 -0
- data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +1224 -0
- data/lib/orb/models/subscription_update_params.rb +74 -0
- data/lib/orb/models/subscription_update_trial_params.rb +59 -0
- data/lib/orb/models/subscription_update_trial_response.rb +1222 -0
- data/lib/orb/models/subscription_usage.rb +258 -0
- data/lib/orb/models/subscriptions.rb +25 -0
- data/lib/orb/models/top_level_ping_params.rb +19 -0
- data/lib/orb/models/top_level_ping_response.rb +20 -0
- data/lib/orb/models/trial_discount.rb +69 -0
- data/lib/orb/models/usage_discount.rb +54 -0
- data/lib/orb/page.rb +114 -0
- data/lib/orb/request_options.rb +75 -0
- data/lib/orb/resources/alerts.rb +239 -0
- data/lib/orb/resources/coupons/subscriptions.rb +43 -0
- data/lib/orb/resources/coupons.rb +115 -0
- data/lib/orb/resources/credit_notes.rb +87 -0
- data/lib/orb/resources/customers/balance_transactions.rb +96 -0
- data/lib/orb/resources/customers/costs.rb +298 -0
- data/lib/orb/resources/customers/credits/ledger.rb +527 -0
- data/lib/orb/resources/customers/credits/top_ups.rb +192 -0
- data/lib/orb/resources/customers/credits.rb +88 -0
- data/lib/orb/resources/customers.rb +321 -0
- data/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rb +38 -0
- data/lib/orb/resources/dimensional_price_groups.rb +93 -0
- data/lib/orb/resources/events/backfills.rb +174 -0
- data/lib/orb/resources/events/volume.rb +52 -0
- data/lib/orb/resources/events.rb +415 -0
- data/lib/orb/resources/invoice_line_items.rb +41 -0
- data/lib/orb/resources/invoices.rb +266 -0
- data/lib/orb/resources/items.rb +95 -0
- data/lib/orb/resources/metrics.rb +114 -0
- data/lib/orb/resources/plans/external_plan_id.rb +76 -0
- data/lib/orb/resources/plans.rb +133 -0
- data/lib/orb/resources/prices/external_price_id.rb +61 -0
- data/lib/orb/resources/prices.rb +197 -0
- data/lib/orb/resources/subscriptions.rb +1278 -0
- data/lib/orb/resources/top_level.rb +37 -0
- data/lib/orb/transport/base_client.rb +459 -0
- data/lib/orb/transport/pooled_net_requester.rb +182 -0
- data/lib/orb/type/array_of.rb +112 -0
- data/lib/orb/type/base_model.rb +367 -0
- data/lib/orb/type/base_page.rb +61 -0
- data/lib/orb/type/boolean_model.rb +52 -0
- data/lib/orb/type/converter.rb +217 -0
- data/lib/orb/type/enum.rb +101 -0
- data/lib/orb/type/hash_of.rb +132 -0
- data/lib/orb/type/request_parameters.rb +38 -0
- data/lib/orb/type/union.rb +225 -0
- data/lib/orb/type/unknown.rb +56 -0
- data/lib/orb/type.rb +23 -0
- data/lib/orb/util.rb +722 -0
- data/lib/orb/version.rb +5 -0
- data/lib/orb.rb +247 -0
- data/manifest.yaml +15 -0
- data/rbi/lib/orb/client.rbi +90 -0
- data/rbi/lib/orb/errors.rbi +246 -0
- data/rbi/lib/orb/models/alert.rbi +239 -0
- data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +86 -0
- data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +88 -0
- data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +83 -0
- data/rbi/lib/orb/models/alert_disable_params.rbi +28 -0
- data/rbi/lib/orb/models/alert_enable_params.rbi +28 -0
- data/rbi/lib/orb/models/alert_list_params.rbi +95 -0
- data/rbi/lib/orb/models/alert_retrieve_params.rbi +20 -0
- data/rbi/lib/orb/models/alert_update_params.rbi +51 -0
- data/rbi/lib/orb/models/amount_discount.rbi +62 -0
- data/rbi/lib/orb/models/billable_metric.rbi +83 -0
- data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +19 -0
- data/rbi/lib/orb/models/coupon.rbi +90 -0
- data/rbi/lib/orb/models/coupon_archive_params.rbi +20 -0
- data/rbi/lib/orb/models/coupon_create_params.rbi +120 -0
- data/rbi/lib/orb/models/coupon_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/coupon_list_params.rbi +59 -0
- data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +41 -0
- data/rbi/lib/orb/models/credit_note.rbi +546 -0
- data/rbi/lib/orb/models/credit_note_create_params.rbi +84 -0
- data/rbi/lib/orb/models/credit_note_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/credit_note_list_params.rbi +74 -0
- data/rbi/lib/orb/models/customer.rbi +941 -0
- data/rbi/lib/orb/models/customer_create_params.rbi +923 -0
- data/rbi/lib/orb/models/customer_delete_params.rbi +20 -0
- data/rbi/lib/orb/models/customer_fetch_by_external_id_params.rbi +20 -0
- data/rbi/lib/orb/models/customer_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/customer_list_params.rbi +74 -0
- data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbi +20 -0
- data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rbi +20 -0
- data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +945 -0
- data/rbi/lib/orb/models/customer_update_params.rbi +919 -0
- data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +64 -0
- data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +199 -0
- data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +76 -0
- data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +191 -0
- data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +86 -0
- data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +214 -0
- data/rbi/lib/orb/models/customers/cost_list_params.rbi +84 -0
- data/rbi/lib/orb/models/customers/cost_list_response.rbi +212 -0
- data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +64 -0
- data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +87 -0
- data/rbi/lib/orb/models/customers/credit_list_params.rbi +64 -0
- data/rbi/lib/orb/models/customers/credit_list_response.rbi +86 -0
- data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +270 -0
- data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +1670 -0
- data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +238 -0
- data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +1626 -0
- data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +181 -0
- data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +1654 -0
- data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +144 -0
- data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +1588 -0
- data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +196 -0
- data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +198 -0
- data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +176 -0
- data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +175 -0
- data/rbi/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rbi +31 -0
- data/rbi/lib/orb/models/customers/credits/top_up_delete_params.rbi +28 -0
- data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +49 -0
- data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +188 -0
- data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +49 -0
- data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +168 -0
- data/rbi/lib/orb/models/dimensional_price_group.rbi +75 -0
- data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +66 -0
- data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +39 -0
- data/rbi/lib/orb/models/dimensional_price_group_retrieve_params.rbi +20 -0
- data/rbi/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbi +22 -0
- data/rbi/lib/orb/models/dimensional_price_groups.rbi +35 -0
- data/rbi/lib/orb/models/discount.rbi +18 -0
- data/rbi/lib/orb/models/evaluate_price_group.rbi +45 -0
- data/rbi/lib/orb/models/event_deprecate_params.rbi +20 -0
- data/rbi/lib/orb/models/event_deprecate_response.rbi +19 -0
- data/rbi/lib/orb/models/event_ingest_params.rbi +120 -0
- data/rbi/lib/orb/models/event_ingest_response.rbi +79 -0
- data/rbi/lib/orb/models/event_search_params.rbi +53 -0
- data/rbi/lib/orb/models/event_search_response.rbi +100 -0
- data/rbi/lib/orb/models/event_update_params.rbi +71 -0
- data/rbi/lib/orb/models/event_update_response.rbi +19 -0
- data/rbi/lib/orb/models/events/backfill_close_params.rbi +22 -0
- data/rbi/lib/orb/models/events/backfill_close_response.rbi +127 -0
- data/rbi/lib/orb/models/events/backfill_create_params.rbi +97 -0
- data/rbi/lib/orb/models/events/backfill_create_response.rbi +128 -0
- data/rbi/lib/orb/models/events/backfill_fetch_params.rbi +22 -0
- data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +127 -0
- data/rbi/lib/orb/models/events/backfill_list_params.rbi +41 -0
- data/rbi/lib/orb/models/events/backfill_list_response.rbi +127 -0
- data/rbi/lib/orb/models/events/backfill_revert_params.rbi +22 -0
- data/rbi/lib/orb/models/events/backfill_revert_response.rbi +128 -0
- data/rbi/lib/orb/models/events/event_volumes.rbi +47 -0
- data/rbi/lib/orb/models/events/volume_list_params.rbi +69 -0
- data/rbi/lib/orb/models/invoice.rbi +2466 -0
- data/rbi/lib/orb/models/invoice_create_params.rbi +230 -0
- data/rbi/lib/orb/models/invoice_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/invoice_fetch_upcoming_params.rbi +24 -0
- data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +2646 -0
- data/rbi/lib/orb/models/invoice_issue_params.rbi +32 -0
- data/rbi/lib/orb/models/invoice_level_discount.rbi +16 -0
- data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +67 -0
- data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +1164 -0
- data/rbi/lib/orb/models/invoice_list_params.rbi +187 -0
- data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +48 -0
- data/rbi/lib/orb/models/invoice_pay_params.rbi +20 -0
- data/rbi/lib/orb/models/invoice_update_params.rbi +36 -0
- data/rbi/lib/orb/models/invoice_void_params.rbi +20 -0
- data/rbi/lib/orb/models/item.rbi +101 -0
- data/rbi/lib/orb/models/item_create_params.rbi +25 -0
- data/rbi/lib/orb/models/item_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/item_list_params.rbi +39 -0
- data/rbi/lib/orb/models/item_update_params.rbi +113 -0
- data/rbi/lib/orb/models/metric_create_params.rbi +62 -0
- data/rbi/lib/orb/models/metric_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/metric_list_params.rbi +74 -0
- data/rbi/lib/orb/models/metric_update_params.rbi +36 -0
- data/rbi/lib/orb/models/pagination_metadata.rbi +21 -0
- data/rbi/lib/orb/models/percentage_discount.rbi +63 -0
- data/rbi/lib/orb/models/plan.rbi +1071 -0
- data/rbi/lib/orb/models/plan_create_params.rbi +10069 -0
- data/rbi/lib/orb/models/plan_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/plan_list_params.rbi +100 -0
- data/rbi/lib/orb/models/plan_update_params.rbi +46 -0
- data/rbi/lib/orb/models/plans/external_plan_id_fetch_params.rbi +22 -0
- data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +48 -0
- data/rbi/lib/orb/models/price.rbi +15341 -0
- data/rbi/lib/orb/models/price_create_params.rbi +885 -0
- data/rbi/lib/orb/models/price_evaluate_params.rbi +81 -0
- data/rbi/lib/orb/models/price_evaluate_response.rbi +21 -0
- data/rbi/lib/orb/models/price_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/price_list_params.rbi +39 -0
- data/rbi/lib/orb/models/price_update_params.rbi +36 -0
- data/rbi/lib/orb/models/prices/external_price_id_fetch_params.rbi +22 -0
- data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +38 -0
- data/rbi/lib/orb/models/subscription.rbi +1381 -0
- data/rbi/lib/orb/models/subscription_cancel_params.rbi +75 -0
- data/rbi/lib/orb/models/subscription_cancel_response.rbi +1374 -0
- data/rbi/lib/orb/models/subscription_create_params.rbi +23422 -0
- data/rbi/lib/orb/models/subscription_create_response.rbi +1374 -0
- data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +82 -0
- data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +210 -0
- data/rbi/lib/orb/models/subscription_fetch_params.rbi +20 -0
- data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +74 -0
- data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +81 -0
- data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +137 -0
- data/rbi/lib/orb/models/subscription_list_params.rbi +108 -0
- data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +12991 -0
- data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +1387 -0
- data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +23589 -0
- data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +1390 -0
- data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +45 -0
- data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +1381 -0
- data/rbi/lib/orb/models/subscription_unschedule_cancellation_params.rbi +20 -0
- data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +1400 -0
- data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +25 -0
- data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +1451 -0
- data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rbi +20 -0
- data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +1410 -0
- data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +104 -0
- data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +1400 -0
- data/rbi/lib/orb/models/subscription_update_params.rbi +77 -0
- data/rbi/lib/orb/models/subscription_update_trial_params.rbi +63 -0
- data/rbi/lib/orb/models/subscription_update_trial_response.rbi +1378 -0
- data/rbi/lib/orb/models/subscription_usage.rbi +323 -0
- data/rbi/lib/orb/models/subscriptions.rbi +33 -0
- data/rbi/lib/orb/models/top_level_ping_params.rbi +20 -0
- data/rbi/lib/orb/models/top_level_ping_response.rbi +18 -0
- data/rbi/lib/orb/models/trial_discount.rbi +73 -0
- data/rbi/lib/orb/models/usage_discount.rbi +62 -0
- data/rbi/lib/orb/page.rbi +35 -0
- data/rbi/lib/orb/request_options.rbi +48 -0
- data/rbi/lib/orb/resources/alerts.rbi +216 -0
- data/rbi/lib/orb/resources/coupons/subscriptions.rbi +38 -0
- data/rbi/lib/orb/resources/coupons.rbi +96 -0
- data/rbi/lib/orb/resources/credit_notes.rbi +74 -0
- data/rbi/lib/orb/resources/customers/balance_transactions.rbi +92 -0
- data/rbi/lib/orb/resources/customers/costs.rbi +304 -0
- data/rbi/lib/orb/resources/customers/credits/ledger.rbi +645 -0
- data/rbi/lib/orb/resources/customers/credits/top_ups.rbi +180 -0
- data/rbi/lib/orb/resources/customers/credits.rbi +88 -0
- data/rbi/lib/orb/resources/customers.rbi +714 -0
- data/rbi/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbi +25 -0
- data/rbi/lib/orb/resources/dimensional_price_groups.rbi +78 -0
- data/rbi/lib/orb/resources/events/backfills.rbi +161 -0
- data/rbi/lib/orb/resources/events/volume.rbi +57 -0
- data/rbi/lib/orb/resources/events.rbi +408 -0
- data/rbi/lib/orb/resources/invoice_line_items.rbi +44 -0
- data/rbi/lib/orb/resources/invoices.rbi +262 -0
- data/rbi/lib/orb/resources/items.rbi +65 -0
- data/rbi/lib/orb/resources/metrics.rbi +102 -0
- data/rbi/lib/orb/resources/plans/external_plan_id.rbi +67 -0
- data/rbi/lib/orb/resources/plans.rbi +170 -0
- data/rbi/lib/orb/resources/prices/external_price_id.rbi +110 -0
- data/rbi/lib/orb/resources/prices.rbi +371 -0
- data/rbi/lib/orb/resources/subscriptions.rbi +1469 -0
- data/rbi/lib/orb/resources/top_level.rbi +25 -0
- data/rbi/lib/orb/transport/base_client.rbi +205 -0
- data/rbi/lib/orb/transport/pooled_net_requester.rbi +64 -0
- data/rbi/lib/orb/type/array_of.rbi +82 -0
- data/rbi/lib/orb/type/base_model.rbi +197 -0
- data/rbi/lib/orb/type/base_page.rbi +38 -0
- data/rbi/lib/orb/type/boolean_model.rbi +41 -0
- data/rbi/lib/orb/type/converter.rbi +95 -0
- data/rbi/lib/orb/type/enum.rbi +58 -0
- data/rbi/lib/orb/type/hash_of.rbi +86 -0
- data/rbi/lib/orb/type/request_parameters.rbi +20 -0
- data/rbi/lib/orb/type/union.rbi +66 -0
- data/rbi/lib/orb/type/unknown.rbi +37 -0
- data/rbi/lib/orb/type.rbi +23 -0
- data/rbi/lib/orb/util.rbi +278 -0
- data/rbi/lib/orb/version.rbi +5 -0
- data/sig/orb/client.rbs +53 -0
- data/sig/orb/errors.rbs +201 -0
- data/sig/orb/models/alert.rbs +142 -0
- data/sig/orb/models/alert_create_for_customer_params.rbs +56 -0
- data/sig/orb/models/alert_create_for_external_customer_params.rbs +56 -0
- data/sig/orb/models/alert_create_for_subscription_params.rbs +52 -0
- data/sig/orb/models/alert_disable_params.rbs +20 -0
- data/sig/orb/models/alert_enable_params.rbs +20 -0
- data/sig/orb/models/alert_list_params.rbs +57 -0
- data/sig/orb/models/alert_retrieve_params.rbs +14 -0
- data/sig/orb/models/alert_update_params.rbs +31 -0
- data/sig/orb/models/amount_discount.rbs +40 -0
- data/sig/orb/models/billable_metric.rbs +50 -0
- data/sig/orb/models/billing_cycle_relative_date.rbs +14 -0
- data/sig/orb/models/coupon.rbs +51 -0
- data/sig/orb/models/coupon_archive_params.rbs +14 -0
- data/sig/orb/models/coupon_create_params.rbs +77 -0
- data/sig/orb/models/coupon_fetch_params.rbs +14 -0
- data/sig/orb/models/coupon_list_params.rbs +37 -0
- data/sig/orb/models/coupons/subscription_list_params.rbs +27 -0
- data/sig/orb/models/credit_note.rbs +345 -0
- data/sig/orb/models/credit_note_create_params.rbs +57 -0
- data/sig/orb/models/credit_note_fetch_params.rbs +14 -0
- data/sig/orb/models/credit_note_list_params.rbs +45 -0
- data/sig/orb/models/customer.rbs +628 -0
- data/sig/orb/models/customer_create_params.rbs +624 -0
- data/sig/orb/models/customer_delete_params.rbs +14 -0
- data/sig/orb/models/customer_fetch_by_external_id_params.rbs +14 -0
- data/sig/orb/models/customer_fetch_params.rbs +14 -0
- data/sig/orb/models/customer_list_params.rbs +45 -0
- data/sig/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbs +15 -0
- data/sig/orb/models/customer_sync_payment_methods_from_gateway_params.rbs +15 -0
- data/sig/orb/models/customer_update_by_external_id_params.rbs +620 -0
- data/sig/orb/models/customer_update_params.rbs +620 -0
- data/sig/orb/models/customers/balance_transaction_create_params.rbs +44 -0
- data/sig/orb/models/customers/balance_transaction_create_response.rbs +114 -0
- data/sig/orb/models/customers/balance_transaction_list_params.rbs +47 -0
- data/sig/orb/models/customers/balance_transaction_list_response.rbs +114 -0
- data/sig/orb/models/customers/cost_list_by_external_id_params.rbs +48 -0
- data/sig/orb/models/customers/cost_list_by_external_id_response.rbs +82 -0
- data/sig/orb/models/customers/cost_list_params.rbs +48 -0
- data/sig/orb/models/customers/cost_list_response.rbs +80 -0
- data/sig/orb/models/customers/credit_list_by_external_id_params.rbs +41 -0
- data/sig/orb/models/customers/credit_list_by_external_id_response.rbs +55 -0
- data/sig/orb/models/customers/credit_list_params.rbs +41 -0
- data/sig/orb/models/customers/credit_list_response.rbs +55 -0
- data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbs +120 -0
- data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbs +814 -0
- data/sig/orb/models/customers/credits/ledger_create_entry_params.rbs +120 -0
- data/sig/orb/models/customers/credits/ledger_create_entry_response.rbs +814 -0
- data/sig/orb/models/customers/credits/ledger_list_by_external_id_params.rbs +99 -0
- data/sig/orb/models/customers/credits/ledger_list_by_external_id_response.rbs +814 -0
- data/sig/orb/models/customers/credits/ledger_list_params.rbs +99 -0
- data/sig/orb/models/customers/credits/ledger_list_response.rbs +814 -0
- data/sig/orb/models/customers/credits/top_up_create_by_external_id_params.rbs +95 -0
- data/sig/orb/models/customers/credits/top_up_create_by_external_id_response.rbs +90 -0
- data/sig/orb/models/customers/credits/top_up_create_params.rbs +95 -0
- data/sig/orb/models/customers/credits/top_up_create_response.rbs +90 -0
- data/sig/orb/models/customers/credits/top_up_delete_by_external_id_params.rbs +24 -0
- data/sig/orb/models/customers/credits/top_up_delete_params.rbs +24 -0
- data/sig/orb/models/customers/credits/top_up_list_by_external_id_params.rbs +29 -0
- data/sig/orb/models/customers/credits/top_up_list_by_external_id_response.rbs +90 -0
- data/sig/orb/models/customers/credits/top_up_list_params.rbs +29 -0
- data/sig/orb/models/customers/credits/top_up_list_response.rbs +90 -0
- data/sig/orb/models/dimensional_price_group.rbs +38 -0
- data/sig/orb/models/dimensional_price_group_create_params.rbs +39 -0
- data/sig/orb/models/dimensional_price_group_list_params.rbs +25 -0
- data/sig/orb/models/dimensional_price_group_retrieve_params.rbs +15 -0
- data/sig/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbs +17 -0
- data/sig/orb/models/dimensional_price_groups.rbs +22 -0
- data/sig/orb/models/discount.rbs +15 -0
- data/sig/orb/models/evaluate_price_group.rbs +34 -0
- data/sig/orb/models/event_deprecate_params.rbs +14 -0
- data/sig/orb/models/event_deprecate_response.rbs +13 -0
- data/sig/orb/models/event_ingest_params.rbs +68 -0
- data/sig/orb/models/event_ingest_response.rbs +53 -0
- data/sig/orb/models/event_search_params.rbs +31 -0
- data/sig/orb/models/event_search_response.rbs +55 -0
- data/sig/orb/models/event_update_params.rbs +39 -0
- data/sig/orb/models/event_update_response.rbs +13 -0
- data/sig/orb/models/events/backfill_close_params.rbs +16 -0
- data/sig/orb/models/events/backfill_close_response.rbs +73 -0
- data/sig/orb/models/events/backfill_create_params.rbs +51 -0
- data/sig/orb/models/events/backfill_create_response.rbs +73 -0
- data/sig/orb/models/events/backfill_fetch_params.rbs +16 -0
- data/sig/orb/models/events/backfill_fetch_response.rbs +73 -0
- data/sig/orb/models/events/backfill_list_params.rbs +27 -0
- data/sig/orb/models/events/backfill_list_response.rbs +73 -0
- data/sig/orb/models/events/backfill_revert_params.rbs +16 -0
- data/sig/orb/models/events/backfill_revert_response.rbs +73 -0
- data/sig/orb/models/events/event_volumes.rbs +39 -0
- data/sig/orb/models/events/volume_list_params.rbs +41 -0
- data/sig/orb/models/invoice.rbs +1430 -0
- data/sig/orb/models/invoice_create_params.rbs +120 -0
- data/sig/orb/models/invoice_fetch_params.rbs +14 -0
- data/sig/orb/models/invoice_fetch_upcoming_params.rbs +20 -0
- data/sig/orb/models/invoice_fetch_upcoming_response.rbs +1430 -0
- data/sig/orb/models/invoice_issue_params.rbs +21 -0
- data/sig/orb/models/invoice_level_discount.rbs +14 -0
- data/sig/orb/models/invoice_line_item_create_params.rbs +43 -0
- data/sig/orb/models/invoice_line_item_create_response.rbs +546 -0
- data/sig/orb/models/invoice_list_params.rbs +122 -0
- data/sig/orb/models/invoice_mark_paid_params.rbs +27 -0
- data/sig/orb/models/invoice_pay_params.rbs +14 -0
- data/sig/orb/models/invoice_update_params.rbs +20 -0
- data/sig/orb/models/invoice_void_params.rbs +14 -0
- data/sig/orb/models/item.rbs +72 -0
- data/sig/orb/models/item_create_params.rbs +19 -0
- data/sig/orb/models/item_fetch_params.rbs +14 -0
- data/sig/orb/models/item_list_params.rbs +25 -0
- data/sig/orb/models/item_update_params.rbs +69 -0
- data/sig/orb/models/metric_create_params.rbs +39 -0
- data/sig/orb/models/metric_fetch_params.rbs +14 -0
- data/sig/orb/models/metric_list_params.rbs +45 -0
- data/sig/orb/models/metric_update_params.rbs +20 -0
- data/sig/orb/models/pagination_metadata.rbs +15 -0
- data/sig/orb/models/percentage_discount.rbs +40 -0
- data/sig/orb/models/plan.rbs +529 -0
- data/sig/orb/models/plan_create_params.rbs +3991 -0
- data/sig/orb/models/plan_fetch_params.rbs +14 -0
- data/sig/orb/models/plan_list_params.rbs +65 -0
- data/sig/orb/models/plan_update_params.rbs +24 -0
- data/sig/orb/models/plans/external_plan_id_fetch_params.rbs +16 -0
- data/sig/orb/models/plans/external_plan_id_update_params.rbs +26 -0
- data/sig/orb/models/price.rbs +8108 -0
- data/sig/orb/models/price_create_params.rbs +520 -0
- data/sig/orb/models/price_evaluate_params.rbs +45 -0
- data/sig/orb/models/price_evaluate_response.rbs +14 -0
- data/sig/orb/models/price_fetch_params.rbs +14 -0
- data/sig/orb/models/price_list_params.rbs +25 -0
- data/sig/orb/models/price_update_params.rbs +20 -0
- data/sig/orb/models/prices/external_price_id_fetch_params.rbs +16 -0
- data/sig/orb/models/prices/external_price_id_update_params.rbs +22 -0
- data/sig/orb/models/subscription.rbs +687 -0
- data/sig/orb/models/subscription_cancel_params.rbs +44 -0
- data/sig/orb/models/subscription_cancel_response.rbs +687 -0
- data/sig/orb/models/subscription_create_params.rbs +9141 -0
- data/sig/orb/models/subscription_create_response.rbs +687 -0
- data/sig/orb/models/subscription_fetch_costs_params.rbs +46 -0
- data/sig/orb/models/subscription_fetch_costs_response.rbs +78 -0
- data/sig/orb/models/subscription_fetch_params.rbs +14 -0
- data/sig/orb/models/subscription_fetch_schedule_params.rbs +45 -0
- data/sig/orb/models/subscription_fetch_schedule_response.rbs +48 -0
- data/sig/orb/models/subscription_fetch_usage_params.rbs +80 -0
- data/sig/orb/models/subscription_list_params.rbs +69 -0
- data/sig/orb/models/subscription_price_intervals_params.rbs +5117 -0
- data/sig/orb/models/subscription_price_intervals_response.rbs +687 -0
- data/sig/orb/models/subscription_schedule_plan_change_params.rbs +9133 -0
- data/sig/orb/models/subscription_schedule_plan_change_response.rbs +687 -0
- data/sig/orb/models/subscription_trigger_phase_params.rbs +24 -0
- data/sig/orb/models/subscription_trigger_phase_response.rbs +687 -0
- data/sig/orb/models/subscription_unschedule_cancellation_params.rbs +15 -0
- data/sig/orb/models/subscription_unschedule_cancellation_response.rbs +687 -0
- data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbs +20 -0
- data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbs +687 -0
- data/sig/orb/models/subscription_unschedule_pending_plan_changes_params.rbs +15 -0
- data/sig/orb/models/subscription_unschedule_pending_plan_changes_response.rbs +687 -0
- data/sig/orb/models/subscription_update_fixed_fee_quantity_params.rbs +55 -0
- data/sig/orb/models/subscription_update_fixed_fee_quantity_response.rbs +687 -0
- data/sig/orb/models/subscription_update_params.rbs +39 -0
- data/sig/orb/models/subscription_update_trial_params.rbs +39 -0
- data/sig/orb/models/subscription_update_trial_response.rbs +687 -0
- data/sig/orb/models/subscription_usage.rbs +196 -0
- data/sig/orb/models/subscriptions.rbs +22 -0
- data/sig/orb/models/top_level_ping_params.rbs +14 -0
- data/sig/orb/models/top_level_ping_response.rbs +13 -0
- data/sig/orb/models/trial_discount.rbs +44 -0
- data/sig/orb/models/usage_discount.rbs +40 -0
- data/sig/orb/page.rbs +22 -0
- data/sig/orb/request_options.rbs +32 -0
- data/sig/orb/resources/alerts.rbs +67 -0
- data/sig/orb/resources/coupons/subscriptions.rbs +16 -0
- data/sig/orb/resources/coupons.rbs +35 -0
- data/sig/orb/resources/credit_notes.rbs +29 -0
- data/sig/orb/resources/customers/balance_transactions.rbs +28 -0
- data/sig/orb/resources/customers/costs.rbs +27 -0
- data/sig/orb/resources/customers/credits/ledger.rbs +75 -0
- data/sig/orb/resources/customers/credits/top_ups.rbs +63 -0
- data/sig/orb/resources/customers/credits.rbs +31 -0
- data/sig/orb/resources/customers.rbs +114 -0
- data/sig/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbs +14 -0
- data/sig/orb/resources/dimensional_price_groups.rbs +29 -0
- data/sig/orb/resources/events/backfills.rbs +41 -0
- data/sig/orb/resources/events/volume.rbs +17 -0
- data/sig/orb/resources/events.rbs +40 -0
- data/sig/orb/resources/invoice_line_items.rbs +17 -0
- data/sig/orb/resources/invoices.rbs +84 -0
- data/sig/orb/resources/items.rbs +30 -0
- data/sig/orb/resources/metrics.rbs +37 -0
- data/sig/orb/resources/plans/external_plan_id.rbs +21 -0
- data/sig/orb/resources/plans.rbs +44 -0
- data/sig/orb/resources/prices/external_price_id.rbs +20 -0
- data/sig/orb/resources/prices.rbs +83 -0
- data/sig/orb/resources/subscriptions.rbs +194 -0
- data/sig/orb/resources/top_level.rbs +11 -0
- data/sig/orb/transport/base_client.rbs +110 -0
- data/sig/orb/transport/pooled_net_requester.rbs +39 -0
- data/sig/orb/type/array_of.rbs +36 -0
- data/sig/orb/type/base_model.rbs +77 -0
- data/sig/orb/type/base_page.rbs +22 -0
- data/sig/orb/type/boolean_model.rbs +18 -0
- data/sig/orb/type/converter.rbs +36 -0
- data/sig/orb/type/enum.rbs +22 -0
- data/sig/orb/type/hash_of.rbs +36 -0
- data/sig/orb/type/request_parameters.rbs +13 -0
- data/sig/orb/type/union.rbs +37 -0
- data/sig/orb/type/unknown.rbs +15 -0
- data/sig/orb/type.rbs +22 -0
- data/sig/orb/util.rbs +132 -0
- data/sig/orb/version.rbs +3 -0
- metadata +692 -0
@@ -0,0 +1,266 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Invoices
|
6
|
+
# This endpoint is used to create a one-off invoice for a customer.
|
7
|
+
#
|
8
|
+
# @overload create(currency:, invoice_date:, line_items:, net_terms:, customer_id: nil, discount: nil, external_customer_id: nil, memo: nil, metadata: nil, will_auto_issue: nil, request_options: {})
|
9
|
+
#
|
10
|
+
# @param currency [String]
|
11
|
+
# @param invoice_date [Time]
|
12
|
+
# @param line_items [Array<Orb::Models::InvoiceCreateParams::LineItem>]
|
13
|
+
# @param net_terms [Integer]
|
14
|
+
# @param customer_id [String, nil]
|
15
|
+
# @param discount [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::UsageDiscount, Orb::Models::AmountDiscount, nil]
|
16
|
+
# @param external_customer_id [String, nil]
|
17
|
+
# @param memo [String, nil]
|
18
|
+
# @param metadata [Hash{Symbol=>String, nil}, nil]
|
19
|
+
# @param will_auto_issue [Boolean]
|
20
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
21
|
+
#
|
22
|
+
# @return [Orb::Models::Invoice]
|
23
|
+
#
|
24
|
+
# @see Orb::Models::InvoiceCreateParams
|
25
|
+
def create(params)
|
26
|
+
parsed, options = Orb::Models::InvoiceCreateParams.dump_request(params)
|
27
|
+
@client.request(
|
28
|
+
method: :post,
|
29
|
+
path: "invoices",
|
30
|
+
body: parsed,
|
31
|
+
model: Orb::Models::Invoice,
|
32
|
+
options: options
|
33
|
+
)
|
34
|
+
end
|
35
|
+
|
36
|
+
# This endpoint allows you to update the `metadata` property on an invoice. If you
|
37
|
+
# pass null for the metadata value, it will clear any existing metadata for that
|
38
|
+
# invoice.
|
39
|
+
#
|
40
|
+
# `metadata` can be modified regardless of invoice state.
|
41
|
+
#
|
42
|
+
# @overload update(invoice_id, metadata: nil, request_options: {})
|
43
|
+
#
|
44
|
+
# @param invoice_id [String]
|
45
|
+
# @param metadata [Hash{Symbol=>String, nil}, nil]
|
46
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
47
|
+
#
|
48
|
+
# @return [Orb::Models::Invoice]
|
49
|
+
#
|
50
|
+
# @see Orb::Models::InvoiceUpdateParams
|
51
|
+
def update(invoice_id, params = {})
|
52
|
+
parsed, options = Orb::Models::InvoiceUpdateParams.dump_request(params)
|
53
|
+
@client.request(
|
54
|
+
method: :put,
|
55
|
+
path: ["invoices/%1$s", invoice_id],
|
56
|
+
body: parsed,
|
57
|
+
model: Orb::Models::Invoice,
|
58
|
+
options: options
|
59
|
+
)
|
60
|
+
end
|
61
|
+
|
62
|
+
# This endpoint returns a list of all [`Invoice`](/core-concepts#invoice)s for an
|
63
|
+
# account in a list format.
|
64
|
+
#
|
65
|
+
# The list of invoices is ordered starting from the most recently issued invoice
|
66
|
+
# date. The response also includes
|
67
|
+
# [`pagination_metadata`](/api-reference/pagination), which lets the caller
|
68
|
+
# retrieve the next page of results if they exist.
|
69
|
+
#
|
70
|
+
# By default, this only returns invoices that are `issued`, `paid`, or `synced`.
|
71
|
+
#
|
72
|
+
# When fetching any `draft` invoices, this returns the last-computed invoice
|
73
|
+
# values for each draft invoice, which may not always be up-to-date since Orb
|
74
|
+
# regularly refreshes invoices asynchronously.
|
75
|
+
#
|
76
|
+
# @overload list(amount: nil, amount_gt: nil, amount_lt: nil, cursor: nil, customer_id: nil, date_type: nil, due_date: nil, due_date_window: nil, due_date_gt: nil, due_date_lt: nil, external_customer_id: nil, invoice_date_gt: nil, invoice_date_gte: nil, invoice_date_lt: nil, invoice_date_lte: nil, is_recurring: nil, limit: nil, status: nil, subscription_id: nil, request_options: {})
|
77
|
+
#
|
78
|
+
# @param amount [String, nil]
|
79
|
+
# @param amount_gt [String, nil]
|
80
|
+
# @param amount_lt [String, nil]
|
81
|
+
# @param cursor [String, nil]
|
82
|
+
# @param customer_id [String, nil]
|
83
|
+
# @param date_type [Symbol, Orb::Models::InvoiceListParams::DateType, nil]
|
84
|
+
# @param due_date [Date, nil]
|
85
|
+
# @param due_date_window [String, nil]
|
86
|
+
# @param due_date_gt [Date, nil]
|
87
|
+
# @param due_date_lt [Date, nil]
|
88
|
+
# @param external_customer_id [String, nil]
|
89
|
+
# @param invoice_date_gt [Time, nil]
|
90
|
+
# @param invoice_date_gte [Time, nil]
|
91
|
+
# @param invoice_date_lt [Time, nil]
|
92
|
+
# @param invoice_date_lte [Time, nil]
|
93
|
+
# @param is_recurring [Boolean, nil]
|
94
|
+
# @param limit [Integer]
|
95
|
+
# @param status [Array<Symbol, Orb::Models::InvoiceListParams::Status>, nil]
|
96
|
+
# @param subscription_id [String, nil]
|
97
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
98
|
+
#
|
99
|
+
# @return [Orb::Page<Orb::Models::Invoice>]
|
100
|
+
#
|
101
|
+
# @see Orb::Models::InvoiceListParams
|
102
|
+
def list(params = {})
|
103
|
+
parsed, options = Orb::Models::InvoiceListParams.dump_request(params)
|
104
|
+
@client.request(
|
105
|
+
method: :get,
|
106
|
+
path: "invoices",
|
107
|
+
query: parsed,
|
108
|
+
page: Orb::Page,
|
109
|
+
model: Orb::Models::Invoice,
|
110
|
+
options: options
|
111
|
+
)
|
112
|
+
end
|
113
|
+
|
114
|
+
# This endpoint is used to fetch an [`Invoice`](/core-concepts#invoice) given an
|
115
|
+
# identifier.
|
116
|
+
#
|
117
|
+
# @overload fetch(invoice_id, request_options: {})
|
118
|
+
#
|
119
|
+
# @param invoice_id [String]
|
120
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
121
|
+
#
|
122
|
+
# @return [Orb::Models::Invoice]
|
123
|
+
#
|
124
|
+
# @see Orb::Models::InvoiceFetchParams
|
125
|
+
def fetch(invoice_id, params = {})
|
126
|
+
@client.request(
|
127
|
+
method: :get,
|
128
|
+
path: ["invoices/%1$s", invoice_id],
|
129
|
+
model: Orb::Models::Invoice,
|
130
|
+
options: params[:request_options]
|
131
|
+
)
|
132
|
+
end
|
133
|
+
|
134
|
+
# This endpoint can be used to fetch the upcoming
|
135
|
+
# [invoice](/core-concepts#invoice) for the current billing period given a
|
136
|
+
# subscription.
|
137
|
+
#
|
138
|
+
# @overload fetch_upcoming(subscription_id:, request_options: {})
|
139
|
+
#
|
140
|
+
# @param subscription_id [String]
|
141
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
142
|
+
#
|
143
|
+
# @return [Orb::Models::InvoiceFetchUpcomingResponse]
|
144
|
+
#
|
145
|
+
# @see Orb::Models::InvoiceFetchUpcomingParams
|
146
|
+
def fetch_upcoming(params)
|
147
|
+
parsed, options = Orb::Models::InvoiceFetchUpcomingParams.dump_request(params)
|
148
|
+
@client.request(
|
149
|
+
method: :get,
|
150
|
+
path: "invoices/upcoming",
|
151
|
+
query: parsed,
|
152
|
+
model: Orb::Models::InvoiceFetchUpcomingResponse,
|
153
|
+
options: options
|
154
|
+
)
|
155
|
+
end
|
156
|
+
|
157
|
+
# This endpoint allows an eligible invoice to be issued manually. This is only
|
158
|
+
# possible with invoices where status is `draft`, `will_auto_issue` is false, and
|
159
|
+
# an `eligible_to_issue_at` is a time in the past. Issuing an invoice could
|
160
|
+
# possibly trigger side effects, some of which could be customer-visible (e.g.
|
161
|
+
# sending emails, auto-collecting payment, syncing the invoice to external
|
162
|
+
# providers, etc).
|
163
|
+
#
|
164
|
+
# @overload issue(invoice_id, synchronous: nil, request_options: {})
|
165
|
+
#
|
166
|
+
# @param invoice_id [String]
|
167
|
+
# @param synchronous [Boolean]
|
168
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
169
|
+
#
|
170
|
+
# @return [Orb::Models::Invoice]
|
171
|
+
#
|
172
|
+
# @see Orb::Models::InvoiceIssueParams
|
173
|
+
def issue(invoice_id, params = {})
|
174
|
+
parsed, options = Orb::Models::InvoiceIssueParams.dump_request(params)
|
175
|
+
@client.request(
|
176
|
+
method: :post,
|
177
|
+
path: ["invoices/%1$s/issue", invoice_id],
|
178
|
+
body: parsed,
|
179
|
+
model: Orb::Models::Invoice,
|
180
|
+
options: options
|
181
|
+
)
|
182
|
+
end
|
183
|
+
|
184
|
+
# This endpoint allows an invoice's status to be set the `paid` status. This can
|
185
|
+
# only be done to invoices that are in the `issued` status.
|
186
|
+
#
|
187
|
+
# @overload mark_paid(invoice_id, payment_received_date:, external_id: nil, notes: nil, request_options: {})
|
188
|
+
#
|
189
|
+
# @param invoice_id [String]
|
190
|
+
# @param payment_received_date [Date]
|
191
|
+
# @param external_id [String, nil]
|
192
|
+
# @param notes [String, nil]
|
193
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
194
|
+
#
|
195
|
+
# @return [Orb::Models::Invoice]
|
196
|
+
#
|
197
|
+
# @see Orb::Models::InvoiceMarkPaidParams
|
198
|
+
def mark_paid(invoice_id, params)
|
199
|
+
parsed, options = Orb::Models::InvoiceMarkPaidParams.dump_request(params)
|
200
|
+
@client.request(
|
201
|
+
method: :post,
|
202
|
+
path: ["invoices/%1$s/mark_paid", invoice_id],
|
203
|
+
body: parsed,
|
204
|
+
model: Orb::Models::Invoice,
|
205
|
+
options: options
|
206
|
+
)
|
207
|
+
end
|
208
|
+
|
209
|
+
# This endpoint collects payment for an invoice using the customer's default
|
210
|
+
# payment method. This action can only be taken on invoices with status "issued".
|
211
|
+
#
|
212
|
+
# @overload pay(invoice_id, request_options: {})
|
213
|
+
#
|
214
|
+
# @param invoice_id [String]
|
215
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
216
|
+
#
|
217
|
+
# @return [Orb::Models::Invoice]
|
218
|
+
#
|
219
|
+
# @see Orb::Models::InvoicePayParams
|
220
|
+
def pay(invoice_id, params = {})
|
221
|
+
@client.request(
|
222
|
+
method: :post,
|
223
|
+
path: ["invoices/%1$s/pay", invoice_id],
|
224
|
+
model: Orb::Models::Invoice,
|
225
|
+
options: params[:request_options]
|
226
|
+
)
|
227
|
+
end
|
228
|
+
|
229
|
+
# This endpoint allows an invoice's status to be set the `void` status. This can
|
230
|
+
# only be done to invoices that are in the `issued` status.
|
231
|
+
#
|
232
|
+
# If the associated invoice has used the customer balance to change the amount
|
233
|
+
# due, the customer balance operation will be reverted. For example, if the
|
234
|
+
# invoice used $10 of customer balance, that amount will be added back to the
|
235
|
+
# customer balance upon voiding.
|
236
|
+
#
|
237
|
+
# If the invoice was used to purchase a credit block, but the invoice is not yet
|
238
|
+
# paid, the credit block will be voided. If the invoice was created due to a
|
239
|
+
# top-up, the top-up will be disabled.
|
240
|
+
#
|
241
|
+
# @overload void(invoice_id, request_options: {})
|
242
|
+
#
|
243
|
+
# @param invoice_id [String]
|
244
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
245
|
+
#
|
246
|
+
# @return [Orb::Models::Invoice]
|
247
|
+
#
|
248
|
+
# @see Orb::Models::InvoiceVoidParams
|
249
|
+
def void(invoice_id, params = {})
|
250
|
+
@client.request(
|
251
|
+
method: :post,
|
252
|
+
path: ["invoices/%1$s/void", invoice_id],
|
253
|
+
model: Orb::Models::Invoice,
|
254
|
+
options: params[:request_options]
|
255
|
+
)
|
256
|
+
end
|
257
|
+
|
258
|
+
# @api private
|
259
|
+
#
|
260
|
+
# @param client [Orb::Client]
|
261
|
+
def initialize(client:)
|
262
|
+
@client = client
|
263
|
+
end
|
264
|
+
end
|
265
|
+
end
|
266
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Items
|
6
|
+
# This endpoint is used to create an [Item](/core-concepts#item).
|
7
|
+
#
|
8
|
+
# @overload create(name:, request_options: {})
|
9
|
+
#
|
10
|
+
# @param name [String]
|
11
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
12
|
+
#
|
13
|
+
# @return [Orb::Models::Item]
|
14
|
+
#
|
15
|
+
# @see Orb::Models::ItemCreateParams
|
16
|
+
def create(params)
|
17
|
+
parsed, options = Orb::Models::ItemCreateParams.dump_request(params)
|
18
|
+
@client.request(method: :post, path: "items", body: parsed, model: Orb::Models::Item, options: options)
|
19
|
+
end
|
20
|
+
|
21
|
+
# This endpoint can be used to update properties on the Item.
|
22
|
+
#
|
23
|
+
# @overload update(item_id, external_connections: nil, name: nil, request_options: {})
|
24
|
+
#
|
25
|
+
# @param item_id [String]
|
26
|
+
# @param external_connections [Array<Orb::Models::ItemUpdateParams::ExternalConnection>, nil]
|
27
|
+
# @param name [String, nil]
|
28
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
29
|
+
#
|
30
|
+
# @return [Orb::Models::Item]
|
31
|
+
#
|
32
|
+
# @see Orb::Models::ItemUpdateParams
|
33
|
+
def update(item_id, params = {})
|
34
|
+
parsed, options = Orb::Models::ItemUpdateParams.dump_request(params)
|
35
|
+
@client.request(
|
36
|
+
method: :put,
|
37
|
+
path: ["items/%1$s", item_id],
|
38
|
+
body: parsed,
|
39
|
+
model: Orb::Models::Item,
|
40
|
+
options: options
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
# This endpoint returns a list of all Items, ordered in descending order by
|
45
|
+
# creation time.
|
46
|
+
#
|
47
|
+
# @overload list(cursor: nil, limit: nil, request_options: {})
|
48
|
+
#
|
49
|
+
# @param cursor [String, nil]
|
50
|
+
# @param limit [Integer]
|
51
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
52
|
+
#
|
53
|
+
# @return [Orb::Page<Orb::Models::Item>]
|
54
|
+
#
|
55
|
+
# @see Orb::Models::ItemListParams
|
56
|
+
def list(params = {})
|
57
|
+
parsed, options = Orb::Models::ItemListParams.dump_request(params)
|
58
|
+
@client.request(
|
59
|
+
method: :get,
|
60
|
+
path: "items",
|
61
|
+
query: parsed,
|
62
|
+
page: Orb::Page,
|
63
|
+
model: Orb::Models::Item,
|
64
|
+
options: options
|
65
|
+
)
|
66
|
+
end
|
67
|
+
|
68
|
+
# This endpoint returns an item identified by its item_id.
|
69
|
+
#
|
70
|
+
# @overload fetch(item_id, request_options: {})
|
71
|
+
#
|
72
|
+
# @param item_id [String]
|
73
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
74
|
+
#
|
75
|
+
# @return [Orb::Models::Item]
|
76
|
+
#
|
77
|
+
# @see Orb::Models::ItemFetchParams
|
78
|
+
def fetch(item_id, params = {})
|
79
|
+
@client.request(
|
80
|
+
method: :get,
|
81
|
+
path: ["items/%1$s", item_id],
|
82
|
+
model: Orb::Models::Item,
|
83
|
+
options: params[:request_options]
|
84
|
+
)
|
85
|
+
end
|
86
|
+
|
87
|
+
# @api private
|
88
|
+
#
|
89
|
+
# @param client [Orb::Client]
|
90
|
+
def initialize(client:)
|
91
|
+
@client = client
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Metrics
|
6
|
+
# This endpoint is used to create a [metric](/core-concepts###metric) using a SQL
|
7
|
+
# string. See [SQL support](/extensibility/advanced-metrics#sql-support) for a
|
8
|
+
# description of constructing SQL queries with examples.
|
9
|
+
#
|
10
|
+
# @overload create(description:, item_id:, name:, sql:, metadata: nil, request_options: {})
|
11
|
+
#
|
12
|
+
# @param description [String, nil]
|
13
|
+
# @param item_id [String]
|
14
|
+
# @param name [String]
|
15
|
+
# @param sql [String]
|
16
|
+
# @param metadata [Hash{Symbol=>String, nil}, nil]
|
17
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
18
|
+
#
|
19
|
+
# @return [Orb::Models::BillableMetric]
|
20
|
+
#
|
21
|
+
# @see Orb::Models::MetricCreateParams
|
22
|
+
def create(params)
|
23
|
+
parsed, options = Orb::Models::MetricCreateParams.dump_request(params)
|
24
|
+
@client.request(
|
25
|
+
method: :post,
|
26
|
+
path: "metrics",
|
27
|
+
body: parsed,
|
28
|
+
model: Orb::Models::BillableMetric,
|
29
|
+
options: options
|
30
|
+
)
|
31
|
+
end
|
32
|
+
|
33
|
+
# This endpoint allows you to update the `metadata` property on a metric. If you
|
34
|
+
# pass `null` for the metadata value, it will clear any existing metadata for that
|
35
|
+
# invoice.
|
36
|
+
#
|
37
|
+
# @overload update(metric_id, metadata: nil, request_options: {})
|
38
|
+
#
|
39
|
+
# @param metric_id [String]
|
40
|
+
# @param metadata [Hash{Symbol=>String, nil}, nil]
|
41
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
42
|
+
#
|
43
|
+
# @return [Orb::Models::BillableMetric]
|
44
|
+
#
|
45
|
+
# @see Orb::Models::MetricUpdateParams
|
46
|
+
def update(metric_id, params = {})
|
47
|
+
parsed, options = Orb::Models::MetricUpdateParams.dump_request(params)
|
48
|
+
@client.request(
|
49
|
+
method: :put,
|
50
|
+
path: ["metrics/%1$s", metric_id],
|
51
|
+
body: parsed,
|
52
|
+
model: Orb::Models::BillableMetric,
|
53
|
+
options: options
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
57
|
+
# This endpoint is used to fetch [metric](/core-concepts##metric) details given a
|
58
|
+
# metric identifier. It returns information about the metrics including its name,
|
59
|
+
# description, and item.
|
60
|
+
#
|
61
|
+
# @overload list(created_at_gt: nil, created_at_gte: nil, created_at_lt: nil, created_at_lte: nil, cursor: nil, limit: nil, request_options: {})
|
62
|
+
#
|
63
|
+
# @param created_at_gt [Time, nil]
|
64
|
+
# @param created_at_gte [Time, nil]
|
65
|
+
# @param created_at_lt [Time, nil]
|
66
|
+
# @param created_at_lte [Time, nil]
|
67
|
+
# @param cursor [String, nil]
|
68
|
+
# @param limit [Integer]
|
69
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
70
|
+
#
|
71
|
+
# @return [Orb::Page<Orb::Models::BillableMetric>]
|
72
|
+
#
|
73
|
+
# @see Orb::Models::MetricListParams
|
74
|
+
def list(params = {})
|
75
|
+
parsed, options = Orb::Models::MetricListParams.dump_request(params)
|
76
|
+
@client.request(
|
77
|
+
method: :get,
|
78
|
+
path: "metrics",
|
79
|
+
query: parsed,
|
80
|
+
page: Orb::Page,
|
81
|
+
model: Orb::Models::BillableMetric,
|
82
|
+
options: options
|
83
|
+
)
|
84
|
+
end
|
85
|
+
|
86
|
+
# This endpoint is used to list [metrics](/core-concepts#metric). It returns
|
87
|
+
# information about the metrics including its name, description, and item.
|
88
|
+
#
|
89
|
+
# @overload fetch(metric_id, request_options: {})
|
90
|
+
#
|
91
|
+
# @param metric_id [String]
|
92
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
93
|
+
#
|
94
|
+
# @return [Orb::Models::BillableMetric]
|
95
|
+
#
|
96
|
+
# @see Orb::Models::MetricFetchParams
|
97
|
+
def fetch(metric_id, params = {})
|
98
|
+
@client.request(
|
99
|
+
method: :get,
|
100
|
+
path: ["metrics/%1$s", metric_id],
|
101
|
+
model: Orb::Models::BillableMetric,
|
102
|
+
options: params[:request_options]
|
103
|
+
)
|
104
|
+
end
|
105
|
+
|
106
|
+
# @api private
|
107
|
+
#
|
108
|
+
# @param client [Orb::Client]
|
109
|
+
def initialize(client:)
|
110
|
+
@client = client
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Plans
|
6
|
+
class ExternalPlanID
|
7
|
+
# This endpoint can be used to update the `external_plan_id`, and `metadata` of an
|
8
|
+
# existing plan.
|
9
|
+
#
|
10
|
+
# Other fields on a customer are currently immutable.
|
11
|
+
#
|
12
|
+
# @overload update(other_external_plan_id, external_plan_id: nil, metadata: nil, request_options: {})
|
13
|
+
#
|
14
|
+
# @param other_external_plan_id [String]
|
15
|
+
# @param external_plan_id [String, nil]
|
16
|
+
# @param metadata [Hash{Symbol=>String, nil}, nil]
|
17
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
18
|
+
#
|
19
|
+
# @return [Orb::Models::Plan]
|
20
|
+
#
|
21
|
+
# @see Orb::Models::Plans::ExternalPlanIDUpdateParams
|
22
|
+
def update(other_external_plan_id, params = {})
|
23
|
+
parsed, options = Orb::Models::Plans::ExternalPlanIDUpdateParams.dump_request(params)
|
24
|
+
@client.request(
|
25
|
+
method: :put,
|
26
|
+
path: ["plans/external_plan_id/%1$s", other_external_plan_id],
|
27
|
+
body: parsed,
|
28
|
+
model: Orb::Models::Plan,
|
29
|
+
options: options
|
30
|
+
)
|
31
|
+
end
|
32
|
+
|
33
|
+
# This endpoint is used to fetch [plan](/core-concepts##plan-and-price) details
|
34
|
+
# given an external_plan_id identifier. It returns information about the prices
|
35
|
+
# included in the plan and their configuration, as well as the product that the
|
36
|
+
# plan is attached to.
|
37
|
+
#
|
38
|
+
# If multiple plans are found to contain the specified external_plan_id, the
|
39
|
+
# active plans will take priority over archived ones, and among those, the
|
40
|
+
# endpoint will return the most recently created plan.
|
41
|
+
#
|
42
|
+
# ## Serialized prices
|
43
|
+
#
|
44
|
+
# Orb supports a few different pricing models out of the box. Each of these models
|
45
|
+
# is serialized differently in a given [Price](/core-concepts#plan-and-price)
|
46
|
+
# object. The `model_type` field determines the key for the configuration object
|
47
|
+
# that is present. A detailed explanation of price types can be found in the
|
48
|
+
# [Price schema](/core-concepts#plan-and-price). "
|
49
|
+
#
|
50
|
+
# @overload fetch(external_plan_id, request_options: {})
|
51
|
+
#
|
52
|
+
# @param external_plan_id [String]
|
53
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
54
|
+
#
|
55
|
+
# @return [Orb::Models::Plan]
|
56
|
+
#
|
57
|
+
# @see Orb::Models::Plans::ExternalPlanIDFetchParams
|
58
|
+
def fetch(external_plan_id, params = {})
|
59
|
+
@client.request(
|
60
|
+
method: :get,
|
61
|
+
path: ["plans/external_plan_id/%1$s", external_plan_id],
|
62
|
+
model: Orb::Models::Plan,
|
63
|
+
options: params[:request_options]
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
67
|
+
# @api private
|
68
|
+
#
|
69
|
+
# @param client [Orb::Client]
|
70
|
+
def initialize(client:)
|
71
|
+
@client = client
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,133 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Orb
|
4
|
+
module Resources
|
5
|
+
class Plans
|
6
|
+
# @return [Orb::Resources::Plans::ExternalPlanID]
|
7
|
+
attr_reader :external_plan_id
|
8
|
+
|
9
|
+
# This endpoint allows creation of plans including their prices.
|
10
|
+
#
|
11
|
+
# @overload create(currency:, name:, prices:, default_invoice_memo: nil, external_plan_id: nil, metadata: nil, net_terms: nil, status: nil, request_options: {})
|
12
|
+
#
|
13
|
+
# @param currency [String]
|
14
|
+
# @param name [String]
|
15
|
+
# @param prices [Array<Orb::Models::PlanCreateParams::Price::NewPlanUnitPrice, Orb::Models::PlanCreateParams::Price::NewPlanPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanMatrixPrice, Orb::Models::PlanCreateParams::Price::NewPlanTieredPrice, Orb::Models::PlanCreateParams::Price::NewPlanTieredBpsPrice, Orb::Models::PlanCreateParams::Price::NewPlanBpsPrice, Orb::Models::PlanCreateParams::Price::NewPlanBulkBpsPrice, Orb::Models::PlanCreateParams::Price::NewPlanBulkPrice, Orb::Models::PlanCreateParams::Price::NewPlanThresholdTotalAmountPrice, Orb::Models::PlanCreateParams::Price::NewPlanTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanTieredWithMinimumPrice, Orb::Models::PlanCreateParams::Price::NewPlanUnitWithPercentPrice, Orb::Models::PlanCreateParams::Price::NewPlanPackageWithAllocationPrice, Orb::Models::PlanCreateParams::Price::NewPlanTierWithProrationPrice, Orb::Models::PlanCreateParams::Price::NewPlanUnitWithProrationPrice, Orb::Models::PlanCreateParams::Price::NewPlanGroupedAllocationPrice, Orb::Models::PlanCreateParams::Price::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::PlanCreateParams::Price::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::PlanCreateParams::Price::NewPlanMatrixWithDisplayNamePrice, Orb::Models::PlanCreateParams::Price::NewPlanBulkWithProrationPrice, Orb::Models::PlanCreateParams::Price::NewPlanGroupedTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice>]
|
16
|
+
# @param default_invoice_memo [String, nil]
|
17
|
+
# @param external_plan_id [String, nil]
|
18
|
+
# @param metadata [Hash{Symbol=>String, nil}, nil]
|
19
|
+
# @param net_terms [Integer, nil]
|
20
|
+
# @param status [Symbol, Orb::Models::PlanCreateParams::Status]
|
21
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
22
|
+
#
|
23
|
+
# @return [Orb::Models::Plan]
|
24
|
+
#
|
25
|
+
# @see Orb::Models::PlanCreateParams
|
26
|
+
def create(params)
|
27
|
+
parsed, options = Orb::Models::PlanCreateParams.dump_request(params)
|
28
|
+
@client.request(method: :post, path: "plans", body: parsed, model: Orb::Models::Plan, options: options)
|
29
|
+
end
|
30
|
+
|
31
|
+
# This endpoint can be used to update the `external_plan_id`, and `metadata` of an
|
32
|
+
# existing plan.
|
33
|
+
#
|
34
|
+
# Other fields on a customer are currently immutable.
|
35
|
+
#
|
36
|
+
# @overload update(plan_id, external_plan_id: nil, metadata: nil, request_options: {})
|
37
|
+
#
|
38
|
+
# @param plan_id [String]
|
39
|
+
# @param external_plan_id [String, nil]
|
40
|
+
# @param metadata [Hash{Symbol=>String, nil}, nil]
|
41
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
42
|
+
#
|
43
|
+
# @return [Orb::Models::Plan]
|
44
|
+
#
|
45
|
+
# @see Orb::Models::PlanUpdateParams
|
46
|
+
def update(plan_id, params = {})
|
47
|
+
parsed, options = Orb::Models::PlanUpdateParams.dump_request(params)
|
48
|
+
@client.request(
|
49
|
+
method: :put,
|
50
|
+
path: ["plans/%1$s", plan_id],
|
51
|
+
body: parsed,
|
52
|
+
model: Orb::Models::Plan,
|
53
|
+
options: options
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
57
|
+
# This endpoint returns a list of all [plans](/core-concepts#plan-and-price) for
|
58
|
+
# an account in a list format. The list of plans is ordered starting from the most
|
59
|
+
# recently created plan. The response also includes
|
60
|
+
# [`pagination_metadata`](/api-reference/pagination), which lets the caller
|
61
|
+
# retrieve the next page of results if they exist.
|
62
|
+
#
|
63
|
+
# @overload list(created_at_gt: nil, created_at_gte: nil, created_at_lt: nil, created_at_lte: nil, cursor: nil, limit: nil, status: nil, request_options: {})
|
64
|
+
#
|
65
|
+
# @param created_at_gt [Time, nil]
|
66
|
+
# @param created_at_gte [Time, nil]
|
67
|
+
# @param created_at_lt [Time, nil]
|
68
|
+
# @param created_at_lte [Time, nil]
|
69
|
+
# @param cursor [String, nil]
|
70
|
+
# @param limit [Integer]
|
71
|
+
# @param status [Symbol, Orb::Models::PlanListParams::Status]
|
72
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
73
|
+
#
|
74
|
+
# @return [Orb::Page<Orb::Models::Plan>]
|
75
|
+
#
|
76
|
+
# @see Orb::Models::PlanListParams
|
77
|
+
def list(params = {})
|
78
|
+
parsed, options = Orb::Models::PlanListParams.dump_request(params)
|
79
|
+
@client.request(
|
80
|
+
method: :get,
|
81
|
+
path: "plans",
|
82
|
+
query: parsed,
|
83
|
+
page: Orb::Page,
|
84
|
+
model: Orb::Models::Plan,
|
85
|
+
options: options
|
86
|
+
)
|
87
|
+
end
|
88
|
+
|
89
|
+
# This endpoint is used to fetch [plan](/core-concepts#plan-and-price) details
|
90
|
+
# given a plan identifier. It returns information about the prices included in the
|
91
|
+
# plan and their configuration, as well as the product that the plan is attached
|
92
|
+
# to.
|
93
|
+
#
|
94
|
+
# ## Serialized prices
|
95
|
+
#
|
96
|
+
# Orb supports a few different pricing models out of the box. Each of these models
|
97
|
+
# is serialized differently in a given [Price](/core-concepts#plan-and-price)
|
98
|
+
# object. The `model_type` field determines the key for the configuration object
|
99
|
+
# that is present. A detailed explanation of price types can be found in the
|
100
|
+
# [Price schema](/core-concepts#plan-and-price).
|
101
|
+
#
|
102
|
+
# ## Phases
|
103
|
+
#
|
104
|
+
# Orb supports plan phases, also known as contract ramps. For plans with phases,
|
105
|
+
# the serialized prices refer to all prices across all phases.
|
106
|
+
#
|
107
|
+
# @overload fetch(plan_id, request_options: {})
|
108
|
+
#
|
109
|
+
# @param plan_id [String]
|
110
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
111
|
+
#
|
112
|
+
# @return [Orb::Models::Plan]
|
113
|
+
#
|
114
|
+
# @see Orb::Models::PlanFetchParams
|
115
|
+
def fetch(plan_id, params = {})
|
116
|
+
@client.request(
|
117
|
+
method: :get,
|
118
|
+
path: ["plans/%1$s", plan_id],
|
119
|
+
model: Orb::Models::Plan,
|
120
|
+
options: params[:request_options]
|
121
|
+
)
|
122
|
+
end
|
123
|
+
|
124
|
+
# @api private
|
125
|
+
#
|
126
|
+
# @param client [Orb::Client]
|
127
|
+
def initialize(client:)
|
128
|
+
@client = client
|
129
|
+
@external_plan_id = Orb::Resources::Plans::ExternalPlanID.new(client: client)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|