ibanity 1.11.0 → 2.1
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 +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
|