Passa al contenuto principale

Configurazione cliente Fabrick

Introduzione

Di seguito vengono descritti i passaggi per iniziare a utilizzare i servizi Fabrick Active Engine e/o Fabrick Pass:

  • Registrazione dell’Azienda

  • Onboarding dei certificati (solo per Active Engine - TPP)

Successivamente il TPP o l’FPP avrà a disposizione:

  • Customer Dashboard

  • Service Desk Support (importante)

  • Ambiente di test

Fabrick mette a disposizione un ambiente di test per consentire al TPP di iniziare integrazione e sviluppi anche in assenza di autorizzazione della Banca d’Italia e/o di certificati eIDAS.

Registrazione dell’Azienda

Come anticipato, ogni cliente deve essere registrato nell’anagrafica Fabrick per poter utilizzare i prodotti. Per farlo, verrà effettuato insieme a noi un semplice processo di onboarding digitale in cui verranno richiesti i dati dell’Azienda e quelli del legale rappresentante.

Il legale rappresentante indicato nel form sarà di default un SuperUser (vedi sezione Customer Dashboard).

Onboarding dei certificati (solo per TPP - prodotto Active Engine)

Una volta ottenuti i certificati, dovranno essere condivisi con Fabrick attraverso i canali concordati.

In questo modo, Fabrick interagirà con i gateway, eliminando questa complessità per il TPP.

Fabrick procederà all’onboarding dei certificati per tutti i gateway esposti. La durata di questa operazione varia poiché alcuni gateway richiedono interazione con loro. L’intera attività può richiedere tra due e tre settimane.

Fabrick fornisce inoltre il servizio di gestione dei certificati per conto del TPP: ciò significa che l’intero processo di richiesta e gestione della modulistica con il provider (InfoCert ad esempio) viene svolto completamente da Fabrick, liberando il TPP da qualsiasi attività in merito.

Customer Dashboard

Una volta completata la fase di censimento, il TPP/FPP avrà a disposizione una dashboard personale sia per leggere i valori delle Api-keys (vedi sezione Api key) sia per configurare una serie di altri parametri.

La Dashboard è raggiungibile direttamente dal sito Fabrick https://www.fabrick.com/it/ selezionando la sezione Sviluppatori e poi Login.

Per tutti i dettagli fare riferimento al documento Fabrick Consumer Portal.

SuperUsers e TechUsers

Per accedere al portale è possibile registrare due tipologie di utenti:

  • TechUser: potrà operare sull’ambiente Sandbox (APIKey, impostazioni IP, ...);
  • SuperUser: potrà operare su Live e Sandbox (APIKey, impostazioni IP, …) e registrare altri TechUsers o SuperUsers (per cambiare tipologia è necessario aprire un ticket al supporto Fabrick).

Il legale rappresentante indicato nel form di censimento avrà di default il secondo ruolo. Poiché le credenziali di questo utente (incluso OTP via SMS) sono necessarie anche per attività operative, suggeriamo di assegnare questo ruolo a una persona con poteri adeguati e facilmente coinvolgibile.

Nel caso in cui venga registrato un nuovo utente, quest’ultimo riceverà la seguente email:

mailFuInvitation

Come si vede dal template in figura, il link ha una durata di 72 ore: procedere entro tale scadenza o verificare la validità del link.

Service Desk Support

Fabrick è ovviamente sempre disponibile per qualsiasi necessità, sia nella fase di integrazione e sviluppo sia dopo la messa in produzione del prodotto.

Il supporto è generalmente impostato come descritto di seguito, ma va inteso come linea guida e non come regola rigida.

Contatti diretti

Durante la fase di avvio, ogni TPP o FPP può fare riferimento a un Technical Account Manager per completare la fase di setup e prendere confidenza con il prodotto. I contatti possono avvenire via email, meeting o call.

Sistema di ticketing

In qualsiasi momento è possibile utilizzare il sistema di ticketing messo a disposizione da Fabrick: un team di supporto risponderà a qualsiasi esigenza, sia organizzativa sia tecnica. Per accedere al servizio è sufficiente indicare gli indirizzi email desiderati nel form di registrazione o, in alternativa, una group email. Anche in questo caso verrà inviata un’email di registrazione. Chiunque abbia accesso alla piattaforma potrà aprire nuovi ticket e commentare tutti quelli aperti dalla propria azienda.

Per ulteriori dettagli fare riferimento al documento JiraServiceDeskUsersGuide_v1.0.pdf

È consigliabile utilizzare il ServiceDesk quando possibile, poiché generalmente è più efficiente ed efficace per ovvie ragioni; i contatti diretti rimarranno comunque disponibili per qualsiasi necessità.

Ad esempio, può essere opportuno aprire un ticket per richieste puntuali, preferendo email o call se necessario.

Informazioni necessarie

Per consentire un’analisi più rapida dei casi segnalati, è consigliabile condividere con Fabrick il correlationId. Se l’errore avviene sulla pagina finale della banca, è opportuno condividere ulteriori dettagli. I due casi sono spiegati in dettaglio nelle sezioni seguenti.

Il correlationId

Per qualsiasi richiesta di supporto riferita a una specifica richiesta HTTP o flow Fabrick, è necessario inoltrare a Fabrick il correlationId. Il correlationId è una stringa che identifica in modo univoco una e una sola richiesta HTTP sui sistemi Fabrick. Questo parametro consente una ricerca immediata per tracciare e analizzare il caso segnalato.

Il correlationId viene restituito negli header di risposta di ogni richiesta; di seguito due immagini mostrano come recuperarlo da browser o da Postman.

Da browser, aprire la Developers console e selezionare la tab Network, quindi cliccare sulla richiesta Fabrick desiderata:

correlationIdBrowser

Da Postman, invece, cliccare sulla tab Headers della risposta come mostrato in figura:

correlationIdPostman

Se non è possibile recuperare il correlationId, è comunque consigliabile fornire a Fabrick quanti più dettagli possibile per consentire una ricerca tempestiva:

  • uno tra i vari id (userId, accountId, workflowId) in base al flow
  • l’orario, anche indicativo, in cui è stato riscontrato il comportamento anomalo
  • una breve descrizione del problema

Errore sulla pagina della banca

In caso di Redirect Flow (sia per AIS che per PIS), l’utente verrà reindirizzato alla pagina della propria banca per inserire le credenziali e autorizzare l’operazione tramite SCA. Su questa pagina Fabrick non ha visibilità; per questo motivo, se si verifica un errore in questa fase sarà necessario raccogliere quanti più dettagli possibile così che Fabrick possa comunicarli alla banca finale. Uno screenshot dell’errore può essere utile, in alternativa o in aggiunta a una descrizione dell’esperienza utente. Alcuni esempi:

  • La pagina della banca risulta irraggiungibile (verificare rete interna e/o impostazioni firewall / ...);

  • Compare un messaggio di errore subito dopo l’inserimento credenziali (verificare che sia possibile accedere all’internet banking con le stesse credenziali);

  • Non è possibile procedere perché la UI non lo consente (pulsante disabilitato, altro errore UI, ...);

  • L’utente non ha ricevuto la notifica/SMS per procedere con la SCA;

  • ...

Solo in alcune circostanze la banca finale potrebbe richiedere lo username dell’utente finale per ulteriori verifiche. Anche in questo caso Fabrick gestirà l’intera comunicazione con le banche finali.

È possibile effettuare alcuni controlli in autonomia:

  • verificare che il PSU abbia inserito correttamente le credenziali e, in secondo luogo, per il servizio corretto (esempio: credenziali Retail selezionando Business o viceversa)
  • testare le credenziali su Internet Banking e verificare che il login avvenga correttamente.

Struttura delle API e ambienti

Una volta completati i passaggi precedenti, è possibile verificare il corretto funzionamento delle configurazioni e iniziare l’implementazione del progetto.

Anche in ambiente di test (pre-produzione) Fabrick consente di operare con conti reali, sia per l’aggregazione (AIS) sia per i pagamenti (PIS). In alternativa, è sempre possibile utilizzare i sandbox account messi a disposizione dalle banche per lo sviluppo e i test. Inoltre, Fabrick ha creato una Mock bank che simula il comportamento di un’interfaccia PSD2. Per la lista delle credenziali sandbox delle principali banche, fare riferimento al documento SandboxAccounts.xlsx. Gli ambienti sandbox sono gestiti direttamente dalla banca; per eventuali interruzioni del servizio è possibile segnalarle a Fabrick, che inoltrerà la segnalazione con tutti i dettagli.

Panoramica API Fabrick

Tutte le API Fabrick hanno la stessa struttura; di seguito descriviamo brevemente i due aspetti principali. Tutti i dettagli sono disponibili sul sito Fabrick (API Overview).

Api-Key

A questo punto l’FPP/TPP può recuperare dalla dashboard personale una chiave univoca e strettamente privata che consente di utilizzare il servizio Fabrick abilitato. Questa chiave si chiama Api-Key. L’Api-Key non deve mai essere divulgata a terzi. Neppure Fabrick ne è a conoscenza. Inoltre, ogni TPP sarà associato a un identificativo pubblico chiamato TppUid.

L’Api-Key deve essere inserita come valore dell’header Api-key per ogni richiesta HTTP verso Fabrick.

L’Api-Key verrà creata e resa disponibile il primo lunedì successivo al completamento del form di censimento (considerando 1–3 giorni di configurazioni lato Fabrick).

Headers request

Una volta ottenuta l’API-KEY, deve essere inserita come header su tutti gli endpoint della piattaforma Fabrick PSD2 Active Engine. Per ogni Http Request sono richiesti anche i seguenti header:

Api-Key:{{Api-Key}}
Auth-Schema:S2S
Content-Type:application/json

L’header X-PSU-IP-Address deve essere valorizzato con l’indirizzo IP del PSU (utente finale); se non disponibile, il TPP utilizzerà l’IP usato dal TPP stesso per inoltrare la richiesta. Questo parametro è obbligatorio per normativa PSD2 ogni volta che c’è interazione con la banca.

Ciò significa che sarà obbligatorio per il TPP creare un consent, autorizzare un pagamento o sincronizzare i dati con la banca. Può essere omesso in tutti gli altri casi (interazione con DB Fabrick).

Per l’FPP può invece essere ignorato (eccezione: refresh payment se necessario), poiché sarà gestito totalmente da Fabrick.

In questa guida, per semplicità e maggiore leggibilità, ometteremo gli header obbligatori, tuttavia sono da considerarsi necessari per tutti gli endpoint.

Reset ambiente di pre-produzione

Ogni settimana (durante il fine settimana) i dati dell’ambiente di pre-produzione (test) vengono cancellati. Sarà quindi necessario ricreare le entità necessarie per procedere con integrazione e test. In compenso si avrà sempre un ambiente di test pulito. Prestare quindi attenzione agli ID dei vari elementi utilizzati in caso di errore "Resource not found" (il prodotto Pay by Bank fa eccezione: ogni settimana tutti i dati di produzione vengono copiati in pre-produzione).

Consigli di implementazione

Per quanto riguarda gli sviluppi applicativi, consigliamo di evitare l’uso di HTML iFrame nel mondo web, poiché alcuni ASPSP non ne consentono il corretto funzionamento per ragioni di sicurezza.

Per il mondo mobile, si consiglia invece di utilizzare WebView all’interno dell’app piuttosto che aprire l’applicazione browser, per maggiore facilità d’uso da parte del PSU.

In ogni caso, tutti i servizi Fabrick devono essere invocati da un backend. In primo luogo per proteggere l’apiKey (che non deve essere esposta o scritta all’interno del frontend); in secondo luogo, in questo modo saranno abilitati solo gli IP del backend (gli unici IP da cui Fabrick accetterà richieste).

Tutte le applicazioni frontend chiameranno il backend secondo le scelte interne del FPP/TPP.