Nowa wersja REST API
Wersja została zainstalowana na obu nodach klastra. Kluczowe zmiany:
zmiany do metody authorize- rozszerzenie o pola do obsługi zgód oraz identyfikatory nadawane przez kanał TPP
zmiana nazwy pola Consent na code w metodzie authorize
nowy endpoint authorizew z przekazaniem SWIFT CODE banku /api/bank/{idType}/{idValue}/authorize
metodya do synchronizacji kont we wskazanym banku: POST/api/bank/{bankId}/sync i POST /api/bank/{bankIdentifierType}/{identifierValue}/sync
dodatkowe metody zwracające stage i status sesji AIS
metoda zwracająca szczegóły rachunku po alternatywnych identyfikatorach: /api/bankaccount/{idType}/{idValue}
Metody zwracające tryby i typy płatności dostępne dla wskazanego banku
bank/{bankId}/deliveryMode
bank/{bankId}/executionMode
bank/{bankId}/deliverySystem
Rozszerzenie o pola do obsługi zgód oraz identyfikatory nadawane przez kanał TPP
Nowy microservice do obsługi Consent
Microservice został zdeployowany na obu nodach middleware (jako IIS website). Docelowo będzie funkcjonował jako niezależny kontener.
Serwis wystawia własne API (w tym swagger- poniżej)
Serwis posiada 2 dedykowane bazy danych (kolekcje) w bazie Mongo:
purpose- definicaja purpose oraz mapowanie na zakres zgody wysyłany do ASPSP
consent- baza zgód
Inicjalnie został zdefiniowny jeden purpose (domyślny) o nazwie general.
Microservice oferuje 2 metody API
Sekwencja AIS
Krok 1: GET 10.13.133.40/api/country/PL/bank
pobranie listy banków dostępnych dla wskazanego api-clientId
cache-control: no-cache
accept-language: en-gb
api-clientid: pko
ip: 127.0.0.1
accept-encoding: gzip, deflate
response
HTTP/1.1 200
status: 200
transfer-encoding: chunked
content-type: application/json; charset=utf-8
server: Kestrel
x-powered-by: ASP.NET
date: Thu, 23 May 2019 09:45:25 GMT
|
Krok 2: POST 10.13.133.40/api/bank/75/authorize
uruchomienie sesji AIS
content-type: application/json
api-clientid: pko
accept-language: en-gb
ip: 127.0.0.1
accept-encoding: gzip, deflate
content-length: 167
|
final naming of the attributes (externalconsentid, externalconsentguid, purpose) will be confirmed in RN for version 3.2 (101)
response
HTTP/1.1 202
status: 202
transfer-encoding: chunked
content-type: application/json; charset=utf-8
server: Kestrel
x-powered-by: ASP.NET
date: Thu, 23 May 2019 09:48:52 GMT
|
Krok 3: POST 10.13.133.40/api/bank/75/authorize
Przekazanie otrzymanego code
content-type: application/json
api-clientid: pko
accept-language: en-gb
ip: 127.0.0.1
accept-encoding: gzip, deflate
content-length: 2136
|
UWAGA: w wersji 3.11 (101) następiła zmiana pola consent na code.
response
HTTP/1.1 200
status: 200
transfer-encoding: chunked
content-type: application/json; charset=utf-8
|
Krok 4a: GET 10.13.133.40/api/bank/session/<SESSION ID>
Polling statusu sesji
api-clientid: pko
accept-language: en-gb
ip: 127.0.0.1
accept-encoding: gzip, deflate
response
HTTP/1.1 200
status: 200
transfer-encoding: chunked
content-type: application/json; charset=utf-8
server: Kestrel
x-powered-by: ASP.NET
date: Thu, 23 May 2019 09:52:36 GMT
|
Krok 4b: callback z informacją o statusie konta i pobranych rachunkach
Sesja w trakcie
|
Callback po otrzymaniu listy rachunków
|
Krok 5: GET 10.13.133.40/api/bankaccount?userId=<USER ID>
Pobranie rachunków dla wskazanego usera
cache-control: no-cache
postman-token: 6373989b-aeb0-4c9b-b1f1-940b290aaedb
api-clientid: pko
accept-language: en-gb
ip: 127.0.0.1
user-agent: PostmanRuntime/6.4.1
accept: */*
host: 10.13.133.40
accept-encoding: gzip, deflate
response
HTTP/1.1 200
status: 200
transfer-encoding: chunked
content-type: application/json; charset=utf-8
server: Kestrel
x-powered-by: ASP.NET
date: Thu, 23 May 2019 09:52:48 GMT
|
request
GET
GET 10.13.133.40/api/transaction/?userID=<USER ID>?&pagenumber=1&pagesize=100&accountid=<ACCOUNT ID>
Pobranie transackji dla wskazanego rachunku
GET /api/transaction/
api-clientid: pko
accept-language: en-gb
ip: 127.0.0.1
accept-encoding: gzip, deflate
response
HTTP/1.1 200
status: 200
transfer-encoding: chunked
content-type: application/json; charset=utf-8
|