dodopayments 1.51.1 → 1.52.5
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 +18 -0
- data/README.md +1 -1
- data/lib/dodopayments/client.rb +8 -0
- data/lib/dodopayments/models/add_meter_to_price.rb +58 -0
- data/lib/dodopayments/models/event.rb +71 -0
- data/lib/dodopayments/models/event_input.rb +70 -0
- data/lib/dodopayments/models/invoices/payment_retrieve_refund_params.rb +16 -0
- data/lib/dodopayments/models/meter.rb +88 -0
- data/lib/dodopayments/models/meter_aggregation.rb +39 -0
- data/lib/dodopayments/models/meter_archive_params.rb +14 -0
- data/lib/dodopayments/models/meter_create_params.rb +62 -0
- data/lib/dodopayments/models/meter_filter.rb +482 -0
- data/lib/dodopayments/models/meter_list_params.rb +38 -0
- data/lib/dodopayments/models/{product_delete_params.rb → meter_retrieve_params.rb} +2 -2
- data/lib/dodopayments/models/meter_unarchive_params.rb +14 -0
- data/lib/dodopayments/models/payment.rb +10 -1
- data/lib/dodopayments/models/price.rb +122 -7
- data/lib/dodopayments/models/product.rb +2 -2
- data/lib/dodopayments/models/product_archive_params.rb +14 -0
- data/lib/dodopayments/models/product_create_params.rb +2 -2
- data/lib/dodopayments/models/product_list_response.rb +2 -2
- data/lib/dodopayments/models/product_update_params.rb +2 -2
- data/lib/dodopayments/models/subscription.rb +57 -1
- data/lib/dodopayments/models/subscription_retrieve_usage_history_params.rb +54 -0
- data/lib/dodopayments/models/subscription_retrieve_usage_history_response.rb +101 -0
- data/lib/dodopayments/models/usage_event_ingest_params.rb +22 -0
- data/lib/dodopayments/models/usage_event_ingest_response.rb +16 -0
- data/lib/dodopayments/models/usage_event_list_params.rb +75 -0
- data/lib/dodopayments/models/usage_event_retrieve_params.rb +14 -0
- data/lib/dodopayments/models.rb +32 -2
- data/lib/dodopayments/resources/invoices/payments.rb +18 -0
- data/lib/dodopayments/resources/meters.rb +123 -0
- data/lib/dodopayments/resources/products.rb +5 -5
- data/lib/dodopayments/resources/subscriptions.rb +74 -0
- data/lib/dodopayments/resources/usage_events.rb +193 -0
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +21 -1
- data/rbi/dodopayments/client.rbi +6 -0
- data/rbi/dodopayments/models/add_meter_to_price.rbi +75 -0
- data/rbi/dodopayments/models/event.rbi +88 -0
- data/rbi/dodopayments/models/event_input.rbi +102 -0
- data/rbi/dodopayments/models/invoices/payment_retrieve_refund_params.rbi +34 -0
- data/rbi/dodopayments/models/meter.rbi +107 -0
- data/rbi/dodopayments/models/meter_aggregation.rbi +68 -0
- data/rbi/dodopayments/models/meter_archive_params.rbi +32 -0
- data/rbi/dodopayments/models/meter_create_params.rbi +92 -0
- data/rbi/dodopayments/models/meter_filter.rbi +1042 -0
- data/rbi/dodopayments/models/meter_list_params.rbi +68 -0
- data/rbi/dodopayments/models/{product_delete_params.rbi → meter_retrieve_params.rbi} +2 -2
- data/rbi/dodopayments/models/meter_unarchive_params.rbi +32 -0
- data/rbi/dodopayments/models/payment.rbi +10 -0
- data/rbi/dodopayments/models/price.rbi +153 -7
- data/rbi/dodopayments/models/product.rbi +2 -1
- data/rbi/dodopayments/models/product_archive_params.rbi +32 -0
- data/rbi/dodopayments/models/product_create_params.rbi +6 -3
- data/rbi/dodopayments/models/product_list_response.rbi +2 -1
- data/rbi/dodopayments/models/product_update_params.rbi +6 -3
- data/rbi/dodopayments/models/subscription.rbi +78 -0
- data/rbi/dodopayments/models/subscription_retrieve_usage_history_params.rbi +78 -0
- data/rbi/dodopayments/models/subscription_retrieve_usage_history_response.rbi +159 -0
- data/rbi/dodopayments/models/usage_event_ingest_params.rbi +46 -0
- data/rbi/dodopayments/models/usage_event_ingest_response.rbi +26 -0
- data/rbi/dodopayments/models/usage_event_list_params.rbi +119 -0
- data/rbi/dodopayments/models/usage_event_retrieve_params.rbi +32 -0
- data/rbi/dodopayments/models.rbi +33 -2
- data/rbi/dodopayments/resources/invoices/payments.rbi +9 -0
- data/rbi/dodopayments/resources/meters.rbi +102 -0
- data/rbi/dodopayments/resources/products.rbi +5 -3
- data/rbi/dodopayments/resources/subscriptions.rbi +74 -0
- data/rbi/dodopayments/resources/usage_events.rbi +175 -0
- data/sig/dodopayments/client.rbs +4 -0
- data/sig/dodopayments/models/add_meter_to_price.rbs +45 -0
- data/sig/dodopayments/models/event.rbs +53 -0
- data/sig/dodopayments/models/event_input.rbs +48 -0
- data/sig/dodopayments/models/invoices/payment_retrieve_refund_params.rbs +17 -0
- data/sig/dodopayments/models/meter.rbs +65 -0
- data/sig/dodopayments/models/meter_aggregation.rbs +35 -0
- data/sig/dodopayments/models/meter_archive_params.rbs +15 -0
- data/sig/dodopayments/models/meter_create_params.rbs +51 -0
- data/sig/dodopayments/models/meter_filter.rbs +417 -0
- data/sig/dodopayments/models/meter_list_params.rbs +38 -0
- data/sig/dodopayments/models/{product_delete_params.rbs → meter_retrieve_params.rbs} +2 -2
- data/sig/dodopayments/models/meter_unarchive_params.rbs +15 -0
- data/sig/dodopayments/models/payment.rbs +5 -0
- data/sig/dodopayments/models/price.rbs +88 -9
- data/sig/dodopayments/models/product_archive_params.rbs +15 -0
- data/sig/dodopayments/models/subscription.rbs +52 -0
- data/sig/dodopayments/models/subscription_retrieve_usage_history_params.rbs +46 -0
- data/sig/dodopayments/models/subscription_retrieve_usage_history_response.rbs +82 -0
- data/sig/dodopayments/models/usage_event_ingest_params.rbs +24 -0
- data/sig/dodopayments/models/usage_event_ingest_response.rbs +13 -0
- data/sig/dodopayments/models/usage_event_list_params.rbs +70 -0
- data/sig/dodopayments/models/usage_event_retrieve_params.rbs +15 -0
- data/sig/dodopayments/models.rbs +32 -2
- data/sig/dodopayments/resources/invoices/payments.rbs +5 -0
- data/sig/dodopayments/resources/meters.rbs +39 -0
- data/sig/dodopayments/resources/products.rbs +1 -1
- data/sig/dodopayments/resources/subscriptions.rbs +10 -0
- data/sig/dodopayments/resources/usage_events.rbs +28 -0
- metadata +65 -5
@@ -0,0 +1,175 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Resources
|
5
|
+
class UsageEvents
|
6
|
+
# Fetch detailed information about a single event using its unique event ID. This
|
7
|
+
# endpoint is useful for:
|
8
|
+
#
|
9
|
+
# - Debugging specific event ingestion issues
|
10
|
+
# - Retrieving event details for customer support
|
11
|
+
# - Validating that events were processed correctly
|
12
|
+
# - Getting the complete metadata for an event
|
13
|
+
#
|
14
|
+
# ## Event ID Format:
|
15
|
+
#
|
16
|
+
# The event ID should be the same value that was provided during event ingestion
|
17
|
+
# via the `/events/ingest` endpoint. Event IDs are case-sensitive and must match
|
18
|
+
# exactly.
|
19
|
+
#
|
20
|
+
# ## Response Details:
|
21
|
+
#
|
22
|
+
# The response includes all event data including:
|
23
|
+
#
|
24
|
+
# - Complete metadata key-value pairs
|
25
|
+
# - Original timestamp (preserved from ingestion)
|
26
|
+
# - Customer and business association
|
27
|
+
# - Event name and processing information
|
28
|
+
#
|
29
|
+
# ## Example Usage:
|
30
|
+
#
|
31
|
+
# ```text
|
32
|
+
# GET /events/api_call_12345
|
33
|
+
# ```
|
34
|
+
sig do
|
35
|
+
params(
|
36
|
+
event_id: String,
|
37
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
38
|
+
).returns(Dodopayments::Event)
|
39
|
+
end
|
40
|
+
def retrieve(
|
41
|
+
# Unique event identifier (case-sensitive, must match the ID used during
|
42
|
+
# ingestion)
|
43
|
+
event_id,
|
44
|
+
request_options: {}
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
# Fetch events from your account with powerful filtering capabilities. This
|
49
|
+
# endpoint is ideal for:
|
50
|
+
#
|
51
|
+
# - Debugging event ingestion issues
|
52
|
+
# - Analyzing customer usage patterns
|
53
|
+
# - Building custom analytics dashboards
|
54
|
+
# - Auditing billing-related events
|
55
|
+
#
|
56
|
+
# ## Filtering Options:
|
57
|
+
#
|
58
|
+
# - **Customer filtering**: Filter by specific customer ID
|
59
|
+
# - **Event name filtering**: Filter by event type/name
|
60
|
+
# - **Meter-based filtering**: Use a meter ID to apply the meter's event name and
|
61
|
+
# filter criteria automatically
|
62
|
+
# - **Time range filtering**: Filter events within a specific date range
|
63
|
+
# - **Pagination**: Navigate through large result sets
|
64
|
+
#
|
65
|
+
# ## Meter Integration:
|
66
|
+
#
|
67
|
+
# When using `meter_id`, the endpoint automatically applies:
|
68
|
+
#
|
69
|
+
# - The meter's configured `event_name` filter
|
70
|
+
# - The meter's custom filter criteria (if any)
|
71
|
+
# - If you also provide `event_name`, it must match the meter's event name
|
72
|
+
#
|
73
|
+
# ## Example Queries:
|
74
|
+
#
|
75
|
+
# - Get all events for a customer: `?customer_id=cus_abc123`
|
76
|
+
# - Get API request events: `?event_name=api_request`
|
77
|
+
# - Get events from last 24 hours:
|
78
|
+
# `?start=2024-01-14T10:30:00Z&end=2024-01-15T10:30:00Z`
|
79
|
+
# - Get events with meter filtering: `?meter_id=mtr_xyz789`
|
80
|
+
# - Paginate results: `?page_size=50&page_number=2`
|
81
|
+
sig do
|
82
|
+
params(
|
83
|
+
customer_id: String,
|
84
|
+
end_: Time,
|
85
|
+
event_name: String,
|
86
|
+
meter_id: String,
|
87
|
+
page_number: Integer,
|
88
|
+
page_size: Integer,
|
89
|
+
start: Time,
|
90
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
91
|
+
).returns(
|
92
|
+
Dodopayments::Internal::DefaultPageNumberPagination[
|
93
|
+
Dodopayments::Event
|
94
|
+
]
|
95
|
+
)
|
96
|
+
end
|
97
|
+
def list(
|
98
|
+
# Filter events by customer ID
|
99
|
+
customer_id: nil,
|
100
|
+
# Filter events created before this timestamp
|
101
|
+
end_: nil,
|
102
|
+
# Filter events by event name. If both event_name and meter_id are provided, they
|
103
|
+
# must match the meter's configured event_name
|
104
|
+
event_name: nil,
|
105
|
+
# Filter events by meter ID. When provided, only events that match the meter's
|
106
|
+
# event_name and filter criteria will be returned
|
107
|
+
meter_id: nil,
|
108
|
+
# Page number (0-based, default: 0)
|
109
|
+
page_number: nil,
|
110
|
+
# Number of events to return per page (default: 10)
|
111
|
+
page_size: nil,
|
112
|
+
# Filter events created after this timestamp
|
113
|
+
start: nil,
|
114
|
+
request_options: {}
|
115
|
+
)
|
116
|
+
end
|
117
|
+
|
118
|
+
# This endpoint allows you to ingest custom events that can be used for:
|
119
|
+
#
|
120
|
+
# - Usage-based billing and metering
|
121
|
+
# - Analytics and reporting
|
122
|
+
# - Customer behavior tracking
|
123
|
+
#
|
124
|
+
# ## Important Notes:
|
125
|
+
#
|
126
|
+
# - **Duplicate Prevention**:
|
127
|
+
# - Duplicate `event_id` values within the same request are rejected (entire
|
128
|
+
# request fails)
|
129
|
+
# - Subsequent requests with existing `event_id` values are ignored (idempotent
|
130
|
+
# behavior)
|
131
|
+
# - **Rate Limiting**: Maximum 1000 events per request
|
132
|
+
# - **Time Validation**: Events with timestamps older than 1 hour or more than 5
|
133
|
+
# minutes in the future will be rejected
|
134
|
+
# - **Metadata Limits**: Maximum 50 key-value pairs per event, keys max 100 chars,
|
135
|
+
# values max 500 chars
|
136
|
+
#
|
137
|
+
# ## Example Usage:
|
138
|
+
#
|
139
|
+
# ```json
|
140
|
+
# {
|
141
|
+
# "events": [
|
142
|
+
# {
|
143
|
+
# "event_id": "api_call_12345",
|
144
|
+
# "customer_id": "cus_abc123",
|
145
|
+
# "event_name": "api_request",
|
146
|
+
# "timestamp": "2024-01-15T10:30:00Z",
|
147
|
+
# "metadata": {
|
148
|
+
# "endpoint": "/api/v1/users",
|
149
|
+
# "method": "GET",
|
150
|
+
# "tokens_used": "150"
|
151
|
+
# }
|
152
|
+
# }
|
153
|
+
# ]
|
154
|
+
# }
|
155
|
+
# ```
|
156
|
+
sig do
|
157
|
+
params(
|
158
|
+
events: T::Array[Dodopayments::EventInput::OrHash],
|
159
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
160
|
+
).returns(Dodopayments::Models::UsageEventIngestResponse)
|
161
|
+
end
|
162
|
+
def ingest(
|
163
|
+
# List of events to be pushed
|
164
|
+
events:,
|
165
|
+
request_options: {}
|
166
|
+
)
|
167
|
+
end
|
168
|
+
|
169
|
+
# @api private
|
170
|
+
sig { params(client: Dodopayments::Client).returns(T.attached_class) }
|
171
|
+
def self.new(client:)
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
data/sig/dodopayments/client.rbs
CHANGED
@@ -51,6 +51,10 @@ module Dodopayments
|
|
51
51
|
|
52
52
|
attr_reader webhooks: Dodopayments::Resources::Webhooks
|
53
53
|
|
54
|
+
attr_reader usage_events: Dodopayments::Resources::UsageEvents
|
55
|
+
|
56
|
+
attr_reader meters: Dodopayments::Resources::Meters
|
57
|
+
|
54
58
|
private def auth_headers: -> ::Hash[String, String]
|
55
59
|
|
56
60
|
def initialize: (
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Models
|
3
|
+
type add_meter_to_price =
|
4
|
+
{
|
5
|
+
meter_id: String,
|
6
|
+
price_per_unit: String,
|
7
|
+
description: String?,
|
8
|
+
free_threshold: Integer?,
|
9
|
+
measurement_unit: String?,
|
10
|
+
name: String?
|
11
|
+
}
|
12
|
+
|
13
|
+
class AddMeterToPrice < Dodopayments::Internal::Type::BaseModel
|
14
|
+
attr_accessor meter_id: String
|
15
|
+
|
16
|
+
attr_accessor price_per_unit: String
|
17
|
+
|
18
|
+
attr_accessor description: String?
|
19
|
+
|
20
|
+
attr_accessor free_threshold: Integer?
|
21
|
+
|
22
|
+
attr_accessor measurement_unit: String?
|
23
|
+
|
24
|
+
attr_accessor name: String?
|
25
|
+
|
26
|
+
def initialize: (
|
27
|
+
meter_id: String,
|
28
|
+
price_per_unit: String,
|
29
|
+
?description: String?,
|
30
|
+
?free_threshold: Integer?,
|
31
|
+
?measurement_unit: String?,
|
32
|
+
?name: String?
|
33
|
+
) -> void
|
34
|
+
|
35
|
+
def to_hash: -> {
|
36
|
+
meter_id: String,
|
37
|
+
price_per_unit: String,
|
38
|
+
description: String?,
|
39
|
+
free_threshold: Integer?,
|
40
|
+
measurement_unit: String?,
|
41
|
+
name: String?
|
42
|
+
}
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Models
|
3
|
+
type event =
|
4
|
+
{
|
5
|
+
business_id: String,
|
6
|
+
customer_id: String,
|
7
|
+
event_id: String,
|
8
|
+
event_name: String,
|
9
|
+
timestamp: Time,
|
10
|
+
metadata: ::Hash[Symbol, Dodopayments::Models::Event::metadata]?
|
11
|
+
}
|
12
|
+
|
13
|
+
class Event < Dodopayments::Internal::Type::BaseModel
|
14
|
+
attr_accessor business_id: String
|
15
|
+
|
16
|
+
attr_accessor customer_id: String
|
17
|
+
|
18
|
+
attr_accessor event_id: String
|
19
|
+
|
20
|
+
attr_accessor event_name: String
|
21
|
+
|
22
|
+
attr_accessor timestamp: Time
|
23
|
+
|
24
|
+
attr_accessor metadata: ::Hash[Symbol, Dodopayments::Models::Event::metadata]?
|
25
|
+
|
26
|
+
def initialize: (
|
27
|
+
business_id: String,
|
28
|
+
customer_id: String,
|
29
|
+
event_id: String,
|
30
|
+
event_name: String,
|
31
|
+
timestamp: Time,
|
32
|
+
?metadata: ::Hash[Symbol, Dodopayments::Models::Event::metadata]?
|
33
|
+
) -> void
|
34
|
+
|
35
|
+
def to_hash: -> {
|
36
|
+
business_id: String,
|
37
|
+
customer_id: String,
|
38
|
+
event_id: String,
|
39
|
+
event_name: String,
|
40
|
+
timestamp: Time,
|
41
|
+
metadata: ::Hash[Symbol, Dodopayments::Models::Event::metadata]?
|
42
|
+
}
|
43
|
+
|
44
|
+
type metadata = String | Float | bool
|
45
|
+
|
46
|
+
module Metadata
|
47
|
+
extend Dodopayments::Internal::Type::Union
|
48
|
+
|
49
|
+
def self?.variants: -> ::Array[Dodopayments::Models::Event::metadata]
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Models
|
3
|
+
type event_input =
|
4
|
+
{
|
5
|
+
customer_id: String,
|
6
|
+
event_id: String,
|
7
|
+
event_name: String,
|
8
|
+
metadata: ::Hash[Symbol, Dodopayments::Models::EventInput::metadata]?,
|
9
|
+
timestamp: Time?
|
10
|
+
}
|
11
|
+
|
12
|
+
class EventInput < Dodopayments::Internal::Type::BaseModel
|
13
|
+
attr_accessor customer_id: String
|
14
|
+
|
15
|
+
attr_accessor event_id: String
|
16
|
+
|
17
|
+
attr_accessor event_name: String
|
18
|
+
|
19
|
+
attr_accessor metadata: ::Hash[Symbol, Dodopayments::Models::EventInput::metadata]?
|
20
|
+
|
21
|
+
attr_accessor timestamp: Time?
|
22
|
+
|
23
|
+
def initialize: (
|
24
|
+
customer_id: String,
|
25
|
+
event_id: String,
|
26
|
+
event_name: String,
|
27
|
+
?metadata: ::Hash[Symbol, Dodopayments::Models::EventInput::metadata]?,
|
28
|
+
?timestamp: Time?
|
29
|
+
) -> void
|
30
|
+
|
31
|
+
def to_hash: -> {
|
32
|
+
customer_id: String,
|
33
|
+
event_id: String,
|
34
|
+
event_name: String,
|
35
|
+
metadata: ::Hash[Symbol, Dodopayments::Models::EventInput::metadata]?,
|
36
|
+
timestamp: Time?
|
37
|
+
}
|
38
|
+
|
39
|
+
type metadata = String | Float | bool
|
40
|
+
|
41
|
+
module Metadata
|
42
|
+
extend Dodopayments::Internal::Type::Union
|
43
|
+
|
44
|
+
def self?.variants: -> ::Array[Dodopayments::Models::EventInput::metadata]
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Models
|
3
|
+
module Invoices
|
4
|
+
type payment_retrieve_refund_params =
|
5
|
+
{ } & Dodopayments::Internal::Type::request_parameters
|
6
|
+
|
7
|
+
class PaymentRetrieveRefundParams < Dodopayments::Internal::Type::BaseModel
|
8
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
9
|
+
include Dodopayments::Internal::Type::RequestParameters
|
10
|
+
|
11
|
+
def initialize: (?request_options: Dodopayments::request_opts) -> void
|
12
|
+
|
13
|
+
def to_hash: -> { request_options: Dodopayments::RequestOptions }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Models
|
3
|
+
type meter =
|
4
|
+
{
|
5
|
+
id: String,
|
6
|
+
aggregation: Dodopayments::MeterAggregation,
|
7
|
+
business_id: String,
|
8
|
+
created_at: Time,
|
9
|
+
event_name: String,
|
10
|
+
measurement_unit: String,
|
11
|
+
name: String,
|
12
|
+
updated_at: Time,
|
13
|
+
description: String?,
|
14
|
+
filter: Dodopayments::MeterFilter?
|
15
|
+
}
|
16
|
+
|
17
|
+
class Meter < Dodopayments::Internal::Type::BaseModel
|
18
|
+
attr_accessor id: String
|
19
|
+
|
20
|
+
attr_accessor aggregation: Dodopayments::MeterAggregation
|
21
|
+
|
22
|
+
attr_accessor business_id: String
|
23
|
+
|
24
|
+
attr_accessor created_at: Time
|
25
|
+
|
26
|
+
attr_accessor event_name: String
|
27
|
+
|
28
|
+
attr_accessor measurement_unit: String
|
29
|
+
|
30
|
+
attr_accessor name: String
|
31
|
+
|
32
|
+
attr_accessor updated_at: Time
|
33
|
+
|
34
|
+
attr_accessor description: String?
|
35
|
+
|
36
|
+
attr_accessor filter: Dodopayments::MeterFilter?
|
37
|
+
|
38
|
+
def initialize: (
|
39
|
+
id: String,
|
40
|
+
aggregation: Dodopayments::MeterAggregation,
|
41
|
+
business_id: String,
|
42
|
+
created_at: Time,
|
43
|
+
event_name: String,
|
44
|
+
measurement_unit: String,
|
45
|
+
name: String,
|
46
|
+
updated_at: Time,
|
47
|
+
?description: String?,
|
48
|
+
?filter: Dodopayments::MeterFilter?
|
49
|
+
) -> void
|
50
|
+
|
51
|
+
def to_hash: -> {
|
52
|
+
id: String,
|
53
|
+
aggregation: Dodopayments::MeterAggregation,
|
54
|
+
business_id: String,
|
55
|
+
created_at: Time,
|
56
|
+
event_name: String,
|
57
|
+
measurement_unit: String,
|
58
|
+
name: String,
|
59
|
+
updated_at: Time,
|
60
|
+
description: String?,
|
61
|
+
filter: Dodopayments::MeterFilter?
|
62
|
+
}
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Models
|
3
|
+
type meter_aggregation =
|
4
|
+
{ type: Dodopayments::Models::MeterAggregation::type_, key: String? }
|
5
|
+
|
6
|
+
class MeterAggregation < Dodopayments::Internal::Type::BaseModel
|
7
|
+
attr_accessor type: Dodopayments::Models::MeterAggregation::type_
|
8
|
+
|
9
|
+
attr_accessor key: String?
|
10
|
+
|
11
|
+
def initialize: (
|
12
|
+
type: Dodopayments::Models::MeterAggregation::type_,
|
13
|
+
?key: String?
|
14
|
+
) -> void
|
15
|
+
|
16
|
+
def to_hash: -> {
|
17
|
+
type: Dodopayments::Models::MeterAggregation::type_,
|
18
|
+
key: String?
|
19
|
+
}
|
20
|
+
|
21
|
+
type type_ = :count | :sum | :max | :last
|
22
|
+
|
23
|
+
module Type
|
24
|
+
extend Dodopayments::Internal::Type::Enum
|
25
|
+
|
26
|
+
COUNT: :count
|
27
|
+
SUM: :sum
|
28
|
+
MAX: :max
|
29
|
+
LAST: :last
|
30
|
+
|
31
|
+
def self?.values: -> ::Array[Dodopayments::Models::MeterAggregation::type_]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Models
|
3
|
+
type meter_archive_params =
|
4
|
+
{ } & Dodopayments::Internal::Type::request_parameters
|
5
|
+
|
6
|
+
class MeterArchiveParams < Dodopayments::Internal::Type::BaseModel
|
7
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
8
|
+
include Dodopayments::Internal::Type::RequestParameters
|
9
|
+
|
10
|
+
def initialize: (?request_options: Dodopayments::request_opts) -> void
|
11
|
+
|
12
|
+
def to_hash: -> { request_options: Dodopayments::RequestOptions }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module Dodopayments
|
2
|
+
module Models
|
3
|
+
type meter_create_params =
|
4
|
+
{
|
5
|
+
aggregation: Dodopayments::MeterAggregation,
|
6
|
+
event_name: String,
|
7
|
+
measurement_unit: String,
|
8
|
+
name: String,
|
9
|
+
description: String?,
|
10
|
+
filter: Dodopayments::MeterFilter?
|
11
|
+
}
|
12
|
+
& Dodopayments::Internal::Type::request_parameters
|
13
|
+
|
14
|
+
class MeterCreateParams < Dodopayments::Internal::Type::BaseModel
|
15
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
16
|
+
include Dodopayments::Internal::Type::RequestParameters
|
17
|
+
|
18
|
+
attr_accessor aggregation: Dodopayments::MeterAggregation
|
19
|
+
|
20
|
+
attr_accessor event_name: String
|
21
|
+
|
22
|
+
attr_accessor measurement_unit: String
|
23
|
+
|
24
|
+
attr_accessor name: String
|
25
|
+
|
26
|
+
attr_accessor description: String?
|
27
|
+
|
28
|
+
attr_accessor filter: Dodopayments::MeterFilter?
|
29
|
+
|
30
|
+
def initialize: (
|
31
|
+
aggregation: Dodopayments::MeterAggregation,
|
32
|
+
event_name: String,
|
33
|
+
measurement_unit: String,
|
34
|
+
name: String,
|
35
|
+
?description: String?,
|
36
|
+
?filter: Dodopayments::MeterFilter?,
|
37
|
+
?request_options: Dodopayments::request_opts
|
38
|
+
) -> void
|
39
|
+
|
40
|
+
def to_hash: -> {
|
41
|
+
aggregation: Dodopayments::MeterAggregation,
|
42
|
+
event_name: String,
|
43
|
+
measurement_unit: String,
|
44
|
+
name: String,
|
45
|
+
description: String?,
|
46
|
+
filter: Dodopayments::MeterFilter?,
|
47
|
+
request_options: Dodopayments::RequestOptions
|
48
|
+
}
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|