ibanity 1.11.0 → 2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +11 -0
- data/lib/ibanity/api/isabel_connect/token.rb +19 -12
- data/lib/ibanity/api/ponto_connect/transaction.rb +9 -2
- data/lib/ibanity/api/xs2a/batch_synchronization.rb +11 -0
- data/lib/ibanity/api/xs2a/bulk_payment_initiation_request_authorization.rb +21 -0
- data/lib/ibanity/api/xs2a/periodic_payment_initiation_request_authorization.rb +21 -0
- data/lib/ibanity/api/xs2a/synchronization.rb +7 -0
- data/lib/ibanity/client.rb +3 -3
- data/lib/ibanity/version.rb +1 -1
- data/lib/ibanity.rb +3 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59f060ed094bbff1d7a79f5ea21d599cf39111d6644608d4d9b42e95c8e77a08
|
4
|
+
data.tar.gz: b11d881bf89f5962a3f828a873775451553822f53e474b081df0412ac9c9e192
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2b5e2abf5045cdcf759c2786cfe63fe791d81a8bfdd69369244ccc907a640b1da31ce634c1c37da0482a03dc56adaf351f0a3bb1e87b6da56a28c1cf65d9ec5
|
7
|
+
data.tar.gz: 32548ddeb96f04708550acdbf8dae1a46ec26ad3b317be70bb9d78cb752e74ab053e5fe52cfe3f5822a2d9a5494fd496838e3c26de7c24ac060b5a376cf90dca
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 2.0.1
|
4
|
+
|
5
|
+
* [Ponto Connect] Fix UpdatedTransactions relationship parsing for synchronization
|
6
|
+
* [XS2A] Fix initialAccountTransactionsSynchronizations relationship parsing for accountInformationAccessRequest
|
7
|
+
|
8
|
+
## 2.0
|
9
|
+
|
10
|
+
* [Isabel Connect] Upgrade to version 2 of the API.
|
11
|
+
|
3
12
|
## 1.11
|
4
13
|
|
5
14
|
* Allow to tweak RestClient's timeout.
|
data/README.md
CHANGED
@@ -4,6 +4,17 @@
|
|
4
4
|
|
5
5
|
The Ibanity Ruby Library provides convenient wrappers around the Ibanity API. The object attributes are dynamically defined based on the API response, supporting minor API changes seamlessly.
|
6
6
|
|
7
|
+
Supported API version per product:
|
8
|
+
|
9
|
+
Product | Version
|
10
|
+
-- | --
|
11
|
+
XS2A | 1
|
12
|
+
Ponto Connect | 1
|
13
|
+
Isabel Connect | 2
|
14
|
+
Consent | 1
|
15
|
+
|
16
|
+
In case you need to connect to an older version of an API, please consult `CHANGELOG.md` for more info on which version of the gem supports which version of the API.
|
17
|
+
|
7
18
|
## Documentation
|
8
19
|
|
9
20
|
Visit our [Ruby API docs](https://documentation.ibanity.com/api/ruby).
|
@@ -7,32 +7,39 @@ module Ibanity
|
|
7
7
|
if refresh_token
|
8
8
|
[
|
9
9
|
["grant_type", "refresh_token"],
|
10
|
-
["refresh_token", refresh_token]
|
11
|
-
["client_id", Ibanity.client.isabel_connect_client_id],
|
12
|
-
["client_secret", Ibanity.client.isabel_connect_client_secret]
|
10
|
+
["refresh_token", refresh_token]
|
13
11
|
]
|
14
12
|
elsif authorization_code
|
15
13
|
[
|
16
14
|
["grant_type", "authorization_code"],
|
17
15
|
["code", authorization_code],
|
18
|
-
["client_id", Ibanity.client.isabel_connect_client_id],
|
19
|
-
["client_secret", Ibanity.client.isabel_connect_client_secret],
|
20
16
|
["redirect_uri", redirect_uri]
|
21
17
|
]
|
22
18
|
end
|
23
|
-
|
24
|
-
|
19
|
+
create_by_uri(
|
20
|
+
uri: uri,
|
21
|
+
payload: URI.encode_www_form(arguments),
|
22
|
+
idempotency_key: idempotency_key,
|
23
|
+
headers: self.headers
|
24
|
+
)
|
25
25
|
end
|
26
26
|
|
27
|
-
def self.delete(
|
27
|
+
def self.delete(refresh_token:)
|
28
28
|
uri = Ibanity.isabel_connect_api_schema["oAuth2"]["revoke"]
|
29
29
|
arguments = [
|
30
|
-
["token",
|
31
|
-
["client_id", Ibanity.client.isabel_connect_client_id],
|
32
|
-
["client_secret", Ibanity.client.isabel_connect_client_secret]
|
30
|
+
["token", refresh_token]
|
33
31
|
]
|
34
32
|
payload = URI.encode_www_form(arguments)
|
35
|
-
create_by_uri(uri: uri, payload: payload)
|
33
|
+
create_by_uri(uri: uri, payload: payload, headers: self.headers)
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def self.headers
|
39
|
+
{
|
40
|
+
"Authorization": "Basic " + Base64.strict_encode64("#{Ibanity.client.isabel_connect_client_id}:#{Ibanity.client.isabel_connect_client_secret}"),
|
41
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
42
|
+
}
|
36
43
|
end
|
37
44
|
end
|
38
45
|
end
|
@@ -1,8 +1,15 @@
|
|
1
1
|
module Ibanity
|
2
2
|
module PontoConnect
|
3
3
|
class Transaction < Ibanity::BaseResource
|
4
|
-
def self.list(access_token:, account_id
|
5
|
-
uri =
|
4
|
+
def self.list(access_token:, account_id: nil, synchronization_id: nil, **query_params)
|
5
|
+
uri = if synchronization_id
|
6
|
+
Ibanity.ponto_connect_api_schema["synchronization"]["updatedTransactions"]
|
7
|
+
.sub("{synchronizationId}", synchronization_id)
|
8
|
+
else
|
9
|
+
Ibanity.ponto_connect_api_schema["account"]["transactions"]
|
10
|
+
.sub("{accountId}", account_id)
|
11
|
+
.sub("{transactionId}", "")
|
12
|
+
end
|
6
13
|
list_by_uri(uri: uri, query_params: query_params, customer_access_token: access_token)
|
7
14
|
end
|
8
15
|
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module Xs2a
|
3
|
+
class BatchSynchronization < Ibanity::BaseResource
|
4
|
+
def self.create(idempotency_key: nil, **attributes)
|
5
|
+
path = Ibanity.xs2a_api_schema["batchSynchronizations"].gsub("{batchSynchronizationId}", "")
|
6
|
+
uri = Ibanity.client.build_uri(path)
|
7
|
+
create_by_uri(uri: uri, resource_type: "batchSynchronization", attributes: attributes, idempotency_key: idempotency_key)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module Xs2a
|
3
|
+
class BulkPaymentInitiationRequestAuthorization < Ibanity::BaseResource
|
4
|
+
def self.create(financial_institution_id:, payment_initiation_request_id:, customer_access_token:, idempotency_key: nil, meta: nil, **attributes)
|
5
|
+
path = Ibanity.xs2a_api_schema["customer"]["financialInstitution"]["bulkPaymentInitiationRequest"]["authorizations"]
|
6
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
7
|
+
.gsub("{paymentInitiationRequestId}", payment_initiation_request_id)
|
8
|
+
.gsub("{authorizationId}", "")
|
9
|
+
uri = Ibanity.client.build_uri(path)
|
10
|
+
create_by_uri(
|
11
|
+
uri: uri,
|
12
|
+
resource_type: "authorization",
|
13
|
+
attributes: attributes,
|
14
|
+
customer_access_token: customer_access_token,
|
15
|
+
idempotency_key: idempotency_key,
|
16
|
+
meta: meta
|
17
|
+
)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module Xs2a
|
3
|
+
class PeriodicPaymentInitiationRequestAuthorization < Ibanity::BaseResource
|
4
|
+
def self.create(financial_institution_id:, payment_initiation_request_id:, customer_access_token:, idempotency_key: nil, meta: nil, **attributes)
|
5
|
+
path = Ibanity.xs2a_api_schema["customer"]["financialInstitution"]["periodicPaymentInitiationRequest"]["authorizations"]
|
6
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
7
|
+
.gsub("{paymentInitiationRequestId}", payment_initiation_request_id)
|
8
|
+
.gsub("{authorizationId}", "")
|
9
|
+
uri = Ibanity.client.build_uri(path)
|
10
|
+
create_by_uri(
|
11
|
+
uri: uri,
|
12
|
+
resource_type: "authorization",
|
13
|
+
attributes: attributes,
|
14
|
+
customer_access_token: customer_access_token,
|
15
|
+
idempotency_key: idempotency_key,
|
16
|
+
meta: meta
|
17
|
+
)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -1,6 +1,13 @@
|
|
1
1
|
module Ibanity
|
2
2
|
module Xs2a
|
3
3
|
class Synchronization < Ibanity::BaseResource
|
4
|
+
def self.list(financial_institution_id:, account_information_access_request_id:, customer_access_token:, headers: nil, **query_params)
|
5
|
+
uri = Ibanity.xs2a_api_schema["customer"]["financialInstitution"]["accountInformationAccessRequest"]["initialAccountTransactionsSynchronizations"]
|
6
|
+
.sub("{financialInstitutionId}", financial_institution_id)
|
7
|
+
.sub("{accountInformationAccessRequestId}", account_information_access_request_id)
|
8
|
+
list_by_uri(uri: uri, query_params: query_params, customer_access_token: customer_access_token, headers: headers)
|
9
|
+
end
|
10
|
+
|
4
11
|
def self.create(customer_access_token:, **attributes)
|
5
12
|
uri = Ibanity.xs2a_api_schema["customer"]["synchronizations"]
|
6
13
|
.sub("{synchronizationId}", "")
|
data/lib/ibanity/client.rb
CHANGED
@@ -14,8 +14,8 @@ module Ibanity
|
|
14
14
|
api_scheme: "https",
|
15
15
|
api_host: "api.ibanity.com",
|
16
16
|
ssl_ca_file: nil,
|
17
|
-
isabel_connect_client_id:
|
18
|
-
isabel_connect_client_secret:
|
17
|
+
isabel_connect_client_id: nil,
|
18
|
+
isabel_connect_client_secret: nil,
|
19
19
|
ponto_connect_client_id: nil,
|
20
20
|
ponto_connect_client_secret: nil,
|
21
21
|
application_id: nil,
|
@@ -124,7 +124,7 @@ module Ibanity
|
|
124
124
|
|
125
125
|
def build_headers(customer_access_token: nil, idempotency_key: nil, extra_headers: nil, json:, payload: nil)
|
126
126
|
headers = {
|
127
|
-
accept: :json
|
127
|
+
accept: :json
|
128
128
|
}
|
129
129
|
headers["Transfer-Encoding"] = "chunked" if payload.is_a?(Pathname)
|
130
130
|
headers[:content_type] = :json if json
|
data/lib/ibanity/version.rb
CHANGED
data/lib/ibanity.rb
CHANGED
@@ -17,6 +17,7 @@ require_relative "ibanity/webhook"
|
|
17
17
|
require_relative "ibanity/api/xs2a/account"
|
18
18
|
require_relative "ibanity/api/xs2a/transaction"
|
19
19
|
require_relative "ibanity/api/xs2a/holding"
|
20
|
+
require_relative "ibanity/api/xs2a/batch_synchronization"
|
20
21
|
require_relative "ibanity/api/xs2a/financial_institution"
|
21
22
|
require_relative "ibanity/api/xs2a/financial_institution_country"
|
22
23
|
require_relative "ibanity/api/xs2a/account_information_access_request"
|
@@ -26,7 +27,9 @@ require_relative "ibanity/api/xs2a/customer_access_token"
|
|
26
27
|
require_relative "ibanity/api/xs2a/customer"
|
27
28
|
require_relative "ibanity/api/xs2a/payment_initiation_request"
|
28
29
|
require_relative "ibanity/api/xs2a/bulk_payment_initiation_request"
|
30
|
+
require_relative "ibanity/api/xs2a/bulk_payment_initiation_request_authorization"
|
29
31
|
require_relative "ibanity/api/xs2a/periodic_payment_initiation_request"
|
32
|
+
require_relative "ibanity/api/xs2a/periodic_payment_initiation_request_authorization"
|
30
33
|
require_relative "ibanity/api/xs2a/synchronization"
|
31
34
|
require_relative "ibanity/api/o_auth_resource"
|
32
35
|
require_relative "ibanity/api/isabel_connect/account"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ibanity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1
|
4
|
+
version: '2.1'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ibanity
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -110,7 +110,9 @@ files:
|
|
110
110
|
- lib/ibanity/api/xs2a/account.rb
|
111
111
|
- lib/ibanity/api/xs2a/account_information_access_request.rb
|
112
112
|
- lib/ibanity/api/xs2a/account_information_access_request_authorization.rb
|
113
|
+
- lib/ibanity/api/xs2a/batch_synchronization.rb
|
113
114
|
- lib/ibanity/api/xs2a/bulk_payment_initiation_request.rb
|
115
|
+
- lib/ibanity/api/xs2a/bulk_payment_initiation_request_authorization.rb
|
114
116
|
- lib/ibanity/api/xs2a/customer.rb
|
115
117
|
- lib/ibanity/api/xs2a/customer_access_token.rb
|
116
118
|
- lib/ibanity/api/xs2a/financial_institution.rb
|
@@ -119,6 +121,7 @@ files:
|
|
119
121
|
- lib/ibanity/api/xs2a/payment_initiation_request.rb
|
120
122
|
- lib/ibanity/api/xs2a/payment_initiation_request_authorization.rb
|
121
123
|
- lib/ibanity/api/xs2a/periodic_payment_initiation_request.rb
|
124
|
+
- lib/ibanity/api/xs2a/periodic_payment_initiation_request_authorization.rb
|
122
125
|
- lib/ibanity/api/xs2a/synchronization.rb
|
123
126
|
- lib/ibanity/api/xs2a/transaction.rb
|
124
127
|
- lib/ibanity/client.rb
|