DevPortalPagoPA



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.

fiscal_code*

DescrizioneCodice fiscale del destinatario del messaggio
Obbligatorio
TipoStringa
EsempioAAAAAA00A00A000A

time_to_live

DescrizioneTempo 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
ObbligatorioNo
Default3600
TipoIntero
Esempio3600

feature_level_type

DescrizioneIndica se il messaggio è inviato nell'ambito di una sottoscrizione Premium, o se è da considerarsi un messaggio standard
ObbligatorioNo
DefaultSTANDARD
TipoStringa enumerata
Valori Accettati
  • STANDARD -> il messaggio è da considerarsi un normale messaggio IO
  • ADVANCED -> al messaggio sono correlate informazioni aggiuntive avanzate. È possibile specificare questo valore solo se si è titolari di una sottoscrizione Premium.
EsempioADVANCED

content *

subject *

DescrizioneTitolo del messaggio, la cui lunghezza deve essere compresa tra 10 e 120 caratteri
Obbligatorio
TipoStringa
EsempioRinnova la tua carta d'identità

markdown *

DescrizioneTesto del messaggio in formato markdown la cui lunghezza deve essere compresa tra 80 e 10000 caratteri
Obbligatorio
TipoStringa
EsempioGentile 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

DescrizioneIndica 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
ObbligatorioNo
DefaultSe non includi questo campo, il fallback è sulla configurazione del servizio (fai riferimento a Require_secure_channels)
TipoBooleano
Esempio

due_date

DescrizionePermette di associare al messaggio un promemoria. Il formato data deve essere ISO-8601 e fuso orario UTC
ObbligatorioNo
TipoStringa
Esempio2018-10-13T00🕛️00.000Z

payment_data

amount *
DescrizioneImporto in centesimi di euro dell’avviso di pagamento emesso su piattaforma pagoPA
ObbligatorioSì, per pagamenti pagoPA
TipoIntero
Esempio100
notice_number *
DescrizioneCodice avviso di un avviso di pagamento emesso su piattaforma pagoPA
ObbligatorioSì, per i pagamenti pagoPA
TipoStringa
Esempio301011100007347557
invalid_after_due_date
DescrizioneIn app visualizza il pagamento come scaduto se la data attuale è successiva a due_date
ObbligatorioNo
Default
TipoBooleano
Esempio

third_party_data

configuration_id *
Descrizioneidentificativo univoco, ritornato dall'API descritta in CRU Configurazioni remote, che indica la configurazione remota (third party) di riferimento per il messaggio
Obbligatorio
TipoStringa
Esempio0e9852ccb8a04128bd637c807b9d80d3
id *
Descrizioneidentificativo third party univoco, generato dall'ente, necessario per poter associare il messaggio ai suoi contenuti remoti
Obbligatorio
TipoStringa
Esempio2d5e0bcf-7ac3-4afc-a8bd-ac3c27582b91
has_precondition
DescrizioneIndica 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
ObbligatorioNo
DefaultNONE
TipoStringa enumerata
Valori Accettati
  • NONE -> il messaggio non ha precondizioni
  • ONCE -> le precondizioni sono mostrate prima dell'apertura in app solo finché il messaggio non viene letto dal destinatario
  • ALWAYS -> le precondizioni sono mostrate prima di ogni apertura del messaggio in app
EsempioONCE
has_remote_content
DescrizioneIndica 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
ObbligatorioNo
Default
TipoBooleano
Esempio
has_attachments
DescrizioneIndica 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
ObbligatorioNo
Default
TipoBooleano
Esempio
original_sender
original_receipt_date
summary

prescription_data

eu_covid_cert

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

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