Passa al contenuto principale

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.