ibanity 0.5 → 1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rspec +1 -0
- data/.travis.yml +20 -0
- data/CHANGELOG.md +20 -0
- data/README.md +2 -0
- data/ibanity.gemspec +1 -2
- data/lib/ibanity.rb +68 -14
- data/lib/ibanity/api/base_resource.rb +45 -15
- data/lib/ibanity/api/consent/consent.rb +41 -0
- data/lib/ibanity/api/consent/processing_operation.rb +37 -0
- data/lib/ibanity/api/isabel_connect/access_token.rb +17 -0
- data/lib/ibanity/api/isabel_connect/account.rb +15 -0
- data/lib/ibanity/api/isabel_connect/account_report.rb +15 -0
- data/lib/ibanity/api/isabel_connect/balance.rb +11 -0
- data/lib/ibanity/api/isabel_connect/bulk_payment_initiation_request.rb +25 -0
- data/lib/ibanity/api/isabel_connect/intraday_transaction.rb +10 -0
- data/lib/ibanity/api/isabel_connect/refresh_token.rb +29 -0
- data/lib/ibanity/api/isabel_connect/transaction.rb +10 -0
- data/lib/ibanity/api/o_auth_resource.rb +19 -0
- data/lib/ibanity/api/ponto_connect/account.rb +15 -0
- data/lib/ibanity/api/ponto_connect/financial_institution.rb +15 -0
- data/lib/ibanity/api/ponto_connect/payment.rb +20 -0
- data/lib/ibanity/api/ponto_connect/sandbox/financial_institution_account.rb +21 -0
- data/lib/ibanity/api/ponto_connect/sandbox/financial_institution_transaction.rb +31 -0
- data/lib/ibanity/api/ponto_connect/synchronization.rb +15 -0
- data/lib/ibanity/api/ponto_connect/token.rb +53 -0
- data/lib/ibanity/api/ponto_connect/transaction.rb +15 -0
- data/lib/ibanity/api/ponto_connect/usage.rb +10 -0
- data/lib/ibanity/api/ponto_connect/user_info.rb +10 -0
- data/lib/ibanity/api/sandbox/financial_institution_account.rb +41 -0
- data/lib/ibanity/api/sandbox/financial_institution_holding.rb +45 -0
- data/lib/ibanity/api/sandbox/financial_institution_transaction.rb +45 -0
- data/lib/ibanity/api/sandbox/financial_institution_user.rb +32 -0
- data/lib/ibanity/api/xs2a/account.rb +33 -0
- data/lib/ibanity/api/xs2a/account_information_access_request.rb +27 -0
- data/lib/ibanity/api/xs2a/account_information_access_request_authorization.rb +21 -0
- data/lib/ibanity/api/xs2a/bulk_payment_initiation_request.rb +33 -0
- data/lib/ibanity/api/xs2a/customer.rb +10 -0
- data/lib/ibanity/api/xs2a/customer_access_token.rb +11 -0
- data/lib/ibanity/api/xs2a/financial_institution.rb +36 -0
- data/lib/ibanity/api/xs2a/holding.rb +21 -0
- data/lib/ibanity/api/xs2a/payment_initiation_request.rb +33 -0
- data/lib/ibanity/api/xs2a/payment_initiation_request_authorization.rb +21 -0
- data/lib/ibanity/api/xs2a/periodic_payment_initiation_request.rb +33 -0
- data/lib/ibanity/api/xs2a/synchronization.rb +17 -0
- data/lib/ibanity/api/xs2a/transaction.rb +21 -0
- data/lib/ibanity/client.rb +41 -30
- data/lib/ibanity/collection.rb +47 -0
- data/lib/ibanity/error.rb +9 -5
- data/lib/ibanity/http_signature.rb +4 -2
- data/lib/ibanity/util.rb +11 -4
- data/lib/ibanity/version.rb +1 -1
- data/spec/lib/ibanity/util_spec.rb +89 -0
- data/spec/spec_helper.rb +100 -0
- metadata +52 -30
- data/lib/ibanity/api/account.rb +0 -20
- data/lib/ibanity/api/account_information_access_request.rb +0 -17
- data/lib/ibanity/api/customer_access_token.rb +0 -9
- data/lib/ibanity/api/financial_institution.rb +0 -30
- data/lib/ibanity/api/financial_institution_account.rb +0 -39
- data/lib/ibanity/api/financial_institution_transaction.rb +0 -43
- data/lib/ibanity/api/financial_institution_user.rb +0 -30
- data/lib/ibanity/api/payment_initiation_request.rb +0 -24
- data/lib/ibanity/api/transaction.rb +0 -19
@@ -0,0 +1,25 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module IsabelConnect
|
3
|
+
class BulkPaymentInitiationRequest < Ibanity::BaseResource
|
4
|
+
def self.create(access_token:, raw_content:, filename:, idempotency_key: nil)
|
5
|
+
uri = Ibanity.isabel_connect_api_schema["bulkPaymentInitiationRequests"].sub("{bulkPaymentInitiationRequestId}", "")
|
6
|
+
create_file_by_uri(
|
7
|
+
uri: uri,
|
8
|
+
resource_type: "bulkPaymentInitiationRequest",
|
9
|
+
raw_content: raw_content,
|
10
|
+
customer_access_token: access_token,
|
11
|
+
idempotency_key: idempotency_key,
|
12
|
+
headers: {
|
13
|
+
content_type: :xml,
|
14
|
+
"Content-Disposition": "inline; filename=#{filename}"
|
15
|
+
}
|
16
|
+
)
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.find(id:, access_token:)
|
20
|
+
uri = Ibanity.isabel_connect_api_schema["bulkPaymentInitiationRequests"].sub("{bulkPaymentInitiationRequestId}", id)
|
21
|
+
find_by_uri(uri: uri, customer_access_token: access_token)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module IsabelConnect
|
3
|
+
class IntradayTransaction < Ibanity::BaseResource
|
4
|
+
def self.list(account_id:, access_token:, headers: nil, **query_params)
|
5
|
+
uri = Ibanity.isabel_connect_api_schema["account"]["intradayTransactions"].sub("{accountId}", account_id)
|
6
|
+
list_by_uri(uri: uri, query_params: query_params, customer_access_token: access_token, headers: headers)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module IsabelConnect
|
3
|
+
class RefreshToken < Ibanity::OAuthResource
|
4
|
+
def self.create(authorization_code:, redirect_uri:, idempotency_key: nil)
|
5
|
+
uri = Ibanity.isabel_connect_api_schema["oAuth2"]["refreshTokens"]["create"]
|
6
|
+
arguments = [
|
7
|
+
["grant_type", "authorization_code"],
|
8
|
+
["code", authorization_code],
|
9
|
+
["client_id", Ibanity.client.isabel_connect_client_id],
|
10
|
+
["client_secret", Ibanity.client.isabel_connect_client_secret],
|
11
|
+
["redirect_uri", redirect_uri]
|
12
|
+
]
|
13
|
+
payload = URI.encode_www_form(arguments)
|
14
|
+
create_by_uri(uri: uri, payload: payload, idempotency_key: idempotency_key)
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.delete(token:)
|
18
|
+
uri = Ibanity.isabel_connect_api_schema["oAuth2"]["refreshTokens"]["revoke"]
|
19
|
+
arguments = [
|
20
|
+
["token", token],
|
21
|
+
["client_id", Ibanity.client.isabel_connect_client_id],
|
22
|
+
["client_secret", Ibanity.client.isabel_connect_client_secret]
|
23
|
+
]
|
24
|
+
payload = URI.encode_www_form(arguments)
|
25
|
+
create_by_uri(uri: uri, payload: payload)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module IsabelConnect
|
3
|
+
class Transaction < Ibanity::BaseResource
|
4
|
+
def self.list(account_id:, access_token:, headers: nil, **query_params)
|
5
|
+
uri = Ibanity.isabel_connect_api_schema["account"]["transactions"].sub("{accountId}", account_id)
|
6
|
+
list_by_uri(uri: uri, query_params: query_params, customer_access_token: access_token, headers: headers)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Ibanity
|
2
|
+
class OAuthResource < OpenStruct
|
3
|
+
def self.create_by_uri(uri:, payload:, idempotency_key: nil, headers: nil)
|
4
|
+
raw_item = Ibanity.client.post(uri: uri, payload: payload, json: false, idempotency_key: idempotency_key, headers: headers)
|
5
|
+
raw_item = {} if raw_item == ""
|
6
|
+
new(raw_item)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.find_by_uri(uri:, customer_access_token: nil, headers: nil)
|
10
|
+
raw_item = Ibanity.client.get(uri: uri, customer_access_token: customer_access_token, headers: headers)
|
11
|
+
raw_item = {} if raw_item == ""
|
12
|
+
new(raw_item)
|
13
|
+
end
|
14
|
+
|
15
|
+
def initialize(raw)
|
16
|
+
super(raw)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module PontoConnect
|
3
|
+
class Account < Ibanity::BaseResource
|
4
|
+
def self.list(access_token:, **query_params)
|
5
|
+
uri = Ibanity.ponto_connect_api_schema["accounts"].sub("{accountId}", "")
|
6
|
+
list_by_uri(uri: uri, query_params: query_params, customer_access_token: access_token)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.find(access_token:, id:)
|
10
|
+
uri = Ibanity.ponto_connect_api_schema["accounts"].sub("{accountId}", id)
|
11
|
+
find_by_uri(uri: uri, customer_access_token: access_token)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module PontoConnect
|
3
|
+
class FinancialInstitution < Ibanity::BaseResource
|
4
|
+
def self.list(access_token: nil, **query_params)
|
5
|
+
uri = Ibanity.ponto_connect_api_schema["financialInstitutions"].sub("{financialInstitutionId}", "")
|
6
|
+
list_by_uri(uri: uri, query_params: query_params, customer_access_token: access_token)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.find(access_token: nil, id:)
|
10
|
+
uri = Ibanity.ponto_connect_api_schema["financialInstitutions"].sub("{financialInstitutionId}", id)
|
11
|
+
find_by_uri(uri: uri, customer_access_token: access_token)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module PontoConnect
|
3
|
+
class Payment < Ibanity::BaseResource
|
4
|
+
def self.find(access_token:, account_id:, id:)
|
5
|
+
uri = Ibanity.ponto_connect_api_schema["account"]["payments"].sub("{accountId}", account_id).sub("{paymentId}", id)
|
6
|
+
find_by_uri(uri: uri, customer_access_token: access_token)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.create(account_id:, access_token: nil, **attributes)
|
10
|
+
uri = Ibanity.ponto_connect_api_schema["account"]["payments"].gsub("{accountId}", account_id).gsub("{paymentId}", "")
|
11
|
+
create_by_uri(uri: uri, resource_type: "payment", attributes: attributes, customer_access_token: access_token)
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.delete(id:, account_id:, access_token:)
|
15
|
+
uri = Ibanity.ponto_connect_api_schema["account"]["payments"].gsub("{accountId}", account_id).gsub("{paymentId}", id)
|
16
|
+
destroy_by_uri(uri: uri, customer_access_token: access_token)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module PontoConnect
|
3
|
+
module Sandbox
|
4
|
+
class FinancialInstitutionAccount < Ibanity::BaseResource
|
5
|
+
def self.list(access_token:, financial_institution_id:, **query_params)
|
6
|
+
uri = Ibanity.ponto_connect_api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccounts"]
|
7
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
8
|
+
.gsub("{financialInstitutionAccountId}", "")
|
9
|
+
list_by_uri(uri: uri, query_params: query_params, customer_access_token: access_token)
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.find(access_token:, id:, financial_institution_id:)
|
13
|
+
uri = Ibanity.ponto_connect_api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccounts"]
|
14
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
15
|
+
.gsub("{financialInstitutionAccountId}", id)
|
16
|
+
find_by_uri(uri: uri, customer_access_token: access_token)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module PontoConnect
|
3
|
+
module Sandbox
|
4
|
+
class FinancialInstitutionTransaction < Ibanity::BaseResource
|
5
|
+
def self.list(access_token:, financial_institution_account_id:, financial_institution_id:, **query_params)
|
6
|
+
uri = Ibanity.ponto_connect_api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
|
7
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
8
|
+
.gsub("{financialInstitutionAccountId}", financial_institution_account_id)
|
9
|
+
.gsub("{financialInstitutionTransactionId}", "")
|
10
|
+
list_by_uri(uri: uri, query_params: query_params, customer_access_token: access_token)
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.find(access_token:, id:, financial_institution_id:, financial_institution_account_id:)
|
14
|
+
uri = Ibanity.ponto_connect_api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
|
15
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
16
|
+
.gsub("{financialInstitutionAccountId}", financial_institution_account_id)
|
17
|
+
.gsub("{financialInstitutionTransactionId}", id)
|
18
|
+
find_by_uri(uri: uri, customer_access_token: access_token)
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.create(access_token:, financial_institution_id:, financial_institution_account_id:, **attributes)
|
22
|
+
uri = Ibanity.ponto_connect_api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
|
23
|
+
.sub("{financialInstitutionId}", financial_institution_id)
|
24
|
+
.sub("{financialInstitutionAccountId}", financial_institution_account_id)
|
25
|
+
.sub("{financialInstitutionTransactionId}", "")
|
26
|
+
create_by_uri(uri: uri, resource_type: "financialInstitutionTransaction", attributes: attributes, customer_access_token: access_token)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module PontoConnect
|
3
|
+
class Synchronization < Ibanity::BaseResource
|
4
|
+
def self.create(access_token:, **attributes)
|
5
|
+
uri = Ibanity.ponto_connect_api_schema["synchronizations"].sub("{synchronizationId}", "")
|
6
|
+
create_by_uri(uri: uri, resource_type: "synchronization", attributes: attributes, customer_access_token: access_token)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.find(id:, access_token:)
|
10
|
+
uri = Ibanity.ponto_connect_api_schema["synchronizations"].sub("{synchronizationId}", id)
|
11
|
+
find_by_uri(uri: uri, customer_access_token: access_token)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module PontoConnect
|
3
|
+
class Token < Ibanity::OAuthResource
|
4
|
+
def self.create(refresh_token: nil, authorization_code: nil, redirect_uri: nil, idempotency_key: nil, code_verifier: nil)
|
5
|
+
arguments =
|
6
|
+
if refresh_token
|
7
|
+
[
|
8
|
+
["grant_type", "refresh_token"],
|
9
|
+
["client_id", Ibanity.client.ponto_connect_client_id],
|
10
|
+
["refresh_token", refresh_token]
|
11
|
+
]
|
12
|
+
elsif authorization_code
|
13
|
+
[
|
14
|
+
["grant_type", "authorization_code"],
|
15
|
+
["client_id", Ibanity.client.ponto_connect_client_id],
|
16
|
+
["code", authorization_code],
|
17
|
+
["code_verifier", code_verifier],
|
18
|
+
["redirect_uri", redirect_uri]
|
19
|
+
]
|
20
|
+
else
|
21
|
+
[
|
22
|
+
["grant_type", "client_credentials"]
|
23
|
+
]
|
24
|
+
end
|
25
|
+
|
26
|
+
create_by_uri(
|
27
|
+
uri: Ibanity.ponto_connect_api_schema["oauth2"]["token"],
|
28
|
+
payload: URI.encode_www_form(arguments),
|
29
|
+
idempotency_key: idempotency_key,
|
30
|
+
headers: self.headers
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.delete(refresh_token:)
|
35
|
+
uri = Ibanity.ponto_connect_api_schema["oauth2"]["revoke"]
|
36
|
+
arguments = [
|
37
|
+
["token", refresh_token]
|
38
|
+
]
|
39
|
+
payload = URI.encode_www_form(arguments)
|
40
|
+
create_by_uri(uri: uri, payload: payload, headers: self.headers)
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def self.headers
|
46
|
+
{
|
47
|
+
"Authorization": "Basic " + Base64.strict_encode64("#{Ibanity.client.ponto_connect_client_id}:#{Ibanity.client.ponto_connect_client_secret}"),
|
48
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
49
|
+
}
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module PontoConnect
|
3
|
+
class Transaction < Ibanity::BaseResource
|
4
|
+
def self.list(access_token:, account_id:, **query_params)
|
5
|
+
uri = Ibanity.ponto_connect_api_schema["account"]["transactions"].sub("{accountId}", account_id).sub("{transactionId}", "")
|
6
|
+
list_by_uri(uri: uri, query_params: query_params, customer_access_token: access_token)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.find(access_token:, account_id:, id:)
|
10
|
+
uri = Ibanity.ponto_connect_api_schema["account"]["transactions"].sub("{accountId}", account_id).sub("{transactionId}", id)
|
11
|
+
find_by_uri(uri: uri, customer_access_token: access_token)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module PontoConnect
|
3
|
+
class Usage < Ibanity::BaseResource
|
4
|
+
def self.find(client_access_token:, organization_id:, month:)
|
5
|
+
uri = Ibanity.ponto_connect_api_schema["organizations"]["usage"].sub("{organizationId}", organization_id).sub("{month}", month)
|
6
|
+
find_by_uri(uri: uri, customer_access_token: client_access_token)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module Sandbox
|
3
|
+
class FinancialInstitutionAccount < Ibanity::BaseResource
|
4
|
+
def self.create(financial_institution_user_id:, financial_institution_id:, idempotency_key: nil, **attributes)
|
5
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccounts"]
|
6
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
7
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
8
|
+
.gsub("{financialInstitutionAccountId}", "")
|
9
|
+
uri = Ibanity.client.build_uri(path)
|
10
|
+
create_by_uri(uri: uri, resource_type: "financialInstitutionAccount", attributes: attributes, idempotency_key: idempotency_key)
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.list(financial_institution_id:, financial_institution_user_id:, **query_params)
|
14
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccounts"]
|
15
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
16
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
17
|
+
.gsub("{financialInstitutionAccountId}", "")
|
18
|
+
uri = Ibanity.client.build_uri(path)
|
19
|
+
list_by_uri(uri: uri, query_params: query_params)
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.find(id:, financial_institution_user_id:, financial_institution_id:)
|
23
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccounts"]
|
24
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
25
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
26
|
+
.gsub("{financialInstitutionAccountId}", id)
|
27
|
+
uri = Ibanity.client.build_uri(path)
|
28
|
+
find_by_uri(uri: uri)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.delete(id:, financial_institution_user_id:, financial_institution_id:)
|
32
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccounts"]
|
33
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
34
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
35
|
+
.gsub("{financialInstitutionAccountId}", id)
|
36
|
+
uri = Ibanity.client.build_uri(path)
|
37
|
+
destroy_by_uri(uri: uri)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module Sandbox
|
3
|
+
class FinancialInstitutionHolding < Ibanity::BaseResource
|
4
|
+
def self.create(financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:, idempotency_key: nil, **attributes)
|
5
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionHoldings"]
|
6
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
7
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
8
|
+
.gsub("{financialInstitutionAccountId}", financial_institution_account_id)
|
9
|
+
.gsub("{financialInstitutionHoldingId}", "")
|
10
|
+
uri = Ibanity.client.build_uri(path)
|
11
|
+
create_by_uri(uri: uri, resource_type: "financialInstitutionHolding", attributes: attributes, idempotency_key: idempotency_key)
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.list(financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:, **query_params)
|
15
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionHoldings"]
|
16
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
17
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
18
|
+
.gsub("{financialInstitutionAccountId}", financial_institution_account_id)
|
19
|
+
.gsub("{financialInstitutionHoldingId}", "")
|
20
|
+
uri = Ibanity.client.build_uri(path)
|
21
|
+
list_by_uri(uri: uri, query_params: query_params)
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.find(id:, financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:)
|
25
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionHoldings"]
|
26
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
27
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
28
|
+
.gsub("{financialInstitutionAccountId}", financial_institution_account_id)
|
29
|
+
.gsub("{financialInstitutionHoldingId}", id)
|
30
|
+
uri = Ibanity.client.build_uri(path)
|
31
|
+
find_by_uri(uri: uri)
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.delete(id:, financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:)
|
35
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionHoldings"]
|
36
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
37
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
38
|
+
.gsub("{financialInstitutionAccountId}", financial_institution_account_id)
|
39
|
+
.gsub("{financialInstitutionHoldingId}", id)
|
40
|
+
uri = Ibanity.client.build_uri(path)
|
41
|
+
destroy_by_uri(uri: uri)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Ibanity
|
2
|
+
module Sandbox
|
3
|
+
class FinancialInstitutionTransaction < Ibanity::BaseResource
|
4
|
+
def self.create(financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:, idempotency_key: nil, **attributes)
|
5
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
|
6
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
7
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
8
|
+
.gsub("{financialInstitutionAccountId}", financial_institution_account_id)
|
9
|
+
.gsub("{financialInstitutionTransactionId}", "")
|
10
|
+
uri = Ibanity.client.build_uri(path)
|
11
|
+
create_by_uri(uri: uri, resource_type: "financialInstitutionTransaction", attributes: attributes, idempotency_key: idempotency_key)
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.list(financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:, **query_params)
|
15
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
|
16
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
17
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
18
|
+
.gsub("{financialInstitutionAccountId}", financial_institution_account_id)
|
19
|
+
.gsub("{financialInstitutionTransactionId}", "")
|
20
|
+
uri = Ibanity.client.build_uri(path)
|
21
|
+
list_by_uri(uri: uri, query_params: query_params)
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.find(id:, financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:)
|
25
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
|
26
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
27
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
28
|
+
.gsub("{financialInstitutionAccountId}", financial_institution_account_id)
|
29
|
+
.gsub("{financialInstitutionTransactionId}", id)
|
30
|
+
uri = Ibanity.client.build_uri(path)
|
31
|
+
find_by_uri(uri: uri)
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.delete(id:, financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:)
|
35
|
+
path = Ibanity.sandbox_api_schema["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
|
36
|
+
.gsub("{financialInstitutionId}", financial_institution_id)
|
37
|
+
.gsub("{financialInstitutionUserId}", financial_institution_user_id)
|
38
|
+
.gsub("{financialInstitutionAccountId}", financial_institution_account_id)
|
39
|
+
.gsub("{financialInstitutionTransactionId}", id)
|
40
|
+
uri = Ibanity.client.build_uri(path)
|
41
|
+
destroy_by_uri(uri: uri)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|