pago-sdk 1.0.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 +7 -0
- data/LICENSE +21 -0
- data/README.md +131 -0
- data/lib/pago/base_client.rb +116 -0
- data/lib/pago/errors.rb +83 -0
- data/lib/pago/http.rb +78 -0
- data/lib/pago/model.rb +86 -0
- data/lib/pago/paginator.rb +67 -0
- data/lib/pago/serde.rb +186 -0
- data/lib/pago/service.rb +17 -0
- data/lib/pago/v2026_04/client.rb +124 -0
- data/lib/pago/v2026_04/enums.rb +4552 -0
- data/lib/pago/v2026_04/errors.rb +1121 -0
- data/lib/pago/v2026_04/models.rb +46344 -0
- data/lib/pago/v2026_04/services/benefit_grants.rb +48 -0
- data/lib/pago/v2026_04/services/benefits.rb +179 -0
- data/lib/pago/v2026_04/services/checkout_links.rb +131 -0
- data/lib/pago/v2026_04/services/checkouts.rb +185 -0
- data/lib/pago/v2026_04/services/custom_fields.rb +132 -0
- data/lib/pago/v2026_04/services/customer_meters.rb +69 -0
- data/lib/pago/v2026_04/services/customer_portal.rb +1181 -0
- data/lib/pago/v2026_04/services/customer_seats.rb +137 -0
- data/lib/pago/v2026_04/services/customer_sessions.rb +35 -0
- data/lib/pago/v2026_04/services/customers.rb +556 -0
- data/lib/pago/v2026_04/services/discounts.rb +131 -0
- data/lib/pago/v2026_04/services/disputes.rb +93 -0
- data/lib/pago/v2026_04/services/event_types.rb +74 -0
- data/lib/pago/v2026_04/services/events.rb +126 -0
- data/lib/pago/v2026_04/services/files.rb +135 -0
- data/lib/pago/v2026_04/services/license_keys.rb +183 -0
- data/lib/pago/v2026_04/services/members.rb +47 -0
- data/lib/pago/v2026_04/services/meters.rb +142 -0
- data/lib/pago/v2026_04/services/metrics.rb +188 -0
- data/lib/pago/v2026_04/services/oauth2.rb +175 -0
- data/lib/pago/v2026_04/services/orders.rb +238 -0
- data/lib/pago/v2026_04/services/organizations.rb +113 -0
- data/lib/pago/v2026_04/services/payments.rb +72 -0
- data/lib/pago/v2026_04/services/products.rb +142 -0
- data/lib/pago/v2026_04/services/refunds.rb +73 -0
- data/lib/pago/v2026_04/services/subscriptions.rb +171 -0
- data/lib/pago/v2026_04/services/webhooks.rb +212 -0
- data/lib/pago/v2026_04/unions.rb +739 -0
- data/lib/pago/v2026_04/webhooks.rb +86 -0
- data/lib/pago/version.rb +5 -0
- data/lib/pago/webhooks.rb +159 -0
- data/lib/pago.rb +39 -0
- data/sig/pago/v2026_04/generated.rbs +12401 -0
- data/sig/pago.rbs +204 -0
- metadata +91 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pago
|
|
4
|
+
module V2026_04
|
|
5
|
+
module Services
|
|
6
|
+
class CustomerMeters < ::Pago::Service
|
|
7
|
+
# List customer meters.
|
|
8
|
+
#
|
|
9
|
+
# **Scopes**: `customer_meters:read`
|
|
10
|
+
#
|
|
11
|
+
# @param organization_id [String, Array<String>, nil] Filter by organization ID.
|
|
12
|
+
# @param customer_id [String, Array<String>, nil] Filter by customer ID.
|
|
13
|
+
# @param external_customer_id [String, Array<String>, nil] Filter by external customer ID.
|
|
14
|
+
# @param meter_id [String, Array<String>, nil] Filter by meter ID.
|
|
15
|
+
# @param page [Integer] Page number, defaults to 1.
|
|
16
|
+
# @param limit [Integer] Size of a page, defaults to 10. Maximum is 100.
|
|
17
|
+
# @param sorting [Array<String>, nil] Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order.
|
|
18
|
+
# @raise [Errors::HTTPValidationError] on HTTP 422.
|
|
19
|
+
# @raise [Pago::NetworkError] when the request never reached the API.
|
|
20
|
+
# @return [Models::ListResourceCustomerMeter]
|
|
21
|
+
def list(organization_id: nil, customer_id: nil, external_customer_id: nil, meter_id: nil, page: 1, limit: 10, sorting: ["-modified_at"])
|
|
22
|
+
data = client.request(
|
|
23
|
+
http_method: "GET",
|
|
24
|
+
path: "/v1/customer-meters/",
|
|
25
|
+
path_params: {},
|
|
26
|
+
query: { "organization_id" => organization_id, "customer_id" => customer_id, "external_customer_id" => external_customer_id, "meter_id" => meter_id, "page" => page, "limit" => limit, "sorting" => sorting },
|
|
27
|
+
response_type: :json,
|
|
28
|
+
errors: { 422 => Errors::HTTPValidationError }
|
|
29
|
+
)
|
|
30
|
+
Models::ListResourceCustomerMeter.from_json(data)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Enumerate every item of `list`, fetching pages on demand.
|
|
34
|
+
#
|
|
35
|
+
# @yieldparam item [Models::CustomerMeter]
|
|
36
|
+
# @return [Pago::Paginator] when called without a block.
|
|
37
|
+
def list_each(organization_id: nil, customer_id: nil, external_customer_id: nil, meter_id: nil, limit: 10, sorting: ["-modified_at"], &block)
|
|
38
|
+
paginator = ::Pago::Paginator.new do |page_number|
|
|
39
|
+
list(organization_id: organization_id, customer_id: customer_id, external_customer_id: external_customer_id, meter_id: meter_id, page: page_number, limit: limit, sorting: sorting)
|
|
40
|
+
end
|
|
41
|
+
block ? paginator.each(&block) : paginator
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Get a customer meter by ID.
|
|
45
|
+
#
|
|
46
|
+
# **Scopes**: `customer_meters:read`
|
|
47
|
+
#
|
|
48
|
+
# @param id [String] The customer meter ID.
|
|
49
|
+
# @raise [Errors::ResourceNotFound] on HTTP 404.
|
|
50
|
+
# @raise [Errors::HTTPValidationError] on HTTP 422.
|
|
51
|
+
# @raise [Pago::NetworkError] when the request never reached the API.
|
|
52
|
+
# @return [Models::CustomerMeter]
|
|
53
|
+
def get(id)
|
|
54
|
+
data = client.request(
|
|
55
|
+
http_method: "GET",
|
|
56
|
+
path: "/v1/customer-meters/{id}",
|
|
57
|
+
path_params: { "id" => id },
|
|
58
|
+
query: {},
|
|
59
|
+
response_type: :json,
|
|
60
|
+
errors: { 404 => Errors::ResourceNotFound, 422 => Errors::HTTPValidationError }
|
|
61
|
+
)
|
|
62
|
+
Models::CustomerMeter.from_json(data)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|