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