lago-ruby-client 1.31.0 → 1.32.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/lib/lago/api/client.rb +103 -36
- data/lib/lago/api/resources/activity_log.rb +2 -0
- data/lib/lago/api/resources/add_on.rb +2 -0
- data/lib/lago/api/resources/api_log.rb +29 -0
- data/lib/lago/api/resources/applied_coupon.rb +2 -0
- data/lib/lago/api/resources/billable_metric.rb +2 -0
- data/lib/lago/api/resources/billing_entity.rb +2 -0
- data/lib/lago/api/resources/coupon.rb +2 -0
- data/lib/lago/api/resources/credit_note.rb +2 -0
- data/lib/lago/api/resources/customer.rb +2 -0
- data/lib/lago/api/resources/event.rb +2 -0
- data/lib/lago/api/resources/fee.rb +2 -0
- data/lib/lago/api/resources/gross_revenue.rb +2 -0
- data/lib/lago/api/resources/invoice.rb +2 -0
- data/lib/lago/api/resources/invoice_collection.rb +2 -0
- data/lib/lago/api/resources/invoiced_usage.rb +2 -0
- data/lib/lago/api/resources/mrr.rb +2 -0
- data/lib/lago/api/resources/organization.rb +2 -0
- data/lib/lago/api/resources/overdue_balance.rb +2 -0
- data/lib/lago/api/resources/payment.rb +2 -0
- data/lib/lago/api/resources/payment_receipt.rb +2 -0
- data/lib/lago/api/resources/payment_request.rb +3 -0
- data/lib/lago/api/resources/plan.rb +3 -0
- data/lib/lago/api/resources/subscription.rb +69 -0
- data/lib/lago/api/resources/tax.rb +2 -0
- data/lib/lago/api/resources/wallet.rb +2 -0
- data/lib/lago/api/resources/wallet_transaction.rb +2 -0
- data/lib/lago/api/resources/webhook.rb +2 -0
- data/lib/lago/api/resources/webhook_endpoint.rb +2 -0
- data/lib/lago/version.rb +1 -1
- data/lib/lago-ruby-client.rb +0 -29
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f13f9b64684cd3ffb7704dee078805dacc1d53e24015452916ecd12984da76e
|
4
|
+
data.tar.gz: 03fd94112276012a112f7c82e029037a0f0c6d9e4bbe1b5aa0ce863d04b278df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2b6a6aa21c41a3850cc529f0c3df65d5dc8c1bfc6509caba895c3d1ef0a637a02e3633ddaa145b773defa0dbd61201e628844fde40fdbbc24147a86768bb9f7
|
7
|
+
data.tar.gz: 9950cef24db981e02517a536c4690f470ab8070de70cef3e768bdff1ed9e13ddcf211726728ebb77711a8cd9422acb0f82d8620c8e72d373e034585912702d14
|
data/lib/lago/api/client.rb
CHANGED
@@ -1,5 +1,35 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'lago/api/resources/base'
|
4
|
+
require 'lago/api/resources/activity_log'
|
5
|
+
require 'lago/api/resources/add_on'
|
6
|
+
require 'lago/api/resources/api_log'
|
7
|
+
require 'lago/api/resources/applied_coupon'
|
8
|
+
require 'lago/api/resources/billable_metric'
|
9
|
+
require 'lago/api/resources/billing_entity'
|
10
|
+
require 'lago/api/resources/coupon'
|
11
|
+
require 'lago/api/resources/credit_note'
|
12
|
+
require 'lago/api/resources/customer'
|
13
|
+
require 'lago/api/resources/event'
|
14
|
+
require 'lago/api/resources/fee'
|
15
|
+
require 'lago/api/resources/gross_revenue'
|
16
|
+
require 'lago/api/resources/invoice'
|
17
|
+
require 'lago/api/resources/invoice_collection'
|
18
|
+
require 'lago/api/resources/invoiced_usage'
|
19
|
+
require 'lago/api/resources/mrr'
|
20
|
+
require 'lago/api/resources/organization'
|
21
|
+
require 'lago/api/resources/overdue_balance'
|
22
|
+
require 'lago/api/resources/payment'
|
23
|
+
require 'lago/api/resources/payment_receipt'
|
24
|
+
require 'lago/api/resources/payment_request'
|
25
|
+
require 'lago/api/resources/plan'
|
26
|
+
require 'lago/api/resources/subscription'
|
27
|
+
require 'lago/api/resources/tax'
|
28
|
+
require 'lago/api/resources/wallet'
|
29
|
+
require 'lago/api/resources/wallet_transaction'
|
30
|
+
require 'lago/api/resources/webhook'
|
31
|
+
require 'lago/api/resources/webhook_endpoint'
|
32
|
+
|
3
33
|
module Lago
|
4
34
|
module Api
|
5
35
|
BASE_URL = 'https://api.getlago.com/'
|
@@ -29,80 +59,117 @@ module Lago
|
|
29
59
|
URI.join(ingest_url, Lago::Api::API_PATH)
|
30
60
|
end
|
31
61
|
|
32
|
-
|
33
|
-
|
62
|
+
# Resources
|
63
|
+
def activity_logs
|
64
|
+
Resources::ActivityLog.new(self)
|
34
65
|
end
|
35
66
|
|
36
|
-
def
|
37
|
-
|
67
|
+
def add_ons
|
68
|
+
Resources::AddOn.new(self)
|
38
69
|
end
|
39
70
|
|
40
|
-
def
|
41
|
-
|
71
|
+
def api_logs
|
72
|
+
Resources::ApiLog.new(self)
|
42
73
|
end
|
43
74
|
|
44
|
-
def
|
45
|
-
|
75
|
+
def applied_coupons
|
76
|
+
Resources::AppliedCoupon.new(self)
|
46
77
|
end
|
47
78
|
|
48
|
-
def
|
49
|
-
|
79
|
+
def billable_metrics
|
80
|
+
Resources::BillableMetric.new(self)
|
50
81
|
end
|
51
82
|
|
52
|
-
def
|
53
|
-
|
83
|
+
def billing_entities
|
84
|
+
Resources::BillingEntity.new(self)
|
54
85
|
end
|
55
86
|
|
56
|
-
def
|
57
|
-
|
87
|
+
def coupons
|
88
|
+
Resources::Coupon.new(self)
|
58
89
|
end
|
59
90
|
|
60
91
|
def credit_notes
|
61
|
-
|
92
|
+
Resources::CreditNote.new(self)
|
62
93
|
end
|
63
94
|
|
64
|
-
def
|
65
|
-
|
95
|
+
def customers
|
96
|
+
Resources::Customer.new(self)
|
66
97
|
end
|
67
98
|
|
68
|
-
def
|
69
|
-
|
99
|
+
def events
|
100
|
+
Resources::Event.new(self)
|
70
101
|
end
|
71
102
|
|
72
|
-
def
|
73
|
-
|
103
|
+
def fees
|
104
|
+
Resources::Fee.new(self)
|
105
|
+
end
|
106
|
+
|
107
|
+
def gross_revenues
|
108
|
+
Resources::GrossRevenue.new(self)
|
109
|
+
end
|
110
|
+
|
111
|
+
def invoice_collections
|
112
|
+
Resources::InvoiceCollection.new(self)
|
113
|
+
end
|
114
|
+
|
115
|
+
def invoiced_usages
|
116
|
+
Resources::InvoicedUsage.new(self)
|
117
|
+
end
|
118
|
+
|
119
|
+
def invoices
|
120
|
+
Resources::Invoice.new(self)
|
121
|
+
end
|
122
|
+
|
123
|
+
def mrrs
|
124
|
+
Resources::Mrr.new(self)
|
74
125
|
end
|
75
126
|
|
76
127
|
def organizations
|
77
|
-
|
128
|
+
Resources::Organization.new(self)
|
78
129
|
end
|
79
130
|
|
80
|
-
def
|
81
|
-
|
131
|
+
def overdue_balances
|
132
|
+
Resources::OverdueBalance.new(self)
|
82
133
|
end
|
83
134
|
|
84
|
-
def
|
85
|
-
|
135
|
+
def payment_receipts
|
136
|
+
Resources::PaymentReceipt.new(self)
|
86
137
|
end
|
87
138
|
|
88
|
-
def
|
89
|
-
|
139
|
+
def payment_requests
|
140
|
+
Resources::PaymentRequest.new(self)
|
90
141
|
end
|
91
142
|
|
92
|
-
def
|
93
|
-
|
143
|
+
def payments
|
144
|
+
Resources::Payment.new(self)
|
94
145
|
end
|
95
146
|
|
96
|
-
def
|
97
|
-
|
147
|
+
def plans
|
148
|
+
Resources::Plan.new(self)
|
98
149
|
end
|
99
150
|
|
100
|
-
def
|
101
|
-
|
151
|
+
def subscriptions
|
152
|
+
Resources::Subscription.new(self)
|
102
153
|
end
|
103
154
|
|
104
|
-
def
|
105
|
-
|
155
|
+
def taxes
|
156
|
+
Resources::Tax.new(self)
|
157
|
+
end
|
158
|
+
|
159
|
+
def wallet_transactions
|
160
|
+
Resources::WalletTransaction.new(self)
|
161
|
+
end
|
162
|
+
|
163
|
+
def wallets
|
164
|
+
Resources::Wallet.new(self)
|
165
|
+
end
|
166
|
+
|
167
|
+
def webhook_endpoints
|
168
|
+
Resources::WebhookEndpoint.new(self)
|
169
|
+
end
|
170
|
+
|
171
|
+
def webhooks
|
172
|
+
Resources::Webhook.new(self)
|
106
173
|
end
|
107
174
|
end
|
108
175
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'lago/api/resources/base'
|
4
|
+
|
5
|
+
module Lago
|
6
|
+
module Api
|
7
|
+
module Resources
|
8
|
+
class ApiLog < Base
|
9
|
+
undef_method :create, :update, :destroy
|
10
|
+
|
11
|
+
def api_resource
|
12
|
+
'api_logs'
|
13
|
+
end
|
14
|
+
|
15
|
+
def root_name
|
16
|
+
'api_log'
|
17
|
+
end
|
18
|
+
|
19
|
+
def whitelist_params(params)
|
20
|
+
{
|
21
|
+
root_name => {
|
22
|
+
api_log: params[:request_id],
|
23
|
+
},
|
24
|
+
}
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'lago/api/resources/base'
|
4
|
+
|
3
5
|
module Lago
|
4
6
|
module Api
|
5
7
|
module Resources
|
@@ -16,6 +18,7 @@ module Lago
|
|
16
18
|
result_hash = {
|
17
19
|
email: params[:email],
|
18
20
|
external_customer_id: params[:external_customer_id],
|
21
|
+
payment_status: params[:payment_status],
|
19
22
|
lago_invoice_ids: params[:lago_invoice_ids]
|
20
23
|
}.compact
|
21
24
|
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'lago/api/resources/base'
|
4
|
+
|
3
5
|
module Lago
|
4
6
|
module Api
|
5
7
|
module Resources
|
@@ -67,6 +69,7 @@ module Lago
|
|
67
69
|
:properties,
|
68
70
|
:filters,
|
69
71
|
:tax_codes,
|
72
|
+
:applied_pricing_unit,
|
70
73
|
)
|
71
74
|
|
72
75
|
processed_charges << result unless result.empty?
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'lago/api/resources/base'
|
4
|
+
|
3
5
|
module Lago
|
4
6
|
module Api
|
5
7
|
module Resources
|
@@ -33,6 +35,38 @@ module Lago
|
|
33
35
|
JSON.parse(response.to_json, object_class: OpenStruct).lifetime_usage
|
34
36
|
end
|
35
37
|
|
38
|
+
def get_alert(external_subscription_id, code)
|
39
|
+
response = connection.get(alert_uri(external_subscription_id, code), identifier: nil)
|
40
|
+
JSON.parse(response.to_json, object_class: OpenStruct).alert
|
41
|
+
end
|
42
|
+
|
43
|
+
def update_alert(external_subscription_id, code, params)
|
44
|
+
response = connection.put(
|
45
|
+
alert_uri(external_subscription_id, code),
|
46
|
+
identifier: nil,
|
47
|
+
body: whitelist_alert_update_params(params),
|
48
|
+
)
|
49
|
+
JSON.parse(response.to_json, object_class: OpenStruct).alert
|
50
|
+
end
|
51
|
+
|
52
|
+
def delete_alert(external_subscription_id, code)
|
53
|
+
response = connection.destroy(alert_uri(external_subscription_id, code), identifier: nil)
|
54
|
+
JSON.parse(response.to_json, object_class: OpenStruct).alert
|
55
|
+
end
|
56
|
+
|
57
|
+
def get_alerts(external_subscription_id)
|
58
|
+
response = connection.get(alert_uri(external_subscription_id), identifier: nil)
|
59
|
+
JSON.parse(response.to_json, object_class: OpenStruct).alerts
|
60
|
+
end
|
61
|
+
|
62
|
+
def create_alert(external_subscription_id, params)
|
63
|
+
response = connection.post(
|
64
|
+
whitelist_alert_create_params(params),
|
65
|
+
alert_uri(external_subscription_id),
|
66
|
+
)
|
67
|
+
JSON.parse(response.to_json, object_class: OpenStruct).alert
|
68
|
+
end
|
69
|
+
|
36
70
|
def whitelist_params(params)
|
37
71
|
{
|
38
72
|
root_name => {
|
@@ -55,6 +89,41 @@ module Lago
|
|
55
89
|
},
|
56
90
|
}
|
57
91
|
end
|
92
|
+
|
93
|
+
def whitelist_alert_create_params(params)
|
94
|
+
{
|
95
|
+
alert: {
|
96
|
+
alert_type: params[:alert_type],
|
97
|
+
name: params[:name],
|
98
|
+
code: params[:code],
|
99
|
+
billable_metric_code: params[:billable_metric_code],
|
100
|
+
thresholds: params[:thresholds],
|
101
|
+
}.compact,
|
102
|
+
}
|
103
|
+
end
|
104
|
+
|
105
|
+
def whitelist_alert_update_params(params)
|
106
|
+
{
|
107
|
+
alert: {
|
108
|
+
name: params[:name],
|
109
|
+
code: params[:code],
|
110
|
+
billable_metric_code: params[:billable_metric_code],
|
111
|
+
thresholds: params[:thresholds],
|
112
|
+
}.compact,
|
113
|
+
}
|
114
|
+
end
|
115
|
+
|
116
|
+
def whitelist_thresholds(params)
|
117
|
+
(params || []).map do |p|
|
118
|
+
(p || {}).slice(:code, :value, :recurring)
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
private
|
123
|
+
|
124
|
+
def alert_uri(external_subscription_id, code = nil)
|
125
|
+
URI("#{client.base_api_url}#{api_resource}/#{external_subscription_id}/alerts#{code ? "/#{code}" : ''}")
|
126
|
+
end
|
58
127
|
end
|
59
128
|
end
|
60
129
|
end
|
data/lib/lago/version.rb
CHANGED
data/lib/lago-ruby-client.rb
CHANGED
@@ -11,32 +11,3 @@ require 'lago/version'
|
|
11
11
|
require 'lago/api/client'
|
12
12
|
require 'lago/api/connection'
|
13
13
|
require 'lago/api/http_error'
|
14
|
-
|
15
|
-
require 'lago/api/resources/base'
|
16
|
-
require 'lago/api/resources/activity_log'
|
17
|
-
require 'lago/api/resources/add_on'
|
18
|
-
require 'lago/api/resources/applied_coupon'
|
19
|
-
require 'lago/api/resources/billable_metric'
|
20
|
-
require 'lago/api/resources/billing_entity'
|
21
|
-
require 'lago/api/resources/coupon'
|
22
|
-
require 'lago/api/resources/credit_note'
|
23
|
-
require 'lago/api/resources/customer'
|
24
|
-
require 'lago/api/resources/event'
|
25
|
-
require 'lago/api/resources/fee'
|
26
|
-
require 'lago/api/resources/gross_revenue'
|
27
|
-
require 'lago/api/resources/invoice'
|
28
|
-
require 'lago/api/resources/invoice_collection'
|
29
|
-
require 'lago/api/resources/invoiced_usage'
|
30
|
-
require 'lago/api/resources/mrr'
|
31
|
-
require 'lago/api/resources/organization'
|
32
|
-
require 'lago/api/resources/overdue_balance'
|
33
|
-
require 'lago/api/resources/payment'
|
34
|
-
require 'lago/api/resources/payment_receipt'
|
35
|
-
require 'lago/api/resources/payment_request'
|
36
|
-
require 'lago/api/resources/plan'
|
37
|
-
require 'lago/api/resources/subscription'
|
38
|
-
require 'lago/api/resources/tax'
|
39
|
-
require 'lago/api/resources/wallet'
|
40
|
-
require 'lago/api/resources/wallet_transaction'
|
41
|
-
require 'lago/api/resources/webhook'
|
42
|
-
require 'lago/api/resources/webhook_endpoint'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lago-ruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.32.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lovro Colic
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jwt
|
@@ -233,6 +233,7 @@ files:
|
|
233
233
|
- lib/lago/api/http_error.rb
|
234
234
|
- lib/lago/api/resources/activity_log.rb
|
235
235
|
- lib/lago/api/resources/add_on.rb
|
236
|
+
- lib/lago/api/resources/api_log.rb
|
236
237
|
- lib/lago/api/resources/applied_coupon.rb
|
237
238
|
- lib/lago/api/resources/base.rb
|
238
239
|
- lib/lago/api/resources/billable_metric.rb
|