orb-billing 1.43.0 → 1.44.0
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/lib/orb/client.rb +6 -0
- data/lib/orb/models/alert_create_for_plan_params.rb +156 -0
- data/lib/orb/models/dimensional_price_groups/price_create_params.rb +147 -0
- data/lib/orb/models/dimensional_price_groups/price_create_response.rb +19 -0
- data/lib/orb/models/dimensional_price_groups/price_list_params.rb +65 -0
- data/lib/orb/models/plan_created_webhook_event.rb +91 -0
- data/lib/orb/models/plan_edited_webhook_event.rb +131 -0
- data/lib/orb/models/tax_amount.rb +32 -1
- data/lib/orb/models/unwrap_webhook_event.rb +7 -1
- data/lib/orb/models/webhook_endpoint.rb +56 -0
- data/lib/orb/models/webhook_endpoint_create_params.rb +34 -0
- data/lib/orb/models/webhook_endpoint_delete_params.rb +20 -0
- data/lib/orb/models/webhook_endpoint_disable_params.rb +20 -0
- data/lib/orb/models/webhook_endpoint_enable_params.rb +20 -0
- data/lib/orb/models/webhook_endpoint_list_params.rb +34 -0
- data/lib/orb/models/webhook_endpoint_retrieve_params.rb +20 -0
- data/lib/orb/models/webhook_endpoint_update_params.rb +41 -0
- data/lib/orb/models/webhook_endpoint_with_secret.rb +65 -0
- data/lib/orb/models.rb +24 -0
- data/lib/orb/resources/alerts.rb +55 -0
- data/lib/orb/resources/dimensional_price_groups/prices.rb +87 -0
- data/lib/orb/resources/dimensional_price_groups.rb +4 -0
- data/lib/orb/resources/webhook_endpoints.rb +183 -0
- data/lib/orb/resources/webhooks.rb +1 -1
- data/lib/orb/version.rb +1 -1
- data/lib/orb.rb +17 -0
- data/rbi/orb/client.rbi +5 -0
- data/rbi/orb/models/alert_create_for_plan_params.rbi +290 -0
- data/rbi/orb/models/dimensional_price_groups/price_create_params.rbi +298 -0
- data/rbi/orb/models/dimensional_price_groups/price_create_response.rbi +76 -0
- data/rbi/orb/models/dimensional_price_groups/price_list_params.rbi +134 -0
- data/rbi/orb/models/plan_created_webhook_event.rbi +140 -0
- data/rbi/orb/models/plan_edited_webhook_event.rbi +259 -0
- data/rbi/orb/models/tax_amount.rbi +41 -3
- data/rbi/orb/models/unwrap_webhook_event.rbi +2 -0
- data/rbi/orb/models/webhook_endpoint.rbi +71 -0
- data/rbi/orb/models/webhook_endpoint_create_params.rbi +53 -0
- data/rbi/orb/models/webhook_endpoint_delete_params.rbi +35 -0
- data/rbi/orb/models/webhook_endpoint_disable_params.rbi +35 -0
- data/rbi/orb/models/webhook_endpoint_enable_params.rbi +35 -0
- data/rbi/orb/models/webhook_endpoint_list_params.rbi +56 -0
- data/rbi/orb/models/webhook_endpoint_retrieve_params.rbi +35 -0
- data/rbi/orb/models/webhook_endpoint_update_params.rbi +59 -0
- data/rbi/orb/models/webhook_endpoint_with_secret.rbi +83 -0
- data/rbi/orb/models.rbi +24 -0
- data/rbi/orb/resources/alerts.rbi +59 -0
- data/rbi/orb/resources/dimensional_price_groups/prices.rbi +82 -0
- data/rbi/orb/resources/dimensional_price_groups.rbi +3 -0
- data/rbi/orb/resources/webhook_endpoints.rbi +116 -0
- data/rbi/orb/resources/webhooks.rbi +2 -0
- data/sig/orb/client.rbs +2 -0
- data/sig/orb/models/alert_create_for_plan_params.rbs +126 -0
- data/sig/orb/models/dimensional_price_groups/price_create_params.rbs +123 -0
- data/sig/orb/models/dimensional_price_groups/price_create_response.rbs +15 -0
- data/sig/orb/models/dimensional_price_groups/price_list_params.rbs +61 -0
- data/sig/orb/models/plan_created_webhook_event.rbs +72 -0
- data/sig/orb/models/plan_edited_webhook_event.rbs +116 -0
- data/sig/orb/models/tax_amount.rbs +31 -3
- data/sig/orb/models/unwrap_webhook_event.rbs +2 -0
- data/sig/orb/models/webhook_endpoint.rbs +40 -0
- data/sig/orb/models/webhook_endpoint_create_params.rbs +28 -0
- data/sig/orb/models/webhook_endpoint_delete_params.rbs +23 -0
- data/sig/orb/models/webhook_endpoint_disable_params.rbs +23 -0
- data/sig/orb/models/webhook_endpoint_enable_params.rbs +23 -0
- data/sig/orb/models/webhook_endpoint_list_params.rbs +30 -0
- data/sig/orb/models/webhook_endpoint_retrieve_params.rbs +23 -0
- data/sig/orb/models/webhook_endpoint_update_params.rbs +36 -0
- data/sig/orb/models/webhook_endpoint_with_secret.rbs +45 -0
- data/sig/orb/models.rbs +24 -0
- data/sig/orb/resources/alerts.rbs +12 -0
- data/sig/orb/resources/dimensional_price_groups/prices.rbs +28 -0
- data/sig/orb/resources/dimensional_price_groups.rbs +2 -0
- data/sig/orb/resources/webhook_endpoints.rbs +46 -0
- data/sig/orb/resources/webhooks.rbs +2 -0
- metadata +52 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Orb
|
|
4
|
+
module Resources
|
|
5
|
+
# A webhook endpoint is an HTTPS URL that Orb sends
|
|
6
|
+
# [webhook events](/integrations-and-exports/webhooks) to.
|
|
7
|
+
class WebhookEndpoints
|
|
8
|
+
# Some parameter documentations has been truncated, see
|
|
9
|
+
# {Orb::Models::WebhookEndpointCreateParams} for more details.
|
|
10
|
+
#
|
|
11
|
+
# This endpoint creates a webhook endpoint and returns the secret used to sign its
|
|
12
|
+
# webhook events. The secret isn't returned by any other endpoint. An account can
|
|
13
|
+
# have at most 20 webhook endpoints by default.
|
|
14
|
+
#
|
|
15
|
+
# @overload create(url:, enabled_event_types: nil, request_options: {})
|
|
16
|
+
#
|
|
17
|
+
# @param url [String] The HTTPS URL that Orb sends webhook events to.
|
|
18
|
+
#
|
|
19
|
+
# @param enabled_event_types [Array<String>, nil] The webhook event types to send to this endpoint. If omitted or null, all event
|
|
20
|
+
#
|
|
21
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
22
|
+
#
|
|
23
|
+
# @return [Orb::Models::WebhookEndpointWithSecret]
|
|
24
|
+
#
|
|
25
|
+
# @see Orb::Models::WebhookEndpointCreateParams
|
|
26
|
+
def create(params)
|
|
27
|
+
parsed, options = Orb::WebhookEndpointCreateParams.dump_request(params)
|
|
28
|
+
@client.request(
|
|
29
|
+
method: :post,
|
|
30
|
+
path: "webhook_endpoints",
|
|
31
|
+
body: parsed,
|
|
32
|
+
model: Orb::WebhookEndpointWithSecret,
|
|
33
|
+
options: options
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# This endpoint returns a webhook endpoint identified by its ID.
|
|
38
|
+
#
|
|
39
|
+
# @overload retrieve(webhook_endpoint_id, request_options: {})
|
|
40
|
+
#
|
|
41
|
+
# @param webhook_endpoint_id [String]
|
|
42
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
43
|
+
#
|
|
44
|
+
# @return [Orb::Models::WebhookEndpoint]
|
|
45
|
+
#
|
|
46
|
+
# @see Orb::Models::WebhookEndpointRetrieveParams
|
|
47
|
+
def retrieve(webhook_endpoint_id, params = {})
|
|
48
|
+
@client.request(
|
|
49
|
+
method: :get,
|
|
50
|
+
path: ["webhook_endpoints/%1$s", webhook_endpoint_id],
|
|
51
|
+
model: Orb::WebhookEndpoint,
|
|
52
|
+
options: params[:request_options]
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Some parameter documentations has been truncated, see
|
|
57
|
+
# {Orb::Models::WebhookEndpointUpdateParams} for more details.
|
|
58
|
+
#
|
|
59
|
+
# This endpoint updates a webhook endpoint's URL or the event types sent to it.
|
|
60
|
+
#
|
|
61
|
+
# @overload update(webhook_endpoint_id, enabled_event_types: nil, url: nil, request_options: {})
|
|
62
|
+
#
|
|
63
|
+
# @param webhook_endpoint_id [String]
|
|
64
|
+
#
|
|
65
|
+
# @param enabled_event_types [Array<String>, nil] The webhook event types to send to this endpoint. Null sends all event types; om
|
|
66
|
+
#
|
|
67
|
+
# @param url [String, nil] The HTTPS URL that Orb sends webhook events to.
|
|
68
|
+
#
|
|
69
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
70
|
+
#
|
|
71
|
+
# @return [Orb::Models::WebhookEndpoint]
|
|
72
|
+
#
|
|
73
|
+
# @see Orb::Models::WebhookEndpointUpdateParams
|
|
74
|
+
def update(webhook_endpoint_id, params = {})
|
|
75
|
+
parsed, options = Orb::WebhookEndpointUpdateParams.dump_request(params)
|
|
76
|
+
@client.request(
|
|
77
|
+
method: :put,
|
|
78
|
+
path: ["webhook_endpoints/%1$s", webhook_endpoint_id],
|
|
79
|
+
body: parsed,
|
|
80
|
+
model: Orb::WebhookEndpoint,
|
|
81
|
+
options: options
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# Some parameter documentations has been truncated, see
|
|
86
|
+
# {Orb::Models::WebhookEndpointListParams} for more details.
|
|
87
|
+
#
|
|
88
|
+
# This endpoint returns the account's webhook endpoints, ordered starting from the
|
|
89
|
+
# most recently created.
|
|
90
|
+
#
|
|
91
|
+
# @overload list(cursor: nil, limit: nil, request_options: {})
|
|
92
|
+
#
|
|
93
|
+
# @param cursor [String, nil] Cursor for pagination. This can be populated by the `next_cursor` value returned
|
|
94
|
+
#
|
|
95
|
+
# @param limit [Integer] The number of items to fetch. Defaults to 20.
|
|
96
|
+
#
|
|
97
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
98
|
+
#
|
|
99
|
+
# @return [Orb::Internal::Page<Orb::Models::WebhookEndpoint>]
|
|
100
|
+
#
|
|
101
|
+
# @see Orb::Models::WebhookEndpointListParams
|
|
102
|
+
def list(params = {})
|
|
103
|
+
parsed, options = Orb::WebhookEndpointListParams.dump_request(params)
|
|
104
|
+
query = Orb::Internal::Util.encode_query_params(parsed)
|
|
105
|
+
@client.request(
|
|
106
|
+
method: :get,
|
|
107
|
+
path: "webhook_endpoints",
|
|
108
|
+
query: query,
|
|
109
|
+
page: Orb::Internal::Page,
|
|
110
|
+
model: Orb::WebhookEndpoint,
|
|
111
|
+
options: options
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# This endpoint deletes a webhook endpoint. Orb stops sending webhook events to it
|
|
116
|
+
# immediately.
|
|
117
|
+
#
|
|
118
|
+
# @overload delete(webhook_endpoint_id, request_options: {})
|
|
119
|
+
#
|
|
120
|
+
# @param webhook_endpoint_id [String]
|
|
121
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
122
|
+
#
|
|
123
|
+
# @return [nil]
|
|
124
|
+
#
|
|
125
|
+
# @see Orb::Models::WebhookEndpointDeleteParams
|
|
126
|
+
def delete(webhook_endpoint_id, params = {})
|
|
127
|
+
@client.request(
|
|
128
|
+
method: :delete,
|
|
129
|
+
path: ["webhook_endpoints/%1$s", webhook_endpoint_id],
|
|
130
|
+
model: NilClass,
|
|
131
|
+
options: params[:request_options]
|
|
132
|
+
)
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# This endpoint disables a webhook endpoint, so Orb stops sending webhook events
|
|
136
|
+
# to it until it is enabled again.
|
|
137
|
+
#
|
|
138
|
+
# @overload disable(webhook_endpoint_id, request_options: {})
|
|
139
|
+
#
|
|
140
|
+
# @param webhook_endpoint_id [String]
|
|
141
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
142
|
+
#
|
|
143
|
+
# @return [Orb::Models::WebhookEndpoint]
|
|
144
|
+
#
|
|
145
|
+
# @see Orb::Models::WebhookEndpointDisableParams
|
|
146
|
+
def disable(webhook_endpoint_id, params = {})
|
|
147
|
+
@client.request(
|
|
148
|
+
method: :post,
|
|
149
|
+
path: ["webhook_endpoints/%1$s/disable", webhook_endpoint_id],
|
|
150
|
+
model: Orb::WebhookEndpoint,
|
|
151
|
+
options: params[:request_options]
|
|
152
|
+
)
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# This endpoint enables a webhook endpoint, so Orb resumes sending webhook events
|
|
156
|
+
# to it.
|
|
157
|
+
#
|
|
158
|
+
# @overload enable(webhook_endpoint_id, request_options: {})
|
|
159
|
+
#
|
|
160
|
+
# @param webhook_endpoint_id [String]
|
|
161
|
+
# @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
162
|
+
#
|
|
163
|
+
# @return [Orb::Models::WebhookEndpoint]
|
|
164
|
+
#
|
|
165
|
+
# @see Orb::Models::WebhookEndpointEnableParams
|
|
166
|
+
def enable(webhook_endpoint_id, params = {})
|
|
167
|
+
@client.request(
|
|
168
|
+
method: :post,
|
|
169
|
+
path: ["webhook_endpoints/%1$s/enable", webhook_endpoint_id],
|
|
170
|
+
model: Orb::WebhookEndpoint,
|
|
171
|
+
options: params[:request_options]
|
|
172
|
+
)
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
# @api private
|
|
176
|
+
#
|
|
177
|
+
# @param client [Orb::Client]
|
|
178
|
+
def initialize(client:)
|
|
179
|
+
@client = client
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
end
|
|
@@ -5,7 +5,7 @@ module Orb
|
|
|
5
5
|
class Webhooks
|
|
6
6
|
# @param payload [String] The raw webhook payload as a string
|
|
7
7
|
#
|
|
8
|
-
# @return [Orb::Models::BackfillReflectedWebhookEvent, Orb::Models::BackfillRevertedWebhookEvent, Orb::Models::BillableMetricEditedWebhookEvent, Orb::Models::CreditBlockAccountingSyncFailedWebhookEvent, Orb::Models::CreditBlockAccountingSyncSucceededWebhookEvent, Orb::Models::CreditNoteAccountingSyncFailedWebhookEvent, Orb::Models::CreditNoteAccountingSyncSucceededWebhookEvent, Orb::Models::CreditNoteIssuedWebhookEvent, Orb::Models::CreditNoteMarkedAsVoidWebhookEvent, Orb::Models::CustomerAccountingSyncFailedWebhookEvent, Orb::Models::CustomerAccountingSyncSucceededWebhookEvent, Orb::Models::CustomerBalanceTransactionCreatedWebhookEvent, Orb::Models::CustomerCreatedWebhookEvent, Orb::Models::CustomerCreditBalanceDepletedWebhookEvent, Orb::Models::CustomerCreditBalanceDroppedWebhookEvent, Orb::Models::CustomerCreditBalanceRecoveredWebhookEvent, Orb::Models::CustomerCreditLedgerIncrementedWebhookEvent, Orb::Models::CustomerEditedWebhookEvent, Orb::Models::DataExportsTransferErrorWebhookEvent, Orb::Models::DataExportsTransferSuccessWebhookEvent, Orb::Models::EventUnmatchedEventWebhookEvent, Orb::Models::IngestionUnmatchedCustomerIDsWebhookEvent, Orb::Models::InvoiceAccountingSyncFailedWebhookEvent, Orb::Models::InvoiceAccountingSyncSucceededWebhookEvent, Orb::Models::InvoiceAutomationScheduleStepExecutedWebhookEvent, Orb::Models::InvoiceCostDataExportedWebhookEvent, Orb::Models::InvoiceDunningScheduleCreatedWebhookEvent, Orb::Models::InvoiceDunningScheduleEndedWebhookEvent, Orb::Models::InvoiceDunningScheduleResetWebhookEvent, Orb::Models::InvoiceDunningScheduleStepExecutedWebhookEvent, Orb::Models::InvoiceEditedWebhookEvent, Orb::Models::InvoiceInvoiceDateElapsedWebhookEvent, Orb::Models::InvoiceIssueFailedWebhookEvent, Orb::Models::InvoiceIssuedWebhookEvent, Orb::Models::InvoiceIssuedSummaryWebhookEvent, Orb::Models::InvoiceManuallyMarkedAsPaidWebhookEvent, Orb::Models::InvoiceManuallyMarkedAsVoidWebhookEvent, Orb::Models::InvoicePaymentFailedWebhookEvent, Orb::Models::InvoicePaymentProcessingWebhookEvent, Orb::Models::InvoicePaymentSucceededWebhookEvent, Orb::Models::InvoiceSyncFailedWebhookEvent, Orb::Models::InvoiceSyncSucceededWebhookEvent, Orb::Models::InvoiceUndoMarkAsPaidWebhookEvent, Orb::Models::InvoiceDueDateRecalculationCanceledWebhookEvent, Orb::Models::InvoiceDueDateRecalculationCompletedWebhookEvent, Orb::Models::InvoiceDueDateRecalculationStartedWebhookEvent, Orb::Models::MetricEventsDroppedByWatermarkWebhookEvent, Orb::Models::PaymentMethodCreatedWebhookEvent, Orb::Models::PaymentMethodDeletedWebhookEvent, Orb::Models::PlanDefaultVersionSetWebhookEvent, Orb::Models::PlanVersionCreatedWebhookEvent, Orb::Models::PriceEditedWebhookEvent, Orb::Models::ResourceEventTestWebhookEvent, Orb::Models::SalesOrderAccountingSyncFailedWebhookEvent, Orb::Models::SalesOrderAccountingSyncSucceededWebhookEvent, Orb::Models::SubscriptionAccountingSyncFailedWebhookEvent, Orb::Models::SubscriptionAccountingSyncSucceededWebhookEvent, Orb::Models::SubscriptionAlertDisabledWebhookEvent, Orb::Models::SubscriptionCancellationScheduledWebhookEvent, Orb::Models::SubscriptionCancellationUnscheduledWebhookEvent, Orb::Models::SubscriptionCostExceededWebhookEvent, Orb::Models::SubscriptionCreatedWebhookEvent, Orb::Models::SubscriptionEditedWebhookEvent, Orb::Models::SubscriptionEndedWebhookEvent, Orb::Models::SubscriptionFixedFeeQuantityUpdatedWebhookEvent, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent, Orb::Models::SubscriptionInvoicingThresholdExceededWebhookEvent, Orb::Models::SubscriptionLicenseAllocationResetWebhookEvent, Orb::Models::SubscriptionLicenseBalanceThresholdReachedWebhookEvent, Orb::Models::SubscriptionPlanChangeScheduledWebhookEvent, Orb::Models::SubscriptionPlanChangedWebhookEvent, Orb::Models::SubscriptionPlanVersionChangeScheduledWebhookEvent, Orb::Models::SubscriptionPlanVersionChangedWebhookEvent, Orb::Models::SubscriptionSpendExceededWebhookEvent, Orb::Models::SubscriptionStartedWebhookEvent, Orb::Models::SubscriptionTrialEndedWebhookEvent, Orb::Models::SubscriptionUsageExceededWebhookEvent, Orb::Models::TransactionAccountingSyncFailedWebhookEvent, Orb::Models::TransactionAccountingSyncSucceededWebhookEvent]
|
|
8
|
+
# @return [Orb::Models::BackfillReflectedWebhookEvent, Orb::Models::BackfillRevertedWebhookEvent, Orb::Models::BillableMetricEditedWebhookEvent, Orb::Models::CreditBlockAccountingSyncFailedWebhookEvent, Orb::Models::CreditBlockAccountingSyncSucceededWebhookEvent, Orb::Models::CreditNoteAccountingSyncFailedWebhookEvent, Orb::Models::CreditNoteAccountingSyncSucceededWebhookEvent, Orb::Models::CreditNoteIssuedWebhookEvent, Orb::Models::CreditNoteMarkedAsVoidWebhookEvent, Orb::Models::CustomerAccountingSyncFailedWebhookEvent, Orb::Models::CustomerAccountingSyncSucceededWebhookEvent, Orb::Models::CustomerBalanceTransactionCreatedWebhookEvent, Orb::Models::CustomerCreatedWebhookEvent, Orb::Models::CustomerCreditBalanceDepletedWebhookEvent, Orb::Models::CustomerCreditBalanceDroppedWebhookEvent, Orb::Models::CustomerCreditBalanceRecoveredWebhookEvent, Orb::Models::CustomerCreditLedgerIncrementedWebhookEvent, Orb::Models::CustomerEditedWebhookEvent, Orb::Models::DataExportsTransferErrorWebhookEvent, Orb::Models::DataExportsTransferSuccessWebhookEvent, Orb::Models::EventUnmatchedEventWebhookEvent, Orb::Models::IngestionUnmatchedCustomerIDsWebhookEvent, Orb::Models::InvoiceAccountingSyncFailedWebhookEvent, Orb::Models::InvoiceAccountingSyncSucceededWebhookEvent, Orb::Models::InvoiceAutomationScheduleStepExecutedWebhookEvent, Orb::Models::InvoiceCostDataExportedWebhookEvent, Orb::Models::InvoiceDunningScheduleCreatedWebhookEvent, Orb::Models::InvoiceDunningScheduleEndedWebhookEvent, Orb::Models::InvoiceDunningScheduleResetWebhookEvent, Orb::Models::InvoiceDunningScheduleStepExecutedWebhookEvent, Orb::Models::InvoiceEditedWebhookEvent, Orb::Models::InvoiceInvoiceDateElapsedWebhookEvent, Orb::Models::InvoiceIssueFailedWebhookEvent, Orb::Models::InvoiceIssuedWebhookEvent, Orb::Models::InvoiceIssuedSummaryWebhookEvent, Orb::Models::InvoiceManuallyMarkedAsPaidWebhookEvent, Orb::Models::InvoiceManuallyMarkedAsVoidWebhookEvent, Orb::Models::InvoicePaymentFailedWebhookEvent, Orb::Models::InvoicePaymentProcessingWebhookEvent, Orb::Models::InvoicePaymentSucceededWebhookEvent, Orb::Models::InvoiceSyncFailedWebhookEvent, Orb::Models::InvoiceSyncSucceededWebhookEvent, Orb::Models::InvoiceUndoMarkAsPaidWebhookEvent, Orb::Models::InvoiceDueDateRecalculationCanceledWebhookEvent, Orb::Models::InvoiceDueDateRecalculationCompletedWebhookEvent, Orb::Models::InvoiceDueDateRecalculationStartedWebhookEvent, Orb::Models::MetricEventsDroppedByWatermarkWebhookEvent, Orb::Models::PaymentMethodCreatedWebhookEvent, Orb::Models::PaymentMethodDeletedWebhookEvent, Orb::Models::PlanCreatedWebhookEvent, Orb::Models::PlanDefaultVersionSetWebhookEvent, Orb::Models::PlanEditedWebhookEvent, Orb::Models::PlanVersionCreatedWebhookEvent, Orb::Models::PriceEditedWebhookEvent, Orb::Models::ResourceEventTestWebhookEvent, Orb::Models::SalesOrderAccountingSyncFailedWebhookEvent, Orb::Models::SalesOrderAccountingSyncSucceededWebhookEvent, Orb::Models::SubscriptionAccountingSyncFailedWebhookEvent, Orb::Models::SubscriptionAccountingSyncSucceededWebhookEvent, Orb::Models::SubscriptionAlertDisabledWebhookEvent, Orb::Models::SubscriptionCancellationScheduledWebhookEvent, Orb::Models::SubscriptionCancellationUnscheduledWebhookEvent, Orb::Models::SubscriptionCostExceededWebhookEvent, Orb::Models::SubscriptionCreatedWebhookEvent, Orb::Models::SubscriptionEditedWebhookEvent, Orb::Models::SubscriptionEndedWebhookEvent, Orb::Models::SubscriptionFixedFeeQuantityUpdatedWebhookEvent, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent, Orb::Models::SubscriptionInvoicingThresholdExceededWebhookEvent, Orb::Models::SubscriptionLicenseAllocationResetWebhookEvent, Orb::Models::SubscriptionLicenseBalanceThresholdReachedWebhookEvent, Orb::Models::SubscriptionPlanChangeScheduledWebhookEvent, Orb::Models::SubscriptionPlanChangedWebhookEvent, Orb::Models::SubscriptionPlanVersionChangeScheduledWebhookEvent, Orb::Models::SubscriptionPlanVersionChangedWebhookEvent, Orb::Models::SubscriptionSpendExceededWebhookEvent, Orb::Models::SubscriptionStartedWebhookEvent, Orb::Models::SubscriptionTrialEndedWebhookEvent, Orb::Models::SubscriptionUsageExceededWebhookEvent, Orb::Models::TransactionAccountingSyncFailedWebhookEvent, Orb::Models::TransactionAccountingSyncSucceededWebhookEvent]
|
|
9
9
|
def unwrap(payload)
|
|
10
10
|
parsed = JSON.parse(payload, symbolize_names: true)
|
|
11
11
|
Orb::Internal::Type::Converter.coerce(Orb::Models::UnwrapWebhookEvent, parsed)
|
data/lib/orb/version.rb
CHANGED
data/lib/orb.rb
CHANGED
|
@@ -61,6 +61,7 @@ require_relative "orb/models/aggregated_cost"
|
|
|
61
61
|
require_relative "orb/models/alert"
|
|
62
62
|
require_relative "orb/models/alert_create_for_customer_params"
|
|
63
63
|
require_relative "orb/models/alert_create_for_external_customer_params"
|
|
64
|
+
require_relative "orb/models/alert_create_for_plan_params"
|
|
64
65
|
require_relative "orb/models/alert_create_for_subscription_params"
|
|
65
66
|
require_relative "orb/models/alert_delete_params"
|
|
66
67
|
require_relative "orb/models/alert_disable_params"
|
|
@@ -190,6 +191,9 @@ require_relative "orb/models/dimensional_price_group_list_params"
|
|
|
190
191
|
require_relative "orb/models/dimensional_price_group_retrieve_params"
|
|
191
192
|
require_relative "orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params"
|
|
192
193
|
require_relative "orb/models/dimensional_price_groups/external_dimensional_price_group_id_update_params"
|
|
194
|
+
require_relative "orb/models/dimensional_price_groups/price_create_params"
|
|
195
|
+
require_relative "orb/models/dimensional_price_groups/price_create_response"
|
|
196
|
+
require_relative "orb/models/dimensional_price_groups/price_list_params"
|
|
193
197
|
require_relative "orb/models/dimensional_price_groups"
|
|
194
198
|
require_relative "orb/models/dimensional_price_group_update_params"
|
|
195
199
|
require_relative "orb/models/discount"
|
|
@@ -411,8 +415,10 @@ require_relative "orb/models/percentage_discount"
|
|
|
411
415
|
require_relative "orb/models/percentage_discount_interval"
|
|
412
416
|
require_relative "orb/models/per_price_cost"
|
|
413
417
|
require_relative "orb/models/plan"
|
|
418
|
+
require_relative "orb/models/plan_created_webhook_event"
|
|
414
419
|
require_relative "orb/models/plan_create_params"
|
|
415
420
|
require_relative "orb/models/plan_default_version_set_webhook_event"
|
|
421
|
+
require_relative "orb/models/plan_edited_webhook_event"
|
|
416
422
|
require_relative "orb/models/plan_fetch_params"
|
|
417
423
|
require_relative "orb/models/plan_list_params"
|
|
418
424
|
require_relative "orb/models/plan_phase_amount_discount_adjustment"
|
|
@@ -523,6 +529,15 @@ require_relative "orb/models/unit_conversion_rate_config"
|
|
|
523
529
|
require_relative "orb/models/unwrap_webhook_event"
|
|
524
530
|
require_relative "orb/models/usage_discount"
|
|
525
531
|
require_relative "orb/models/usage_discount_interval"
|
|
532
|
+
require_relative "orb/models/webhook_endpoint"
|
|
533
|
+
require_relative "orb/models/webhook_endpoint_create_params"
|
|
534
|
+
require_relative "orb/models/webhook_endpoint_delete_params"
|
|
535
|
+
require_relative "orb/models/webhook_endpoint_disable_params"
|
|
536
|
+
require_relative "orb/models/webhook_endpoint_enable_params"
|
|
537
|
+
require_relative "orb/models/webhook_endpoint_list_params"
|
|
538
|
+
require_relative "orb/models/webhook_endpoint_retrieve_params"
|
|
539
|
+
require_relative "orb/models/webhook_endpoint_update_params"
|
|
540
|
+
require_relative "orb/models/webhook_endpoint_with_secret"
|
|
526
541
|
require_relative "orb/models/webhook_unwrap_params"
|
|
527
542
|
require_relative "orb/models"
|
|
528
543
|
require_relative "orb/resources/alerts"
|
|
@@ -540,6 +555,7 @@ require_relative "orb/resources/customers/credits/ledger"
|
|
|
540
555
|
require_relative "orb/resources/customers/credits/top_ups"
|
|
541
556
|
require_relative "orb/resources/dimensional_price_groups"
|
|
542
557
|
require_relative "orb/resources/dimensional_price_groups/external_dimensional_price_group_id"
|
|
558
|
+
require_relative "orb/resources/dimensional_price_groups/prices"
|
|
543
559
|
require_relative "orb/resources/events"
|
|
544
560
|
require_relative "orb/resources/events/backfills"
|
|
545
561
|
require_relative "orb/resources/events/volume"
|
|
@@ -559,4 +575,5 @@ require_relative "orb/resources/prices/external_price_id"
|
|
|
559
575
|
require_relative "orb/resources/subscription_changes"
|
|
560
576
|
require_relative "orb/resources/subscriptions"
|
|
561
577
|
require_relative "orb/resources/top_level"
|
|
578
|
+
require_relative "orb/resources/webhook_endpoints"
|
|
562
579
|
require_relative "orb/resources/webhooks"
|
data/rbi/orb/client.rbi
CHANGED
|
@@ -91,6 +91,11 @@ module Orb
|
|
|
91
91
|
sig { returns(Orb::Resources::Items) }
|
|
92
92
|
attr_reader :items
|
|
93
93
|
|
|
94
|
+
# A webhook endpoint is an HTTPS URL that Orb sends
|
|
95
|
+
# [webhook events](/integrations-and-exports/webhooks) to.
|
|
96
|
+
sig { returns(Orb::Resources::WebhookEndpoints) }
|
|
97
|
+
attr_reader :webhook_endpoints
|
|
98
|
+
|
|
94
99
|
# The Metric resource represents a calculation of a quantity based on events.
|
|
95
100
|
# Metrics are defined by the query that transforms raw usage events into
|
|
96
101
|
# meaningful values for your customers.
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Orb
|
|
4
|
+
module Models
|
|
5
|
+
class AlertCreateForPlanParams < Orb::Internal::Type::BaseModel
|
|
6
|
+
extend Orb::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Orb::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Orb::AlertCreateForPlanParams, Orb::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :plan_id
|
|
16
|
+
|
|
17
|
+
# The thresholds that define the values at which the alert will be triggered.
|
|
18
|
+
sig { returns(T::Array[Orb::Threshold]) }
|
|
19
|
+
attr_accessor :thresholds
|
|
20
|
+
|
|
21
|
+
# The type of alert to create. This must be a valid alert type.
|
|
22
|
+
sig { returns(Orb::AlertCreateForPlanParams::Type::OrSymbol) }
|
|
23
|
+
attr_accessor :type
|
|
24
|
+
|
|
25
|
+
# The case sensitive currency or custom pricing unit the alert is denominated in.
|
|
26
|
+
# Required for spend_exceeded alerts and when grouping_keys is set.
|
|
27
|
+
sig { returns(T.nilable(String)) }
|
|
28
|
+
attr_accessor :currency
|
|
29
|
+
|
|
30
|
+
# The property keys to group cost alerts by. Only applicable for cost_exceeded
|
|
31
|
+
# alerts.
|
|
32
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
33
|
+
attr_accessor :grouping_keys
|
|
34
|
+
|
|
35
|
+
# The metric to track usage for.
|
|
36
|
+
sig { returns(T.nilable(String)) }
|
|
37
|
+
attr_accessor :metric_id
|
|
38
|
+
|
|
39
|
+
# The plan version to create alerts for. If not specified, the default will be the
|
|
40
|
+
# plan's active plan version.
|
|
41
|
+
sig { returns(T.nilable(Integer)) }
|
|
42
|
+
attr_accessor :plan_version
|
|
43
|
+
|
|
44
|
+
# Filters to scope which prices are included in alert evaluation. Supports
|
|
45
|
+
# filtering by price_id, item_id, or price_type with includes/excludes operators.
|
|
46
|
+
# Only applicable to spend_exceeded alerts and to cost_exceeded alerts with
|
|
47
|
+
# grouping_keys set.
|
|
48
|
+
sig do
|
|
49
|
+
returns(T.nilable(T::Array[Orb::AlertCreateForPlanParams::PriceFilter]))
|
|
50
|
+
end
|
|
51
|
+
attr_accessor :price_filters
|
|
52
|
+
|
|
53
|
+
sig do
|
|
54
|
+
params(
|
|
55
|
+
plan_id: String,
|
|
56
|
+
thresholds: T::Array[Orb::Threshold::OrHash],
|
|
57
|
+
type: Orb::AlertCreateForPlanParams::Type::OrSymbol,
|
|
58
|
+
currency: T.nilable(String),
|
|
59
|
+
grouping_keys: T.nilable(T::Array[String]),
|
|
60
|
+
metric_id: T.nilable(String),
|
|
61
|
+
plan_version: T.nilable(Integer),
|
|
62
|
+
price_filters:
|
|
63
|
+
T.nilable(
|
|
64
|
+
T::Array[Orb::AlertCreateForPlanParams::PriceFilter::OrHash]
|
|
65
|
+
),
|
|
66
|
+
request_options: Orb::RequestOptions::OrHash
|
|
67
|
+
).returns(T.attached_class)
|
|
68
|
+
end
|
|
69
|
+
def self.new(
|
|
70
|
+
plan_id:,
|
|
71
|
+
# The thresholds that define the values at which the alert will be triggered.
|
|
72
|
+
thresholds:,
|
|
73
|
+
# The type of alert to create. This must be a valid alert type.
|
|
74
|
+
type:,
|
|
75
|
+
# The case sensitive currency or custom pricing unit the alert is denominated in.
|
|
76
|
+
# Required for spend_exceeded alerts and when grouping_keys is set.
|
|
77
|
+
currency: nil,
|
|
78
|
+
# The property keys to group cost alerts by. Only applicable for cost_exceeded
|
|
79
|
+
# alerts.
|
|
80
|
+
grouping_keys: nil,
|
|
81
|
+
# The metric to track usage for.
|
|
82
|
+
metric_id: nil,
|
|
83
|
+
# The plan version to create alerts for. If not specified, the default will be the
|
|
84
|
+
# plan's active plan version.
|
|
85
|
+
plan_version: nil,
|
|
86
|
+
# Filters to scope which prices are included in alert evaluation. Supports
|
|
87
|
+
# filtering by price_id, item_id, or price_type with includes/excludes operators.
|
|
88
|
+
# Only applicable to spend_exceeded alerts and to cost_exceeded alerts with
|
|
89
|
+
# grouping_keys set.
|
|
90
|
+
price_filters: nil,
|
|
91
|
+
request_options: {}
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
sig do
|
|
96
|
+
override.returns(
|
|
97
|
+
{
|
|
98
|
+
plan_id: String,
|
|
99
|
+
thresholds: T::Array[Orb::Threshold],
|
|
100
|
+
type: Orb::AlertCreateForPlanParams::Type::OrSymbol,
|
|
101
|
+
currency: T.nilable(String),
|
|
102
|
+
grouping_keys: T.nilable(T::Array[String]),
|
|
103
|
+
metric_id: T.nilable(String),
|
|
104
|
+
plan_version: T.nilable(Integer),
|
|
105
|
+
price_filters:
|
|
106
|
+
T.nilable(T::Array[Orb::AlertCreateForPlanParams::PriceFilter]),
|
|
107
|
+
request_options: Orb::RequestOptions
|
|
108
|
+
}
|
|
109
|
+
)
|
|
110
|
+
end
|
|
111
|
+
def to_hash
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# The type of alert to create. This must be a valid alert type.
|
|
115
|
+
module Type
|
|
116
|
+
extend Orb::Internal::Type::Enum
|
|
117
|
+
|
|
118
|
+
TaggedSymbol =
|
|
119
|
+
T.type_alias { T.all(Symbol, Orb::AlertCreateForPlanParams::Type) }
|
|
120
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
121
|
+
|
|
122
|
+
USAGE_EXCEEDED =
|
|
123
|
+
T.let(
|
|
124
|
+
:usage_exceeded,
|
|
125
|
+
Orb::AlertCreateForPlanParams::Type::TaggedSymbol
|
|
126
|
+
)
|
|
127
|
+
COST_EXCEEDED =
|
|
128
|
+
T.let(
|
|
129
|
+
:cost_exceeded,
|
|
130
|
+
Orb::AlertCreateForPlanParams::Type::TaggedSymbol
|
|
131
|
+
)
|
|
132
|
+
SPEND_EXCEEDED =
|
|
133
|
+
T.let(
|
|
134
|
+
:spend_exceeded,
|
|
135
|
+
Orb::AlertCreateForPlanParams::Type::TaggedSymbol
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
sig do
|
|
139
|
+
override.returns(
|
|
140
|
+
T::Array[Orb::AlertCreateForPlanParams::Type::TaggedSymbol]
|
|
141
|
+
)
|
|
142
|
+
end
|
|
143
|
+
def self.values
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
class PriceFilter < Orb::Internal::Type::BaseModel
|
|
148
|
+
OrHash =
|
|
149
|
+
T.type_alias do
|
|
150
|
+
T.any(
|
|
151
|
+
Orb::AlertCreateForPlanParams::PriceFilter,
|
|
152
|
+
Orb::Internal::AnyHash
|
|
153
|
+
)
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# The property of the price to filter on.
|
|
157
|
+
sig do
|
|
158
|
+
returns(Orb::AlertCreateForPlanParams::PriceFilter::Field::OrSymbol)
|
|
159
|
+
end
|
|
160
|
+
attr_accessor :field
|
|
161
|
+
|
|
162
|
+
# Should prices that match the filter be included or excluded.
|
|
163
|
+
sig do
|
|
164
|
+
returns(
|
|
165
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Operator::OrSymbol
|
|
166
|
+
)
|
|
167
|
+
end
|
|
168
|
+
attr_accessor :operator
|
|
169
|
+
|
|
170
|
+
# The IDs or values that match this filter.
|
|
171
|
+
sig { returns(T::Array[String]) }
|
|
172
|
+
attr_accessor :values
|
|
173
|
+
|
|
174
|
+
sig do
|
|
175
|
+
params(
|
|
176
|
+
field: Orb::AlertCreateForPlanParams::PriceFilter::Field::OrSymbol,
|
|
177
|
+
operator:
|
|
178
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Operator::OrSymbol,
|
|
179
|
+
values: T::Array[String]
|
|
180
|
+
).returns(T.attached_class)
|
|
181
|
+
end
|
|
182
|
+
def self.new(
|
|
183
|
+
# The property of the price to filter on.
|
|
184
|
+
field:,
|
|
185
|
+
# Should prices that match the filter be included or excluded.
|
|
186
|
+
operator:,
|
|
187
|
+
# The IDs or values that match this filter.
|
|
188
|
+
values:
|
|
189
|
+
)
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
sig do
|
|
193
|
+
override.returns(
|
|
194
|
+
{
|
|
195
|
+
field:
|
|
196
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Field::OrSymbol,
|
|
197
|
+
operator:
|
|
198
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Operator::OrSymbol,
|
|
199
|
+
values: T::Array[String]
|
|
200
|
+
}
|
|
201
|
+
)
|
|
202
|
+
end
|
|
203
|
+
def to_hash
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
# The property of the price to filter on.
|
|
207
|
+
module Field
|
|
208
|
+
extend Orb::Internal::Type::Enum
|
|
209
|
+
|
|
210
|
+
TaggedSymbol =
|
|
211
|
+
T.type_alias do
|
|
212
|
+
T.all(Symbol, Orb::AlertCreateForPlanParams::PriceFilter::Field)
|
|
213
|
+
end
|
|
214
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
215
|
+
|
|
216
|
+
PRICE_ID =
|
|
217
|
+
T.let(
|
|
218
|
+
:price_id,
|
|
219
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Field::TaggedSymbol
|
|
220
|
+
)
|
|
221
|
+
ITEM_ID =
|
|
222
|
+
T.let(
|
|
223
|
+
:item_id,
|
|
224
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Field::TaggedSymbol
|
|
225
|
+
)
|
|
226
|
+
PRICE_TYPE =
|
|
227
|
+
T.let(
|
|
228
|
+
:price_type,
|
|
229
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Field::TaggedSymbol
|
|
230
|
+
)
|
|
231
|
+
CURRENCY =
|
|
232
|
+
T.let(
|
|
233
|
+
:currency,
|
|
234
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Field::TaggedSymbol
|
|
235
|
+
)
|
|
236
|
+
PRICING_UNIT_ID =
|
|
237
|
+
T.let(
|
|
238
|
+
:pricing_unit_id,
|
|
239
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Field::TaggedSymbol
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
sig do
|
|
243
|
+
override.returns(
|
|
244
|
+
T::Array[
|
|
245
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Field::TaggedSymbol
|
|
246
|
+
]
|
|
247
|
+
)
|
|
248
|
+
end
|
|
249
|
+
def self.values
|
|
250
|
+
end
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
# Should prices that match the filter be included or excluded.
|
|
254
|
+
module Operator
|
|
255
|
+
extend Orb::Internal::Type::Enum
|
|
256
|
+
|
|
257
|
+
TaggedSymbol =
|
|
258
|
+
T.type_alias do
|
|
259
|
+
T.all(
|
|
260
|
+
Symbol,
|
|
261
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Operator
|
|
262
|
+
)
|
|
263
|
+
end
|
|
264
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
265
|
+
|
|
266
|
+
INCLUDES =
|
|
267
|
+
T.let(
|
|
268
|
+
:includes,
|
|
269
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Operator::TaggedSymbol
|
|
270
|
+
)
|
|
271
|
+
EXCLUDES =
|
|
272
|
+
T.let(
|
|
273
|
+
:excludes,
|
|
274
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Operator::TaggedSymbol
|
|
275
|
+
)
|
|
276
|
+
|
|
277
|
+
sig do
|
|
278
|
+
override.returns(
|
|
279
|
+
T::Array[
|
|
280
|
+
Orb::AlertCreateForPlanParams::PriceFilter::Operator::TaggedSymbol
|
|
281
|
+
]
|
|
282
|
+
)
|
|
283
|
+
end
|
|
284
|
+
def self.values
|
|
285
|
+
end
|
|
286
|
+
end
|
|
287
|
+
end
|
|
288
|
+
end
|
|
289
|
+
end
|
|
290
|
+
end
|