Modello di integrazione con l'area personale
Questo documento descrive gli aspetti tecnici dell'importazione delle Pratiche Lite, uno strumento che permette di integrare le pratiche provenienti da altri gestionali.
La funzionalitร รจ disponibile esclusivamente su richiesta.
La nostra piattaforma permette al cittadino di interagire sia con le pratiche generate sulla piattaforma stessa sia con pratiche generate su altri gestionali. Cittadini e Operatori potranno interagire da un'unica interfaccia con un elenco uniforme di pratiche.
Per realizzare questa integrazione รจ stato ideato il concetto di Pratiche Lite, che rappresenta una pratica con un set minimo di dati, utili per permettere al Cittadino di visualizzarle e interagire con esse in maniera uniforme a quanto accade con le Pratiche generate direttamente nel nostro sistema. Ma non solo, รจ possibile visualizzare anche informazioni relative ai documenti correlati alla pratica e i pagamenti.
Sarร necessario fornirci un elenco di Pratiche Lite per esporle sulla nostra piattaforma. Questi dati potranno essere forniti tramite API ReST in formato JSON.
I vantaggi dell'integrazione con l'area personale
Integrare le pratiche generare da altri gestionali nell'area personale permette al cittadino di:
consultare in un unico posto tutte le pratiche relative a un cittadino, anche se generate da altri sistemi, come previsto dal modello del sito comunale del dipartimento;
seguire l'iter della pratica;
consultare i dati essenziali di una pratica, come il richiedente e il beneficiario;
consultare i documenti associati alla pratica e lo stato della protocollazione;
consultare i pagamenti associati alla pratica;
Ma l'area personale non รจ solo consultazione, il cittadino, se l'integrazione lo prevede, potrร comunque interagire con le pratiche, anche se generate da sistemi esterni. Operazioni come la visualizzazione completa della pratica, la modifica, l'integrazione dei documenti o l'annullamento della richiesta, saranno eseguite direttamente sul gestionale esterno, invocando gli opportuni endpoint HTTP corrispondenti alle azioni da eseguire. Questi endpoint verranno specificati pratica per pratica all'atto dell'importazione.

Modello della Pratica Lite
Per permettere un'integrazione basilare รจ necessario inviare solo:
titolo e stato della pratica
nome, cognome e codice fiscale del richiedente
un link per raggiungere la pagina di dettaglio della pratica
Ma รจ comunque possibile aggiungere ulteriori dati per rendere l'esperienza utente piรน completa:
Pratica: titolo e stato della pratica
Richiedente: nome, cognome, codice fiscale e contatti del richiedente
Beneficiario : nome, cognome, codice fiscale e contatti del beneficiario
Servizio: servizio collegato alla pratica
Endpoint delle azioni: endpoint http delle azioni eseguibili sulla pratica
Documenti: documenti collegati alla pratica e stato di protocollazione
Pagamenti: pagamenti collegati alla pratica
Nel capitolo Flusso di import delle Applications Lite vengono riportati i tracciati dettagliati per una corretta importazione.
Stati della Pratica Lite
Il seguente diagramma mostra i possibili stati in cui puรฒ trovarsi una pratica e un possibile flusso di gestione. Come specificato piรน avanti, le transizioni da uno stato all'altro sono solo indicative, il controllo sui cambi di stato resta al gestionale eterno.
Bozza: in questo stato la pratica non รจ considerata ancora completamente compilata e puรฒ essere modificabile
Inviata: la pratica รจ stata compilata in ogni sua parte da cittadino e definitivamente inviata. In questo stato non รจ piรน possibile modificare i dati delle pratica
Presa in carico: la pratica รจ stata presa in carico da un Operatore, il quale effettuerร le normali operazioni d'ufficio necessarie a gestirla
In attesa di integrazione: l'operatore ha richiesto di integrare la pratica con informazioni e/o documenti mancanti. La pratica resta in questo stato fino a quando non si ottiene una risposta dal Cittadino
Rifiutata: la pratica non รจ stata accettata dall'operatore che l'ha gestita
Ritirata: la pratica รจ stata ritirata dal cittadino prima che l'ufficio si sia pronunciata
Annullata: quando l'ufficio definisce che non si procederร ulteriormente con la pratica e non si pronuncerร su ulteriore approvazione o rifiuto
Modalitร di integrazione
L'invio dei dati al nostro sistema avviene in modalitร push tramite API: รจ possibile inviarci tramite apposita API REST i dati delle pratiche per inserire nuove pratiche o per aggiornarne lo stato. Questa modalitร di aggiornamento รจ utile per mantenere costantemente aggiornati i dati delle pratiche tra due sistemi, avendo quindi modifiche immediate per il cittadino.
ร comunque possibile valutare altre modalitร di integrazione, per maggiori dettagli visiona il capitolo Progetti di integrazione ad-hoc con area personale
Autenticazione
Il dialogo tra l'Area personale e il gestionale esterno รจ bidirezionale: il gestionale importa costantemente sull'area personale i dati aggiornati; il Cittadino, agendo su una Application Lite dall'Area personale, atterra su una pagina del gestionale. I due casi prevedono due autenticazioni differenti.
Il primo caso rappresenta una comunicazione server-to-server che avviene mediante token JWT. Verranno fornite delle credenziali di autenticazione che permetteranno di ottenere un token; il token verrร utilizzato per effettuare le richieste successive. ร possibile seguire questa guida per le istruzioni di autenticazione https://docs.opencityitalia.it/developers/integrazioni/integrazioni-con-il-flusso-delle-pratiche/api-rest
Il secondo caso รจ piรน complesso del primo perchรฉ bisogna garantire che l'utente effettui un solo login anche qualora passi dall'area personale al gestionale. Per questo mettiamo a disposizione un server OAuth2 che permette al Cittadino di avere una sessione attiva su tutti i client autorizzati.
Import di una pratica tramite API
Questa รจ la rotta per effettuar il singolo import di Pratica, Documenti e Pagamenti
Come รจ possibile vedere dal tracciato riportato nel paragrafo successivo, รจ possibile inviare in un solo colpo i dati relativi a pratiche e documenti. Questi elementi si considerano correlati tra di loro, quindi, i documenti si intendono relativi alla pratica inviata e verranno relazionati a essa.
Flusso di import delle Applications Lite
Le pratiche verranno identificate in maniera univoca dal campo external_id che rappresenta un identificativo del sistema sorgente, se non presente, verrร creata con i dati passati.
La riconciliazione di richiedente e beneficiario (applicant e beneficiary) verrร effettuata basandosi sul codice fiscale (tax_code). Se nel sistema esiste giร un utente con quel codice fiscale, verranno utilizzati i dati giร presente nel database ignorando i dati di nome, cognome e contatti che vengono passati. Al contrario, se non presenti, verrร importato un nuovo utente con i dati specificati.
Lo stato della pratica segue il flusso definito nei capitoli precedenti, tuttavia non รจ stato implementato un controllo stringente sul flusso della pratica, in controllo dello stato della pratica รจ demandato al sistema sorgente.
Lo stato della pratica regola perรฒ le azioni che il cittadino potrร effettuare. Nella sezione links รจ possibile specificare le azioni permesse sulla pratica รจ l'URL da invocare al click del cittadino. Se una specifica azione non รจ specificata non verrร proposta al cittadino. Le azioni verranno proposte al cittadino anche in base allo stato della pratica, per esempio, una pratica in stato inviata non puรฒ piรน essere modificata, quindi, anche se indicata l'azione MODIFY, non verrร comunque proposta.
Tracciato di import di una singola Application Lite
Questo รจ lo JSON Schema della richiesta
Progetti di integrazione ad-hoc con area personale
La modalitร push tramite API REST e json rappresenta un modo standard e diffuso di interazione tra sistemi, tuttavia, non sempre รจ possibile implementarlo. In questi casi possiamo valutare altre modalitร di integrazione mediante un progetto personalizzato. Di seguito vengono riportate a scopo esplicativo due modalitร di integrazione alternative che รจ possibile valutare:
Modalitร di invio massivo (batch): permette di importare una grande quantitร di dati ad ogni invocazione ma non garantisce l'esecuzione in tempo reale. ร utile sopratutto per le prime importazioni, o in tutti quei casi in cui non ho necessitร di avere uno stato aggiornato in tempo reale. ร possibile fornire i dati nei formati CSV o JSON.
Modalitร polling: il sistema esterno espone un API da invocare a scadenza regolare che permette al nostro sistema di recuperare gli aggiornamenti. Fondamentale che API dia la possibilitร di recuperare gli aggiornamenti incorsi in un intervallo di tempo
Confronto tra le possibili modalitร :
aggiornamento del dato per il cittadino
in tempo reale
latenza di ore
a intervalli di tempo (minuti/ore)
gestione degli errori latenza per correggere un errore
errori gestiti in tempo reale
errori gestiti alla fine del batch
errore gestito alla fine dell'intervallo
Ultimo aggiornamento
ร stato utile?