Passa al contenuto principale

Account details

Per entrambi, TPP e FPP, la risposta ottenuta a seguito di una richiesta degli account è esattamente la stessa ed è descritta di seguito.
Le API di richiesta invece variano leggermente; per i dettagli di implementazione è possibile fare riferimento alla documentazione specifica.

La risposta sarà un array di account e ogni elemento sarà simile al seguente esempio:

{
"accountId": "1243",
"bankId": "2",
"bankProfileId": "132",
"userId": "12",
"alias": null,
"bicCode": "ABXXXXXX",
"cashType": null,
"currency": "EUR",
"deletedDatetime": null,
"details": "",
"displayName": "",
"isDeleted": false,
"consentEndDateTime": "2023-01-01T22:59:59.000+0000",
"consentStatus": "VALID",
"lastBalances": [
{
"amount": {
"currency": "EUR",
"value": 0
},
"amountInEuro": {
"currency": "EUR",
"value": 0
},
"balanceId": "",
"balancePriority": 0,
"balanceTimePeriod": "",
"balanceType": "",
"deletedDatetime": "2021-06-14T09:25:14.605Z",
"exchangeRate": 0,
"isCreditLimitIncluded": true,
"lastChangeDatetime": "2021-06-14T09:25:14.605Z",
"lastCommittedTransaction": "",
"referenceDate": "2021-06-14T09:25:14.605Z",
"retrievedDatetime": "2021-06-14T09:25:14.605Z",
"type": ""
}
],
"lastUpdatedDatetime": "2019-09-15T09:00:01.000Z",
"linkedAccounts": null,
"name": null,
"ownerName": "MARIO ROSSI",
"productName": "STANDARD PERSONAL CASH ACCOUNT",
"reference": null,
"retrievedDatetime": "2019-09-14T09:14:12.000Z",
"subsidiaryValues": [
{
"currency": "EUR",
"reference": null,
"value": "IT32FXXXXXYYYYYKKKKKKKKKKKK",
"valueType": "IBAN"
}
],
"synchronizationStatus": {
"balances": {
"hasActiveConsent": true,
"isSynchronized": true,
"lastSynchronizedDatetime": "2019-09-15T09:00:01.000Z",
"wasInLastConsent": true
},
"transactions": {
"hasActiveConsent": true,
"isSynchronized": true,
"lastSynchronizedDatetime": "2019-09-15T09:00:03.000Z",
"wasInLastConsent": true
}
},
"tppUid": "100000",
"usage": "PERSONAL",
"value": "IT32FXXXXXYYYYYKKKKKKKKKKKK",
"valueType": "IBAN"
}

Ogni elemento dell’elenco rappresenta un account utente e contiene informazioni relative all’account, all’utente e una serie di informazioni di contesto aggiunte da Fabrick che arricchiscono il modello:

  • accountId: ID univoco dell’account configurato da Fabrick
  • bankId: ID univoco della banca
  • bankProfileId: solo per TPP, ID univoco del bankProfile
  • userId: ID univoco dell’utente
  • alias: stringa opzionale che può essere utilizzata dall’utente finale (tramite TPP o FPP) per impostare un alias personalizzato
  • bicCode: codice BIC
  • cashType: da ignorare. Codice ISO 20022 (ExternalCashAccountType1Code) attualmente non restituito
  • currency: valuta locale dell’account
  • details: specificità dell’account (quasi mai restituito dalle banche)
  • displayName: nome account definito dall’utente nell’Online Banking
  • consentEndDateTime: data di scadenza del consenso
  • consentStatus: stato del consenso
  • lastBalances: informazioni di saldo
  • lastUpdatedDatetime: ultima sincronizzazione con ASPSP
  • linkedAccounts: conto associato per transazioni pendenti
  • name: nome account assegnato dall’ASPSP
  • ownerName: intestatario
  • productName: nome prodotto assegnato dalla banca
  • reference: identificativo account
  • retrievedDatetime: data di recupero informazioni

subsidiaryValues

Solo per TPP è possibile aggregare anche le carte.

"subsidiaryValues": [
{
"value": "IT00A12345678000AA000123456",
"valueType": "IBAN"
},
{
"value": "1234 xxxx xxxx 5678",
"valueType": "MASKED_PAN"
}
]

Esempio:

  • GET Get Account restituisce IBAN
  • GET Get Card restituisce maskedPan
    Saldo e movimenti sono gli stessi.

synchronizationStatus

Indica lo stato di saldi e movimenti:

  • hasActiveConsent: esiste un consenso attivo
  • isSynchronized: indica se l’entità viene sincronizzata automaticamente (modificabile solo per TPP via PUT Update Account / PUT Update Card)
  • lastSynchronizedDatetime: data ultima sincronizzazione
  • wasInLastConsent: true se l’account era incluso nell’ultimo consenso scaduto

  • tppUid: ID del TPP
  • usage: PRIVATE (Retail) o BUSINESS (Corporate)
  • value: numero conto / carta anonimizzata
  • valueType: IBAN, MASKED_PAN o WALLET

Se il cliente ha associato una carta a PayPal, il saldo restituito sarà 0 perché riferito al wallet. I movimenti sono visibili ma con informazioni ridotte.

Scheduler saldi e movimenti

Le informazioni relative ai saldi e ai movimenti per ciascun consenso in stato VALID vengono aggiornate automaticamente 4 volte al giorno utilizzando gli accessi non presidiati consentiti dalla normativa. Poiché sono possibili al massimo 4 chiamate al giorno per ciascun consenso e tipo di richiesta, come Fabrick abbiamo preferito concentrare le fasi di sincronizzazione durante la giornata, in modo che il PSU possa avere i movimenti sempre aggiornati nei momenti di maggiore utilizzo del servizio:

  1. 08:30: transazioni e saldi
  2. 11:30: transazioni e saldi
  3. 14:30: transazioni e saldi
  4. 17:30: transazioni e saldi

Ovviamente si tratta di fasce orarie la cui durata è di circa 90 minuti. Questo perché le banche non consentono un elevato parallelismo delle chiamate, quindi Fabrick è costretto a serializzare le richieste di aggiornamento per tutti i singoli conti.

Tradotto con DeepL.com (versione gratuita)