Landing
GET EvaluateLandingRequest
L'API GET EvaluateLandingRequest necessaria per recuperare le informazioni relative alla risorsa / operazione che il PSU vorr autorizzare.
curl --location --request GET 'https://pre.fabrick.com/api/fabrick/psd2-
redirect/v1/landings?token=#GW_TOKEN#' \
--header 'X-Request-ID: #REQID#' \
--header 'PSU-ID: #PSU_ID# \
--header 'Content-Type: application/json' \
--header 'Consumer-Ip: #IP_CONSUMER#' \
--header 'api-key: #APIKEY#' \
dove
-
GW_TOKEN: token del gateway.
-
REQID: valore definito dal chiamante per correlare la chiamata effettuata
-
PSU_ID: ID dell'utente che effettua la richiesta (username internet banking). Necessario solamente in caso di flusso Decoupled
-
IP_CONSUMER: Indirizzo IP del PSU
-
APIKEY: chiave di sicurezza fornita da Fabrick
Di seguito un esempio di risposta (nel caso di tipo risorsa Consenso):
{
"authorizedResource": {
"resourceId": 552486,
"resourceType": "CONSENT",
"resourceLink": "/v1/consents/552486",
"authorizeLink": "/v1/consents/552486/authorisations",
"resource": {
"access": {
"accounts": [],
"balances": [],
"transactions": [],
"allPsd2": "allAccounts"
},
"recurringIndicator": true,
"validUntil": "2024-01-18",
"frequencyPerDay": 4,
"lastActionDate": "2024-01-17",
"consentStatus": "received",
"_links": {
"account": {
"href": "/v1/accounts"
}
}
},
"revoke": false
},
"authorizedCertificate": {
"producer": {
"producerId": 16,
"producerDomainOut": "psdgw-hype.fabrick.pre",
"producerCode": "hype",
"producerFbkId": 11
},
"serviceProvider": {
"fabrickUid": "150367",
"reference": "pde4eV4Qr0pMiDNKCkuFYY+NCEXne7n//4qx1eOPGJk=",
"name": "Fabrick S.p.A.",
"roles": [
"AISP",
"PISP",
"PIISP"
]
}
},
"redirectUris": {
"redirectUri": "https://www.fabrick.com/OK",
"nokRedirectUri": "https://www.fabrick.com/KO"
}
}
A seconda del valore di resourceType avremo le varie casistiche di seguito:
-
resourceType: SINGLE_PAYMENT => SinglePayment
-
resourceType: RECURRING_PAYMENT => PeriodicPayment
-
resourceType: BULK_PAYMENT => BulkPayment (NON IMPLEMENTATO)
-
resourceType: BASKET -> non gestito
-
resourceType: CONSENT => ConsentDetail
PUT UpdateLandingRequest
L'API PUT UpdateLandingRequest inalizza il flusso di autorizzazione.
curl --location --request PUT 'https://pre.fabrick.com/api/fabrick/psd2-
redirect/v1/landings/?token=#GW_TOKEN#' \
--header 'X-Request-ID: #REQID#' \
--header 'Content-Type: application/json' \
--header 'Consumer-Ip: #IP_CONSUMER#' \
--header 'api-key: #APIKEY#' \
--data-raw '{"temporaryToken":"#TEMPORARY_TOKEN#",
"status":"#STATUS#",
"psuId":"#PSU_ID#",
"iban":"#IBAN#",
"currency":"#CURRENCY#"
}'
In cui i parametri degli headers sono gli stessi descritti per l'API precedente. Per quanto riguarda il body, questo sr valorizzato con i parametri della risorsa da autorizzare come indicato nello swagger.
Considerazioni
Validit del token
La validit del GW_TOKEN di 10 minuti, oltre questo lasso temporale entrambe le API restituiranno il seguente errore:
{
"tppMessages": [
{
"category": "ERROR",
"code": "SIGNATURE_INVALID"
}
]
}
Lo stesso errore viene restituito in caso in cui il token non risulti valido. o se il flusso risulti gi finalizzato.
Gestione richieste
La richiesta GET EvaluateLandingRequest pu essere effettuata un numero arbitrario di volte, mentre l'API PUT UpdateLandingRequest una sola volta per tipo di autorizzazione, ossia , una volta per autorizzare una risorsa e una volta per leventuale cancellazione della stessa. Ulteriori chiamate falliranno con lo stesso errore di cui sopra.
Domini
I domini su cui effettuare le richieste GET EvaluateLandingRequest lato frontend sono:
-
test.fabrick.com
-
pre.fabrick.com
-
api.fabrick.com
Le richieste PUT UpdateLandingRequest devono invece essere integrate ed effettuate da backend e da invocare su domini interni.