Skip to main content

Creazione/Modifica di una sessione di riconoscimento

Prerequisiti

L'avviamento di una sessione di riconoscimento è sottoposto a dei prerequisiti di licenza che variano a seconda della tipologia di riconoscimento selezionata e dalla tipologia di entità che deve ricevere l'identità.

Identità per persone fisiche ad uso privato

Nel caso di identità SPID destinate a persone fisiche per uso privato, l'avvio di una sessione di riconoscimento è completamente gratuita. Non ci sono vincoli su item, licenze o servizi attivi, e non vengono registrati consumi sui servizi di metering. 

L'unico requisito richiesto per l'avvio della procedura è quindi un token utente TSDigital valido al quale sia associato almeno un item.

Identità per persone fisiche ad uso professionale o persone giuridiche

Nel caso di identità SPID per persone fisiche (ad uso professionale) o per persone giuridiche, è richiesto che l'utente che avvia la richiesta stia operando per un item che abbia acquistato il servizio SPID.

Ogni pacchetto del servizio include un certo numero di slot SPID, i quali vengono consumati con ogni richiesta avviata. Nel caso in cui una richiesta venga annullata prima che venga portato avanti il data entry aggiuntivo richiesto, lo slot viene liberato ed è liberamente riutilizzabile.

Riconoscimento Video

In aggiunta a quanto detto sopra, per effettuare un riconoscimento video è necessario che l'item effettui l'acquisto di un pacchetto aggiuntivo che gli fornisca degli slot SPID Video. Ogni riconoscimento video avviato consuma sia uno slot regolare che uno slot video. Come nel caso degli altri tipi di riconoscimento, se la richiesta viene annullata prima di essere portata avanti, lo slot viene liberato ed è liberamente riutilizzabile.

Permessi

L'utente deve avere il permesso SPID:itemId:* o superiore per poter avviare una richiesta. Alle utenze personali o tecniche non è permesso creare richieste di riconoscimento SPID che non siano legate ad un item.

API

L'avvio di una sessione di riconoscimento viene effettuato tramite la seguente API:

[POST] /api/v1/spid

Header

Gli header richiesti dalla chiamata sono gli header standard di TSDigital.

Il Content-Type deve essere application/json

Body

Il body della richiesta è un JSON con il seguente formato (i parametri sottolineati sono obbligatori):

{
  "itemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "Mario",
  "surname": "Rossi",
  "taxId": "RSSMRA80A01I829Y",
  "email": "mario.rossi@agyo.io",
  "phoneNumber": "0342424242",
  "channels": {
    "cie": true,
    "cns": true,
    "feq": true,
    "video": true,
    "rao": true
  },
  "spidType": "INDIVIDUAL",
  "spidLevel": "SPID_LEVEL_1",
  "raoId": "159bc2f6-2b55-4dcc-abcd-7929e56d3bb7",
  "sendNotification": false
}
  • itemId: l'identificativo anagrafico univoco dell'item che sta effettuando la richiesta ed è una stringa in formato UUIDV4
  • name: nome della persona per la quale sta venendo inizializzata la sessione
  • surname: cognome della persona per la quale sta venendo inizializzata la sessione
  • taxId: codice fiscale della persona per la quale sta venendo inizializzata la sessione
  • email: email di contatto della persona per la quale sta venendo inizializzata la sessione
  • phoneNumber: numero di telefono della persona per la quale sta venendo inizializzata la sessione
  • channels: canali di riconoscimento da rendere disponibili per il riconoscimento
  • spidType: tipologia di SPID, ha i seguenti valori:
    • INDIVIDUAL: SPID per persona fisica, uso privato
    • PROFESSIONAL_INDIVIDUAL: SPID per persona fisica, uso professionale
    • LEGAL_ENTITY: SPID per persona giuridica, uso privato
    • PROFESSIONAL_LEGAL_ENTITY: SPID per persona giuridica, uso professionale
  • spidLevel: livello di sicurezza dell'identità SPID richiesta. Attualmente, sono disponibili i livelli 1 e 2
  • raoId: identificativo anagrafico univoco di un RAO. Obbligatorio nel caso in cui sia stato selezionato il canale rao, ignorato altrimenti
  • sendNotification: se impostato a false, disabilita l'invio dell'email contenente il link di sessione. In questo caso, sta all'applicativo chiamante fornire correttamente all'utente il link per poter proseguire con l'identificazione. Il link inviato ha una valenza di 24h.

Risposte

Successo

In caso di successo, l'API risponde con il codice HTTP 200 e con il seguente body:

{
  "itemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "spidId": "10aa555a-4ef4-41ca-b2ee-d07fac773898",
  "taxId": "RSSMRA80A01I829Y",
  "sessionLink": "http://example-link.agyo.io/spid-session"
}
  • itemId/taxId: echo dei valori passati in ingresso
  • spidId: identificativo univoco della richiesta all'interno di Digital, utilizzabile per effettuare operazioni di lettura/scrittura specifiche
  • sessionLink: link utilizzabile per iniziare il processo di riconoscimento. Corrisponde al link inviato tramite email se sendNotification è true. Il link ha una valenza di 24h. Non viene generato in caso di riconoscimento RAO.

Errore

In caso di errore, l'API risponde con un body JSON avente il seguente formato:

{
  "code": "string",
  "timestamp": "2022-04-13T13:35:16.678Z",
  "message": "string",
  "subErrors": [
    {}
  ]
}
  • code: rappresentazione sotto forma di stringa del codice d'errore HTTP. Coincide con l'errore HTTP ritornato
  • tiemstamp: data e ora della risposta, espresso sotto forma di stringa
  • message: messaggio che esprime l'errore

Gli errori possibili sono:

  • 400: la richiesta è malformata (parametri con formato errato, parametri invalidi o inconsistenti fra loro)
  • 401: non è stato fornito un token autorizzativo o il token autorizzativo fornito non è valido (es: è scaduto)
  • 403: il token fornito è valido, ma l'utente non è autorizzato ad effettuare l'operazione
  • 409: il codice fiscale specificato è già associato ad un'altra richiesta in corso, oppure l'item non ha il servizio SPID attivo
  • 500: si è verificato un errore inaspettato
  • 502: si è verificato un errore inaspettato nella comunicazione con altri servizi

Modifica di una richiesta

Fintanto che la sessione di riconoscimento non è stata avviata, è possibile modificarne i parametri rieffettuando la chiamata di creazione. Nel caso di SPID che prevedono consumi, non verranno bloccati slot aggiuntivi. Il link di avvio sessione inviato al momento della creazione/ultima modifica viene invalidato e ne viene generato uno nuovo, con valenza di 24h dalla data della modifica.