Il portale per accedere alla PDND e
inviare messaggi tramite la App IO
Il progetto è sviluppato per guidare la digitalizzazione dell'Ente. Il portale funge da gateway unificato per l'interoperabilità dei dati tramite la PDND (Piattaforma Digitale Nazionale Dati) e la gestione delle comunicazioni verso il cittadino tramite App IO.
OpenMSP è un client backend sviluppato in Django, con interfaccia basata su Bootstrap Italia, che permette l'interoperabilità con la Piattaforma Digitale Nazionale Dati (PDND) e l'invio di messaggi ai cittadini tramite App IO.
- Interoperabilità PDND: Consultazione diretta delle API rese disponibili dai soggetti erogatori.
- Comunicazione Cittadino: Strumento per comunicare direttamente con il cittadino tramite App IO.
- Operazioni Massive: Supporto all'importazione di file XLSX/CSV per query e invii multipli, ottimizzando i flussi di lavoro.
OpenMSP orchestra le chiamate verso diversi endpoint della PDND per centralizzare le informazioni:
Consultazione e verifica dei domicili digitali con controlli formali sui Codici Fiscali e verifica minorenni.
- Soggetti: Persone fisiche (INAD), Imprese e professionisti (INI-PEC), Pubblica Amministrazione (IPA).
- Modalità: Ricerca singola o massiva (import da file XLSX/CSV) con stampa ed esportazione dei risultati.
Interrogazione dettagliata della banca dati nazionale:
- Generalità: Cognome, Nome, Sesso, Data/Luogo di nascita, Stato civile, C.I. e ID ANPR.
- Residenza: Indirizzo completo e data di decorrenza.
- Stato di Famiglia: Schede anagrafiche di tutti i componenti del nucleo familiare.
- Matrimonio: Stato matrimoniale, estremi atto ed eventuale annullamento/divorzio.
- Cittadinanza: Verifica della cittadinanza del soggetto.
Restituzione di tutti i dati indicati nella visura camerale per soggetti iscritti:
- Dettagli sedi, legali rappresentanti, domicilio digitale, codici ATECO, iscrizioni ad albi, statuti, soci, capitale sociale, ecc.
Restituzione di tutti i dati indicanti la formazione dalla scuola primaria all'università:
- ANIS (Istruzione Superiore ed universitaria): Consultazione iscrizioni e titoli conseguiti presso Istituti di Formazione Superiore ed Universitari (modalità singola o massiva).
- ANIST (Istruzione di primo e secondo grado): Consultazione frequenza e titoli conseguiti presso Istituti di primo e secondo grado (modalità singola o massiva).
- INPS - ISEE: Richiesta attestazione per varie tipologie (standard, università, socio-sanitario, minorenni, ecc.).
- INPS - DURC: Consultazione in corso di validità con possibilità di acquisizione del file PDF.
- MIT (Trasporti): Consultazione patenti possedute e verifica contrassegni disabili/targhe (Piattaforma Unica Nazionale Informatica dei Contrassegni Unici).
- CNF (Forense): Verifica iscrizione di un soggetto all'albo degli avvocati.
Modulo completo per la gestione delle notifiche verso l'App dei servizi pubblici.
- Check Utente: Verifica se il CF è attivo su App IO e se il servizio dell'Ente è attivo (include check formale CF e maggiore età). Disponibile anche in modalità massiva.
- Invio Messaggi: Invio messaggi personalizzati attingendo dal catalogo servizi pagoPA (inclusi eventuali estremi di pagamento).
- Invio Massivo: Caricamento file XLSX/CSV per invii multipli con informazioni personalizzate per ogni cittadino.
- Invio Massivo tramite "Composer": Caricamento file XLSX/CSV per invii multipli con la possibilità di comporre il messaggio attraverso la funzione "Campi unione".
- Tracking: Restituzione ID messaggio per prova accettazione e verifica successiva della messa a disposizione al cittadino.
- Gestione Connettori: Configurazione parametri di interconnessione per le API attivate.
- Permessi Operatori: Gestione granulare delle abilitazioni per singolo operatore (permesso/diniego consultazione banche dati o invio messaggi).
- Python 3.8+
- Django 3.2+
- design-django-theme (Bootstrap Italia)
- Librerie crittografiche (per la firma dei voucher PDND)
- Accesso sviluppatore su Self Care PagoPA
-
Clona il repository:
git clone https://github.com/lsantalu/OpenMSP.git cd OpenMSP -
Crea un virtual environment e attivalo:
python -m venv env source env/bin/activate # Su Windows: env\Scripts\activate
-
Installa le dipendenze:
pip install -r requirements.txt
-
Rinomina il file .env_example in .env e configuralo con i tuoi parametri:
cp .env_example .env
-
Rinomina il file db_example.sqlite3 in db.sqlite3:
cp db_example.sqlite3 db.sqlite3
-
Esegui le migrazioni del database:
python manage.py migrate
-
Avvia il server di sviluppo:
python manage.py runserver
L'accesso al sito avviene su http://localhost:8000
- Utente: admin
- Password: Admin123+
Crea un file .env nella root del progetto inserendo le chiavi ottenute dal portale sviluppatori:
# DJANGO SETTINGS
DEBUG=True
DJANGO_BOOTSTRAP_ITALIA_USE_CDN = True
DJANGO_BOOTSTRAP_ITALIA_CDN = 'https://cdn.jsdelivr.net/npm/bootstrap-italia@2.17.0/dist'
DJANGO_SECRET_KEY = 'my_password_django_complex6m^*)p!ryk)=xcpn9*rxpznm'
# PARAMETRI MAIL
EMAIL_HOST = 'mail.host.com'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_USE_TLS = False
EMAIL_HOST_USER = 'noreply@host.com'
EMAIL_HOST_PASSWORD = 'my_password'
DEFAULT_FROM_EMAIL = 'noreply@host.com'
EMAIL_BACKUP_ADDRESS = 'info@host.com'
EMAIL_BACKUP_PASSWORD = 'my_backup_password'
EMAIL_BACKUP_ON = TrueQuesto progetto utilizza librerie e componenti di terze parti. Di seguito l'elenco delle licenze per i pacchetti presenti in requirements.txt:
- apscheduler
- django-compressor
- django-extensions
- django-sass-processor
- gunicorn
- libsass
- markdown-it-py
- openpyxl
- python-decouple
- python-jose
- PyJWT
- pytz
- pyzipper
- whitenoise
- xmltodict
- cryptography (o BSD)
- pyOpenSSL
- requests
- html2text: GPLv3
- Pillow: HPND (Historical Permission Notice and Disclaimer)
- typing-extensions: PSF (Python Software Foundation License)
Tutti i marchi riportati appartengono ai legittimi proprietari; marchi di terzi, nomi di prodotti, nomi commerciali, nomi corporativi e società citati possono essere marchi di proprietà dei rispettivi titolari o marchi registrati di altre società e sono stati utilizzati a puro scopo esplicativo per favorire l’integrazione, senza alcun fine di violazione dei diritti di Copyright vigenti.
Sviluppato da OpenCED di Santalucia Luca - openced.it.
