openapi: 3.0.3
info:
termsOfService: https://selfcare.notifichedigitali.it/termini-di-servizio
title: 'Piattaforma Notifiche: API B2B avanzamento notifiche'
x-summary: API B2B avanzamento notifiche
version: 2.3.0
contact:
name: 'SEND: supporto enti'
url: https://pagopa.atlassian.net/servicedesk/customer/portal/5
description: |-
I mittenti di notifiche possono seguire il loro flusso di avanzamento in modo automatico.
Tramite la configurazione di flussi (stream) è possibile ottenere, in modo massivo, le informazioni informazioni relative a:
- cambiamento di stato delle notifiche
- inserimento di elementi di timeline delle notifiche
É possibile definire fino ad un __massimo di 10 configurazioni di flussi attive per singola PA__.
__NOTA__: i flussi riportano gli eventi occorsi dal momento della loro creazione, non quelli precedenti. Per cui si consiglia di creare i flussi di interesse per il mittente prima dell'invio delle notifiche di cui si vogliono ottenere gli aggiornamenti.
## Filtraggio degli eventi
La configurazione del flusso può prevedere un filtro per ricevere per ricevere solo alcuni cambiamenti di stato o determinati eventi di timeline di interesse per il mittente.
__NEWS V2.3__: dalla versione 2.3 è possibile utilizzare il placeholder __DEFAULT__ per ottenere SOLO gli eventi di timeline di maggior rilievo; evitando di ricevere anche gli eventi interni del workflow che non hanno ripercussione o informazioni utili per il mittente.
| Fase del workflow | Categoria eventi |
|-------------------|------------------|
| Eventi di validazione | REQUEST_REFUSED, REQUEST_ACCEPTED |
| Eventi del workflow digitale | SEND_DIGITAL_DOMICILE, SEND_DIGITAL_FEEDBACK, DIGITAL_SUCCESS_WORKFLOW, DIGITAL_FAILURE_WORKFLOW, SEND_SIMPLE_REGISTERED_LETTER, SIMPLE_REGISTERED_LETTER_PROGRESS |
| Eventi del workflow analogico | SEND_ANALOG_DOMICILE ,SEND_ANALOG_PROGRESS, SEND_ANALOG_FEEDBACK, ANALOG_SUCCESS_WORKFLOW, ANALOG_FAILURE_WORKFLOW, COMPLETELY_UNREACHABLE |
| Eventi di chiusura del workflow | REFINEMENT, NOTIFICATION_VIEWED, NOTIFICATION_CANCELLED |
| Altri eventi | NOTIFICATION_RADD_RETRIEVED |
Il placeholder __DEFAULT__ può essere usato assieme ad altri eventi di timeline, ad esempio il filtro "DEFAULT,SEND_COURTESY_MESSAGE" permetterà di ricevere anche gli eventi relativi agli invii dei messaggi di cortesia, oltre che a tutti quelli di maggior rilievo.
### Filtri applicabili ai flussi di cambiamento di stato della notifica
Gli stati della notifica che possono essere inseriti come __filterValues__ sono i seguenti:
Stati - v1:
- __ACCEPTED__: L'ente ha depositato la notifica con successo.
- __REFUSED__: Notifica rifiutata a seguito della validazione.
- __DELIVERING__: L'invio della notifica è in corso.
- __DELIVERED__: La notifica è stata consegnata a tutti i destinatari.
- __VIEWED__: Il destinatario ha letto la notifica entro il termine stabilito.
- __EFFECTIVE_DATE__: Il destinatario non ha letto la notifica entro il termine stabilito.
- __UNREACHABLE__: Il destinatario non è reperibile.
- __CANCELLED__: L'ente ha annullato l'invio della notifica.
### Filtri applicabili ai flussi di eventi di timeline
Le categorie degli eventi di timeline che possono essere inseriti come __filterValues__ sono i seguenti:
Eventi di timeline - v1
| Categoria | Descrizione |
|-----------|-------------|
|__SENDER_ACK_CREATION_REQUEST__ | Invio della richiesta di creazione dell'atto opponibile a terzi di presa in carico per il mittente a safe storage |
|__VALIDATE_NORMALIZE_ADDRESSES_REQUEST__ | Invio della richiesta di validazione e normalizzazione indirizzi fisici presenti nella richiesta di notifica |
|__NORMALIZED_ADDRESS__ | Ricezione esito normalizzazione indirizzo |
|__REQUEST_ACCEPTED__ | Richiesta di notifica accettata a seguito dei controlli di validazione. |
|__AAR_CREATION_REQUEST__ | Invio della richiesta di creazione dell'AAR (Avviso di Avvenuta Ricezione) a safe storage |
|__SEND_COURTESY_MESSAGE__ | Invio di un messaggio di cortesia. |
|__GET_ADDRESS__ | Disponibilità dell’indirizzo specifico (domicilio digitale di piattaforma, domicilio digitale speciale, domicilio digitale generale, indirizzo fisico sulla notifica o sui registri nazionali). |
|__PUBLIC_REGISTRY_CALL__ | Richiesta ai registri pubblici per ottenere domicilio digitale generale o per ottenere indirizzo fisico da ANPR, da registro della imprese, da anagrafe tributaria. |
|__PUBLIC_REGISTRY_RESPONSE__ | Ricevuta la risposta dei registri pubblici. |
|__SCHEDULE_ANALOG_WORKFLOW__ | Pianificazione del workflow per invio cartaceo |
|__SCHEDULE_DIGITAL_WORKFLOW__ | Pianificazione del workflow per invio digitale (PEC) del secondo tentativo in caso di fallimento del primo. |
|__PREPARE_DIGITAL_DOMICILE__ | Preparazione per l’invio dell’avviso digitale.Va a valutare la timeline per capire quale sarà il prossimo indirizzo da usare. |
|__SEND_DIGITAL_PROGRESS__ | Tentativo di Invio PEC ad un determinato indirizzo. |
|__SEND_DIGITAL_DOMICILE__ | Invio digitale dell’avviso di notifica |
|__SEND_DIGITAL_FEEDBACK__ | Ottenuto esito ad un invio digitale |
|__REFINEMENT__ | Perfezionamento per decorrenza termini |
|__SCHEDULE_REFINEMENT__ | Pianificato il perfezionamento per decorrenza termini |
|__DIGITAL_SUCCESS_WORKFLOW__ | Completato con successo il workflow di invio digitale. |
|__DIGITAL_FAILURE_WORKFLOW__ | Completato con fallimento il workflow di invio digitale: __tutti i tentativi di invio ai domicili digitali sono falliti.__ |
|__ANALOG_SUCCESS_WORKFLOW__ | Completato con successo il workflow di invio cartaceo. |
|__ANALOG_FAILURE_WORKFLOW__ | Completato con fallimento il workflow di invio cartaceo. NOTA: se per tutti i destinatari si conclude il workflow con fallimento verrà scatenato l’evento COMPLETELY_UNREACHABLE |
|__PREPARE_SIMPLE_REGISTERED_LETTER__ | Invio richiesta di prepare (preparazione ad invio) raccomandata semplice a paperChannel |
|__SEND_SIMPLE_REGISTERED_LETTER__ | Invio di raccomandata semplice |
|__SIMPLE_REGISTERED_LETTER_PROGRESS__ | Ricezione informazioni intermedia relative ad una notificazione cartacea semplice |
|__NOTIFICATION_VIEWED_CREATION_REQUEST__ | Invio della richiesta di creazione dell'atto opponibile a terzi di presa visione a safe storage |
|__NOTIFICATION_VIEWED__ | Visualizzazione della notifica (perfeziona la notifica se non già perfezionata per decorrenza termini o da altro destinatario) |
|__PREPARE_ANALOG_DOMICILE__ | Invio richiesta di prepare (preparazione ad invio) cartaceo a paperChannel |
|__SEND_ANALOG_PROGRESS__ | Ricezione informazioni intermedia relative ad una notificazione cartacea |
|__SEND_ANALOG_FEEDBACK__ | Ricezione esito dell'invio cartaceo. |
|__SEND_ANALOG_DOMICILE__ | Invio cartaceo dell’avviso di notifica |
|__COMPLETELY_UNREACHABLE_CREATION_REQUEST__ | Invio della richiesta di creazione dell'atto (simile a opponibile a terzi) di completamento con fallimento del workflow di invio cartaceo |
|__COMPLETELY_UNREACHABLE__ | Tutti i destinatari risultano irraggiungibili |
|__REQUEST_REFUSED__ | Richiesta di notifica rifiutata per fallimento di validazione. |
|__AAR_GENERATION__ | Generazione dell’AAR (Avviso di Avvenuta Ricezione) |
|__PROBABLE_SCHEDULING_ANALOG_DATE__ |Data probabile di inizio del flusso analogico |
|__PREPARE_ANALOG_DOMICILE_FAILURE__ | Fallimento della richiesta di prepare (preparazione ad invio) cartaceo a paperChannel |
Eventi di timeline - v2 (tutti gli elementi v1 + gli elementi seguenti)
| Categoria | Descrizione |
|-----------|-------------|
|__NOTIFICATION_CANCELLATION_REQUEST__ | Richiesta di annullamento di una notifica |
|__NOTIFICATION_CANCELLED__ | Notifica annullata: completamento della richiesta di annullamento di una notifica |
|__PREPARE_ANALOG_DOMICILE_FAILURE__ | Fallimento della richiesta di prepare (preparazione ad invio) cartaceo a paperChannel |
Eventi di timeline - v2.3 (tutti gli elementi v1 + v2 + gli elementi seguenti)
| Categoria | Descrizione |
|-----------|-------------|
|__NOTIFICATION_RADD_RETRIEVED__ | Accesso alla notifica tramite la rete RADD. Non perfeziona la notifica |
## Segregazione per gruppi (dalla versione 2.3)
Così come notifiche, api-key e utenti dell'ente mittente possono essere segregati in gruppi, nella versione 2.3 dell'API è stata introdotta la segregazione dei flussi per gruppo.
Ad un flusso possono essere associati uno o più gruppi per cui: - presenterà esclusivamente gli eventi relativi alle notifiche associate ai tali gruppi: - in fase di creazione potranno essere associati i gruppi associati all'api-key utilizzata. - solo le api-key con visibilità su tutti i gruppi del flusso possano modificarlo, cancellarlo e consumare gli eventi.
__NOTA__: Le api-key senza associazione a gruppi possono agire su tutti i gruppi.
## Operazioni sugli stream
Le operazioni sugli stream (tag __Streams__) per la gestione della configurazione:
- [Creazione](#/Streams/createEventStream)
- [Elenco degli stream configurati](#/Streams/listEventStreams)
- [Recupero Configurazione](#/Streams/retrieveEventStream)
- [Modifica Configurazione](#/Streams/updateEventStream)
- [Cancellazione](#/Streams/removeEventStream)
- [Disabilitazione](#/Streams/disableEventStream)
## Procedura di migrazione agli stream v2.3
Per migrare uno stream dalla versione precedente è sufficiente indicare nel parametro _replacedId_ l'identificativo dello stream precedente in fase di creazione.
Il nuovo stream viene creato e contemporaneamente lo stream precedente viene disabilitato.
Il mittente deve mantenere attiva la lettura sullo stream precedente fino a consumare tutti gli eventi contenuti e poi migrare la lettura sul nuovo stream.
## Disabilitazione di uno stream (dalla versione 2.3)
Dalla versione 2.3 è possibile disabilitare uno stream tramite la chiamata alla API _disableEventStream_.
Uno stream disabilitato non può essere riabilitato, ma è possibile consumare gli eventuali eventi e sarà eliminato automaticamente dopo 14 giorni.
## Lettura degli eventi dallo stream
Le operazioni con il tag __Events__ sono quelle utilizzate per la [lettura degli eventi](#/Events/consumeEventStream) filtrati in base alla configurazione impostata negli streams.
La API restituisce un __massimo di 50 elementi per chiamata__.
Se esistono ulteriori eventi nello stream, allora la response del servizio restituisce l'elemento `retryAfter = 0`; ed è quindi possibile richiamare immediatamente il servizio per ottenere gli eventi successivi.
Per il corretto consumo degli eventi dello stream è necessario passare a tutte le chiamate (ad esclusione della prima) il parametro _lastEventId_ valorizzato con l'ultimo _eventId_ della richiesta precedente. In questo modo si informa che gli eventi precedenti sono stati elaborati e quindi possibile procedere con la loro cancellazione dallo stream e restituire i successivi.
Se non esistono ulteriori eventi nello stream, allora la response del servizio restituisce il valore di `retryAfter > 0` ed è quindi necessario attendere il tempo indicato dalla retryAfter per consumare eventualmente nuovi eventi nello stream.
__NOTA__: gli eventi sono mantenuti per un massimo di __7 giorni__ dopo i quali sono automaticamente cancellati anche se non sono stati consumati. Sarà comunque possibile ottenere lo stato della notifica attraverso il servizio [getNotificationRequestStatus](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/pagopa/pn-delivery/8e2dc3447abc5a338b9e7bc809fa2381d3dacada/docs/openapi/api-external-b2b-pa-bundle.yaml#/SenderReadB2B/retrieveSentNotificationV24)
Esempio di utilizzo della API
### Flusso contenente tutte le notifiche in stato Cancellato:
Il payload da passare alla API di creazione del flusso _createEventStream_ è
```json
{
"title": "NotificationCancelled",
"eventType": "STATUS",
"groups": [],
"filterValues": [
"CANCELLED"
]
}
```
### Flusso contenente tutte le notifiche in stato Accettato o Consegnato:
Il payload da passare alla API di creazione del flusso _createEventStream_ è
```json
{
"title": "NotificationAcceptedOrDelivered",
"eventType": "STATUS",
"groups": [],
"filterValues": [
"ACCEPTED","DELIVERED"
]
}
```
### Flusso contenente tutti gli eventi di timeline NOTIFICATION_VIEWED:
Il payload da passare alla API di creazione del flusso _createEventStream_ è
```json
{
"title": "TimelineNotificationViewed",
"eventType": "TIMELINE",
"groups": [],
"filterValues": [
"NOTIFICATION_VIEWED"
]
}
```
### Flusso contenente tutti gli eventi per le notifiche create con il gruppo "contravvenzioni":
Il payload da passare alla API di creazione del flusso _createEventStream_ è
```json
{
"title": "TimelineNotificationViewed",
"eventType": "TIMELINE",
"groups": ["contravvenzioni"],
"filterValues": []
}
```
NOTA: solo api-key "master" o con il gruppo "contravvenzioni" possono creare e consumare questo flusso.
### Flusso contenente tutti gli eventi di timeline NOTIFICATION_VIEWED per le notifiche create con il gruppo "contravvenzioni" e "tributi":
Il payload da passare alla API di creazione del flusso _createEventStream_ è
```json
{
"title": "TimelineNotificationViewed",
"eventType": "TIMELINE",
"groups": ["contravvenzioni", "tributi"],
"filterValues": [
"NOTIFICATION_VIEWED"
]
}
```
NOTA: solo api-key "master" o con i gruppi "contravvenzioni" e "tributi" possono creare e consumare questo flusso. Un'api-key con il SOLO gruppo "contravvenzioni" infatti non potrà creare o accedere a questo flusso.
Le __FAQ__ possono essere consultate al seguente link: [https://docs.pagopa.it/f.a.q.-per-integratori/](https://docs.pagopa.it/f.a.q.-per-integratori/)
servers:
- url: https://api.notifichedigitali.it
description: Ambiente di produzione
- url: https://api.uat.notifichedigitali.it
description: Ambiente di collaudo
security:
- ApiKeyAuth: []
tags:
- name: HealthCheck
description: 'Invocazioni per sapere lo stato del micro-servizio # il servizio è ancora in fase di sviluppo'
- name: Streams
description: Gestione degli stream di eventi che PN mette a disposizione
- name: Events
description: Metodi per la lettura degli eventi dagli stream
paths:
/status:
get:
summary: healthCheck path
description: healthCheck path per verificare lo stato del micro-servizio
tags:
- HealthCheck
operationId: status
responses:
'200':
description: Ok
'500':
description: Internal Server Error
/delivery-progresses/v2.5/streams:
post:
summary: Crea nuovo stream di eventi
description: |-
Creazione di un flusso di eventi specificando se gli eventi saranno relativi ai cambi di stato o agli eventi di timeline.
In risposta, Piattaforma Notifiche, comunicherà un identificativo dello stream e il timestamp di effettiva attivazione del flusso, tipicamente pochi secondi dopo che è stata invocata l'operazione.
tags:
- Streams
operationId: createEventStreamV25
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StreamCreationRequestV25'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV25'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: ReplacedId Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
get:
summary: Elenca stream di eventi
description: Elenca gli stream di eventi
tags:
- Streams
operationId: listEventStreamsV25
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamListResponse'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.5/streams/{streamId}:
parameters:
- $ref: '#/components/parameters/pathStreamId'
get:
summary: Leggi metadata dello stream
description: Lettura delle configurazioni di uno stream di eventi.
tags:
- Streams
operationId: retrieveEventStreamV25
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV25'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
put:
summary: Update Stream metadata
description: Modifica delle configurazioni dei filtri associati a uno stream di eventi
tags:
- Streams
operationId: updateEventStreamV25
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StreamRequestV25'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV25'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
delete:
summary: Remove Event Stream
description: 'Cancellazione dello steam di eventi: elimina sia le configurazioni sia tutti gli eventi associati allo stream e non ancora consumati.'
tags:
- Streams
operationId: removeEventStreamV25
responses:
'204':
description: OK
'400':
description: Bad request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.5/streams/{streamId}/action/disable:
post:
summary: Disabilita uno stream
description: |-
Disabilita uno stream.
Da uno stream disabilitato è possibile leggere gli eventi presenti nello stream salvati prima della disabilitazione, ma non ne saranno aggiunti di nuovi.
Non è possibile modificare o riabilitare uno stream disabilitato.
Uno stream disabilitato non rientra nel conteggio degli stream massimi, non può essere riabilitato e verrà eliminato automaticamente dopo 14 giorni.
tags:
- Streams
operationId: disableEventStreamV25
parameters:
- $ref: '#/components/parameters/pathStreamId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV25'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.5/streams/{streamId}/events:
get:
summary: Leggi progressi notifiche
description: Lettura degli eventi presenti nello stream di aggiornamenti con indicazione che il mittente ha ricevuto e memorizzato l'evento identificato dal parametro _lastEventId_ e tutti gli eventi precedenti. Tali eventi potranno essere cancellati dallo stream.
tags:
- Events
operationId: consumeEventStreamV25
parameters:
- $ref: '#/components/parameters/pathStreamId'
- $ref: '#/components/parameters/queryLastEventId'
responses:
'200':
description: OK
headers:
retry-after:
schema:
type: integer
format: int32
description: |-
Numero di millisecondi di attesa prima di effettuare una nuova lettura di eventi.
Sarà valorizzato a zero se ci sono eventi in coda che non sono stati forniti per raggiunta dimensione massima della risposta.
Sarà maggiore di zero se gli eventi in coda sono stati tutti inviati.
content:
application/json:
schema:
$ref: '#/components/schemas/ProgressResponseV25'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Not allowed to consume details
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'429':
description: Too Many Requests
headers:
retry-after:
schema:
type: integer
format: int32
description: Numero di millisecondi di attesa prima di effettuare una nuova lettura di eventi.
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/streams:
post:
deprecated: true
summary: Crea nuovo stream di eventi
description: Viene richiesta la creazione di un flusso di eventi specificando se gli eventi saranno relativi ai cambi di stato o agli eventi di timeline.
In risposta, Piattaforma Notifiche, comunicherà un identificativo dello stream e il timestamp di effettiva attivazione del flusso, tipicamente pochi secondi dopo che è stata invocata l'operazione.
tags:
- Streams
operationId: createEventStream
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StreamCreationRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponse'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
get:
deprecated: true
summary: Elenca stream di eventi
description: Elenca gli stream di eventi
tags:
- Streams
operationId: listEventStreams
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamListResponse'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/streams/{streamId}:
parameters:
- $ref: '#/components/parameters/pathStreamId'
get:
deprecated: true
summary: Leggi metadati dello stream
description: Permette di leggere le configurazioni di uno stream di eventi.
tags:
- Streams
operationId: retrieveEventStream
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponse'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
put:
deprecated: true
summary: Update Stream metadata
description: Permette di cambiare le configurazioni dei filtri associati a uno stream di eventi
tags:
- Streams
operationId: updateEventStream
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StreamCreationRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponse'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
delete:
deprecated: true
summary: Remove Event Stream
description: 'Elimina uno steam di eventi: elimina sia le configurazioni sia tutti gli eventi associati allo stream e non ancora consumati.'
tags:
- Streams
operationId: removeEventStream
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
responses:
'204':
description: OK
'400':
description: Bad request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/streams/{streamId}/events:
get:
deprecated: true
summary: Leggi progressi notifiche
description: Permette di leggere gli eventi presenti nello stream di aggiornamenti e indica che la P.A. ha ricevuto e memorizzato l'evento identificato dal parametro _lastEventId_ e tutti gli eventi precedenti. Tali eventi potranno essere cancellati dallo stream.
tags:
- Events
operationId: consumeEventStream
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
parameters:
- $ref: '#/components/parameters/pathStreamId'
- $ref: '#/components/parameters/queryLastEventId'
responses:
'200':
description: OK
headers:
retry-after:
schema:
type: integer
format: int32
description: Numero di millisecondi di attesa prima di effettuare una nuova lettura di eventi.
Sarà valorizzato a zero se ci sono eventi in coda che non sono stati forniti per raggiunta dimensione massima della risposta.
Sarà maggiore di zero se gli eventi in coda sono stati tutti inviati.
content:
application/json:
schema:
$ref: '#/components/schemas/ProgressResponse'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'429':
description: Too Many Requests
headers:
retry-after:
schema:
type: integer
format: int32
description: Numero di millisecondi di attesa prima di effettuare una nuova lettura di eventi.
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.3/streams:
post:
deprecated: true
summary: Crea nuovo stream di eventi
description: |-
Creazione di un flusso di eventi specificando se gli eventi saranno relativi ai cambi di stato o agli eventi di timeline.
In risposta, Piattaforma Notifiche, comunicherà un identificativo dello stream e il timestamp di effettiva attivazione del flusso, tipicamente pochi secondi dopo che è stata invocata l'operazione.
tags:
- Streams
operationId: createEventStreamV23
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StreamCreationRequestV23'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV23'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: ReplacedId Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
get:
deprecated: true
summary: Elenca stream di eventi
description: Elenca gli stream di eventi
tags:
- Streams
operationId: listEventStreamsV23
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamListResponse'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.3/streams/{streamId}:
parameters:
- $ref: '#/components/parameters/pathStreamId'
get:
deprecated: true
summary: Leggi metadata dello stream
description: Lettura delle configurazioni di uno stream di eventi.
tags:
- Streams
operationId: retrieveEventStreamV23
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV23'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
put:
deprecated: true
summary: Update Stream metadata
description: Modifica delle configurazioni dei filtri associati a uno stream di eventi
tags:
- Streams
operationId: updateEventStreamV23
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StreamRequestV23'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV23'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
delete:
deprecated: true
summary: Remove Event Stream
description: 'Cancellazione dello steam di eventi: elimina sia le configurazioni sia tutti gli eventi associati allo stream e non ancora consumati.'
tags:
- Streams
operationId: removeEventStreamV23
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
responses:
'204':
description: OK
'400':
description: Bad request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.3/streams/{streamId}/action/disable:
post:
deprecated: true
summary: Disabilita uno stream
description: |-
Disabilita uno stream.
Da uno stream disabilitato è possibile leggere gli eventi presenti nello stream salvati prima della disabilitazione, ma non ne saranno aggiunti di nuovi.
Non è possibile modificare o riabilitare uno stream disabilitato.
Uno stream disabilitato non rientra nel conteggio degli stream massimi, non può essere riabilitato e verrà eliminato automaticamente dopo 14 giorni.
tags:
- Streams
operationId: disableEventStreamV23
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
parameters:
- $ref: '#/components/parameters/pathStreamId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV23'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.3/streams/{streamId}/events:
get:
deprecated: true
summary: Leggi progressi notifiche
description: Lettura degli eventi presenti nello stream di aggiornamenti con indicazione che il mittente ha ricevuto e memorizzato l'evento identificato dal parametro _lastEventId_ e tutti gli eventi precedenti. Tali eventi potranno essere cancellati dallo stream.
tags:
- Events
operationId: consumeEventStreamV23
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
parameters:
- $ref: '#/components/parameters/pathStreamId'
- $ref: '#/components/parameters/queryLastEventId'
responses:
'200':
description: OK
headers:
retry-after:
schema:
type: integer
format: int32
description: |-
Numero di millisecondi di attesa prima di effettuare una nuova lettura di eventi.
Sarà valorizzato a zero se ci sono eventi in coda che non sono stati forniti per raggiunta dimensione massima della risposta.
Sarà maggiore di zero se gli eventi in coda sono stati tutti inviati.
content:
application/json:
schema:
$ref: '#/components/schemas/ProgressResponseV23'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Not allowed to consume details
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'429':
description: Too Many Requests
headers:
retry-after:
schema:
type: integer
format: int32
description: Numero di millisecondi di attesa prima di effettuare una nuova lettura di eventi.
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.4/streams:
post:
deprecated: true
summary: Crea nuovo stream di eventi
description: |-
Creazione di un flusso di eventi specificando se gli eventi saranno relativi ai cambi di stato o agli eventi di timeline.
In risposta, Piattaforma Notifiche, comunicherà un identificativo dello stream e il timestamp di effettiva attivazione del flusso, tipicamente pochi secondi dopo che è stata invocata l'operazione.
tags:
- Streams
operationId: createEventStreamV24
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StreamCreationRequestV24'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV24'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: ReplacedId Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
get:
deprecated: true
summary: Elenca stream di eventi
description: Elenca gli stream di eventi
tags:
- Streams
operationId: listEventStreamsV24
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamListResponse'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.4/streams/{streamId}:
parameters:
- $ref: '#/components/parameters/pathStreamId'
get:
deprecated: true
summary: Leggi metadata dello stream
description: Lettura delle configurazioni di uno stream di eventi.
tags:
- Streams
operationId: retrieveEventStreamV24
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV24'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
put:
deprecated: true
summary: Update Stream metadata
description: Modifica delle configurazioni dei filtri associati a uno stream di eventi
tags:
- Streams
operationId: updateEventStreamV24
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StreamRequestV24'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV24'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
delete:
deprecated: true
summary: Remove Event Stream
description: 'Cancellazione dello steam di eventi: elimina sia le configurazioni sia tutti gli eventi associati allo stream e non ancora consumati.'
tags:
- Streams
operationId: removeEventStreamV24
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
responses:
'204':
description: OK
'400':
description: Bad request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.4/streams/{streamId}/action/disable:
post:
deprecated: true
summary: Disabilita uno stream
description: |-
Disabilita uno stream.
Da uno stream disabilitato è possibile leggere gli eventi presenti nello stream salvati prima della disabilitazione, ma non ne saranno aggiunti di nuovi.
Non è possibile modificare o riabilitare uno stream disabilitato.
Uno stream disabilitato non rientra nel conteggio degli stream massimi, non può essere riabilitato e verrà eliminato automaticamente dopo 14 giorni.
tags:
- Streams
operationId: disableEventStreamV24
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
parameters:
- $ref: '#/components/parameters/pathStreamId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StreamMetadataResponseV24'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
/delivery-progresses/v2.4/streams/{streamId}/events:
get:
deprecated: true
summary: Leggi progressi notifiche
description: Lettura degli eventi presenti nello stream di aggiornamenti con indicazione che il mittente ha ricevuto e memorizzato l'evento identificato dal parametro _lastEventId_ e tutti gli eventi precedenti. Tali eventi potranno essere cancellati dallo stream.
tags:
- Events
operationId: consumeEventStreamV24
x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live
x-pagopa-lambda-account: core
parameters:
- $ref: '#/components/parameters/pathStreamId'
- $ref: '#/components/parameters/queryLastEventId'
responses:
'200':
description: OK
headers:
retry-after:
schema:
type: integer
format: int32
description: |-
Numero di millisecondi di attesa prima di effettuare una nuova lettura di eventi.
Sarà valorizzato a zero se ci sono eventi in coda che non sono stati forniti per raggiunta dimensione massima della risposta.
Sarà maggiore di zero se gli eventi in coda sono stati tutti inviati.
content:
application/json:
schema:
$ref: '#/components/schemas/ProgressResponseV24'
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Not allowed to consume details
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'404':
description: Stream not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'429':
description: Too Many Requests
headers:
retry-after:
schema:
type: integer
format: int32
description: Numero di millisecondi di attesa prima di effettuare una nuova lettura di eventi.
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
components:
parameters:
queryLastEventId:
description: Identificativo dell'ultimo evento memorizzato dal chiamante, se non passato si intende dal primo evento presente nello stream. Numero in una stringa di 38 caratteri con padding iniziale composto da '0'.
name: lastEventId
in: query
required: false
schema:
type: string
minLength: 38
maxLength: 38
pattern: ^0\d{37}$
pathStreamId:
description: Identificativo dello stream di eventi
name: streamId
in: path
required: true
schema:
type: string
format: uuid
schemas:
StreamCreationRequestV25:
description: Richiesta di creazione di uno stream di eventi di avanzamento delle notifiche. Lo stream verrà creato nello stato abilitato
type: object
allOf:
- $ref: '#/components/schemas/StreamRequestV25'
- type: object
properties:
replacedStreamId:
description: opzionale, eventuale streamId che viene sostituito da questo. Se specificato, lo stream indicato sarà disabilitato contestualmente alla creazione del nuovo stream, permettendo di consumare tutti gli eventi del vecchio stream senza che ne vengano aggiunti di nuovi. Inoltre, il nuovo stream partirà da un eventId successivo rispetto al vecchio stream (anche se non "esattamente" successivo per evitare sovrapposizioni con eventuali eventi salvati durante il cambio di configurazione). La creazione del nuovo stream è soggetta al controllo di autorizzazione dell'apiKey sui gruppi del precedente stream.
type: string
format: uuid
StreamRequestV25:
description: Struttura comune per eventi di creazione/aggiornamento di uno stream di eventi di avanzamento delle notifiche. L'aggiornamento delle proprietà dello stream è soggetta al controllo di autorizzazione dell'apiKey sui gruppi.
type: object
required:
- title
- eventType
- groups
properties:
title:
description: Nome sintetico dello stream
type: string
maxLength: 256
pattern: ^.*$
eventType:
description: |-
Tipo di eventi presenti nel flusso:
- _STATUS_: cambiamenti di stato delle notifiche
- _TIMELINE_: eventi a granularità fine
type: string
enum:
- STATUS
- TIMELINE
groups:
description: rappresenta l'elenco degli id gruppi abilitati a richiedere i dettagli. Una apiKey può consumare o modificare uno stream solo se non ha gruppi o se tutti i gruppi dello stream sono presenti nella apiKey. Se viene specificato array vuoto, si noti che solo apiKey senza gruppi potranno consumare o modificare lo stream. Inoltre, nel caso di updateEventStream, la lista dei gruppi presente nello stream deve essere un sottoinsieme dei gruppi passati nella richiesta (in pratica si possono solo aggiungere gruppi a quelli esistenti) oppure entrambi array vuoti.
type: array
items:
allOf:
- $ref: '#/components/schemas/StreamGroup'
minLength: 0
filterValues:
description: rappresenta l'elenco degli stati o elementi di timeline che si vogliono filtrare; inserendo un array vuoto [] si riceveranno solo gli elementi relativi alla versione con cui è stato creato lo stream. Se specificati invece, avranno priorità rispetto agli eventi della versione (quindi se sono un sottoinsieme, si riceveranno solo quelli. Se si specificano eventi introdotti in versioni più recenti, questi saranno inviati) Infine, è possibile utilizzare il placeholder "DEFAULT" per specificare l'insieme di eventi più rilevanti di una notifica.
type: array
items:
type: string
minLength: 4
maxLength: 256
pattern: ^[A-Z_]+$
StreamGroup:
type: string
description: Identificativo del gruppo.
StreamMetadataResponseV25:
description: Configurazioni di un flusso di eventi
allOf:
- $ref: '#/components/schemas/StreamRequestV25'
- type: object
required:
- streamId
- activationDate
properties:
streamId:
description: Identificativo del flusso di eventi
type: string
format: uuid
activationDate:
description: Timestamp in cui il flusso di eventi è stato attivato
type: string
format: date-time
disabledDate:
description: Timestamp in cui il flusso di eventi è stato disabilitato
type: string
format: date-time
version:
description: versione di base dello stream.
type: string
pattern: ^v\d\d\d?$
StreamListResponse:
description: Elenco di flussi di eventi
type: array
items:
$ref: '#/components/schemas/StreamListElement'
StreamListElement:
type: object
required:
- title
- streamId
properties:
streamId:
type: string
format: uuid
title:
type: string
maxLength: 256
pattern: ^.*$
ProgressResponseV25:
type: array
items:
$ref: '#/components/schemas/ProgressResponseElementV25'
ProgressResponseElementV25:
type: object
required:
- eventId
- element
properties:
eventId:
description: Elemento che garantisce univocità e ordinamento temporale all'interno dello stream
type: string
notificationRequestId:
description: Identificativo della richiesta di notifica
type: string
iun:
description: Identificativo della notifica, presente solo se la richiesta di notifica è stata accettata.
type: string
maxLength: 25
pattern: ^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$
newStatus:
$ref: '#/components/schemas/NotificationStatus'
element:
$ref: '#/components/schemas/TimelineElementV25'
StreamCreationRequest:
description: Richiesta di creazione di uno stream di eventi di avanzamento delle notifiche.
type: object
required:
- title
- eventType
properties:
title:
description: Nome sintetico dello stream
type: string
maxLength: 256
pattern: ^.*$
eventType:
description: |-
Tipo di eventi presenti nel flusso:
- _STATUS_: cambiamenti di stato delle notifiche
- _TIMELINE_: eventi a granularità fine
type: string
enum:
- STATUS
- TIMELINE
filterValues:
description: rappresenta l'elenco degli stati o elementi di timeline che si vogliono filtrare; inserendo un array vuoto [] si riceveranno solo gli elementi relativi a v1
type: array
items:
type: string
minLength: 4
maxLength: 256
pattern: ^[A-Z_]+$
StreamMetadataResponse:
description: Configurazioni di un flusso di eventi
allOf:
- $ref: '#/components/schemas/StreamCreationRequest'
- type: object
required:
- streamId
- activationDate
properties:
streamId:
description: Identificativo del flusso di eventi
type: string
format: uuid
activationDate:
description: Timestamp in cui il flusso di eventi è stato attivato
type: string
format: date-time
ProgressResponse:
type: array
items:
$ref: '#/components/schemas/ProgressResponseElement'
ProgressResponseElement:
type: object
required:
- eventId
- timestamp
properties:
eventId:
description: Elemento che garantisce univocità e ordinamento temporale all'interno dello stream
type: string
timestamp:
description: Istante a cui è avvenuto l'evento
type: string
format: date-time
notificationRequestId:
description: Identificativo della richiesta di notifica
type: string
iun:
description: Identificativo della notifica, presente solo se la richiesta di notifica è stata accettata.
type: string
maxLength: 25
pattern: ^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$
newStatus:
$ref: '#/components/schemas/NotificationStatus'
timelineEventCategory:
$ref: '#/components/schemas/TimelineElementCategoryV23'
recipientIndex:
type: integer
format: int32
minimum: 0
description: Indice del destinatario al quale si riferisce l'evento
analogCost:
type: integer
format: int32
description: Eventuale costo in eurocent associato all'evento
channel:
type: string
description: 'Canale a cui si riferisce l''evento. I valori previsti sono: - Per eventi legati a messaggi di cortesia: APPIO, SMS, EMAIL - Per eventi legati all''invio digitale: PEC - Per eventi legati all''invio analogico: AR_REGISTERED_LETTER, REGISTERED_LETTER_890 - Per eventi legati all''invio di raccomandate semplici: SIMPLE_REGISTERED_LETTER'
legalfactIds:
type: array
items:
type: string
example:
- PN_LEGAL_FACTS-0002-9G2S-RK3M-JI62-JK9Q
- PN_LEGAL_FACTS-0002-9G2S-RK3M-JI62-JK9E
description: chiavi degli eventuali allegati associati all'evento
validationErrors:
type: array
description: eventuali errori di validazione associati all'evento
items:
$ref: '#/components/schemas/RefusedReason'
RefusedReason:
type: object
properties:
errorCode:
type: string
detail:
type: string
StreamCreationRequestV23:
description: Richiesta di creazione di uno stream di eventi di avanzamento delle notifiche. Lo stream verrà creato nello stato abilitato
type: object
allOf:
- $ref: '#/components/schemas/StreamRequestV23'
- type: object
properties:
replacedStreamId:
description: opzionale, eventuale streamId che viene sostituito da questo. Se specificato, lo stream indicato sarà disabilitato contestualmente alla creazione del nuovo stream, permettendo di consumare tutti gli eventi del vecchio stream senza che ne vengano aggiunti di nuovi. Inoltre, il nuovo stream partirà da un eventId successivo rispetto al vecchio stream (anche se non "esattamente" successivo per evitare sovrapposizioni con eventuali eventi salvati durante il cambio di configurazione). La creazione del nuovo stream è soggetta al controllo di autorizzazione dell'apiKey sui gruppi del precedente stream.
type: string
format: uuid
StreamRequestV23:
description: Struttura comune per eventi di creazione/aggiornamento di uno stream di eventi di avanzamento delle notifiche. L'aggiornamento delle proprietà dello stream è soggetta al controllo di autorizzazione dell'apiKey sui gruppi.
type: object
required:
- title
- eventType
- groups
properties:
title:
description: Nome sintetico dello stream
type: string
maxLength: 256
pattern: ^.*$
eventType:
description: |-
Tipo di eventi presenti nel flusso:
- _STATUS_: cambiamenti di stato delle notifiche
- _TIMELINE_: eventi a granularità fine
type: string
enum:
- STATUS
- TIMELINE
groups:
description: rappresenta l'elenco degli id gruppi abilitati a richiedere i dettagli. Una apiKey può consumare o modificare uno stream solo se non ha gruppi o se tutti i gruppi dello stream sono presenti nella apiKey. Se viene specificato array vuoto, si noti che solo apiKey senza gruppi potranno consumare o modificare lo stream. Inoltre, nel caso di updateEventStream, la lista dei gruppi presente nello stream deve essere un sottoinsieme dei gruppi passati nella richiesta (in pratica si possono solo aggiungere gruppi a quelli esistenti) oppure entrambi array vuoti.
type: array
items:
allOf:
- $ref: '#/components/schemas/StreamGroup'
minLength: 0
filterValues:
description: rappresenta l'elenco degli stati o elementi di timeline che si vogliono filtrare; inserendo un array vuoto [] si riceveranno solo gli elementi relativi alla versione con cui è stato creato lo stream. Se specificati invece, avranno priorità rispetto agli eventi della versione (quindi se sono un sottoinsieme, si riceveranno solo quelli. Se si specificano eventi introdotti in versioni più recenti, questi saranno inviati) Infine, è possibile utilizzare il placeholder "DEFAULT" per specificare l'insieme di eventi più rilevanti di una notifica.
type: array
items:
type: string
minLength: 4
maxLength: 256
pattern: ^[A-Z_]+$
StreamMetadataResponseV23:
description: Configurazioni di un flusso di eventi
allOf:
- $ref: '#/components/schemas/StreamRequestV23'
- type: object
required:
- streamId
- activationDate
properties:
streamId:
description: Identificativo del flusso di eventi
type: string
format: uuid
activationDate:
description: Timestamp in cui il flusso di eventi è stato attivato
type: string
format: date-time
disabledDate:
description: Timestamp in cui il flusso di eventi è stato disabilitato
type: string
format: date-time
version:
description: versione di base dello stream.
type: string
pattern: ^v\d\d\d?$
ProgressResponseV23:
type: array
items:
$ref: '#/components/schemas/ProgressResponseElementV23'
ProgressResponseElementV23:
type: object
required:
- eventId
- element
properties:
eventId:
description: Elemento che garantisce univocità e ordinamento temporale all'interno dello stream
type: string
notificationRequestId:
description: Identificativo della richiesta di notifica
type: string
iun:
description: Identificativo della notifica, presente solo se la richiesta di notifica è stata accettata.
type: string
maxLength: 25
pattern: ^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$
newStatus:
$ref: '#/components/schemas/NotificationStatus'
element:
$ref: '#/components/schemas/TimelineElementV23'
StreamCreationRequestV24:
description: Richiesta di creazione di uno stream di eventi di avanzamento delle notifiche. Lo stream verrà creato nello stato abilitato
type: object
allOf:
- $ref: '#/components/schemas/StreamRequestV24'
- type: object
properties:
replacedStreamId:
description: opzionale, eventuale streamId che viene sostituito da questo. Se specificato, lo stream indicato sarà disabilitato contestualmente alla creazione del nuovo stream, permettendo di consumare tutti gli eventi del vecchio stream senza che ne vengano aggiunti di nuovi. Inoltre, il nuovo stream partirà da un eventId successivo rispetto al vecchio stream (anche se non "esattamente" successivo per evitare sovrapposizioni con eventuali eventi salvati durante il cambio di configurazione). La creazione del nuovo stream è soggetta al controllo di autorizzazione dell'apiKey sui gruppi del precedente stream.
type: string
format: uuid
StreamRequestV24:
description: Struttura comune per eventi di creazione/aggiornamento di uno stream di eventi di avanzamento delle notifiche. L'aggiornamento delle proprietà dello stream è soggetta al controllo di autorizzazione dell'apiKey sui gruppi.
type: object
required:
- title
- eventType
- groups
properties:
title:
description: Nome sintetico dello stream
type: string
maxLength: 256
pattern: ^.*$
eventType:
description: |-
Tipo di eventi presenti nel flusso:
- _STATUS_: cambiamenti di stato delle notifiche
- _TIMELINE_: eventi a granularità fine
type: string
enum:
- STATUS
- TIMELINE
groups:
description: rappresenta l'elenco degli id gruppi abilitati a richiedere i dettagli. Una apiKey può consumare o modificare uno stream solo se non ha gruppi o se tutti i gruppi dello stream sono presenti nella apiKey. Se viene specificato array vuoto, si noti che solo apiKey senza gruppi potranno consumare o modificare lo stream. Inoltre, nel caso di updateEventStream, la lista dei gruppi presente nello stream deve essere un sottoinsieme dei gruppi passati nella richiesta (in pratica si possono solo aggiungere gruppi a quelli esistenti) oppure entrambi array vuoti.
type: array
items:
allOf:
- $ref: '#/components/schemas/StreamGroup'
minLength: 0
filterValues:
description: rappresenta l'elenco degli stati o elementi di timeline che si vogliono filtrare; inserendo un array vuoto [] si riceveranno solo gli elementi relativi alla versione con cui è stato creato lo stream. Se specificati invece, avranno priorità rispetto agli eventi della versione (quindi se sono un sottoinsieme, si riceveranno solo quelli. Se si specificano eventi introdotti in versioni più recenti, questi saranno inviati) Infine, è possibile utilizzare il placeholder "DEFAULT" per specificare l'insieme di eventi più rilevanti di una notifica.
type: array
items:
type: string
minLength: 4
maxLength: 256
pattern: ^[A-Z_]+$
StreamMetadataResponseV24:
description: Configurazioni di un flusso di eventi
allOf:
- $ref: '#/components/schemas/StreamRequestV24'
- type: object
required:
- streamId
- activationDate
properties:
streamId:
description: Identificativo del flusso di eventi
type: string
format: uuid
activationDate:
description: Timestamp in cui il flusso di eventi è stato attivato
type: string
format: date-time
disabledDate:
description: Timestamp in cui il flusso di eventi è stato disabilitato
type: string
format: date-time
version:
description: versione di base dello stream.
type: string
pattern: ^v\d\d\d?$
ProgressResponseV24:
type: array
items:
$ref: '#/components/schemas/ProgressResponseElementV24'
ProgressResponseElementV24:
type: object
required:
- eventId
- element
properties:
eventId:
description: Elemento che garantisce univocità e ordinamento temporale all'interno dello stream
type: string
notificationRequestId:
description: Identificativo della richiesta di notifica
type: string
iun:
description: Identificativo della notifica, presente solo se la richiesta di notifica è stata accettata.
type: string
maxLength: 25
pattern: ^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$
newStatus:
$ref: '#/components/schemas/NotificationStatus'
element:
$ref: '#/components/schemas/TimelineElementV24'
ProblemError:
properties:
code:
description: Internal code of the error, in human-readable format
example: PN_PARAMETER_TOO_LONG | PN_PARAMETER_TOO_SHORT | PN_DUPLICATE_ENTRY | etc...
type: string
element:
description: Parameter or request body field name for validation error
example: body.order.item[2].quantity
type: string
detail:
description: A human readable explanation specific to this occurrence of the problem.
example: Parameter not valid
maxLength: 1024
type: string
required:
- code
Problem:
properties:
type:
description: URI reference of type definition
type: string
status:
description: The HTTP status code generated by the origin server for this occurrence of the problem.
type: integer
format: int32
example: 503
maximum: 600
minimum: 100
exclusiveMaximum: true
title:
description: A short, summary of the problem type. Written in english and readable
example: Service Unavailable
maxLength: 64
pattern: ^[ -~]{0,64}$
type: string
detail:
description: A human readable explanation of the problem.
example: Request took too long to complete.
maxLength: 4096
pattern: ^.{0,4096}$
type: string
traceId:
description: Internal support identifier associated to error
example: 123e4567-e89b-12d3-a456-426614174000
type: string
timestamp:
description: date and time referred to UTC
example: '2022-07-27T12:22:33.444Z'
type: string
format: date-time
errors:
type: array
minItems: 1
items:
$ref: '#/components/schemas/ProblemError'
required:
- status
- errors
NotificationStatus:
type: string
description: |
stato di avanzamento del processo di notifica:
* `IN_VALIDATION` - notifica depositata in attesa di validazione
* `ACCEPTED` - L'ente ha depositato la notifica con successo
* `REFUSED` - Notifica rifiutata a seguito della validazione
* `DELIVERING` - L'invio della notifica è in corso
* `DELIVERED` - La notifica è stata consegnata a tutti i destinatari
* `VIEWED` - Il destinatario ha letto la notifica entro il termine stabilito
* `EFFECTIVE_DATE` - Il destinatario non ha letto la notifica entro il termine stabilito
* `UNREACHABLE` - Il destinatario non è reperibile
* `CANCELLED` - L'ente ha annullato l'invio della notifica
* `PAID` - [DEPRECATO] Uno dei destinatari ha pagato la notifica
enum:
- IN_VALIDATION
- ACCEPTED
- REFUSED
- DELIVERING
- DELIVERED
- VIEWED
- EFFECTIVE_DATE
- PAID
- UNREACHABLE
- CANCELLED
LegalFactCategoryV20:
title: Tipi di atti opponibili a terzi
description: |-
Tipi di atti opponibili a terzi che Piattaforma Notifiche mette a disposizione dei suoi utenti.
- SENDER_ACK
- DIGITAL_DELIVERY
- ANALOG_DELIVERY
- RECIPIENT_ACCESS
- PEC_RECEIPT
- ANALOG_FAILURE_DELIVERY
- NOTIFICATION_CANCELLED
type: string
LegalFactsIdV20:
description: Chiavi dei documenti generati durante il processo di consegna cartacea
type: object
required:
- key
- category
properties:
key:
description: Chiave dell'atto opponibile a terzi generato durante il processo di consegna
type: string
pattern: ^(safestorage:\/\/)?[A-Za-z0-9._-]+$
maxLength: 512
category:
$ref: '#/components/schemas/LegalFactCategoryV20'
TimelineElementCategoryV23:
type: string
description: |
stato di avanzamento del processo di notifica:`
* `SENDER_ACK_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto opponibile a terzi di presa in carico per il mittente a safe storage
* `VALIDATE_NORMALIZE_ADDRESSES_REQUEST` - Invio della richiesta di validazione e normalizzazione indirizzi fisici presenti nella richiesta di notifica
* `NORMALIZED_ADDRESS` - Salvataggio indirizzi normalizzati
* `REQUEST_ACCEPTED` - Richiesta di notifica accettata a seguito dei controlli di validazione
* `REQUEST_REFUSED` - Richiesta di notifica rifiutata per fallimento di validazione
* `SEND_COURTESY_MESSAGE` - Invio di un messaggio di cortesia
* `GET_ADDRESS` - Disponibilità dell’indirizzo specifico (domicilio digitale di piattaforma, domicilio digitale speciale, domicilio digitale generale, indirizzo fisico sulla notifica o sui registri nazionali)
* `PUBLIC_REGISTRY_CALL` - Richiesta ai registri pubblici per ottenere domicilio digitale generale o per ottenere indirizzo fisico da ANPR, da registro della imprese, da anagrafe tributaria.
* `PUBLIC_REGISTRY_RESPONSE` - Ricevuta la risposta dei registri pubblici
* `SCHEDULE_ANALOG_WORKFLOW` - Pianificazione del workflow per invio cartaceo
* `SCHEDULE_DIGITAL_WORKFLOW` -Pianificazione del workflow per invio digitale (PEC) del secondo tentativo in caso di fallimento del primo.
* `PREPARE_DIGITAL_DOMICILE` - Preparazione per l’invio dell’avviso digitale.Va a valutare la timeline per capire quale sarà il prossimo indirizzo da usare.
* `SEND_DIGITAL_DOMICILE` - Invio digitale dell’avviso di notifica
* `SEND_DIGITAL_PROGRESS` - Tentativo di Invio PEC ad un determinato indirizzo.
* `SEND_DIGITAL_FEEDBACK` - Ottenuto esito ad un invio digitale
* `SCHEDULE_REFINEMENT` - Pianificato il perfezionamento per decorrenza termini
* `REFINEMENT` - Perfezionamento per decorrenza termini
* `DIGITAL_DELIVERY_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto opponibile a terzi di chiusura del workflow digitale a safe storage
* `DIGITAL_SUCCESS_WORKFLOW` - Completato con successo il workflow di invio digitale
* `DIGITAL_FAILURE_WORKFLOW` - Completato con fallimento il workflow di invio digitale: tutti i tentativi di invio ai domicili digitali sono falliti.
* `ANALOG_SUCCESS_WORKFLOW` - Completato con successo il workflow di invio cartaceo
* `ANALOG_FAILURE_WORKFLOW` - Completato con fallimento il workflow di invio cartaceo NOTA: se per tutti i destinatari si conclude il workflow con fallimento verrà scatenato l’evento COMPLETELY_UNREACHABLE
* `PREPARE_SIMPLE_REGISTERED_LETTER` - Invio richiesta di prepare (preparazione ad invio) raccomandata semplice a paperChannel
* `SEND_SIMPLE_REGISTERED_LETTER` - Invio di raccomandata semplice
* `SEND_SIMPLE_REGISTERED_LETTER_PROGRESS` - Ricezione informazioni intermedia relative ad una notificazione cartacea semplice
* `NOTIFICATION_VIEWED_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto opponibile a terzi di presa visione a safe storage
* `NOTIFICATION_VIEWED` - Visualizzazione della notifica (perfeziona la notifica se non già perfezionata per decorrenza termini o da altro destinatario)
* `PREPARE_ANALOG_DOMICILE` - Invio richiesta di prepare (preparazione ad invio) cartaceo a paperChannel
* `SEND_ANALOG_DOMICILE` - Invio cartaceo dell’avviso di notifica
* `SEND_ANALOG_PROGRESS` - Ricezione informazioni intermedia relative ad una notificazione cartacea
* `SEND_ANALOG_FEEDBACK` - Ricezione esito dell'invio cartaceo
* `COMPLETELY_UNREACHABLE_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto (simile a opponibile a terzi) di completamento con fallimento del workflow di invio cartaceo
* `COMPLETELY_UNREACHABLE` - Tutti i destinatari risultano irraggiungibili
* `AAR_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'AAR (Avviso di Avvenuta Ricezione) a safe storage
* `AAR_GENERATION` - Generazione dell’AAR (Avviso di Avvenuta Ricezione)
* `PAYMENT` - Evento di ricezione __dal mittente__ dell'informazione di chiusura di uno o più pagamenti di tipo pagoPA (vedi #/components/schemas/PagoPaPayment). La presenza di questo evento inibisce l'invio di eventuali comunicazioni analogiche future ma non perfeziona la notifica.
* `NOT_HANDLED` - [DEPRECATO] Per la sperimentazione l'invio analogico non è previsto, viene inserito tale elemento di timeline
* `PROBABLE_SCHEDULING_ANALOG_DATE` - Data probabile di inizio del flusso analogico
* `NOTIFICATION_CANCELLATION_REQUEST` - Richiesta di annullamento di una notifica
* `NOTIFICATION_CANCELLED` - Notifica annullata
* `PREPARE_ANALOG_DOMICILE_FAILURE` - Fallimento della richiesta di prepare (preparazione ad invio) cartaceo a paperChannel
* `NOTIFICATION_RADD_RETRIEVED` - Accesso alla notifica tramite la rete RADD. Non perfeziona la notifica.
enum:
- SENDER_ACK_CREATION_REQUEST
- VALIDATE_NORMALIZE_ADDRESSES_REQUEST
- NORMALIZED_ADDRESS
- REQUEST_ACCEPTED
- SEND_COURTESY_MESSAGE
- GET_ADDRESS
- PUBLIC_REGISTRY_CALL
- PUBLIC_REGISTRY_RESPONSE
- SCHEDULE_ANALOG_WORKFLOW
- SCHEDULE_DIGITAL_WORKFLOW
- PREPARE_DIGITAL_DOMICILE
- SEND_DIGITAL_DOMICILE
- SEND_DIGITAL_PROGRESS
- SEND_DIGITAL_FEEDBACK
- REFINEMENT
- SCHEDULE_REFINEMENT
- DIGITAL_DELIVERY_CREATION_REQUEST
- DIGITAL_SUCCESS_WORKFLOW
- DIGITAL_FAILURE_WORKFLOW
- ANALOG_SUCCESS_WORKFLOW
- ANALOG_FAILURE_WORKFLOW
- PREPARE_SIMPLE_REGISTERED_LETTER
- SEND_SIMPLE_REGISTERED_LETTER
- SEND_SIMPLE_REGISTERED_LETTER_PROGRESS
- NOTIFICATION_VIEWED_CREATION_REQUEST
- NOTIFICATION_VIEWED
- PREPARE_ANALOG_DOMICILE
- SEND_ANALOG_DOMICILE
- SEND_ANALOG_PROGRESS
- SEND_ANALOG_FEEDBACK
- PAYMENT
- COMPLETELY_UNREACHABLE
- COMPLETELY_UNREACHABLE_CREATION_REQUEST
- REQUEST_REFUSED
- AAR_CREATION_REQUEST
- AAR_GENERATION
- NOT_HANDLED
- PROBABLE_SCHEDULING_ANALOG_DATE
- NOTIFICATION_CANCELLATION_REQUEST
- NOTIFICATION_CANCELLED
- PREPARE_ANALOG_DOMICILE_FAILURE
- NOTIFICATION_RADD_RETRIEVED
SenderAckCreationRequestDetails:
type: object
properties:
legalFactId:
type: string
maxLength: 128
description: Identificativo dell'atto opponibile a terzi del quale è stata richiesta la creazione
PhysicalAddress:
type: object
required:
- address
- municipality
properties:
at:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
description: Campo "presso" dell'indirizzo
address:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
description: Indirizzo del domicilio fisico
addressDetails:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
description: Seconda riga dell'indirizzo fisico
zip:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
description: Codice di avviamento postale. In caso di invio estero diventa facoltativo
municipality:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
description: Comune in cui l'indirizzo si trova
municipalityDetails:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
description: Frazione o località
province:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
description: Provincia in cui si trova l'indirizzo
foreignState:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
description: Denominazione paese estero
description: Indirizzo fisico scoperto durante fase di consegna
NormalizedAddressDetails:
type: object
required:
- recIndex
- oldAddress
- normalizedAddress
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
oldAddress:
$ref: '#/components/schemas/PhysicalAddress'
normalizedAddress:
$ref: '#/components/schemas/PhysicalAddress'
NotificationRequestAcceptedDetails:
type: object
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
AnalogFailureWorkflowDetails:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
generatedAarUrl:
type: string
maxLength: 128
description: Chiave per recupero da safe-storage del documento aar
AnalogSuccessWorkflowDetails:
type: object
required:
- recIndex
- physicalAddress
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
physicalAddress:
$ref: '#/components/schemas/PhysicalAddress'
EndWorkflowStatus:
type: string
description: Stato chiusura workflow
enum:
- SUCCESS
- FAILURE
CompletelyUnreachableCreationRequestDetails:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
legalfactId:
type: string
maxLength: 128
description: Identificativo dell'atto opponibile a terzi del quale è stata richiesta la creazione
endWorkflowStatus:
$ref: '#/components/schemas/EndWorkflowStatus'
completionWorkflowDate:
type: string
description: Data chiusura workflow
format: date-time
CompletelyUnreachableDetails:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
legalFactGenerationDate:
type: string
description: Data generazione atto opponibile a terzi allegato
format: date-time
DigitalAddress:
description: Indirizzo di invio della notifica
required:
- address
- type
type: object
properties:
type:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
description: tipo di indirizzo PEC, REM, SERCQ, SMS, EMAIL, APPIO ...
address:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
description: account@domain
DigitalDeliveryCreationRequestDetails:
type: object
required:
- recIndex
- digitalAddress
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
digitalAddress:
$ref: '#/components/schemas/DigitalAddress'
endWorkflowStatus:
$ref: '#/components/schemas/EndWorkflowStatus'
completionWorkflowDate:
type: string
description: Data chiusura workflow
format: date-time
legalfactId:
type: string
maxLength: 128
description: Identificativo dell'atto opponibile a terzi del quale è stata richiesta la creazione
DigitalFailureWorkflowDetails:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
DigitalSuccessWorkflowDetails:
type: object
required:
- recIndex
- digitalAddress
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
digitalAddress:
$ref: '#/components/schemas/DigitalAddress'
DigitalAddressSource:
type: string
description: sorgente indirizzo di invio della notifica
enum:
- PLATFORM
- SPECIAL
- GENERAL
GetAddressInfoDetails:
type: object
required:
- recIndex
- digitalAddressSource
- isAvailable
- attemptDate
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
digitalAddressSource:
$ref: '#/components/schemas/DigitalAddressSource'
isAvailable:
type: boolean
description: Disponibilità indirizzo
attemptDate:
type: string
description: Data tentativo
format: date-time
RaddTypeV23:
type: string
description: |
tipo di Rete Anti Digital Divide
__FSU__: Fornitore Servizio Universale
__ALT__: Fornitore RADD Alternativa
RaddTransactionId:
type: string
description: Identificativo della pratica all'interno della rete RADD
maxLength: 512
RecipientType:
type: string
enum:
- PF
- PG
DelegateInfo:
type: object
properties:
internalId:
type: string
maxLength: 128
taxId:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
maxLength: 128
operatorUuid:
type: string
maxLength: 128
mandateId:
type: string
maxLength: 128
denomination:
x-field-extra-annotation: '@lombok.ToString.Exclude'
type: string
maxLength: 128
delegateType:
$ref: '#/components/schemas/RecipientType'
NotificationViewedCreationRequestDetailsV23:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
legalfactId:
type: string
maxLength: 128
description: Identificativo dell'atto opponibile a terzi del quale è stata richiesta la creazione
eventTimestamp:
type: string
description: Data ricezione richiesta visualizzazione notifica
format: date-time
raddType:
$ref: '#/components/schemas/RaddTypeV23'
raddTransactionId:
$ref: '#/components/schemas/RaddTransactionId'
delegateInfo:
$ref: '#/components/schemas/DelegateInfo'
NotificationViewedDetailsV23:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
notificationCost:
description: costo notifica in euro cents, può essere nullo se la notifica si è perfezionata prima per decorrenza termini
example: 1220
type: integer
format: int64
raddType:
$ref: '#/components/schemas/RaddTypeV23'
raddTransactionId:
$ref: '#/components/schemas/RaddTransactionId'
delegateInfo:
$ref: '#/components/schemas/DelegateInfo'
eventTimestamp:
type: string
description: Data evento visualizzazione
format: date-time
NotificationRADDRetrievedDetails:
type: object
required:
- recIndex
- raddType
- raddTransactionId
- eventTimestamp
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
raddType:
$ref: '#/components/schemas/RaddTypeV23'
raddTransactionId:
$ref: '#/components/schemas/RaddTransactionId'
eventTimestamp:
type: string
description: Data evento
format: date-time
DeliveryMode:
type: string
description: Tipologia Domiciliazione
enum:
- DIGITAL
- ANALOG
ContactPhase:
type: string
description: Fase in cui è avvenuta la richiesta
enum:
- CHOOSE_DELIVERY
- SEND_ATTEMPT
PublicRegistryCallDetails:
type: object
required:
- recIndex
- deliveryMode
- contactPhase
- sentAttemptMade
- sendDate
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
deliveryMode:
$ref: '#/components/schemas/DeliveryMode'
contactPhase:
$ref: '#/components/schemas/ContactPhase'
sentAttemptMade:
type: integer
description: Numero di tentativi di notificazione già effettuati
format: int32
sendDate:
type: string
description: Data invio richiesta ai public registry
format: date-time
PublicRegistryResponseDetails:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
digitalAddress:
$ref: '#/components/schemas/DigitalAddress'
physicalAddress:
$ref: '#/components/schemas/PhysicalAddress'
RefinementDetailsV23:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
notificationCost:
description: costo notifica in euro cents, può essere nullo se la notifica si è perfezionata prima per visualizzazione
example: 1220
type: integer
format: int64
eventTimestamp:
type: string
description: Data evento refinement
format: date-time
NotificationRefusedErrorV25:
type: object
properties:
errorCode:
type: string
maxLength: 128
description: |-
Errori di rifiuto della notifica.
- FILE_NOTFOUND - I riferimenti dei documenti nella notifica non sono corretti o i documenti non sono stati caricati con successo.
- FILE_GONE - Allegato non disponibile: superati i termini di conservazione
- FILE_SHA_ERROR - Il digest calcolato con algoritmi sha256 dei documenti inseriti non è corrispondete a quello del file referenziato.
- FILE_PDF_INVALID_ERROR - Il file inserito non è in formato pdf.
- FILE_PDF_TOOBIG_ERROR - Il file pdf ha una dimensione eccedente il limite di 200MB.
- F24_METADATA_NOT_VALID - I dati contenuti del file dei metadati F24 non rispettano lo schema di validazione.
- TAXID_NOT_VALID - Codice fiscale del destinatario non corretto (non ancora implementato).
- RECIPIENT_ID_NOT_VALID - Destinatario non Valido (utilizzato solo per funzionalità non ancora implementate)
- NOT_VALID_ADDRESS - L'indirizzo di invio cartaceo inserito per il destinatario non ha superato i controlli di correttezza.
- PAYMENT_NOT_VALID - I dati del pagamento non sono sono registrati sulla piattaforma GPD (modalità asincrona di integrazione pagoPA)
- SERVICE_UNAVAILABLE - Il sistema non è attualmente disponibile.
...
detail:
type: string
maxLength: 2048
RequestRefusedDetailsV25:
type: object
properties:
refusalReasons:
type: array
description: Motivazioni che hanno portato al rifiuto della notifica
items:
$ref: '#/components/schemas/NotificationRefusedErrorV25'
ScheduleAnalogWorkflowDetailsV23:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
schedulingDate:
type: string
description: Data prevista per l'inizio dell'invio analogico
format: date-time
ScheduleDigitalWorkflowDetailsV23:
type: object
required:
- recIndex
- digitalAddressSource
- sentAttemptMade
- lastAttemptDate
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
digitalAddress:
$ref: '#/components/schemas/DigitalAddress'
digitalAddressSource:
$ref: '#/components/schemas/DigitalAddressSource'
sentAttemptMade:
type: integer
format: int32
lastAttemptDate:
type: string
format: date-time
schedulingDate:
type: string
description: Data prevista prossimo tentativo d'invio digitale per quella specifica sorgente di indirizzo
format: date-time
ScheduleRefinementDetails:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
schedulingDate:
type: string
format: date-time
IoSendMessageResult:
type: string
description: Risultato invio messaggio su IO
enum:
- NOT_SENT_OPTIN_ALREADY_SENT
- SENT_COURTESY
- SENT_OPTIN
SendCourtesyMessageDetails:
type: object
required:
- recIndex
- digitalAddress
- sendDate
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
digitalAddress:
$ref: '#/components/schemas/DigitalAddress'
sendDate:
type: string
description: data invio messaggio di cortesia
format: date-time
ioSendMessageResult:
$ref: '#/components/schemas/IoSendMessageResult'
PrepareDigitalDetails:
type: object
required:
- recIndex
- digitalAddressSource
- retryNumber
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
digitalAddress:
$ref: '#/components/schemas/DigitalAddress'
digitalAddressSource:
$ref: '#/components/schemas/DigitalAddressSource'
retryNumber:
type: integer
description: numero dei tentativi effettuati
format: int32
attemptDate:
type: string
description: data tentativo precedente
format: date-time
nextDigitalAddressSource:
$ref: '#/components/schemas/DigitalAddressSource'
nextSourceAttemptsMade:
type: integer
description: numero del prossimo tentativo da effettuare
format: int32
nextLastAttemptMadeForSource:
type: string
description: data tentativo precedente per prossimo source
format: date-time
SendDigitalDetails:
type: object
required:
- recIndex
- digitalAddress
- digitalAddressSource
- retryNumber
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
digitalAddress:
$ref: '#/components/schemas/DigitalAddress'
digitalAddressSource:
$ref: '#/components/schemas/DigitalAddressSource'
retryNumber:
type: integer
description: numero dei tentativi effettuati
format: int32
ResponseStatus:
type: string
description: stato risposta ricevuta da externalChannel
enum:
- OK
- KO
SendingReceipt:
type: object
properties:
id:
type: string
description: messageId del server mittente
maxLength: 1024
system:
type: string
description: nome del server mittente
maxLength: 128
SendDigitalFeedbackDetails:
type: object
required:
- recIndex
- digitalAddress
- responseStatus
- notificationDate
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
digitalAddress:
$ref: '#/components/schemas/DigitalAddress'
responseStatus:
$ref: '#/components/schemas/ResponseStatus'
notificationDate:
type: string
description: data notifica
format: date-time
deliveryFailureCause:
description: Codice errore, vuoto in caso di successo
type: string
deliveryDetailCode:
type: string
description: |
Stato - Codice relativo all'evento - Descrizione:
- PROGRESS C000 = PREACCETTAZIONE
- PROGRESS C001 = ACCETTAZIONE
- PROGRESS C005 = PRESA_IN_CARICO
- PROGRESS C007 = PREAVVISO_ERRORE_CONSEGNA
- PROGRESS DP00 = RE-INVIO PEC CAUSA FALLIMENTO TEMPORANEO
- PROGRESS DP10 = TIMEOUT RICEZIONE RISULTATO
- ERROR C002 = NON_ACCETTAZIONE
- ERROR C004 = ERRORE_CONSEGNA
- ERROR C006 = RILEVAZIONE_VIRUS
- ERROR C008 = ERRORE_COMUNICAZIONE_SERVER_PEC
- ERROR C009 = ERRORE_DOMINIO_PEC_NON_VALIDO
- ERROR C010 = ERROR_INVIO_PEC
- OK C003 = AVVENUTA_CONSEGNA
sendingReceipts:
type: array
items:
$ref: '#/components/schemas/SendingReceipt'
SendDigitalProgressDetailsV23:
type: object
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
deliveryFailureCause:
description: Codice errore, opzionale
type: string
deliveryDetailCode:
type: string
description: Vedi deliveryDetailCode in SendDigitalFeedbackDetails
shouldRetry:
type: boolean
description: indica se il progress ha dato luogo ad un ritentativo
digitalAddress:
$ref: '#/components/schemas/DigitalAddress'
digitalAddressSource:
$ref: '#/components/schemas/DigitalAddressSource'
notificationDate:
type: string
description: data notifica
format: date-time
sendingReceipts:
type: array
items:
$ref: '#/components/schemas/SendingReceipt'
retryNumber:
type: integer
description: numero dei tentativi effettuati
format: int32
eventTimestamp:
type: string
description: Data evento
format: date-time
ServiceLevel:
type: string
description: Livello Servizio
enum:
- AR_REGISTERED_LETTER
- REGISTERED_LETTER_890
BaseAnalogDetails:
type: object
required:
- recIndex
- physicalAddress
- serviceLevel
- sentAttemptMade
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
physicalAddress:
$ref: '#/components/schemas/PhysicalAddress'
serviceLevel:
$ref: '#/components/schemas/ServiceLevel'
sentAttemptMade:
type: integer
description: numero dei tentativi effettuati
format: int32
relatedRequestId:
type: string
description: Id relativo alla eventuale precedente richiesta di invio cartaceo
maxLength: 512
SendAnalogDetails:
type: object
required:
- recIndex
- physicalAddress
- serviceLevel
- sentAttemptMade
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
physicalAddress:
$ref: '#/components/schemas/PhysicalAddress'
serviceLevel:
$ref: '#/components/schemas/ServiceLevel'
sentAttemptMade:
type: integer
description: numero dei tentativi effettuati
format: int32
relatedRequestId:
type: string
description: Id relativo alla eventuale precedente richiesta di invio cartaceo
maxLength: 512
productType:
type: string
maxLength: 10
description: |
Tipo di invio cartaceo effettivamente inviato
- __AR__: Raccomandata nazionale Andata e Ritorno
- __890__: Recapito a norma della legge 890/1982
- __RIR__: Raccomandata internazionale Andata e Ritorno
analogCost:
type: integer
description: costo in eurocent dell'invio
format: int32
numberOfPages:
type: integer
description: numero delle pagina che compongono la spedizione cartacea
format: int32
envelopeWeight:
type: integer
description: peso in grammi della busta
format: int32
prepareRequestId:
type: string
description: request id della relativa richiesta di prepare
maxLength: 512
AttachmentDetails:
type: object
properties:
id:
type: string
maxLength: 128
documentType:
type: string
maxLength: 20
description: |
Codici documentType: - Plico: Indica il plico cartaceo - AR: Indica la ricevuta di ritorno - Indagine: Indica la ricevuta dell'analisi dell'indagine - 23L: Indica la ricevuta 23L
url:
type: string
maxLength: 128
date:
type: string
format: date-time
SendAnalogFeedbackDetailsV25:
type: object
required:
- recIndex
- physicalAddress
- serviceLevel
- sentAttemptMade
- responseStatus
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
physicalAddress:
$ref: '#/components/schemas/PhysicalAddress'
serviceLevel:
$ref: '#/components/schemas/ServiceLevel'
sentAttemptMade:
type: integer
description: numero dei tentativi effettuati
format: int32
newAddress:
$ref: '#/components/schemas/PhysicalAddress'
responseStatus:
$ref: '#/components/schemas/ResponseStatus'
notificationDate:
type: string
format: date-time
deliveryFailureCause:
type: string
maxLength: 10
description: |
__Motivazione di mancata consegna__ obbligatorie negli stati di mancata consegna
- __M01__ destinatario irreperibile
- __M02__ destinatario deceduto
- __M03__ destinatario sconosciuto
- __M04__ destinatario trasferito
- __M05__ invio rifiutato
- __M06__ indirizzo inesatto
- __M07__ indirizzo inesistente
- __M08__ indirizzo insufficiente
- __F01__ - in caso di furto
- __F02__ - in caso di smarrimento
- __F03__ - in caso di deterioramento
deliveryDetailCode:
type: string
maxLength: 20
description: |
Formato: - __deliveryDetailCode__- [prodotto] - [statusCode] - statusDescription
- __CON020__- [ALL] - [PROGRESS] - Originale dell’AAR (documento nativo digitale) reso disponibile dal Consolidatore e firmato digitalmente da PagoPA
- __CON080__- [ALL] - [PROGRESS] - Stampato ed Imbustato
- __RECRS001C__- [RS] - [OK] - Consegnato - Fascicolo Chiuso
- __RECRS002C__- [RS] - [KO] - Mancata consegna - Fascicolo Chiuso
- __RECRS002F__- [RS] - [KO] - Irreperibilità Assoluta - Fascicolo Chiuso
- __RECRS003C__- [RS] - [OK] - Consegnato presso Punti di Giacenza - Fascicolo Chiuso
- __RECRS004C__- [RS] - [OK] - Mancata consegna presso Punti di Giacenza - Fascicolo Chiuso
- __RECRS005C__- [RS] - [OK] - Compiuta giacenza - Fascicolo Chiuso
- __RECRS006__- [RS] - [PROGRESS] - Furto/Smarrimento/deterioramento
- __RECRN001C__- [AR] - [OK] - Consegnato - Fascicolo Chiuso
- __RECRN002C__- [AR] - [KO] - Mancata consegna - Fascicolo Chiuso
- __RECRN002F__- [AR] - [KO] - Irreperibilità Assoluta - Fascicolo Chiuso
- __RECRN003C__- [AR] - [OK] - Consegnato presso Punti di Giacenza - Fascicolo Chiuso
- __RECRN004C__- [AR] - [KO] - Mancata consegna presso Punti di Giacenza - Fascicolo Chiuso
- __RECRN005C__- [AR] - [OK] - Compiuta giacenza - Fascicolo Chiuso
- __RECRN006__- [AR] - [PROGRESS] - Furto/Smarrimento/deterioramento
- __RECAG001C__- [890] - [OK] - Consegnato - Fascicolo Chiuso
- __RECAG002C__- [890] - [OK] - Consegnato a persona abilitata - Fascicolo Chiuso
- __RECAG003C__- [890] - [KO] - Mancata consegna - Fascicolo Chiuso
- __RECAG003F__- [890] - [KO] - Irreperibilità Assoluta - Fascicolo Chiuso
- __RECAG004__- [890] - [PROGRESS] - Furto/Smarrimento/deterioramento
- __RECAG005C__- [890] - [OK | PROGRESS] - Consegnato presso Punti di Giacenza - Fascicolo Chiuso
- __RECAG006C__- [890] - [OK | PROGRESS] - Consegna a persona abilitata presso Punti di Giacenza - Fas. Ch.
- __RECAG007C__- [890] - [KO | PROGRESS] - Mancata consegna presso Punti di Giacenza - Fascicolo Chiuso
- __RECAG008C__- [890] - [PROGRESS] - Compiuta giacenza - Fascicolo Chiuso
- __PNAG012__- [890] - [KO] - Distacco d'ufficio 23L - Fascicolo Chiuso
- __RECRI003C__- [RIR] - [OK] - Consegnato - Fascicolo Chiuso
- __RECRI004C__- [RIR] - [KO] - Non Consegnato - fascicolo Chiuso
- __RECRI005__- [RIR] - [PROGRESS] - Furto/Smarrimento/deterioramento
- __RECRSI003C__- [RIS] - [OK] - Consegnato - Fascicolo Chiuso
- __RECRSI004C__- [RIS] - [KO] - Non Consegnato - fascicolo Chiuso
- __RECRSI005__- [RIS] - [PROGRESS] - Furto/Smarrimento/deterioramento
attachments:
type: array
items:
$ref: '#/components/schemas/AttachmentDetails'
sendRequestId:
type: string
description: RequestId della richiesta d'invio
maxLength: 512
registeredLetterCode:
type: string
description: Codice della raccomandata
maxLength: 128
BaseRegisteredLetterDetails:
type: object
required:
- recIndex
- physicalAddress
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
physicalAddress:
$ref: '#/components/schemas/PhysicalAddress'
SimpleRegisteredLetterDetails:
type: object
required:
- recIndex
- physicalAddress
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
physicalAddress:
$ref: '#/components/schemas/PhysicalAddress'
productType:
type: string
maxLength: 10
description: |
Tipo di invio cartaceo effettivamente inviato
- __RS__: Raccomandata nazionale Semplice (per Avviso di mancato Recapito)
- __RIS__: Raccomandata internazionale Semplice
analogCost:
type: integer
description: costo in eurocent dell'invio
format: int32
numberOfPages:
type: integer
description: numero delle pagina che compongono la spedizione cartacea
format: int32
envelopeWeight:
type: integer
description: peso in grammi della busta
format: int32
prepareRequestId:
type: string
description: request id della relativa richiesta di prepare
maxLength: 512
AarCreationRequestDetails:
type: object
required:
- recIndex
- aarKey
- numberOfPages
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
aarKey:
type: string
description: Chiave per recupero da safe-storage del documento aar
maxLength: 128
numberOfPages:
type: integer
description: numero di pagine del PDF generato
format: int32
AarGenerationDetails:
type: object
required:
- recIndex
- generatedAarUrl
- numberOfPages
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
generatedAarUrl:
type: string
description: Chiave per recupero da safe-storage del documento aar
maxLength: 128
numberOfPages:
type: integer
description: numero di pagine del PDF generato
format: int32
NotHandledDetails:
type: object
required:
- recIndex
- reasonCode
- reason
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
reasonCode:
type: string
description: Codice motivazione casistica non gestita
maxLength: 10
reason:
type: string
description: Motivazione casistica non gestita
maxLength: 2048
paTaxId:
description: Payment PA fiscal code
example: '77777777777'
type: string
maxLength: 11
minLength: 11
pattern: ^\d+$
noticeCode:
description: Payment notice number numero avviso
example: '302000100000019421'
type: string
maxLength: 18
minLength: 18
pattern: ^\d+$
NotificationPaidDetailsV23:
type: object
required:
- recIndex
- recipientType
- paymentSourceChannel
properties:
recIndex:
type: integer
description: Index destinatario che ha effettuato il pagamento della notifica
format: int32
recipientType:
$ref: '#/components/schemas/RecipientType'
amount:
type: integer
description: Importo di pagamento in eurocent
format: int32
creditorTaxId:
$ref: '#/components/schemas/paTaxId'
noticeCode:
$ref: '#/components/schemas/noticeCode'
idF24:
type: string
description: un UUID che identifica un pagamento f24
maxLength: 512
paymentSourceChannel:
type: string
description: Canale sorgente della richiesta di pagamento
maxLength: 512
uncertainPaymentDate:
deprecated: true
type: boolean
description: Indica se la data di pagamento é certa
eventTimestamp:
type: string
description: Data evento pagamento
format: date-time
SendAnalogProgressDetailsV23:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario che ha effettuato il pagamento della notifica
format: int32
notificationDate:
type: string
format: date-time
deliveryFailureCause:
type: string
maxLength: 10
description: Vedi deliveryFailureCause in SendAnalogFeedbackDetails
deliveryDetailCode:
type: string
maxLength: 20
description: Vedi deliveryDetailCode in SendAnalogFeedbackDetails
attachments:
type: array
items:
$ref: '#/components/schemas/AttachmentDetails'
sendRequestId:
type: string
description: RequestId della richiesta d'invio
maxLength: 512
registeredLetterCode:
type: string
description: Codice della raccomandata
maxLength: 128
serviceLevel:
$ref: '#/components/schemas/ServiceLevel'
SimpleRegisteredLetterProgressDetails:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario che ha effettuato il pagamento della notifica
format: int32
notificationDate:
type: string
format: date-time
deliveryFailureCause:
type: string
maxLength: 10
description: Vedi deliveryFailureCause in SendAnalogFeedbackDetails
deliveryDetailCode:
type: string
maxLength: 20
description: Vedi deliveryDetailCode in SendAnalogFeedbackDetails
attachments:
type: array
items:
$ref: '#/components/schemas/AttachmentDetails'
sendRequestId:
type: string
description: RequestId della richiesta d'invio
maxLength: 512
registeredLetterCode:
type: string
description: Codice della raccomandata
maxLength: 128
ProbableDateAnalogWorkflowDetails:
type: object
required:
- recIndex
- schedulingAnalogDate
properties:
recIndex:
type: integer
description: Index destinatario che ha effettuato il pagamento della notifica
format: int32
schedulingAnalogDate:
type: string
format: date-time
description: Data probabile di inizio del flusso analogico
NotificationCancellationRequestDetails:
type: object
required:
- cancellationRequestId
properties:
cancellationRequestId:
type: string
description: Id della richiesta
maxLength: 512
NotificationCancelledDetails:
type: object
required:
- notificationCost
- notRefinedRecipientIndexes
properties:
notificationCost:
description: costo notifica in euro cents, vale 100 * numero di recipient not refined
example: 1220
type: integer
format: int64
notRefinedRecipientIndexes:
type: array
items:
description: indice del recipient non perfezionato
type: integer
format: int32
PrepareAnalogDomicileFailureDetails:
type: object
required:
- recIndex
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
foundAddress:
$ref: '#/components/schemas/PhysicalAddress'
failureCause:
type: string
maxLength: 10
description: |
__Motivazione fallimento prepare
- __D00__ Indirizzo non trovato
- __D01__ Indirizzo non valido
- __D02__ Indirizzo coincidente con quello del primo tentativo
prepareRequestId:
type: string
description: RequestId della richiesta di prepare
maxLength: 512
TimelineElementDetailsV25:
description: The raw event payload that will be different based on the event.
oneOf:
- $ref: '#/components/schemas/SenderAckCreationRequestDetails'
- $ref: '#/components/schemas/NormalizedAddressDetails'
- $ref: '#/components/schemas/NotificationRequestAcceptedDetails'
- $ref: '#/components/schemas/AnalogFailureWorkflowDetails'
- $ref: '#/components/schemas/AnalogSuccessWorkflowDetails'
- $ref: '#/components/schemas/CompletelyUnreachableCreationRequestDetails'
- $ref: '#/components/schemas/CompletelyUnreachableDetails'
- $ref: '#/components/schemas/DigitalDeliveryCreationRequestDetails'
- $ref: '#/components/schemas/DigitalFailureWorkflowDetails'
- $ref: '#/components/schemas/DigitalSuccessWorkflowDetails'
- $ref: '#/components/schemas/GetAddressInfoDetails'
- $ref: '#/components/schemas/NotificationViewedCreationRequestDetailsV23'
- $ref: '#/components/schemas/NotificationViewedDetailsV23'
- $ref: '#/components/schemas/NotificationRADDRetrievedDetails'
- $ref: '#/components/schemas/PublicRegistryCallDetails'
- $ref: '#/components/schemas/PublicRegistryResponseDetails'
- $ref: '#/components/schemas/RefinementDetailsV23'
- $ref: '#/components/schemas/RequestRefusedDetailsV25'
- $ref: '#/components/schemas/ScheduleAnalogWorkflowDetailsV23'
- $ref: '#/components/schemas/ScheduleDigitalWorkflowDetailsV23'
- $ref: '#/components/schemas/ScheduleRefinementDetails'
- $ref: '#/components/schemas/SendCourtesyMessageDetails'
- $ref: '#/components/schemas/PrepareDigitalDetails'
- $ref: '#/components/schemas/SendDigitalDetails'
- $ref: '#/components/schemas/SendDigitalFeedbackDetails'
- $ref: '#/components/schemas/SendDigitalProgressDetailsV23'
- $ref: '#/components/schemas/BaseAnalogDetails'
- $ref: '#/components/schemas/SendAnalogDetails'
- $ref: '#/components/schemas/SendAnalogFeedbackDetailsV25'
- $ref: '#/components/schemas/BaseRegisteredLetterDetails'
- $ref: '#/components/schemas/SimpleRegisteredLetterDetails'
- $ref: '#/components/schemas/AarCreationRequestDetails'
- $ref: '#/components/schemas/AarGenerationDetails'
- $ref: '#/components/schemas/NotHandledDetails'
- $ref: '#/components/schemas/NotificationPaidDetailsV23'
- $ref: '#/components/schemas/SendAnalogProgressDetailsV23'
- $ref: '#/components/schemas/SimpleRegisteredLetterProgressDetails'
- $ref: '#/components/schemas/ProbableDateAnalogWorkflowDetails'
- $ref: '#/components/schemas/NotificationCancellationRequestDetails'
- $ref: '#/components/schemas/NotificationCancelledDetails'
- $ref: '#/components/schemas/PrepareAnalogDomicileFailureDetails'
TimelineElementV25:
type: object
additionalProperties: false
properties:
elementId:
type: string
maxLength: 512
description: 'Identificativo dell''elemento di timeline: insieme allo IUN della notifica definisce in maniera univoca l''elemento di timeline'
timestamp:
type: string
deprecated: true
description: Istante in cui avviene l'evento descritto in questo elemento di timeline (deprecato, fare riferimento al campo eventTimestamp)
format: date-time
ingestionTimestamp:
type: string
description: Istante in cui l'evento descritto in questo elemento di timeline è gestito da SEND
format: date-time
eventTimestamp:
type: string
description: Istante in cui avviene l'evento descritto in questo elemento di timeline
format: date-time
notificationSentAt:
type: string
description: Momento di ricezione della richiesta di notifica da parte di SEND
format: date-time
legalFactsIds:
type: array
items:
$ref: '#/components/schemas/LegalFactsIdV20'
description: Chiavi dei documenti che provano l'effettivo accadimento dell'evento descritto in timeline. Questo elemento
category:
$ref: '#/components/schemas/TimelineElementCategoryV23'
details:
$ref: '#/components/schemas/TimelineElementDetailsV25'
LegalFactCategory:
title: Tipi di atti opponibili a terzi
description: |-
Tipi di atti opponibili a terzi che Piattaforma Notifiche mette a disposizione dei suoi utenti.
- _SENDER_ACK_: atto di "presa in carico" di una notifica
- _DIGITAL_DELIVERY_: ...
type: string
enum:
- SENDER_ACK
- DIGITAL_DELIVERY
- ANALOG_DELIVERY
- RECIPIENT_ACCESS
- PEC_RECEIPT
- ANALOG_FAILURE_DELIVERY
LegalFactsId:
description: Chiavi dei documenti generati durante il processo di consegna cartacea
type: object
required:
- key
- category
properties:
key:
description: Chiave dell'atto opponibile a terzi generato durante il processo di consegna
type: string
pattern: ^(safestorage:\/\/)?[A-Za-z0-9._-]+$
maxLength: 512
category:
$ref: '#/components/schemas/LegalFactCategory'
NotificationRefusedErrorV23:
type: object
properties:
errorCode:
type: string
maxLength: 128
description: |-
Errori di rifiuto della notifica.
- FILE_NOTFOUND
- FILE_SHA_ERROR
- TAXID_NOT_VALID
- SERVICE_UNAVAILABLE
- FILE_PDF_INVALID_ERROR
- FILE_PDF_TOOBIG_ERROR
- NOT_VALID_ADDRESS
- RECIPIENT_ID_NOT_VALID
- F24_METADATA_NOT_VALID
- PAYMENT_NOT_VALID
...
detail:
type: string
maxLength: 2048
RequestRefusedDetailsV23:
type: object
properties:
refusalReasons:
type: array
description: Motivazioni che hanno portato al rifiuto della notifica
items:
$ref: '#/components/schemas/NotificationRefusedErrorV23'
SendAnalogFeedbackDetails:
type: object
required:
- recIndex
- physicalAddress
- serviceLevel
- sentAttemptMade
- responseStatus
properties:
recIndex:
type: integer
description: Index destinatario notifica digitale
format: int32
physicalAddress:
$ref: '#/components/schemas/PhysicalAddress'
serviceLevel:
$ref: '#/components/schemas/ServiceLevel'
sentAttemptMade:
type: integer
description: numero dei tentativi effettuati
format: int32
newAddress:
$ref: '#/components/schemas/PhysicalAddress'
responseStatus:
$ref: '#/components/schemas/ResponseStatus'
notificationDate:
type: string
format: date-time
deliveryFailureCause:
type: string
maxLength: 10
description: |
__Motivazione di mancata consegna__ obbligatorie negli stati di mancata consegna
- __M01__ destinatario irreperibile
- __M02__ destinatario deceduto
- __M03__ destinatario sconosciuto
- __M04__ destinatario trasferito
- __M05__ invio rifiutato
- __M06__ indirizzo inesatto
- __M07__ indirizzo inesistente
- __M08__ indirizzo insufficiente
- __F01__ - in caso di furto
- __F02__ - in caso di smarrimento
- __F03__ - in caso di deterioramento
deliveryDetailCode:
type: string
maxLength: 20
description: |
Formato: - __deliveryDetailCode__- [prodotto] - [statusCode] - statusDescription
- __CON080__- [ALL] - [PROGRESS] - Stampato ed Imbustato
- __RECRS001C__- [RS] - [OK] - Consegnato - Fascicolo Chiuso
- __RECRS002C__- [RS] - [KO] - Mancata consegna - Fascicolo Chiuso
- __RECRS002F__- [RS] - [KO] - Irreperibilità Assoluta - Fascicolo Chiuso
- __RECRS003C__- [RS] - [OK] - Consegnato presso Punti di Giacenza - Fascicolo Chiuso
- __RECRS004C__- [RS] - [OK] - Mancata consegna presso Punti di Giacenza - Fascicolo Chiuso
- __RECRS005C__- [RS] - [OK] - Compiuta giacenza - Fascicolo Chiuso
- __RECRS006__- [RS] - [PROGRESS] - Furto/Smarrimento/deterioramento
- __RECRN001C__- [AR] - [OK] - Consegnato - Fascicolo Chiuso
- __RECRN002C__- [AR] - [KO] - Mancata consegna - Fascicolo Chiuso
- __RECRN002F__- [AR] - [KO] - Irreperibilità Assoluta - Fascicolo Chiuso
- __RECRN003C__- [AR] - [OK] - Consegnato presso Punti di Giacenza - Fascicolo Chiuso
- __RECRN004C__- [AR] - [KO] - Mancata consegna presso Punti di Giacenza - Fascicolo Chiuso
- __RECRN005C__- [AR] - [OK] - Compiuta giacenza - Fascicolo Chiuso
- __RECRN006__- [AR] - [PROGRESS] - Furto/Smarrimento/deterioramento
- __RECAG001C__- [890] - [OK] - Consegnato - Fascicolo Chiuso
- __RECAG002C__- [890] - [OK] - Consegnato a persona abilitata - Fascicolo Chiuso
- __RECAG003C__- [890] - [KO] - Mancata consegna - Fascicolo Chiuso
- __RECAG003F__- [890] - [KO] - Irreperibilità Assoluta - Fascicolo Chiuso
- __RECAG004__- [890] - [PROGRESS] - Furto/Smarrimento/deterioramento
- __RECAG005C__- [890] - [OK | PROGRESS] - Consegnato presso Punti di Giacenza - Fascicolo Chiuso
- __RECAG006C__- [890] - [OK | PROGRESS] - Consegna a persona abilitata presso Punti di Giacenza - Fas. Ch.
- __RECAG007C__- [890] - [KO | PROGRESS] - Mancata consegna presso Punti di Giacenza - Fascicolo Chiuso
- __RECAG008C__- [890] - [PROGRESS] - Compiuta giacenza - Fascicolo Chiuso
- __PNAG012__- [890] - [KO] - Distacco d'ufficio 23L - Fascicolo Chiuso
- __RECRI003C__- [RIR] - [OK] - Consegnato - Fascicolo Chiuso
- __RECRI004C__- [RIR] - [KO] - Non Consegnato - fascicolo Chiuso
- __RECRI005__- [RIR] - [PROGRESS] - Furto/Smarrimento/deterioramento
- __RECRSI003C__- [RIS] - [OK] - Consegnato - Fascicolo Chiuso
- __RECRSI004C__- [RIS] - [KO] - Non Consegnato - fascicolo Chiuso
- __RECRSI005__- [RIS] - [PROGRESS] - Furto/Smarrimento/deterioramento
attachments:
type: array
items:
$ref: '#/components/schemas/AttachmentDetails'
sendRequestId:
type: string
description: RequestId della richiesta d'invio
maxLength: 512
registeredLetterCode:
type: string
description: Codice della raccomandata
maxLength: 128
TimelineElementDetailsV23:
description: The raw event payload that will be different based on the event.
oneOf:
- $ref: '#/components/schemas/SenderAckCreationRequestDetails'
- $ref: '#/components/schemas/NormalizedAddressDetails'
- $ref: '#/components/schemas/NotificationRequestAcceptedDetails'
- $ref: '#/components/schemas/AnalogFailureWorkflowDetails'
- $ref: '#/components/schemas/AnalogSuccessWorkflowDetails'
- $ref: '#/components/schemas/CompletelyUnreachableCreationRequestDetails'
- $ref: '#/components/schemas/CompletelyUnreachableDetails'
- $ref: '#/components/schemas/DigitalDeliveryCreationRequestDetails'
- $ref: '#/components/schemas/DigitalFailureWorkflowDetails'
- $ref: '#/components/schemas/DigitalSuccessWorkflowDetails'
- $ref: '#/components/schemas/GetAddressInfoDetails'
- $ref: '#/components/schemas/NotificationViewedCreationRequestDetailsV23'
- $ref: '#/components/schemas/NotificationViewedDetailsV23'
- $ref: '#/components/schemas/NotificationRADDRetrievedDetails'
- $ref: '#/components/schemas/PublicRegistryCallDetails'
- $ref: '#/components/schemas/PublicRegistryResponseDetails'
- $ref: '#/components/schemas/RefinementDetailsV23'
- $ref: '#/components/schemas/RequestRefusedDetailsV23'
- $ref: '#/components/schemas/ScheduleAnalogWorkflowDetailsV23'
- $ref: '#/components/schemas/ScheduleDigitalWorkflowDetailsV23'
- $ref: '#/components/schemas/ScheduleRefinementDetails'
- $ref: '#/components/schemas/SendCourtesyMessageDetails'
- $ref: '#/components/schemas/PrepareDigitalDetails'
- $ref: '#/components/schemas/SendDigitalDetails'
- $ref: '#/components/schemas/SendDigitalFeedbackDetails'
- $ref: '#/components/schemas/SendDigitalProgressDetailsV23'
- $ref: '#/components/schemas/BaseAnalogDetails'
- $ref: '#/components/schemas/SendAnalogDetails'
- $ref: '#/components/schemas/SendAnalogFeedbackDetails'
- $ref: '#/components/schemas/BaseRegisteredLetterDetails'
- $ref: '#/components/schemas/SimpleRegisteredLetterDetails'
- $ref: '#/components/schemas/AarCreationRequestDetails'
- $ref: '#/components/schemas/AarGenerationDetails'
- $ref: '#/components/schemas/NotHandledDetails'
- $ref: '#/components/schemas/NotificationPaidDetailsV23'
- $ref: '#/components/schemas/SendAnalogProgressDetailsV23'
- $ref: '#/components/schemas/SimpleRegisteredLetterProgressDetails'
- $ref: '#/components/schemas/ProbableDateAnalogWorkflowDetails'
- $ref: '#/components/schemas/NotificationCancellationRequestDetails'
- $ref: '#/components/schemas/NotificationCancelledDetails'
- $ref: '#/components/schemas/PrepareAnalogDomicileFailureDetails'
TimelineElementV23:
type: object
additionalProperties: false
properties:
elementId:
type: string
maxLength: 512
description: 'Identificativo dell''elemento di timeline: insieme allo IUN della notifica definisce in maniera univoca l''elemento di timeline'
timestamp:
type: string
description: Momento in cui avviene l'evento descritto in questo elemento di timeline
format: date-time
legalFactsIds:
type: array
items:
$ref: '#/components/schemas/LegalFactsId'
description: Chiavi dei documenti che provano l'effettivo accadimento dell'evento descritto in timeline. Questo elemento
category:
$ref: '#/components/schemas/TimelineElementCategoryV23'
details:
$ref: '#/components/schemas/TimelineElementDetailsV23'
TimelineElementV24:
type: object
additionalProperties: false
properties:
elementId:
type: string
maxLength: 512
description: 'Identificativo dell''elemento di timeline: insieme allo IUN della notifica definisce in maniera univoca l''elemento di timeline'
timestamp:
type: string
deprecated: true
description: Istante in cui avviene l'evento descritto in questo elemento di timeline (deprecato, fare riferimento al campo eventTimestamp)
format: date-time
ingestionTimestamp:
type: string
description: Istante in cui l'evento descritto in questo elemento di timeline è gestito da SEND
format: date-time
eventTimestamp:
type: string
description: Istante in cui avviene l'evento descritto in questo elemento di timeline
format: date-time
notificationSentAt:
type: string
description: Momento di ricezione della richiesta di notifica da parte di SEND
format: date-time
legalFactsIds:
type: array
items:
$ref: '#/components/schemas/LegalFactsId'
description: Chiavi dei documenti che provano l'effettivo accadimento dell'evento descritto in timeline. Questo elemento
category:
$ref: '#/components/schemas/TimelineElementCategoryV23'
details:
$ref: '#/components/schemas/TimelineElementDetailsV23'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key