Tabella dei contenuti
Submit a Message passing the user fiscal_code in the request body
Descrizione
Questa API consente l’invio di messaggi verso un cittadino identificato tramite Codice Fiscale. Prima di inviare un messaggio, dovrai verificare che il cittadino sia iscritto a IO e che il servizio possa inviare comunicazioni al cittadino stesso.
post
fiscal_code*
Descrizione | Codice fiscale del destinatario del messaggio |
Obbligatorio | Sì |
Tipo | Stringa |
Esempio | AAAAAA00A00A000A |
time_to_live
Descrizione | Tempo espresso in secondi che specifica il tempo di retry di delivery del messaggio da parte di IO; passato tale tempo, non viene prodotta alcuna notifica push né email di inoltro |
Obbligatorio | No |
Default | 3600 |
Tipo | Intero |
Esempio | 3600 |
feature_level_type
Descrizione | Indica se il messaggio è inviato nell'ambito di una sottoscrizione Premium, o se è da considerarsi un messaggio standard |
Obbligatorio | No |
Default | STANDARD |
Tipo | Stringa enumerata |
Valori Accettati |
|
Esempio | ADVANCED |
content *
subject *
Descrizione | Titolo del messaggio, la cui lunghezza deve essere compresa tra 10 e 120 caratteri |
Obbligatorio | Sì |
Tipo | Stringa |
Esempio | Rinnova la tua carta d'identità |
markdown *
Descrizione | Testo del messaggio in formato markdown la cui lunghezza deve essere compresa tra 80 e 10000 caratteri |
Obbligatorio | Sì |
Tipo | Stringa |
Esempio | Gentile Mario,\n\nsiamo lieti di comunicarti che la tua **Carta di Identità** è disponibile per il ritiro presso i nostri sportelli. \nPuoi consultare gli orari sul [Portale del servizio](https://www.miosito.it/).\n\n*Lo Staff* |
require_secure_channels
Descrizione | Indica che il messaggio contiene informazioni sensibili e/o riservate; se impostato a true saranno prodotte notifiche push anonimizzate e non saranno inoltrate copie email dei messaggi |
Obbligatorio | No |
Default | Se non includi questo campo, il fallback è sulla configurazione del servizio (fai riferimento a Require_secure_channels) |
Tipo | Booleano |
Esempio |
due_date
Descrizione | Permette di associare al messaggio un promemoria. Il formato data deve essere ISO-8601 e fuso orario UTC |
Obbligatorio | No |
Tipo | Stringa |
Esempio | 2018-10-13T00🕛️00.000Z |
payment_data
amount *
Descrizione | Importo in centesimi di euro dell’avviso di pagamento emesso su piattaforma pagoPA |
Obbligatorio | Sì, per pagamenti pagoPA |
Tipo | Intero |
Esempio | 100 |
notice_number *
Descrizione | Codice avviso di un avviso di pagamento emesso su piattaforma pagoPA |
Obbligatorio | Sì, per i pagamenti pagoPA |
Tipo | Stringa |
Esempio | 301011100007347557 |
invalid_after_due_date
Descrizione | In app visualizza il pagamento come scaduto se la data attuale è successiva a due_date |
Obbligatorio | No |
Default | |
Tipo | Booleano |
Esempio |
third_party_data
configuration_id *
Descrizione | identificativo univoco, ritornato dall'API descritta in CRU Configurazioni remote, che indica la configurazione remota (third party) di riferimento per il messaggio |
Obbligatorio | Sì |
Tipo | Stringa |
Esempio | 0e9852ccb8a04128bd637c807b9d80d3 |
id *
Descrizione | identificativo third party univoco, generato dall'ente, necessario per poter associare il messaggio ai suoi contenuti remoti |
Obbligatorio | Sì |
Tipo | Stringa |
Esempio | 2d5e0bcf-7ac3-4afc-a8bd-ac3c27582b91 |
has_precondition
Descrizione | Indica la presenza di precondizioni all'apertura del messaggio; il contenuto delle precondizioni dovrà essere servito dall'ente esponendo la corrispondente API descritta in Endpoint di recupero delle precondizioni allapertura del messaggio |
Obbligatorio | No |
Default | NONE |
Tipo | Stringa enumerata |
Valori Accettati |
|
Esempio | ONCE |
has_remote_content
Descrizione | Indica che subject e markdown del messaggio sono remotizzati; il contenuto di tali campi dovrà essere servito dall'ente esponendo la corrispondente API descritta in Endpoint di recupero dei dettagli del messaggio |
Obbligatorio | No |
Default | |
Tipo | Booleano |
Esempio |
has_attachments
Descrizione | Indica la presenza di allegati relativi al messaggio; i metadati degli allegati dovranno essere serviti dall'ente esponendo la corrispondente API descritta in Endpoint di recupero dei dettagli del messaggio, mentre i byte dei singoli allegati esponendo l'API descritta in Endpoint di recupero dei byte del singolo allegato |
Obbligatorio | No |
Default | |
Tipo | Booleano |
Esempio |
🚧 Campi riservati per utilizzi futuri
original_sender
original_receipt_date
summary
prescription_data
eu_covid_cert
legal_data
Esempi
Messaggio non remotizzato (statico)
1### REQUEST
2curl --location --request POST 'https://api.io.pagopa.it/api/v1/messages' \
3--header 'Content-Type: application/json' \
4--header 'Ocp-Apim-Subscription-Key: __YOUR_API_KEY__' \
5--data-raw '{
6"content": {
7"subject": "Welcome new user !",
8"markdown": "# This is a markdown header\n\nto show how easily markdown can be converted to **HTML**\n\nRemember: this has to be a long text."
9},
10“feature_level_type”: “STANDARD”,
11"fiscal_code": "AAAAAA00A00A000A"
12}'
13
Messaggio con titolo e corpo remoti
1{
2 "content": {
3 "subject": "Titolo del messaggio mostrato in inbox",
4 "markdown": "Questo testo sarà sostituito con il markdown remoto specificato al momento della fruizione del messaggio",
5 "third_party_data": {
6 "id": "2d5e0bcf-7ac3-4afc-a8bd-ac3c27582b91",
7 //-----------------------------------------------------
8 "configuration_id": "0e9852ccb8a04128bd637c807b9d80d3",
9 "has_remote_content": true
10 //-----------------------------------------------------
11 }
12 },
13 "fiscal_code": "AAAAAA00A00A000A"
14}
15
Messaggio con precondizioni
1{
2 "content": {
3 "subject": "Titolo del messaggio",
4 "markdown": "Testo del messaggio lungo almeno ottanta caratteri nel rispetto delle specifiche di integrazione con IO",
5 "third_party_data": {
6 "id": "2d5e0bcf-7ac3-4afc-a8bd-ac3c27582b91",
7 "configuration_id": "0e9852ccb8a04128bd637c807b9d80d3",
8 //----------------------
9 "has_precondition": true
10 //----------------------
11 }
12 },
13 "fiscal_code": "AAAAAA00A00A000A"
14}
15
Messaggio remotizzato con allegati
1{
2 "content": {
3 "subject": "Titolo del messaggio",
4 "markdown": "Testo del messaggio lungo almeno ottanta caratteri nel rispetto delle specifiche di integrazione con IO",
5 "third_party_data": {
6 "id": "2d5e0bcf-7ac3-4afc-a8bd-ac3c27582b91",
7 "configuration_id": "0e9852ccb8a04128bd637c807b9d80d3",
8 //---------------------
9 "has_attachments": true
10 //---------------------
11 }
12 },
13 "fiscal_code": "AAAAAA00A00A000A"
14}
15
1{
2 "content": {
3 "subject": "Titolo del messaggio",
4 "markdown": "Testo del messaggio lungo almeno ottanta caratteri nel rispetto delle specifiche di integrazione con IO",
5 "third_party_data": {
6 "id": "2d5e0bcf-7ac3-4afc-a8bd-ac3c27582b91",
7 "configuration_id": "0e9852ccb8a04128bd637c807b9d80d3",
8 //-------------------------
9 "has_precondition": true,
10 "has_remote_content": true,
11 "has_attachments": true
12 //-------------------------
13 }
14 },
15 "fiscal_code": "AAAAAA00A00A000A"
16}
17
Risposta attesa
In tutti i casi sopra descritti, IO ritorna l'identificativo del messaggio che puoi usare per interrogarne lo stato tramite l'API Get Message.
1{
2 "id": "01EM6X4JB9VSZTQ8H16KMQFCEJ"
3}
4
Risorse utili
In questa pagina
Descrizione
fiscal_code
*
time_to_live
feature_level_type
content``
*
subject``
*
markdown``
*
require_secure_channels
due_date
payment_data
third_party_data
prescription_data
eu_covid_cert
legal_data
Esempi
Messaggio non remotizzato (statico)
Messaggio con titolo e corpo remoti
Messaggio con precondizioni
Messaggio remotizzato con allegati
Risposta attesa
Risorse utili
Hai bisogno di aiuto?
Scrivi un’email in cui descrivi il tuo problema o dubbio all’indirizzo onboarding@io.italia.it
Dicci cosa ne pensi
Per segnalare problemi o dare feedback, lascia un commento nello spazio Github dell'app IO