Inviare un messaggio a contenuto remoto
Cosa sono i messaggi a contenuto remoto?
I messaggi a contenuto remoto rispondono alla necessità di veicolare tramite IO comunicazioni contenenti dati personali e/o dati sensibili dei cittadini, garantendone una gestione conforme alle normative sulla privacy. Infatti, scegliendo questa modalità di invio le informazioni non vengono memorizzate su IO, ma recuperate dai tuoi sistemi ogni volta che l'utente accede al messaggio in app.
Per un messaggio, i contenuti remotizzabili sono:
titolo;
corpo;
precondizioni di apertura (opzionali, es.: disclaimer);
allegati (Premium).
Cosa cambia?
📐 Architettura
A differenza dell'invio tradizionale, in cui è prevista la trasmissione dei contenuti del messaggio ai sistemi di IO al momento della sua creazione, i messaggi remoti prevedono che tali contenuti risiedano esclusivamente presso i tuoi sistemi e sarà IO a recuperarli ogni volta che l'utente destinatario vorrà visualizzarli in app.
In questo modo, IO fa da canale di comunicazione in tempo reale tra te e il tuo utente e detiene unicamente le informazioni necessarie per consentire il recupero del messaggio e verificarne lo stato.
La gestione dei messaggi remotizzati implica che la tua organizzazione è responsabile dei contenuti veicolati tramite IO, con particolare riferimento alla loro accuratezza e disponibilità verso l'utente.
🕵️♂️ Gestione delle informazioni sensibili
Come specificato, i messaggi remotizzati sono pensati per garantire un invio privacy compliant di informazioni personali/sensibili riferite al destinatario, ove necessarie per l’erogazione del servizio.
Ti ricordiamo che tale modalità d'invio lascia invariati i tuoi obblighi ai sensi della normativa vigente, in particolare ai sensi dell'art. 7.3 delle Linee Guida IO.
Come ulteriore misura a protezione della privacy, il flag require_secure_channels ti consente di marcare un messaggio come contenente informazioni sensibili, con i seguenti effetti:
le notifiche push sui dispositivi del destinatario mostreranno un generico invito ad aprire il messaggio, senza riportare il contenuto del titolo;
i messaggi non verranno inoltrati via email a prescindere dalla preferenza impostata dall'utente destinatario.
Puoi anche impostare il flag require_secure_channels
direttamente sul servizio, così non devi preoccuparti di farlo per ogni singolo messaggio.
✏️ Aggiornamento dei contenuti nel tempo
A differenza dei messaggi tradizionali, i messaggi a contenuto remoto possono essere modificati anche dopo l'invio: potrai ad esempio correggere un refuso, o aggiornare dinamicamente informazioni non più valide o fuorvianti (es.: a seguito della cancellazione di un appuntamento).
Nel considerare tale possibilità, è bene ricordare che:
L'utente destinatario non riceverà alcun avviso in caso di aggiornamento del contenuto di un messaggio precedentemente ricevuto. Infatti, il contenuto può essere riattualizzato, richiamandolo dai tuoi sistemi, solo quando e se l'utente apre il messaggio in app;
La responsabilità delle informazioni trasmesse tramite IO rimane in ogni caso in capo all'ente mittente.
In linea di principio, quando il contesto che ha prodotto un messaggio cambia o devono essere trasmesse nuove informazioni, è sempre preferibile inviare un nuovo messaggio per informare il destinatario.
In caso di dubbi, prediligi sempre il mantenimento della coerenza informativa nei confronti della tua utenza: i messaggi su IO sono un importante biglietto da visita per la tua organizzazione, assicurane la qualità!
Per dare contezza al destinatario del fatto che i contenuti potrebbero essere aggiornati nel tempo, in calce al dettaglio di tutti i messaggi con contenuto remoto è stato incluso il seguente avviso, nella sua versione breve ed estesa:
IO non effettua alcun controllo sull'invariabilità nel tempo dei contenuti di un messaggio a contenuto remoto. L'accuratezza e la disponibilità delle informazioni contenute nel messaggio sono sempre di responsabilità esclusiva dell'Ente mittente.
In qualità di titolare del trattamento, dovrai garantire direttamente agli utenti l'esercizio dei diritti degli interessati ai sensi del GDPR, e ogni richiesta in tal senso verrà reindirizzata a te. Ad esempio, il diritto di accesso ai sensi dell'art. 15 GDPR dovrà essere garantito agli interessati che ne fanno richiesta, anche tramite i recapiti presenti nella scheda servizio.
Come funziona l’invio di un messaggio a contenuto remoto?
Prima di poter inviare messaggi a contenuto remoto è necessario seguire la procedura illustrata in Configurazione remota
Il ciclo di vita di un messaggio a contenuto remoto si compone di due momenti principali:
L'invio (creazione) da parte dei sistemi della tua organizzazione;
La fruizione (visualizzazione) da parte del destinatario.
Entrambe le fasi richiedono un'integrazione tra i tuoi sistemi e quelli di IO.
Fase di invio del messaggio
Creazione del messaggio a contenuto remoto
In questa fase, sono i tuoi sistemi integrati con IO a richiedere la creazione (e quindi l'invio) di un nuovo messaggio a uno specifico destinatario. Per maggiori informazioni sull'invio di un messaggio su IO fai riferimento a Inviare un messaggio.
La tabella che segue riepiloga le principali componenti remotizzabili di un messaggio IO:
Componente | Flag da impostare | Note |
---|---|---|
precondizioni | Si tratta di informazioni opzionali, che vengono mostrate prima dell'apertura del dettaglio del messaggio. | |
titolo (subject) | Si tratta del titolo visibile all'apertura del messaggio, che differisce da quello visibile nella lista messaggi (non remotizzabile). | |
corpo (markdown) | Si tratta del contenuto testuale del messaggio. | |
dettagli di un avviso di pagamento | Sono già remotizzati grazie all'integrazione con il nodo pagoPA. | |
allegati (PDF) | Sono contenuti gestibili solo in remoto. Puoi inserirli se hai sottoscritto l'Accordo Premium. Il formato accettato è PDF. |
Nota sugli allegati (Premium) Se hai sottoscritto l’Accordo Premium, i tuoi messaggi potranno includere anche allegati in formato PDF: anch'essi saranno quindi trasmessi direttamente dai tuoi sistemi all’app quando il destinatario apre il messaggio. Per maggiori informazioni fai riferimento a Aggiungere allegati
Per i messaggi a contenuto remoto, è obbligatorio inserire le seguenti informazioni aggiuntive nel blocco third_party_data:
Campo | Descrizione campo |
---|---|
Questo è l'identificativo di correlazione remota, che identifica univocamente uno specifico messaggio indirizzato a uno specifico destinatario. Tale identificativo, determinato da te, consiste in una stringa che consente alle API di recuperare i contenuti remoti per tale specifico messaggio. | |
Indica in questo campo l'identificativo che hai ricevuto in fase di Configurazione remota: IO utilizzerà questo dato per determinare il set di informazioni necessarie per richiamare gli endpoint REST esposti dalla tua Organizzazione che serviranno i dati remoti per questo messaggio. | |
Imposta questo campo solo se vorrai che, al momento dell' apertura del messaggio in app, al destinatario sia mostrato un testo (con relativo titolo) recante informazioni di contesto che indicherai in quel momento (per maggiori informazioni fai riferimento a Endpoint di recupero delle precondizioni all'apertura del messaggio): letto il testo, il destinatario potrà scegliere se continuare con l'apertura del messaggio o se tornare alla lista dei messaggi ricevuti; i valori possibili per questo campo sono:
| |
Imposta il campo col valore | |
Imposta il campo col il valore |
A prescindere dalla sua remotizzazione, se il messaggio veicola informazioni sensibili, devi sempre impostare il flag require_secure_channels=true
Fase di fruizione del messaggio
Cosa succede quando il destinatario apre un messaggio a contenuto remoto?
In questa fase, IO utilizza i flag che avevi indicato in fase di creazione per determinare come comporre il messaggio in app, e procede quindi all'eventuale recupero dei dati remoti e alla loro integrazione con quelli già in suo possesso per presentare il risultato finale al destinatario.
Ogni chiamata da IO verso i tuoi sistemi è identificata dall'id * di correlazione remota che avevi indicato in fase di #creazione-del-messaggio-remotizzato e, come header, il fiscal_code* del destinatario.
In particolare, se in fase di #creazione-del-messaggio-remotizzato avevi indicato has_precondition con valore ONCE
o ALWAYS
, non appena il destinatario seleziona il messaggio dall'elenco messaggi in app non avendolo ancora mai letto (=ONCE
) o tutte le volte (=ALWAYS
), IO recupererà l'endpoint da richiamare dalle informazioni di configurazione, e invocherà i tuoi sistemi per ottenere in risposta il titolo e il testo delle precondizioni da mostrare nel pannello a comparsa delle #precondizioni-allapertura.
A fronte della chiamata API all'Endpoint di recupero delle precondizioni all'apertura del messaggio dovrai rispondere come nell'esempio:
Il pannello delle precondizioni presenta due pulsanti: "Annulla" e "Continua".
Se il destinatario seleziona "Continua", IO procederà con la visualizzazione del messaggio in app; in caso contrario, l'utente verrà riportato all'elenco dei messaggi.
Se in fase di #creazione-del-messaggio-remotizzato avevi indicato has_remote_content=true
, titolo e corpo del messaggio saranno recuperati al momento dell'apertura tramite una chiamata che IO farà all'API da te esposta (per i dettagli fai riferimento a Endpoint di recupero dei dettagli del messaggio).
Come nel modello tradizionale, anche a un messaggio con contenuto remoto puoi aggiungere una data di scadenza (due_date) e i dati riferiti a una posizione debitoria (payment_data); tali informazioni sono già remotizzate grazie all'integrazione con il nodo pagoPA.
Last updated