From db7cc3c416905c71bc24efc3abbca94e719f2c0a Mon Sep 17 00:00:00 2001 From: MicheleBellizziNTT <123062173+MicheleBellizziNTT@users.noreply.github.com> Date: Wed, 4 Dec 2024 09:52:19 +0100 Subject: [PATCH] Aggiornamento Emulator 2.4 (#168) -allineamento con api presenti sul dev portal Co-authored-by: MicheleBellizziNTT --- openapi/bundled-api-external-b2b-pa-v2-4.yaml | 8206 +++++++++++++++++ ...generate-the-bundled-openapi-definition.md | 4 +- package-lock.json | 4 +- package.json | 4 +- .../__tests__/router.test.ts | 2 +- .../http/consumeEventStream/router.ts | 2 +- .../__tests__/router.test.ts | 2 +- src/adapters/http/createEventStream/router.ts | 2 +- .../__tests__/router.test.ts | 2 +- src/adapters/http/deleteEventStream/router.ts | 2 +- .../__tests__/router.test.ts | 2 +- .../http/getNotificationDetail/router.ts | 2 +- .../getStreamById/__tests__/router.test.ts | 2 +- src/adapters/http/getStreamById/router.ts | 2 +- .../listEventStream/__test__/router.test.ts | 2 +- src/adapters/http/listEventStream/router.ts | 2 +- .../updateEventStream/__test__/router.test.ts | 2 +- src/adapters/http/updateEventStream/router.ts | 2 +- 18 files changed, 8226 insertions(+), 20 deletions(-) create mode 100644 openapi/bundled-api-external-b2b-pa-v2-4.yaml diff --git a/openapi/bundled-api-external-b2b-pa-v2-4.yaml b/openapi/bundled-api-external-b2b-pa-v2-4.yaml new file mode 100644 index 00000000..2f891081 --- /dev/null +++ b/openapi/bundled-api-external-b2b-pa-v2-4.yaml @@ -0,0 +1,8206 @@ +openapi: 3.0.3 +info: + title: "Piattaforma Notifiche: API B2B per le Pubbliche Amministrazioni" + description: "\n## Abstract\n API utilizzate dalle pubbliche amministrazioni per\ + \ __inviare richieste di notifiche__ e \n __ottenere informazioni in modalit�\ + \ pull__ sullo stato della \n _\"richiesta di notifica\"_ (accettata o rifiutata)\ + \ e, in caso di richiesta accettata, \n sulle comunicazioni effettuate, o solo\ + \ tentate, nei confronti dei destinatari della notifica.\n\n## Operazioni utilizzate,\ + \ in sequenza temporale\n\n\n\n\n\ + \ \n\n
\n\n \"Invio\n\n
\n
\n\ + \
\n \n #### 3. Verifica accettazione richiesta di invio notifica\n\n\ + \ Per questa verifica possono essere utilizzate due modalit�:\n \n 1. __richiesta\ + \ puntuale__: consigliato solo ai fini di test\n 2. __lettura da stream configurato__:\ + \ consigliato per ambienti di produzione\n \n La differenza tra le due modalit�\ + \ � nell'interazione e nell'efficienza.\n \n Con la modalit� _\"richiesta puntuale\"\ + _ � necessaria l'invocazione per ogni notifica,\n mentre con la modalit� _\"\ + stream\"_ � possibile avere gli aggiornamenti\n di stato di pi� notifiche con\ + \ una sola invocazione.\n \n #### 3.1 Richiesta puntuale di verifica accettazione\n\ + \n Questa modalit� � resa disponibile solo ai fini di test o di eventuali operazioni\n\ + \ di allineamento. Richiede l'invio di una richiesta per ogni notifica.\n Se\ + \ il passo (2) avviene con successo si utilizza l'operazione \n [getNotificationRequestStatus](#/SenderReadB2B/retrieveNotificationRequestStatusV23)\n\ + \ per ottenere informazioni riguardo allo stato della \"richiesta di invio di\ + \ notifica\".
\n Nel campo _notificationRequestStatus_ sar� indicato:
\n\ + \ >\\- WAITING: se la validazione � ancora in corso.
\n\ + \ \\- ACCEPTED: se richiesta di notifica accettata, lo _IUN_\ + \ � valorizzato.
\n \\- REFUSED: se richiesta di notifica\ + \ rifiutata, � valorizzato il campo _errors_.
\n
\n
\n
\n\ + \n #### 3.2 Richiesta avanzamento via \"stream\" di verifica di accettazione\n\ + \n Questa � la modalit� consigliata. Per essere utilizzata � necessaria un'operazione\ + \ preliminare\n tramite la chiamata alla API [createEventStream](https://petstore.swagger.io/?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpagopa%2Fpn-delivery-push%2Fmain%2Fdocs%2Fopenapi%2Fapi-external-b2b-webhook.yaml#/Streams/createEventStream)\n\ + \ per configurare uno \"stream\" che registri il cambio di stato della notifica\ + \ con il seguente payload:

``\n {\n \"title\": \"NotificationAccepted\"\ + ,\n \"eventType\": \"STATUS\",\n \"filterValues\": [\n \"ACCEPTED\"\ + \n ]\n }\n ``

\n Successivamente si possono ottenere i dati richiamando\ + \ la API [consumeEventStream](https://petstore.swagger.io/?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpagopa%2Fpn-delivery-push%2Fmain%2Fdocs%2Fopenapi%2Fapi-external-b2b-webhook.yaml#/Events/consumeEventStream)\n\ + \ \n \n __NOTA__ saranno disponibili i dati di cambiamento di stato occorsi\ + \ solo successivamente alla configurazione\n dello stream.\n \n
\n
\n\ + \
\n
\n \n
\n\n ### Ciclo di vita della notifica lato\ + \ mittente\n \n #### 1. Caricamento dei documenti della notifica\n\n Prima\ + \ di invocare la richiesta di notifica � necessario caricare i documenti della\ + \ notifica (documenti e bollettini/metadata di pagamento).\n [Schema Metadata\ + \ F24](#/components/schemas/F24Metadata)\n\n #### 1.a. Richiesta presigned Url\n\ + \ \n Invocare l'operazione [presignedUploadRequest](#/NewNotification/presignedUploadRequest)\ + \ \n con cui prenotare il caricamento. Possono essere effettuate un massimo di\ + \ 15 prenotazioni di caricamento\n\ + \ per ogni richiesta.
\n In risposta si ottengono le seguenti informazioni:
\n\ + \ \\- httpMethod
\n \\- secret
\n \\- url
\n L'url restituito\ + \ ha una validit� di 1h.\n \n
\n\n #### 1.b Upload documenti della notifica\n\ + \ \n Per ogni documento utilizzare un richiesta HTTP con metodo _httpMethod_\ + \ (POST o PUT) \n all'url indicato dal campo _url_.
\n In tale richiesta\ + \ vanno aggiunti i seguenti header:
\n \\- _content-type_: valorizzato come\ + \ il campo \"contentType\" della richiesta di cui al punto (1.a)
\n \\-\ + \ _x-amz-meta-secret_: valorizzato con il valore del campo \"secret\" della risposta\ + \ di cui al punto (1.a)
\n \\- _trailer_: valorizzato con ```x-amz-checksum-sha256```\ + \
\n \\- _x-amz-checksum-sha256_: valorizzato con il checksum sha256, codificato\ + \ in base 64, del contenuto binario del file che verr� caricato. (__N.B.__ questo\ + \ � un trailer HTTP non un header).\n Vedi [HTTP Trailer](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Trailer)\ + \
\n __NOTA:__ se l'operazione di upload � stata eseguita con successo,\ + \ si otterr� come risposta _status 200 OK_.
\n Nell'header di questa risposta,\ + \ si otterr� il campo __x-amz-version-id__ che dovr� essere utilizzato durante\ + \
\n l'inserimento della notifica, nel campo ref.__versionToken__ in\ + \ corrispondenza del documento ad esso associato.\n\n \n
\n
\n
\n\ + \ \n #### 2. Richiesta di invio della notifica\n\n Per effettuare una richiesta\ + \ di invio notifica, invocare l'operazione \n [sendNewNotification](#/NewNotification/sendNewNotificationV21)\ + \ valorizzando il campo payments (scegliendo in base alla tipologia di\ + \ file caricato F24/pagoPa) e il campo documents utilizzando\ + \ i riferimenti dei file\n caricati in precedenza nel seguente:\n
\n\ + \ - digests.sha256 : SHA256 associato all'allegato caricato\n - contentType\ + \ : in caso la tipologia dell'allegato fosse documento e avviso\ + \ di pagamento dovr� essere popolato con \"application/pdf\" in caso di F24\ + \ invece dovr� contenere \"application/json\"\n - ref.key: key ottenuta\ + \ nella response della chiamata [presignedUploadRequest](#/NewNotification/presignedUploadRequest)\n\ + \ - ref.versionToken: valore dell'header x-amz-version-id ottenuto dalla\ + \ response in fase di upload dell'allegato ad esso associato.\n
\n \ + \ Nel caso si voglia valorizzare il campo payments con un bolletino di\ + \ pagamento pagoPa oltre al riferimento al file tramite la sezione pagoPaForm\ + \ con le indicazioni riportate sopra, sono da valorizzare i campi noticeCode\ + \ \"codice avviso pagoPA\" ,univoco, di pagamento del sistema pagoPA utilizzato\ + \ , usato per pagamento online;\n creditorTaxId: codice fiscale dell'ente\ + \ a cui fa riferimento il \"codice avviso pagoPA\"; il campo\n applyCost:\ + \ flag per indicare se l'avviso pagoPA deve contenere i costi di notifica e il\ + \ campo\n
\n Nel caso,invece, nel campo payments si voglia valorizzare\ + \ un pagamento F24,oltre al riferimento al file caricato tramite la sezione\ + \ metadataAttachment con le indicazioni riportate sopra, sono da valorizzare\ + \ i campi title: titolo del documento pdf da mostrare all'utente e\n \ + \ applyCost: flag per indicare se il modello F24 deve contenere i costi\ + \ di notifica.\n\n
\n
\n
\n\n \"Verifica\n
\n\n\n ### 4. Monitorare l'avanzamento di una notifica\n\n\ + \ Per questa verifica possono essere utilizzate due modalit�:\n 1. __monitoraggio\ + \ puntuale__: consigliato solo ai fini di test\n 2. __monitoraggio tramite\ + \ stream__: consigliato per ambienti di produzione\n\n #### 4.1 Monitoraggio\ + \ puntuale\n\n Se la \"richiesta di invio di notifica\" passa le validazioni\ + \ viene trasformata in \"notifica\" . Sar� possibile\n identificarla dallo IUN\ + \ restituito dall'operazione\n [getNotificationRequestStatus](#/SenderReadB2B/retrieveNotificationRequestStatusV23).
\ + \ \n A questo punto, si potranno utilizzare l'operazione _GET /delivery/v2.4/notifications/sent/{iun}_\ + \ per\n ottenere i dettagli della notifica, la _timeline_ che dettaglia il perfezionamento\ + \ della\n notifica per il mittente e l'avanzamento delle comunicazioni nei confronti\ + \ dei destinatari.\n \n #### 4.2 Monitoraggio tramite stream\n\n Questa � la\ + \ modalit� consigliata in produzione. Per essere utilizzata � necessaria un'operazione\ + \ preliminare\n tramite la chiamata alla API [createEventStream](#/Streams/createEventStream)\n\ + \ per configurare uno \"stream\" che registri il cambio di stato della notifica\ + \ con il seguente payload di esempio:

``\n {\n \"title\": \"NotificationAccepted\"\ + ,\n \"eventType\": \"STATUS\"\n }\n ``

che permette di monitorare\ + \ gli eventi di tipo \"STATO\". Successivamente si pu� ottenere il dettaglio della\ + \ stream appena creata chiamando la \n API [getEventStream](https://petstore.swagger.io/?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpagopa%2Fpn-delivery-push%2Fdevelop%2Fdocs%2Fopenapi%2Fapi-external-b2b-webhook.yaml#/Streams/getEventStream),\ + \ mentre si possono ottenere i dati degli eventi richiamando la API [consumeEventStream](https://petstore.swagger.io/?url=https%3A%2F%2Fraw.githubusercontent.com%2Fpagopa%2Fpn-delivery-push%2Fdevelop%2Fdocs%2Fopenapi%2Fapi-external-b2b-webhook.yaml#/Events/consumeEventStream)\n\ + \n\n ``

che permette di monitorare gli eventi di tipo \"STATO\". Successivamente\ + \ si pu� ottenere il dettaglio \n dello stream appena creato chiamando la API\ + \ [getEventStream](#/Streams/getEventStream)), mentre si possono \n ottenere\ + \ i dati degli eventi richiamando la API [consumeEventStream](#/Streams/consumeEventStream)\n\ + \n\n __NOTA__ saranno disponibili i dati di cambiamento di stato occorsi solo\ + \ successivamente alla configurazione\n dello stream.\n\n
\n\n ### 5.\ + \ Download dei Legal Facts\n\n � possibile scaricare le Attestazioni Opponibili\ + \ a Terzi e gli altri documenti conservati da Piattaforma Notifiche attraverso\ + \ il servizio di [download Legal Fact](#/LegalFacts/downloadLegalFactById) passando\ + \ all'interno del path lo Iun, il legalFactType\ + \ ed il legalFactId; si otterr� nella response un link che permette\ + \ di scaricare il documento richiesto.
Per ottenere il legalFactType\ + \ ed il legalFactId bisogna chiamare il servizio di [lettura\ + \ dettaglio notifica](#/SenderReadB2B/retrieveSentNotificationV21) con lo {Iun}\ + \ della notifica di interesse: all'interno del campo timeline della response\ + \ � possibile trovare l'elenco degli eventi di quella notifica ed i legalFactType\ + \ e legalFactId in corrispondenza degli eventi che generano documenti.\n\ + \ \n
\n
\n AMBIENTI\n\ + \ + \


\n\n\n# Piattaforma Notifiche: API B2B avanzamento notifiche\n\ + \nI mittenti di notifiche possono seguire il loro flusso di avanzamento in modo\ + \ automatico.\n\nTramite la configurazione di flussi (stream) � possibile ottenere,\ + \ in modo massivo, le informazioni informazioni relative a:\n - cambiamento di\ + \ stato delle notifiche\n - inserimento di elementi di timeline delle notifiche\n\ + \n\n� possibile definire fino ad un __massimo di 10 configurazioni di flussi attive per singola PA__.\n\n__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.\n## Filtraggio\ + \ degli eventi\nLa 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.
\n\n__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.\n\n | Fase\ + \ del workflow | Categoria eventi |\n |-------------------|------------------|\n\ + \ | Eventi di validazione | REQUEST_REFUSED, REQUEST_ACCEPTED |\n | Eventi del\ + \ workflow digitale | SEND_DIGITAL_DOMICILE, SEND_DIGITAL_FEEDBACK, DIGITAL_SUCCESS_WORKFLOW,\ + \ DIGITAL_FAILURE_WORKFLOW, SEND_SIMPLE_REGISTERED_LETTER, SIMPLE_REGISTERED_LETTER_PROGRESS\ + \ |\n | Eventi del workflow analogico | SEND_ANALOG_DOMICILE ,SEND_ANALOG_PROGRESS,\ + \ SEND_ANALOG_FEEDBACK, ANALOG_SUCCESS_WORKFLOW, ANALOG_FAILURE_WORKFLOW, COMPLETELY_UNREACHABLE\ + \ |\n | Eventi di chiusura del workflow | REFINEMENT, NOTIFICATION_VIEWED, NOTIFICATION_CANCELLED\ + \ |\n | Altri eventi | NOTIFICATION_RADD_RETRIEVED |\n\nIl 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.\n\ + \n\n### Filtri applicabili ai flussi di cambiamento di stato della notifica\n\ + Gli stati della notifica che possono essere inseriti come __filterValues__ sono\ + \ i seguenti:\nStati - v1:\n - __ACCEPTED__: L'ente ha depositato la notifica\ + \ con successo.\n - __REFUSED__: Notifica rifiutata a seguito della validazione.\n\ + \ - __DELIVERING__: L'invio della notifica � in corso.\n - __DELIVERED__: La\ + \ notifica � stata consegnata a tutti i destinatari.\n - __VIEWED__: Il destinatario\ + \ ha letto la notifica entro il termine stabilito.\n - __EFFECTIVE_DATE__: Il\ + \ destinatario non ha letto la notifica entro il termine stabilito.\n - __UNREACHABLE__:\ + \ Il destinatario non � reperibile.\n - __CANCELLED__: L'ente ha annullato l'invio\ + \ della notifica.\n\n### Filtri applicabili ai flussi di eventi di timeline\n\ + Le categorie degli eventi di timeline che possono essere inseriti come __filterValues__\ + \ sono i seguenti:\n
\n Eventi di timeline - v1\n\n\ + \ | Categoria | Descrizione |\n |-----------|-------------|\n |__SENDER_ACK_CREATION_REQUEST__\ + \ | Invio della richiesta di creazione dell'atto opponibile a terzi di presa in\ + \ carico per il mittente a safe storage |\n |__VALIDATE_NORMALIZE_ADDRESSES_REQUEST__\ + \ | Invio della richiesta di validazione e normalizzazione indirizzi fisici presenti\ + \ nella richiesta di notifica |\n |__NORMALIZED_ADDRESS__ | Ricezione esito normalizzazione\ + \ indirizzo |\n |__REQUEST_ACCEPTED__ | Richiesta di notifica accettata a seguito\ + \ dei controlli di validazione. |\n |__AAR_CREATION_REQUEST__ | Invio della richiesta\ + \ di creazione dell'AAR (Avviso di Avvenuta Ricezione) a safe storage |\n |__SEND_COURTESY_MESSAGE__\ + \ | Invio di un messaggio di cortesia. |\n |__GET_ADDRESS__ | Disponibilit� dell�\ + indirizzo specifico (domicilio digitale di piattaforma, domicilio digitale speciale,\ + \ domicilio digitale generale, indirizzo fisico sulla notifica o sui registri\ + \ nazionali). |\n |__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. |\n |__PUBLIC_REGISTRY_RESPONSE__\ + \ | Ricevuta la risposta dei registri pubblici. |\n |__SCHEDULE_ANALOG_WORKFLOW__\ + \ | Pianificazione del workflow per invio cartaceo |\n |__SCHEDULE_DIGITAL_WORKFLOW__\ + \ | Pianificazione del workflow per invio digitale (PEC) del secondo tentativo\ + \ in caso di fallimento del primo. |\n |__PREPARE_DIGITAL_DOMICILE__ | Preparazione\ + \ per l�invio dell�avviso digitale.Va a valutare la timeline per capire quale\ + \ sar� il prossimo indirizzo da usare. |\n |__SEND_DIGITAL_PROGRESS__ | Tentativo\ + \ di Invio PEC ad un determinato indirizzo. |\n |__SEND_DIGITAL_DOMICILE__ |\ + \ Invio digitale dell�avviso di notifica |\n |__SEND_DIGITAL_FEEDBACK__ | Ottenuto\ + \ esito ad un invio digitale |\n |__REFINEMENT__ | Perfezionamento per decorrenza\ + \ termini |\n |__SCHEDULE_REFINEMENT__ | Pianificato il perfezionamento per decorrenza\ + \ termini |\n |__DIGITAL_SUCCESS_WORKFLOW__ | Completato con successo il workflow\ + \ di invio digitale. |\n |__DIGITAL_FAILURE_WORKFLOW__ | Completato con fallimento\ + \ il workflow di invio digitale: __tutti i tentativi di invio ai domicili digitali\ + \ sono falliti.__ |\n |__ANALOG_SUCCESS_WORKFLOW__ | Completato con successo\ + \ il workflow di invio cartaceo. |\n |__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\ + \ |\n |__PREPARE_SIMPLE_REGISTERED_LETTER__ | Invio richiesta di prepare (preparazione\ + \ ad invio) raccomandata semplice a paperChannel |\n |__SEND_SIMPLE_REGISTERED_LETTER__\ + \ | Invio di raccomandata semplice |\n |__SIMPLE_REGISTERED_LETTER_PROGRESS__\ + \ | Ricezione informazioni intermedia relative ad una notificazione cartacea semplice\ + \ |\n |__NOTIFICATION_VIEWED_CREATION_REQUEST__ | Invio della richiesta di creazione\ + \ dell'atto opponibile a terzi di presa visione a safe storage |\n |__NOTIFICATION_VIEWED__\ + \ | Visualizzazione della notifica (perfeziona la notifica se non gi� perfezionata\ + \ per decorrenza termini o da altro destinatario) |\n |__PREPARE_ANALOG_DOMICILE__\ + \ | Invio richiesta di prepare (preparazione ad invio) cartaceo a paperChannel\ + \ |\n |__SEND_ANALOG_PROGRESS__ | Ricezione informazioni intermedia relative\ + \ ad una notificazione cartacea |\n |__SEND_ANALOG_FEEDBACK__ | Ricezione esito\ + \ dell'invio cartaceo. |\n |__SEND_ANALOG_DOMICILE__ | Invio cartaceo dell�avviso\ + \ di notifica |\n |__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 |\n |__COMPLETELY_UNREACHABLE__\ + \ | Tutti i destinatari risultano irraggiungibili |\n |__REQUEST_REFUSED__ |\ + \ Richiesta di notifica rifiutata per fallimento di validazione. |\n |__AAR_GENERATION__\ + \ | Generazione dell�AAR (Avviso di Avvenuta Ricezione) |\n |__PROBABLE_SCHEDULING_ANALOG_DATE__\ + \ |Data probabile di inizio del flusso analogico |\n |__PREPARE_ANALOG_DOMICILE_FAILURE__\ + \ | Fallimento della richiesta di prepare (preparazione ad invio) cartaceo a paperChannel\ + \ |\n\n
\n\n
\n Eventi di timeline - v2 (tutti\ + \ gli elementi v1 + gli elementi seguenti)\n\n | Categoria | Descrizione\ + \ |\n |-----------|-------------|\n |__NOTIFICATION_CANCELLATION_REQUEST__ |\ + \ Richiesta di annullamento di una notifica |\n |__NOTIFICATION_CANCELLED__ |\ + \ Notifica annullata: completamento della richiesta di annullamento di una notifica\ + \ |\n |__PREPARE_ANALOG_DOMICILE_FAILURE__ | Fallimento della richiesta di prepare\ + \ (preparazione ad invio) cartaceo a paperChannel |\n\n
\n\n
\n\ + \ Eventi di timeline - v2.3 (tutti gli elementi v1 + v2 + gli elementi\ + \ seguenti)\n\n | Categoria | Descrizione |\n |-----------|-------------|\n\ + \ |__NOTIFICATION_RADD_RETRIEVED__ | Accesso alla notifica tramite la rete RADD.\ + \ Non perfeziona la notifica |\n\n
\n\n## Segregazione per gruppi (dalla\ + \ versione 2.3)\nCos� 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.\nAd 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.\n\ + __NOTA__: Le api-key senza associazione a gruppi possono agire su tutti i gruppi.\n\ + ## Operazioni sugli stream\nLe operazioni sugli stream (tag __Streams__) per la\ + \ gestione della configurazione:\n - [Creazione](#/Streams/createEventStream)\n\ + \ - [Elenco degli stream configurati](#/Streams/listEventStreams)\n - [Recupero\ + \ Configurazione](#/Streams/retrieveEventStream)\n - [Modifica Configurazione](#/Streams/updateEventStream)\n\ + \ - [Cancellazione](#/Streams/removeEventStream)\n - [Disabilitazione](#/Streams/disableEventStream)\n\ + \n## Procedura di migrazione agli stream v2.3\nPer migrare uno stream dalla versione\ + \ precedente � sufficiente indicare nel parametro _replacedId_ l'identificativo\ + \ dello stream precedente in fase di creazione.\n\nIl nuovo stream viene creato\ + \ e contemporaneamente lo stream precedente viene disabilitato.\n\nIl mittente\ + \ deve mantenere attiva la lettura sullo stream precedente fino a consumare tutti\ + \ gli eventi contenuti e poi migrare la lettura sul nuovo stream.\n\n## Disabilitazione\ + \ di uno stream (dalla versione 2.3)\nDalla versione 2.3 � possibile disabilitare\ + \ uno stream tramite la chiamata alla API _disableEventStream_.\n\nUno stream\ + \ disabilitato non pu� essere riabilitato, ma � possibile consumare gli eventuali\ + \ eventi e sar� eliminato automaticamente dopo 14 giorni.\n\n## Lettura degli eventi dallo stream\nLe operazioni con\ + \ il tag __Events__ sono quelle utilizzate per la [lettura degli eventi](#/Events/consumeEventStream)\ + \ filtrati in base alla configurazione impostata negli streams.\n\nLa API restituisce\ + \ un __massimo di 50 elementi per chiamata__.\n\ + \nSe 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.\n\nPer 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.\n\nSe 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.\n\n__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)\n\ + \n\n
\n Esempio di utilizzo della API\n\n### Flusso\ + \ contenente tutte le notifiche in stato Cancellato:\nIl payload da passare alla\ + \ API di creazione del flusso _createEventStream_ �\n```json\n{\n \"title\":\ + \ \"NotificationCancelled\",\n \"eventType\": \"STATUS\",\n \"groups\": [],\n\ + \ \"filterValues\": [\n \"CANCELLED\"\n ]\n}\n```\n\n\n### Flusso contenente\ + \ tutte le notifiche in stato Accettato o Consegnato:\nIl payload da passare alla\ + \ API di creazione del flusso _createEventStream_ �\n```json\n{\n \"title\":\ + \ \"NotificationAcceptedOrDelivered\",\n \"eventType\": \"STATUS\",\n \"groups\"\ + : [],\n \"filterValues\": [\n \"ACCEPTED\",\"DELIVERED\"\n ]\n}\n```\n###\ + \ Flusso contenente tutti gli eventi di timeline NOTIFICATION_VIEWED:\nIl payload\ + \ da passare alla API di creazione del flusso _createEventStream_ �\n```json\n\ + {\n \"title\": \"TimelineNotificationViewed\",\n \"eventType\": \"TIMELINE\"\ + ,\n \"groups\": [],\n \"filterValues\": [\n \"NOTIFICATION_VIEWED\"\n ]\n\ + }\n```\n\n### Flusso contenente tutti gli eventi per le notifiche create con il\ + \ gruppo \"contravvenzioni\":\nIl payload da passare alla API di creazione del\ + \ flusso _createEventStream_ �\n```json\n{\n \"title\": \"TimelineNotificationViewed\"\ + ,\n \"eventType\": \"TIMELINE\",\n \"groups\": [\"contravvenzioni\"],\n \"\ + filterValues\": []\n}\n```\nNOTA: solo api-key \"master\" o con il gruppo \"contravvenzioni\"\ + \ possono creare e consumare questo flusso.\n\n### Flusso contenente tutti gli\ + \ eventi di timeline NOTIFICATION_VIEWED per le notifiche create con il gruppo\ + \ \"contravvenzioni\" e \"tributi\":\nIl payload da passare alla API di creazione\ + \ del flusso _createEventStream_ �\n```json\n{\n \"title\": \"TimelineNotificationViewed\"\ + ,\n \"eventType\": \"TIMELINE\",\n \"groups\": [\"contravvenzioni\", \"tributi\"\ + ],\n \"filterValues\": [\n \"NOTIFICATION_VIEWED\"\n ]\n}\n```\n\nNOTA: 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.\n\n\n\n
\n\nLe\ + \ __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/)" + termsOfService: https://selfcare.notifichedigitali.it/termini-di-servizio + contact: + name: "SEND: supporto enti" + url: https://pagopa.atlassian.net/servicedesk/customer/portal/5 + version: 1.0.0 + x-api-id: api-external-b2b-pa + x-summary: "Piattaforma Notifiche: API B2B per le Pubbliche Amministrazioni" +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 di Piattaforma Notifiche # il servizio\ + \ � ancora in fase di sviluppo" +- name: NewNotification + description: Invocazioni per effettuare il pre-caricamento dei documenti della notifica + e inviare notifiche +- name: SenderReadB2B + description: Invocazioni utilizzabili dai mittenti per verificare lo stato delle + richieste di notifica inviate e delle notifiche accettate. +- name: NotificationPrice + description: Invocazioni per determinare il costo della notifica per il destinatario. +- name: LegalFacts + description: Invocazioni per effettuare il download degli atti opponibili a terzi +- name: PaymentEvents + description: Invocazioni per comunicare eventi di pagamento dalla PA +- name: NotificationCancellation + description: Annullamento di una notifica +- 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: + tags: + - HealthCheck + summary: status path + description: status path per verificare lo stato di Piattaforma Notifiche + operationId: status + responses: + "200": + description: Ok + content: + application/problem+json: + schema: + $ref: '#/components/schemas/PnStatusResponse' + example: + functionalities: + - NOTIFICATION_CREATE + - NOTIFICATION_VISUALIZATION + - NOTIFICATION_WORKFLOW + openIncidents: [] + "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/PnStatusResponse' + example: + functionalities: + - NOTIFICATION_CREATE + - NOTIFICATION_VISUALIZATION + - NOTIFICATION_WORKFLOW + openIncidents: + - functionality: NOTIFICATION_CREATE + status: KO + startDate: 2019-08-24T14:15:22Z + /delivery/attachments/preload: + post: + tags: + - NewNotification + summary: Richiesta di pre-caricamento dei documenti della notifica + description: Operazione che richiede a Piattaforma Notifica le informazioni + e le autorizzazioni necessarie a precaricare uno o più file da allegare a + una notifica.
+ operationId: presignedUploadRequest + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PreLoadBulkRequest' + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PreLoadResponse' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery/v2.4/requests: + get: + tags: + - SenderReadB2B + summary: Verifica accettazione richiesta notifica + description: Questa operazione serve per verificare se la richiesta di notifica + � stata accettata e ottenere lo IUN associato a tale richiesta.
Bisogna + specificare il parametro _requestId_ oppure la coppia costituita dai parametri _paProtocolNumber_ + e _idempotenceToken_.
+ operationId: retrieveNotificationRequestStatusV24 + parameters: + - name: notificationRequestId + in: query + description: identificativo della richiesta di notifica + required: false + style: form + explode: true + schema: + maxLength: 36 + pattern: "^[A-Za-z0-9+/=]{36}$" + type: string + - name: paProtocolNumber + in: query + description: "Numero di protocollo associato alla notifica, pu� essere riutilizzato\ + \ per rettifiche." + required: false + style: form + explode: true + schema: + maxLength: 256 + pattern: ^.*$ + type: string + - name: idempotenceToken + in: query + description: token usato per disambiguare "richieste di notificazione" effettuate + con lo stesso numero di protocollo. + required: false + style: form + explode: true + schema: + maxLength: 256 + pattern: "^[ -~]*$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationRequestStatusResponseV24' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: Not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + post: + tags: + - NewNotification + summary: Richiesta invio notifica + description: |- + Operazione utilizzata dalla Pubblica Amministrazione per richiedere l'invio di una notifica. + + La restituzione di uno stato HTTP 202 significa solo che la richiesta � sintatticamente + valida, non che la richiesta sia stata validata ed accettata.
+ Per conoscere lo stato di accettazione della richiesta di notifica bisogna utilizzare l'operazione + _getNotificationRequestStatus_ oppure utilizzare la modalit� push prevista dai webhook.
+ operationId: sendNewNotificationV24 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationRequestV24' + required: true + responses: + "202": + description: Accepted + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationResponse' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "409": + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery/v2.5/notifications/sent/{iun}: + get: + tags: + - SenderReadB2B + summary: "Mittente: lettura dettagli notifica versione 2" + description: Questa operazione permette di leggere tutti i dettagli di una notifica + accettata.
+ operationId: retrieveSentNotificationV25 + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/FullSentNotificationV25' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery/notifications/sent/{iun}/attachments/documents/{docIdx}: + get: + tags: + - SenderReadB2B + summary: Download documento notificato + description: Download documento notificato + operationId: retrieveSentNotificationDocument + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + - name: docIdx + in: path + description: indice del documento nella lista partendo da 0. + required: true + style: simple + explode: false + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationAttachmentDownloadMetadataResponse' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery/notifications/sent/{iun}/attachments/payment/{recipientIdx}/{attachmentName}: + get: + tags: + - SenderReadB2B + summary: Download allegato per pagamento + description: Download allegato per pagamento + operationId: retrieveSentNotificationAttachment + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + - name: recipientIdx + in: path + description: indice del destinatario nella lista partendo da 0. + required: true + style: simple + explode: false + schema: + type: integer + format: int32 + - name: attachmentName + in: path + description: Tipologia del pagamento allegato alla notifica. Valori possibili + PAGOPA|F24 + required: true + style: simple + explode: false + schema: + maxLength: 6 + minLength: 3 + pattern: PAGOPA|F24 + type: string + - name: attachmentIdx + in: query + description: indice del documento di pagamento partendo da 0 + required: false + style: form + explode: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationAttachmentDownloadMetadataResponse' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery/v2.3/price/{paTaxId}/{noticeCode}: + get: + tags: + - NotificationPriceV23 + summary: Retrieve notification partial price and total price with effective + date + description: Usata dagli enti per recuperare il costo di notificazione tramite + l'identificativo della posizione debitoria paTaxId e noticeCode. Viene restituito + sia il costo parziale che il costo totale di notificazione. + operationId: retrieveNotificationPriceV23 + parameters: + - name: paTaxId + in: path + description: Payment PA fiscal code + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/paTaxId' + example: "77777777777" + - name: noticeCode + in: path + description: Payment notice number numero avviso + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/noticeCode' + example: "302000100000019421" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPriceResponseV23' + "400": + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: 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/events/payment/pagopa: + post: + tags: + - PaymentEvents + description: Questa API � a disposizione della Pubblica Amministrazione per + inviare eventi di chiusura di una o pi� posizioni debitorie di tipo PagoPA. +
+ operationId: paymentEventsRequestPagoPa + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentEventsRequestPagoPa' + required: true + responses: + "204": + description: OK + "400": + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: 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/events/payment/f24: + post: + tags: + - PaymentEvents + description: Questa API � a disposizione della Pubblica Amministrazione per + inviare eventi di chiusura di una o pi� posizioni debitorie di tipo F24.
+ operationId: paymentEventsRequestF24 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentEventsRequestF24' + required: true + responses: + "204": + description: OK + "400": + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: 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' + deprecated: true + /delivery/requests: + get: + tags: + - SenderReadB2B + summary: Verifica accettazione richiesta notifica + description: Questa operazione serve per verificare se la richiesta di notifica + � stata accettata e ottenere lo IUN associato a tale richiesta.
Bisogna + specificare il parametro _requestId_ oppure la coppia costituita dai parametri _paProtocolNumber_ + e _idempotenceToken_.
+ operationId: retrieveNotificationRequestStatus + parameters: + - name: notificationRequestId + in: query + description: identificativo della richiesta di notifica + required: false + style: form + explode: true + schema: + maxLength: 36 + pattern: "^[A-Za-z0-9+/=]{36}$" + type: string + - name: paProtocolNumber + in: query + description: "Numero di protocollo associato alla notifica, pu� essere riutilizzato\ + \ per rettifiche." + required: false + style: form + explode: true + schema: + maxLength: 256 + pattern: ^.*$ + type: string + - name: idempotenceToken + in: query + description: token usato per disambiguare "richieste di notificazione" effettuate + con lo stesso numero di protocollo. + required: false + style: form + explode: true + schema: + maxLength: 256 + pattern: "^[ -~]*$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationRequestStatusResponse' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: Not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true + post: + tags: + - NewNotification + summary: Richiesta invio notifica + description: |- + Operazione utilizzata dalla Pubblica Amministrazione per richiedere l'invio di una notifica. + + La restituzione di uno stato HTTP 202 significa solo che la richiesta � sintatticamente + valida, non che la richiesta sia stata validata ed accettata.
+ Per conoscere lo stato di accettazione della richiesta di notifica bisogna utilizzare l'operazione + _getNotificationRequestStatus_ oppure utilizzare la modalit� push prevista dai webhook.
+ operationId: sendNewNotification + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationRequest' + required: true + responses: + "202": + description: Accepted + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationResponse' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "409": + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true + /delivery/v2.1/requests: + get: + tags: + - SenderReadB2B + summary: Verifica accettazione richiesta notifica + description: Questa operazione serve per verificare se la richiesta di notifica + � stata accettata e ottenere lo IUN associato a tale richiesta.
Bisogna + specificare il parametro _requestId_ oppure la coppia costituita dai parametri _paProtocolNumber_ + e _idempotenceToken_.
+ operationId: retrieveNotificationRequestStatusV21 + parameters: + - name: notificationRequestId + in: query + description: identificativo della richiesta di notifica + required: false + style: form + explode: true + schema: + maxLength: 36 + pattern: "^[A-Za-z0-9+/=]{36}$" + type: string + - name: paProtocolNumber + in: query + description: "Numero di protocollo associato alla notifica, pu� essere riutilizzato\ + \ per rettifiche." + required: false + style: form + explode: true + schema: + maxLength: 256 + pattern: ^.*$ + type: string + - name: idempotenceToken + in: query + description: token usato per disambiguare "richieste di notificazione" effettuate + con lo stesso numero di protocollo. + required: false + style: form + explode: true + schema: + maxLength: 256 + pattern: "^[ -~]*$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationRequestStatusResponseV21' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: Not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true + post: + tags: + - NewNotification + summary: Richiesta invio notifica + description: |- + Operazione utilizzata dalla Pubblica Amministrazione per richiedere l'invio di una notifica. + + La restituzione di uno stato HTTP 202 significa solo che la richiesta � sintatticamente + valida, non che la richiesta sia stata validata ed accettata.
+ Per conoscere lo stato di accettazione della richiesta di notifica bisogna utilizzare l'operazione + _getNotificationRequestStatus_ oppure utilizzare la modalit� push prevista dai webhook.
+ operationId: sendNewNotificationV21 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationRequestV21' + required: true + responses: + "202": + description: Accepted + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationResponse' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "409": + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true + /delivery/v2.3/requests: + get: + tags: + - SenderReadB2B + summary: Verifica accettazione richiesta notifica + description: Questa operazione serve per verificare se la richiesta di notifica + � stata accettata e ottenere lo IUN associato a tale richiesta.
Bisogna + specificare il parametro _requestId_ oppure la coppia costituita dai parametri _paProtocolNumber_ + e _idempotenceToken_.
+ operationId: retrieveNotificationRequestStatusV23 + parameters: + - name: notificationRequestId + in: query + description: identificativo della richiesta di notifica + required: false + style: form + explode: true + schema: + maxLength: 36 + pattern: "^[A-Za-z0-9+/=]{36}$" + type: string + - name: paProtocolNumber + in: query + description: "Numero di protocollo associato alla notifica, pu� essere riutilizzato\ + \ per rettifiche." + required: false + style: form + explode: true + schema: + maxLength: 256 + pattern: ^.*$ + type: string + - name: idempotenceToken + in: query + description: token usato per disambiguare "richieste di notificazione" effettuate + con lo stesso numero di protocollo. + required: false + style: form + explode: true + schema: + maxLength: 256 + pattern: "^[ -~]*$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationRequestStatusResponseV23' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: Not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + post: + tags: + - NewNotification + summary: Richiesta invio notifica + description: |- + Operazione utilizzata dalla Pubblica Amministrazione per richiedere l'invio di una notifica. + + La restituzione di uno stato HTTP 202 significa solo che la richiesta � sintatticamente + valida, non che la richiesta sia stata validata ed accettata.
+ Per conoscere lo stato di accettazione della richiesta di notifica bisogna utilizzare l'operazione + _getNotificationRequestStatus_ oppure utilizzare la modalit� push prevista dai webhook.
+ operationId: sendNewNotificationV23 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationRequestV23' + required: true + responses: + "202": + description: Accepted + content: + application/json: + schema: + $ref: '#/components/schemas/NewNotificationResponse' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "409": + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery/notifications/sent/{iun}: + get: + tags: + - SenderReadB2B + summary: "Mittente: lettura dettagli notifica" + description: Questa operazione permette di leggere tutti i dettagli di una notifica + accettata.
+ operationId: retrieveSentNotification + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/FullSentNotification' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true + /delivery/v2.0/notifications/sent/{iun}: + get: + tags: + - SenderReadB2B + summary: "Mittente: lettura dettagli notifica versione 2" + description: Questa operazione permette di leggere tutti i dettagli di una notifica + accettata.
+ operationId: retrieveSentNotificationV20 + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/FullSentNotificationV20' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true + /delivery/v2.1/notifications/sent/{iun}: + get: + tags: + - SenderReadB2B + summary: "Mittente: lettura dettagli notifica versione 2" + description: Questa operazione permette di leggere tutti i dettagli di una notifica + accettata.
+ operationId: retrieveSentNotificationV21 + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/FullSentNotificationV21' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true + /delivery/v2.3/notifications/sent/{iun}: + get: + tags: + - SenderReadB2B + summary: "Mittente: lettura dettagli notifica versione 2" + description: Questa operazione permette di leggere tutti i dettagli di una notifica + accettata.
+ operationId: retrieveSentNotificationV23 + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/FullSentNotificationV23' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true + /delivery/v2.4/notifications/sent/{iun}: + get: + tags: + - SenderReadB2B + summary: "Mittente: lettura dettagli notifica versione 2" + description: Questa operazione permette di leggere tutti i dettagli di una notifica + accettata.
+ operationId: retrieveSentNotificationV24 + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/FullSentNotificationV24' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "500": + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery/price/{paTaxId}/{noticeCode}: + get: + tags: + - NotificationPrice + summary: Retrieve notification price and effective date + description: |- + Usata dalla PA per recuperare il costo di notificazione tramite + l'identificativo della posizione debitoria paTaxId e noticeCode. + operationId: retrieveNotificationPrice + parameters: + - name: paTaxId + in: path + description: Payment PA fiscal code + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/paTaxId' + example: "77777777777" + - name: noticeCode + in: path + description: Payment notice number numero avviso + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/noticeCode' + example: "302000100000019421" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPriceResponse' + "400": + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: 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' + deprecated: true + /delivery-push/v2.0/notifications/cancel/{iun}: + put: + tags: + - NotificationCancellation + summary: Annullamento notifica + description: "Permette l'annullamento di una notifica restituendo una presa\ + \ in carico, il processo di annullamento si completa poi in maniera asincrona" + operationId: notificationCancellation + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + responses: + "202": + description: Accepted - Richiesta annullamento presa in carico + content: + application/json: + schema: + $ref: '#/components/schemas/RequestStatus' + "400": + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: 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-push/v2.0/{iun}/legal-facts: + get: + tags: + - LegalFacts + summary: Elenco atti opponibili a terzi + description: Elenca le informazione di categorizzazione di tutti gli atti opponibili + a terzi registrati durante il processo di notifica.
+ operationId: retrieveNotificationLegalFactsV20 + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LegalFactListV20' + "400": + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: 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-push/{iun}/legal-facts/{legalFactType}/{legalFactId}: + get: + tags: + - LegalFacts + summary: Singolo atto opponibile a terzi + description: Permette di scaricare un atto opponibile a terzi
+ operationId: retrieveLegalFact + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + - name: legalFactType + in: path + description: Categoria dell'atto opponibile a terzi + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/LegalFactCategory' + - name: legalFactId + in: path + description: Identificativo dell'atto opponibile a terzi + required: true + style: simple + explode: false + schema: + maxLength: 1024 + pattern: "^[ -~]*$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LegalFactDownloadMetadataResponse' + "400": + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: 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' + deprecated: true + /delivery-push/{iun}/download/legal-facts/{legalFactId}: + get: + tags: + - LegalFacts + summary: Singolo atto opponibile a terzi + description: Permette di scaricare un atto opponibile a terzi
+ operationId: downloadLegalFactById + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + - name: legalFactId + in: path + description: Identificativo dell'atto opponibile a terzi + required: true + style: simple + explode: false + schema: + maxLength: 1024 + pattern: "^[ -~]*$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LegalFactDownloadMetadataResponse' + "400": + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: 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-push/{iun}/legal-facts: + get: + tags: + - LegalFacts + summary: Elenco atti opponibili a terzi + description: Elenca le informazione di categorizzazione di tutti gli atti opponibili + a terzi registrati durante il processo di notifica.
+ operationId: retrieveNotificationLegalFacts + parameters: + - name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LegalFactList' + "400": + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + "404": + description: 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' + deprecated: true + /delivery-progresses/v2.5/streams: + get: + tags: + - Streams + summary: Elenca stream di eventi + description: Elenca gli stream di eventi + 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' + post: + tags: + - Streams + 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. + operationId: createEventStreamV25 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StreamCreationRequestV25' + required: true + 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' + /delivery-progresses/v2.5/streams/{streamId}: + get: + tags: + - Streams + summary: Leggi metadata dello stream + description: Lettura delle configurazioni di uno stream di eventi. + operationId: retrieveEventStreamV25 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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: + tags: + - Streams + summary: Update Stream metadata + description: Modifica delle configurazioni dei filtri associati a uno stream + di eventi + operationId: updateEventStreamV25 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StreamRequestV25' + required: true + 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: + tags: + - Streams + 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." + operationId: removeEventStreamV25 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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: + tags: + - Streams + 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. + operationId: disableEventStreamV25 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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: + tags: + - Events + 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. + operationId: consumeEventStreamV25 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + - name: lastEventId + in: query + 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'." + required: false + style: form + explode: true + schema: + maxLength: 38 + minLength: 38 + pattern: "^0\\d{37}$" + type: string + responses: + "200": + description: OK + headers: + retry-after: + 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. + style: simple + explode: false + schema: + type: integer + format: int32 + 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: + description: Numero di millisecondi di attesa prima di effettuare una + nuova lettura di eventi. + style: simple + explode: false + schema: + type: integer + format: int32 + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery-progresses/streams: + get: + tags: + - Streams + summary: Elenca stream di eventi + description: Elenca gli stream di eventi + operationId: listEventStreams + 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' + deprecated: true + post: + tags: + - Streams + 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." + operationId: createEventStream + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StreamCreationRequest' + required: true + 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' + deprecated: true + /delivery-progresses/streams/{streamId}: + get: + tags: + - Streams + summary: Leggi metadati dello stream + description: Permette di leggere le configurazioni di uno stream di eventi. + operationId: retrieveEventStream + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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' + deprecated: true + put: + tags: + - Streams + summary: Update Stream metadata + description: Permette di cambiare le configurazioni dei filtri associati a uno + stream di eventi + operationId: updateEventStream + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StreamCreationRequest' + required: true + 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' + deprecated: true + delete: + tags: + - Streams + 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." + operationId: removeEventStream + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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' + deprecated: true + /delivery-progresses/streams/{streamId}/events: + get: + tags: + - Events + 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. + operationId: consumeEventStream + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + - name: lastEventId + in: query + 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'." + required: false + style: form + explode: true + schema: + maxLength: 38 + minLength: 38 + pattern: "^0\\d{37}$" + type: string + responses: + "200": + description: OK + headers: + retry-after: + 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. + style: simple + explode: false + schema: + type: integer + format: int32 + 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: + description: Numero di millisecondi di attesa prima di effettuare una + nuova lettura di eventi. + style: simple + explode: false + schema: + type: integer + format: int32 + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true + /delivery-progresses/v2.3/streams: + get: + tags: + - Streams + summary: Elenca stream di eventi + description: Elenca gli stream di eventi + operationId: listEventStreamsV23 + 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' + deprecated: true + post: + tags: + - Streams + 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. + operationId: createEventStreamV23 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StreamCreationRequestV23' + required: true + 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' + deprecated: true + /delivery-progresses/v2.3/streams/{streamId}: + get: + tags: + - Streams + summary: Leggi metadata dello stream + description: Lettura delle configurazioni di uno stream di eventi. + operationId: retrieveEventStreamV23 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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' + deprecated: true + put: + tags: + - Streams + summary: Update Stream metadata + description: Modifica delle configurazioni dei filtri associati a uno stream + di eventi + operationId: updateEventStreamV23 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StreamRequestV23' + required: true + 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' + deprecated: true + delete: + tags: + - Streams + 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." + operationId: removeEventStreamV23 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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' + deprecated: true + /delivery-progresses/v2.3/streams/{streamId}/action/disable: + post: + tags: + - Streams + 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. + operationId: disableEventStreamV23 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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' + deprecated: true + /delivery-progresses/v2.3/streams/{streamId}/events: + get: + tags: + - Events + 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. + operationId: consumeEventStreamV23 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + - name: lastEventId + in: query + 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'." + required: false + style: form + explode: true + schema: + maxLength: 38 + minLength: 38 + pattern: "^0\\d{37}$" + type: string + responses: + "200": + description: OK + headers: + retry-after: + 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. + style: simple + explode: false + schema: + type: integer + format: int32 + 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: + description: Numero di millisecondi di attesa prima di effettuare una + nuova lettura di eventi. + style: simple + explode: false + schema: + type: integer + format: int32 + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true + /delivery-progresses/v2.4/streams: + get: + tags: + - Streams + summary: Elenca stream di eventi + description: Elenca gli stream di eventi + operationId: listEventStreamsV24 + 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' + deprecated: true + post: + tags: + - Streams + 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. + operationId: createEventStreamV24 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StreamCreationRequestV24' + required: true + 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' + deprecated: true + /delivery-progresses/v2.4/streams/{streamId}: + get: + tags: + - Streams + summary: Leggi metadata dello stream + description: Lettura delle configurazioni di uno stream di eventi. + operationId: retrieveEventStreamV24 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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' + deprecated: true + put: + tags: + - Streams + summary: Update Stream metadata + description: Modifica delle configurazioni dei filtri associati a uno stream + di eventi + operationId: updateEventStreamV24 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StreamRequestV24' + required: true + 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' + deprecated: true + delete: + tags: + - Streams + 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." + operationId: removeEventStreamV24 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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' + deprecated: true + /delivery-progresses/v2.4/streams/{streamId}/action/disable: + post: + tags: + - Streams + 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. + operationId: disableEventStreamV24 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + 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' + deprecated: true + /delivery-progresses/v2.4/streams/{streamId}/events: + get: + tags: + - Events + 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. + operationId: consumeEventStreamV24 + parameters: + - name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + - name: lastEventId + in: query + 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'." + required: false + style: form + explode: true + schema: + maxLength: 38 + minLength: 38 + pattern: "^0\\d{37}$" + type: string + responses: + "200": + description: OK + headers: + retry-after: + 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. + style: simple + explode: false + schema: + type: integer + format: int32 + 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: + description: Numero di millisecondi di attesa prima di effettuare una + nuova lettura di eventi. + style: simple + explode: false + schema: + type: integer + format: int32 + "500": + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + deprecated: true +components: + schemas: + PnStatusResponse: + title: Stato attuale di PN + required: + - functionalities + - openIncidents + type: object + properties: + status: + maximum: 600 + exclusiveMaximum: true + minimum: 100 + type: integer + description: Bad Request + format: int32 + example: 400 + title: + maxLength: 64 + pattern: "^[ -~]{0,64}$" + type: string + description: The server cannot process the request + example: Bad Request + detail: + maxLength: 4096 + pattern: "^.{0,4096}$" + type: string + description: The server cannot process the request + example: Bad Request + functionalities: + title: elenco funzionalit� di PN + type: array + description: Un array che comprende tutti i possibili valori dell'enum _PnFunctionality_ + items: + $ref: '#/components/schemas/PnFunctionality' + openIncidents: + title: elenco disservizi correnti + type: array + description: Al pi� uno per funzionalit� + items: + $ref: '#/components/schemas/PnDowntimeEntry' + description: Elenco delle funzionalit� della piattaforma ed elenco dei disservizi + noti e attivi al momento della richiesta. I disservizi (_openIncidents_) + segnalati sono al pi� uno per funzionalit�; gli attributi _endDate_ e _legalFactId_ + non saranno valorizzati. + PreLoadBulkRequest: + maxItems: 15 + minItems: 1 + type: array + items: + $ref: '#/components/schemas/PreLoadRequest' + PreLoadRequest: + title: Richiesta di precaricamento di un File + required: + - sha256 + type: object + properties: + preloadIdx: + title: Id della richiesta di precaricamento di un file + maxLength: 512 + minLength: 1 + pattern: "^[a-zA-Z0-9._-]{1,512}$" + type: string + description: "Identificativo univoco all'interno della request HTTP, serve\ + \ per correlare la risposta. Stringa alfanumerica con caratteri utilizzabili\ + \ in un nome file." + contentType: + title: MIME type del file che verr� caricato + maxLength: 16 + minLength: 15 + pattern: ^application\/(pdf|json)$ + type: string + description: |- + Il MIME type dell'allegato che dovr� essere caricato. Attualmente sono supportati + - application/pdf + - application/json + sha256: + title: checksum sha256 del file che verr� caricato + maxLength: 44 + minLength: 44 + pattern: "^[A-Za-z0-9+\\/]{43}=|[A-Za-z0-9+\\/]{44}$" + type: string + description: "checksum sha256, codificato in base 64, del contenuto binario\ + \ del file che verr� caricato" + example: jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE= + PreLoadResponse: + title: Informazioni per il caricamento file + type: object + properties: + preloadIdx: + maxLength: 512 + minLength: 1 + pattern: "^[a-zA-Z0-9._-]{1,512}$" + type: string + description: per correlazione con la richiesta. Stringa alfanumerica con + caratteri utilizzabili in un file. + secret: + type: string + description: Token aggiuntivo per far si che sia necessario intercettare + anche gli header e non solo l'URL di upload del contenuto del documento. + example: AZ23RF12 + httpMethod: + type: string + description: Indica se per l'upload del contenuto file bisogna utilizzare + il metodo PUT o POST + example: PUT + enum: + - POST + - PUT + url: + type: string + description: URL a cui effettuare l'upload del contenuto del documento. + example: https://preloadpn.aws.amazon....... + key: + type: string + description: la chiave restituita sar� globalmente unica e andr� utilizzata + nella richiesta di notifica. + example: PN_NOTIFICATION_ATTACHMENTS-0001-301W-B9CB-9U72-WIKD + description: Per ogni richiesta che � stata fatta viene fornito un presigned + URL e le informazioni per usarlo. + NotificationPriceResponse: + title: Notification price Response + type: object + properties: + iun: + $ref: '#/components/schemas/IUN' + amount: + type: integer + description: amount in euro cents + format: int32 + refinementDate: + type: string + description: data di perfezionamento per decorrenza termini localizzata + espressa alla mezzanotte del giorno in cui si verifica l'evento + format: date-time + notificationViewDate: + type: string + description: data di perfezionamento per presa visione espressa alla mezzanotte + del giorno in cui si verifica l'evento + format: date-time + description: Notification price and effective date + NotificationPriceResponseV23: + title: Notification price Response + type: object + properties: + iun: + $ref: '#/components/schemas/IUN' + partialPrice: + type: integer + description: Costo totale di notificazione che non include la paFee e vat + format: int32 + totalPrice: + type: integer + description: "Costo totale di notificazione che include la paFee e vat applicato\ + \ ai costi cartacei. Se vat e paFee non sono valorizzati, verranno usati\ + \ i loro valori di default (vedi /components/schemas/VatV23 e /components/schemas/PaFeeV23)." + format: int32 + vat: + $ref: '#/components/schemas/VatV23' + paFee: + $ref: '#/components/schemas/PaFeeV23' + refinementDate: + type: string + description: data di perfezionamento per decorrenza termini localizzata + espressa alla mezzanotte del giorno in cui si verifica l'evento + format: date-time + notificationViewDate: + type: string + description: data di perfezionamento per presa visione espressa alla mezzanotte + del giorno in cui si verifica l'evento + format: date-time + sendFee: + type: integer + description: costo base di SeND per notificazione + format: int32 + analogCost: + type: integer + description: costo totale dei prodotti postali + format: int32 + description: Notification price and effective date + NewNotificationResponse: + title: Identificativi della richiesta di notifica + required: + - notificationRequestId + - paProtocolNumber + type: object + properties: + notificationRequestId: + maxLength: 36 + pattern: "^[A-Za-z0-9+/=]{36}$" + type: string + description: "identificativo univoco di una richiesta di invio notifica,\ + \ non � lo IUN" + paProtocolNumber: + type: string + description: Identificativo inviato dalla pubblica amministrazione + idempotenceToken: + type: string + description: Ripetizione del token usato per disambiguare "richieste di + notificazione" effettuate con lo stesso numero di protocollo (campo _paProtocolNumber_). + description: Contiene le informazioni per identificare una richiesta di invio + notifica che non � ancora stata accettata da Piattaforma notifiche. + NewNotificationRequestStatusResponseV24: + allOf: + - $ref: '#/components/schemas/NewNotificationRequestV24' + - required: + - notificationRequestId + - notificationRequestStatus + type: object + properties: + notificationRequestId: + type: string + description: "identificativo univoco di una richiesta di invio notifica,\ + \ non � lo IUN" + notificationRequestStatus: + type: string + description: "- __WAITING__: in attesa di essere valutata - __ACCEPTED__:\ + \ richiesta di notifica accettata, lo IUN � valorizzato - __REFUSED__:\ + \ richiesta di notifica rifiutata, � valorizzato il campo _errors_" + retryAfter: + type: integer + description: Numero di secondi da attendere prima di effettuare una nuova + richiesta per la stessa entit�; valorizzato quando lo status � __WAITING__. + format: int32 + iun: + $ref: '#/components/schemas/IUN' + errors: + type: array + description: Elenco degli errori che hanno causato il rifiuto della richiesta + di notifica + items: + $ref: '#/components/schemas/ProblemError' + Problem: + required: + - errors + - status + properties: + type: + type: object + description: URI reference of type definition + status: + maximum: 600 + exclusiveMaximum: true + minimum: 100 + type: integer + description: The HTTP status code generated by the origin server for this + occurrence of the problem. + format: int32 + example: 503 + title: + maxLength: 64 + pattern: "^[ -~]{0,64}$" + type: string + description: "A short, summary of the problem type. Written in english and\ + \ readable" + example: Service Unavailable + detail: + maxLength: 4096 + pattern: "^.{0,4096}$" + type: string + description: A human readable explanation of the problem. + example: Request took too long to complete. + traceId: + type: string + description: Internal support identifier associated to error + example: 123e4567-e89b-12d3-a456-426614174000 + timestamp: + type: string + description: date and time referred to UTC + format: date-time + example: 2022-07-27T12:22:33.444Z + errors: + minItems: 1 + type: array + items: + $ref: '#/components/schemas/ProblemError' + ProblemError: + required: + - code + properties: + code: + type: object + description: "Internal code of the error, in human-readable format" + example: PN_PARAMETER_TOO_LONG | PN_PARAMETER_TOO_SHORT | PN_DUPLICATE_ENTRY + | etc... + element: + type: string + description: Parameter or request body field name for validation error + example: "body.order.item[2].quantity" + detail: + maxLength: 1024 + type: string + description: A human readable explanation specific to this occurrence of + the problem. + example: Parameter not valid + FullSentNotificationV25: + description: Le informazioni riguardanti una notifica (richiesta di notifica + accettata) e il processo di inoltro della notifica verso il cittadino. + allOf: + - $ref: '#/components/schemas/SentNotificationV24' + - required: + - notificationStatus + - notificationStatusHistory + - timeline + type: object + properties: + notificationStatus: + $ref: '#/components/schemas/NotificationStatus' + notificationStatusHistory: + $ref: '#/components/schemas/NotificationStatusHistory' + timeline: + type: array + description: elenco dettagliato di tutto ci� che � accaduto durrante il + processo di notifica + items: + $ref: '#/components/schemas/TimelineElementV25' + PaymentEventsRequestPagoPa: + title: Invio eventi di pagamento da PA a PN + required: + - events + type: object + properties: + events: + type: array + description: Elenco degli eventi di pagamento + items: + $ref: '#/components/schemas/PaymentEventPagoPa' + description: Richiesta contenente un array di eventi di pagamento di tipo PagoPA + di cui una Pubblica Amministrazione deve avvisare Piattaforma Notifiche. + PaymentEventsRequestF24: + title: Invio eventi di pagamento da PA a PN + required: + - events + type: object + properties: + events: + type: array + description: Elenco degli eventi di pagamento + items: + $ref: '#/components/schemas/PaymentEventF24' + description: Richiesta contenente un array di eventi di pagamento di tipo F24 + di cui una Pubblica Amministrazione deve avvisare Piattaforma Notifiche. + PaymentEventPagoPa: + title: Evento di pagamento PagoPa + required: + - amount + - creditorTaxId + - noticeCode + - paymentDate + type: object + properties: + noticeCode: + $ref: '#/components/schemas/noticeCode' + creditorTaxId: + $ref: '#/components/schemas/paTaxId' + paymentDate: + pattern: "^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(\\\ + .[0-9]+)?(Z|([+\\-][0-9]{2}):([0-9]{2}))$" + type: string + description: data e ora in formato ISO 8601 + amount: + type: integer + format: int32 + description: |- + Comprende:
+ - _noticeCode_: "codice avviso pagoPA" di pagamento del sistema pagoPA, usato per pagamento online.
+ - _creditorTaxId_: codice fiscale dell'ente a cui fa riferimento il "codice avviso pagoPA".
+ - data e ora del pagamento.
+ - importo del pagamento in eurocent.
+ PaymentEventF24: + title: Evento di pagamento F24 + required: + - amount + - iun + - paymentDate + - recipientTaxId + - recipientType + type: object + properties: + iun: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + paymentDate: + type: string + format: date-time + recipientTaxId: + $ref: '#/components/schemas/TaxId' + recipientType: + maxLength: 2 + minLength: 2 + pattern: PF|PG + type: string + amount: + type: integer + format: int32 + description: |- + Comprende:
+ - lo _IUN_ della notifica pagata,
+ - data e ora del pagamento,
+ - il codice fiscale del destinatario pagatore,
+ - la tipologia del destinatario pagatore (PF / PG),
+ - importo del pagamento in eurocent.
+ TimelineElementV25: + type: object + properties: + elementId: + maxLength: 512 + type: string + description: "Identificativo dell'elemento di timeline: insieme allo IUN\ + \ della notifica definisce in maniera univoca l'elemento di timeline" + timestamp: + type: string + description: "Istante in cui avviene l'evento descritto in questo elemento\ + \ di timeline (deprecato, fare riferimento al campo eventTimestamp)" + format: date-time + deprecated: true + 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 + description: Chiavi dei documenti che provano l'effettivo accadimento dell'evento + descritto in timeline. Questo elemento + items: + $ref: '#/components/schemas/LegalFactsIdV20' + category: + $ref: '#/components/schemas/TimelineElementCategoryV23' + details: + $ref: '#/components/schemas/TimelineElementDetailsV25' + additionalProperties: false + 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 + NotificationStatusHistory: + type: array + description: elenco degli avanzamenti effettuati dal processo di notifica + items: + $ref: '#/components/schemas/NotificationStatusHistoryElement' + RequestStatus: + required: + - status + type: object + properties: + status: + type: string + description: | + Cancellation request status: + - OK + details: + maxItems: 9999 + type: array + items: + $ref: '#/components/schemas/StatusDetail' + description: Response to cancellation async call + NewNotificationRequest: + required: + - documents + - notificationFeePolicy + - paProtocolNumber + - physicalCommunicationType + - recipients + - senderDenomination + - senderTaxId + - subject + - taxonomyCode + type: object + properties: + idempotenceToken: + maxLength: 256 + pattern: "^[ -~]*$" + type: string + description: Identificativo utilizzabile dal chiamante per disambiguare + differenti "richieste di notificazione" effettuate con lo stesso numero + di protocollo (campo _paProtocolNumber_). Questo pu� essere necessario + in caso di "richiesta di notifica" rifiutata per errori nei codici di + verifica degli allegati. + paProtocolNumber: + maxLength: 256 + pattern: ^.*$ + type: string + description: Numero di protocollo che la PA mittente assegna alla notifica + stessa + subject: + maxLength: 134 + minLength: 10 + pattern: ^.*$ + type: string + description: "titolo della notifica, NON inserire dati personali/sensibili" + abstract: + maxLength: 1024 + pattern: ^.*$ + type: string + description: "descrizione sintetica della notifica, NON inserire dati personali/sensibili" + recipients: + type: array + description: Informazioni sui destinatari + items: + $ref: '#/components/schemas/NotificationRecipient' + documents: + minItems: 1 + type: array + description: Documenti notificati + items: + $ref: '#/components/schemas/NotificationDocument' + notificationFeePolicy: + $ref: '#/components/schemas/NotificationFeePolicy' + cancelledIun: + $ref: '#/components/schemas/IUN' + physicalCommunicationType: + type: string + description: Tipologia comunicazione fisica + enum: + - AR_REGISTERED_LETTER + - REGISTERED_LETTER_890 + senderDenomination: + $ref: '#/components/schemas/Denomination' + senderTaxId: + $ref: '#/components/schemas/paTaxId' + group: + maxLength: 1024 + pattern: "^[ -~]*$" + type: string + description: Gruppo di utenti dell'ente mittente che pu� visualizzare la + notifica + amount: + type: integer + description: Importo della notifica in eurocent + format: int32 + paymentExpirationDate: + maxLength: 10 + minLength: 10 + pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])$" + type: string + description: Data di scadenza del pagamento nel formato YYYY-MM-DD riferito + all'Italia + taxonomyCode: + maxLength: 7 + minLength: 7 + pattern: "^([0-9]{6}[A-Z]{1})$" + type: string + description: "Codice tassonomico della notifica basato sulla definizione\ + \ presente nell'allegato 2 capitolo C del bando [__AVVISO PUBBLICO MISURA\ + \ 1.4.5 PIATTAFORMA NOTIFICHE DIGITALI__](https://pnrrcomuni.fondazioneifel.it/bandi_public/Bando/325)\ + \ " + pagoPaIntMode: + type: string + description: "Modalit� di integrazione pagoPA per l'attualizazione del costo\ + \ della notifica.
- _NONE_: nessuna attualizzazione.
- _SYNC_:\ + \ modalit� sincrona.
- _ASYNC_: modalit� asincrona. (Non ancora\ + \ supportata)
" + enum: + - NONE + - SYNC + - ASYNC + description: I campi utilizzati per la creazione di una nuova Notifica. + SentNotification: + description: Le informazioni riguardanti una richiesta di notifica accettata + allOf: + - $ref: '#/components/schemas/NewNotificationRequest' + - required: + - iun + - sentAt + type: object + properties: + senderPaId: + maxLength: 256 + pattern: ^.*$ + type: string + description: Identificativo (non IPA) della PA mittente che ha eseguito + l'onboarding su SelfCare. + iun: + $ref: '#/components/schemas/IUN' + sentAt: + type: string + description: Momento di ricezione della notifica da parte di PN + format: date-time + cancelledByIun: + $ref: '#/components/schemas/IUN' + documentsAvailable: + type: boolean + description: Indica se i documenti notificati sono ancora disponibili. + NewNotificationRequestV21: + required: + - documents + - notificationFeePolicy + - paProtocolNumber + - physicalCommunicationType + - recipients + - senderDenomination + - senderTaxId + - subject + - taxonomyCode + type: object + properties: + idempotenceToken: + maxLength: 256 + pattern: "^[ -~]*$" + type: string + description: Identificativo utilizzabile dal chiamante per disambiguare + differenti "richieste di notificazione" effettuate con lo stesso numero + di protocollo (campo _paProtocolNumber_). Questo pu� essere necessario + in caso di "richiesta di notifica" rifiutata per errori nei codici di + verifica degli allegati. + paProtocolNumber: + maxLength: 256 + pattern: ^.*$ + type: string + description: Numero di protocollo che la PA mittente assegna alla notifica + stessa + subject: + maxLength: 134 + pattern: ^.*$ + type: string + description: titolo della notifica + abstract: + maxLength: 1024 + pattern: ^.*$ + type: string + description: descrizione sintetica della notifica + recipients: + type: array + description: Informazioni sui destinatari + items: + $ref: '#/components/schemas/NotificationRecipientV21' + documents: + minItems: 1 + type: array + description: Documenti notificati + items: + $ref: '#/components/schemas/NotificationDocument' + notificationFeePolicy: + $ref: '#/components/schemas/NotificationFeePolicy' + cancelledIun: + $ref: '#/components/schemas/IUN' + physicalCommunicationType: + type: string + description: Tipologia comunicazione fisica + enum: + - AR_REGISTERED_LETTER + - REGISTERED_LETTER_890 + senderDenomination: + $ref: '#/components/schemas/Denomination' + senderTaxId: + $ref: '#/components/schemas/paTaxId' + group: + maxLength: 1024 + pattern: "^[ -~]*$" + type: string + description: Gruppo di utenti dell'ente mittente che pu� visualizzare la + notifica + amount: + type: integer + description: Importo della notifica in eurocent + format: int32 + paymentExpirationDate: + maxLength: 10 + minLength: 10 + pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])$" + type: string + description: Data di scadenza del pagamento nel formato YYYY-MM-DD riferito + all'Italia + taxonomyCode: + maxLength: 7 + minLength: 7 + pattern: "^([0-9]{6}[A-Z]{1})$" + type: string + description: "Codice tassonomico della notifica basato sulla definizione\ + \ presente nell'allegato 2 capitolo C del bando [__AVVISO PUBBLICO MISURA\ + \ 1.4.5 PIATTAFORMA NOTIFICHE DIGITALI__](https://pnrrcomuni.fondazioneifel.it/bandi_public/Bando/325)" + paFee: + $ref: '#/components/schemas/PaFeeV21' + vat: + $ref: '#/components/schemas/VatV21' + pagoPaIntMode: + type: string + description: "Modalit� di integrazione pagoPA per l'attualizazione del costo\ + \ della notifica.
- _NONE_: nessuna attualizzazione.
- _SYNC_:\ + \ modalit� sincrona.
- _ASYNC_: modalit� asincrona. (non ancora\ + \ supportata)
" + enum: + - NONE + - SYNC + - ASYNC + description: I campi utilizzati per la creazione di una nuova Notifica. + NewNotificationRequestV23: + required: + - documents + - notificationFeePolicy + - paProtocolNumber + - physicalCommunicationType + - recipients + - senderDenomination + - senderTaxId + - subject + - taxonomyCode + type: object + properties: + idempotenceToken: + maxLength: 256 + pattern: "^[ -~]*$" + type: string + description: Identificativo utilizzabile dal chiamante per disambiguare + differenti "richieste di notificazione" effettuate con lo stesso numero + di protocollo (campo _paProtocolNumber_). Questo pu� essere necessario + in caso di "richiesta di notifica" rifiutata per errori nei codici di + verifica degli allegati. + paProtocolNumber: + maxLength: 256 + pattern: ^.*$ + type: string + description: Numero di protocollo che la PA mittente assegna alla notifica + stessa + subject: + maxLength: 134 + pattern: ^.*$ + type: string + description: titolo della notifica + abstract: + maxLength: 1024 + pattern: ^.*$ + type: string + description: descrizione sintetica della notifica + recipients: + minItems: 1 + type: array + description: Informazioni sui destinatari + items: + $ref: '#/components/schemas/NotificationRecipientV23' + documents: + minItems: 1 + type: array + description: Documenti notificati + items: + $ref: '#/components/schemas/NotificationDocument' + notificationFeePolicy: + $ref: '#/components/schemas/NotificationFeePolicy' + cancelledIun: + $ref: '#/components/schemas/IUN' + physicalCommunicationType: + type: string + description: Tipologia comunicazione fisica + enum: + - AR_REGISTERED_LETTER + - REGISTERED_LETTER_890 + senderDenomination: + $ref: '#/components/schemas/Denomination' + senderTaxId: + $ref: '#/components/schemas/paTaxId' + group: + maxLength: 1024 + pattern: "^[ -~]*$" + type: string + description: Gruppo di utenti dell'ente mittente che pu� visualizzare la + notifica + amount: + type: integer + description: Importo della notifica in eurocent + format: int32 + paymentExpirationDate: + maxLength: 10 + minLength: 10 + pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])$" + type: string + description: Data di scadenza del pagamento nel formato YYYY-MM-DD riferito + all'Italia + taxonomyCode: + maxLength: 7 + minLength: 7 + pattern: "^([0-9]{6}[A-Z]{1})$" + type: string + description: "Codice tassonomico della notifica basato sulla definizione\ + \ presente nell'allegato 2 capitolo C del bando [__AVVISO PUBBLICO MISURA\ + \ 1.4.5 PIATTAFORMA NOTIFICHE DIGITALI__](https://pnrrcomuni.fondazioneifel.it/bandi_public/Bando/325)" + paFee: + $ref: '#/components/schemas/PaFeeV23' + vat: + $ref: '#/components/schemas/VatV23' + pagoPaIntMode: + type: string + description: "Modalit� di integrazione pagoPA per l'attualizazione del costo\ + \ della notifica.
- _NONE_: nessuna attualizzazione.
- _SYNC_:\ + \ modalit� sincrona.
- _ASYNC_: modalit� asincrona.
" + enum: + - NONE + - SYNC + - ASYNC + description: I campi utilizzati per la creazione di una nuova Notifica. + SentNotificationV21: + description: Le informazioni riguardanti una richiesta di notifica accettata + allOf: + - $ref: '#/components/schemas/NewNotificationRequestV21' + - required: + - iun + - sentAt + type: object + properties: + senderPaId: + maxLength: 256 + pattern: ^.*$ + type: string + description: Identificativo (non IPA) della PA mittente che ha eseguito + l'onboarding su SelfCare. + iun: + $ref: '#/components/schemas/IUN' + sentAt: + type: string + description: Momento di ricezione della notifica da parte di PN + format: date-time + cancelledByIun: + $ref: '#/components/schemas/IUN' + documentsAvailable: + type: boolean + description: Indica se i documenti notificati sono ancora disponibili. + SentNotificationV23: + description: Le informazioni riguardanti una richiesta di notifica accettata + allOf: + - $ref: '#/components/schemas/NewNotificationRequestV23' + - required: + - iun + - sentAt + type: object + properties: + senderPaId: + maxLength: 256 + pattern: ^.*$ + type: string + description: Identificativo (non IPA) della PA mittente che ha eseguito + l'onboarding su SelfCare. La risoluzione di questo � ottenibile da /ext-registry/pa/v1/activated-on-pn + iun: + $ref: '#/components/schemas/IUN' + sentAt: + type: string + description: Momento di ricezione della notifica da parte di PN + format: date-time + cancelledByIun: + $ref: '#/components/schemas/IUN' + documentsAvailable: + type: boolean + description: Indica se i documenti notificati sono ancora disponibili. + NewNotificationRequestStatusResponse: + allOf: + - $ref: '#/components/schemas/NewNotificationRequest' + - required: + - notificationRequestId + - notificationRequestStatus + type: object + properties: + notificationRequestId: + type: string + description: "identificativo univoco di una richiesta di invio notifica,\ + \ non � lo IUN" + notificationRequestStatus: + type: string + description: "- __WAITING__: in attesa di essere valutata - __ACCEPTED__:\ + \ richiesta di notifica accettata, lo IUN � valorizzato - __REFUSED__:\ + \ richiesta di notifica rifiutata, � valorizzato il campo _errors_" + retryAfter: + type: integer + description: Numero di secondi da attendere prima di effettuare una nuova + richiesta per la stessa entit�; valorizzato quando lo status � __WAITING__. + format: int32 + iun: + $ref: '#/components/schemas/IUN' + errors: + type: array + description: Elenco degli errori che hanno causato il rifiuto della richiesta + di notifica + items: + $ref: '#/components/schemas/ProblemError' + NewNotificationRequestStatusResponseV21: + allOf: + - $ref: '#/components/schemas/NewNotificationRequestV21' + - required: + - notificationRequestId + - notificationRequestStatus + type: object + properties: + notificationRequestId: + type: string + description: "identificativo univoco di una richiesta di invio notifica,\ + \ non � lo IUN" + notificationRequestStatus: + type: string + description: "- __WAITING__: in attesa di essere valutata - __ACCEPTED__:\ + \ richiesta di notifica accettata, lo IUN � valorizzato - __REFUSED__:\ + \ richiesta di notifica rifiutata, � valorizzato il campo _errors_" + retryAfter: + type: integer + description: Numero di secondi da attendere prima di effettuare una nuova + richiesta per la stessa entit�; valorizzato quando lo status � __WAITING__. + format: int32 + iun: + $ref: '#/components/schemas/IUN' + errors: + type: array + description: Elenco degli errori che hanno causato il rifiuto della richiesta + di notifica + items: + $ref: '#/components/schemas/ProblemError' + NewNotificationRequestStatusResponseV23: + allOf: + - $ref: '#/components/schemas/NewNotificationRequestV23' + - required: + - notificationRequestId + - notificationRequestStatus + type: object + properties: + notificationRequestId: + type: string + description: "identificativo univoco di una richiesta di invio notifica,\ + \ non � lo IUN" + notificationRequestStatus: + type: string + description: "- __WAITING__: in attesa di essere valutata - __ACCEPTED__:\ + \ richiesta di notifica accettata, lo IUN � valorizzato - __REFUSED__:\ + \ richiesta di notifica rifiutata, � valorizzato il campo _errors_" + retryAfter: + type: integer + description: Numero di secondi da attendere prima di effettuare una nuova + richiesta per la stessa entit�; valorizzato quando lo status � __WAITING__. + format: int32 + iun: + $ref: '#/components/schemas/IUN' + errors: + type: array + description: Elenco degli errori che hanno causato il rifiuto della richiesta + di notifica + items: + $ref: '#/components/schemas/ProblemError' + FullSentNotification: + description: Le informazioni riguardanti una notifica (richiesta di notifica + accettata) e il processo di inoltro della notifica verso il cittadino. + allOf: + - $ref: '#/components/schemas/SentNotification' + - required: + - notificationStatus + - notificationStatusHistory + - timeline + type: object + properties: + notificationStatus: + $ref: '#/components/schemas/NotificationStatus' + notificationStatusHistory: + $ref: '#/components/schemas/NotificationStatusHistory' + timeline: + type: array + description: elenco dettagliato di tutto ci� che � accaduto durrante il + processo di notifica + items: + $ref: '#/components/schemas/TimelineElement' + FullSentNotificationV20: + description: Le informazioni riguardanti una notifica (richiesta di notifica + accettata) e il processo di inoltro della notifica verso il cittadino. + allOf: + - $ref: '#/components/schemas/SentNotification' + - required: + - notificationStatus + - notificationStatusHistory + - timeline + type: object + properties: + notificationStatus: + $ref: '#/components/schemas/NotificationStatus' + notificationStatusHistory: + $ref: '#/components/schemas/NotificationStatusHistory' + timeline: + type: array + description: elenco dettagliato di tutto ci� che � accaduto durrante il + processo di notifica + items: + $ref: '#/components/schemas/TimelineElementV20' + FullSentNotificationV21: + description: Le informazioni riguardanti una notifica (richiesta di notifica + accettata) e il processo di inoltro della notifica verso il cittadino. + allOf: + - $ref: '#/components/schemas/SentNotificationV21' + - required: + - notificationStatus + - notificationStatusHistory + - timeline + type: object + properties: + notificationStatus: + $ref: '#/components/schemas/NotificationStatus' + notificationStatusHistory: + $ref: '#/components/schemas/NotificationStatusHistory' + timeline: + type: array + description: elenco dettagliato di tutto ci� che � accaduto durrante il + processo di notifica + items: + $ref: '#/components/schemas/TimelineElementV20' + FullSentNotificationV23: + description: Le informazioni riguardanti una notifica (richiesta di notifica + accettata) e il processo di inoltro della notifica verso il cittadino. + allOf: + - $ref: '#/components/schemas/SentNotificationV23' + - required: + - notificationStatus + - notificationStatusHistory + - timeline + type: object + properties: + notificationStatus: + $ref: '#/components/schemas/NotificationStatus' + notificationStatusHistory: + $ref: '#/components/schemas/NotificationStatusHistory' + timeline: + type: array + description: elenco dettagliato di tutto ci� che � accaduto durrante il + processo di notifica + items: + $ref: '#/components/schemas/TimelineElementV23' + FullSentNotificationV24: + description: Le informazioni riguardanti una notifica (richiesta di notifica + accettata) e il processo di inoltro della notifica verso il cittadino. + allOf: + - $ref: '#/components/schemas/SentNotificationV23' + - required: + - notificationStatus + - notificationStatusHistory + - timeline + type: object + properties: + notificationStatus: + $ref: '#/components/schemas/NotificationStatus' + notificationStatusHistory: + $ref: '#/components/schemas/NotificationStatusHistory' + timeline: + type: array + description: elenco dettagliato di tutto ci� che � accaduto durrante il + processo di notifica + items: + $ref: '#/components/schemas/TimelineElementV24' + PaFeeV21: + maximum: 100 + minimum: 0 + type: integer + description: Costo espresso in eurocent che la PA imputa per la notifica.
+ Obbligatoria per notifiche con notificationFeePolicy=DELIVERY_MODE e modalit� + di integrazione Async o modalit� di pagamento F24.
Il default nei casi + di non obbligatoriet� � 100
Esempio paFee ad 1� -> 100
+ format: int32 + VatV21: + maximum: 100 + minimum: 0 + type: integer + description: IVA espressa in percentuale imposta al mittente sulla notifica + analogica.
Obbligatoria per notifiche con notificationFeePolicy=DELIVERY_MODE + e modalit� di integrazione Async o modalit� di pagamento F24.
Il default + nei casi di non obbligatoriet� � 22
Per rispettare retro-compatibilit� + campo non restituito nelle API v2.1
Esempio vat al 22% -> 22
+ format: int32 + NotificationRecipient: + required: + - denomination + - physicalAddress + - recipientType + - taxId + type: object + properties: + recipientType: + type: string + description: "Tipologia di destinatario: Persona Fisica (PF) o Persona Giuridica\ + \ (PG)" + enum: + - PF + - PG + taxId: + $ref: '#/components/schemas/TaxId' + denomination: + $ref: '#/components/schemas/Denomination' + digitalDomicile: + $ref: '#/components/schemas/NotificationDigitalAddress' + physicalAddress: + $ref: '#/components/schemas/NotificationPhysicalAddress' + payment: + $ref: '#/components/schemas/NotificationPaymentInfo' + description: Informazioni sui destinatari + NotificationRecipientV21: + required: + - denomination + - physicalAddress + - recipientType + - taxId + type: object + properties: + recipientType: + type: string + description: "Tipologia di destinatario: Persona Fisica (PF) o Persona Giuridica\ + \ (PG)" + enum: + - PF + - PG + taxId: + $ref: '#/components/schemas/TaxId' + denomination: + $ref: '#/components/schemas/Denomination' + digitalDomicile: + $ref: '#/components/schemas/NotificationDigitalAddress' + physicalAddress: + $ref: '#/components/schemas/NotificationPhysicalAddress' + payments: + $ref: '#/components/schemas/NotificationPayments' + additionalProperties: false + description: Informazioni sui destinatari + TimelineElement: + type: object + properties: + elementId: + type: string + 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 + description: Chiavi dei documenti che provano l'effettivo accadimento dell'evento + descritto in timeline. Questo elemento + items: + $ref: '#/components/schemas/LegalFactsId' + category: + $ref: '#/components/schemas/TimelineElementCategory' + details: + $ref: '#/components/schemas/TimelineElementDetails' + additionalProperties: false + TimelineElementV20: + type: object + properties: + elementId: + type: string + 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 + description: Chiavi dei documenti che provano l'effettivo accadimento dell'evento + descritto in timeline. Questo elemento + items: + $ref: '#/components/schemas/LegalFactsId' + category: + $ref: '#/components/schemas/TimelineElementCategoryV20' + details: + $ref: '#/components/schemas/TimelineElementDetailsV20' + additionalProperties: false + TimelineElementV23: + type: object + properties: + elementId: + maxLength: 512 + type: string + 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 + description: Chiavi dei documenti che provano l'effettivo accadimento dell'evento + descritto in timeline. Questo elemento + items: + $ref: '#/components/schemas/LegalFactsId' + category: + $ref: '#/components/schemas/TimelineElementCategoryV23' + details: + $ref: '#/components/schemas/TimelineElementDetailsV23' + additionalProperties: false + TimelineElementV24: + type: object + properties: + elementId: + maxLength: 512 + type: string + description: "Identificativo dell'elemento di timeline: insieme allo IUN\ + \ della notifica definisce in maniera univoca l'elemento di timeline" + timestamp: + type: string + description: "Istante in cui avviene l'evento descritto in questo elemento\ + \ di timeline (deprecato, fare riferimento al campo eventTimestamp)" + format: date-time + deprecated: true + 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 + description: Chiavi dei documenti che provano l'effettivo accadimento dell'evento + descritto in timeline. Questo elemento + items: + $ref: '#/components/schemas/LegalFactsId' + category: + $ref: '#/components/schemas/TimelineElementCategoryV23' + details: + $ref: '#/components/schemas/TimelineElementDetailsV23' + additionalProperties: false + PnFunctionality: + title: Funzionalit� di PN + type: string + description: "- __NOTIFICATION_CREATE__: la possibilit� di creare nuove notifiche.\n\ + - __NOTIFICATION_VISUALIZATION__: la possibilit� di visualizzare le notifiche\ + \ e scaricare gli atti. \n- __NOTIFICATION_WORKFLOW__: l'avanzamento del processo\ + \ di notifica. " + enum: + - NOTIFICATION_CREATE + - NOTIFICATION_VISUALIZATION + - NOTIFICATION_WORKFLOW + x-enum-varnames: + - NOTIFICATION_CREATE + - NOTIFICATION_VISUALIZATION + - NOTIFICATION_WORKFLOW + PnFunctionalityStatus: + type: string + enum: + - KO + - OK + PnDowntimeEntry: + title: Dati relativi ad un disservizio di PN. + required: + - functionality + - startDate + - status + type: object + properties: + functionality: + $ref: '#/components/schemas/PnFunctionality' + status: + $ref: '#/components/schemas/PnFunctionalityStatus' + startDate: + title: data inizio disservizio + type: string + format: date-time + endDate: + title: data fine disservizio + type: string + description: se il disservizio � ancora attivo questo campo sar� assente + o con valore _null_ + format: date-time + legalFactId: + title: id dell'atto opponibile a terzi + type: string + description: Se assente o valorizzato _null_ indica che l'atto opponibile + a terzi non � ancora disponibile. Questo avviene per i disservizi ancora + aperti e per i disservizi terminati da pochi minuti.
Questo valore + � da utilizzare con l'API _getLegalFact_ di questo stesso servizio. + fileAvailable: + type: boolean + TaxId: + maxLength: 16 + minLength: 11 + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: C.F. persona fisica o persona giuridica + Denomination: + maxLength: 44 + minLength: 1 + pattern: ^.*$ + type: string + description: "Denominazione ente o persona fisica / ragione sociale. La codifica\ + \ prevede i caratteri ISO LATIN 1, senza | e senza i caratteri di controllo,\ + \ ovvero la seguente regexp: ^[ -{}~\\u00A0-�]*$" + NotificationDigitalAddress: + required: + - address + - type + type: object + properties: + type: + type: string + description: "tipo di indirizzo PEC, REM, SERCQ, ..." + enum: + - PEC + address: + maxLength: 320 + pattern: "^([a-zA-Z0-9]+(?:[.\\-_][a-zA-Z0-9]+){0,10}@[a-zA-Z0-9]+(?:[.-][a-zA-Z0-9]+){0,10}(?:\\\ + .[a-zA-Z0-9]{2,10}))$" + type: string + description: Indirizzo PEC o REM che il mittente della notifica intende + utilizzare per raggiungere il destinatario. + example: account@domain.it + description: Indirizzo di invio della notifica + NotificationPhysicalAddress: + required: + - address + - municipality + type: object + properties: + at: + maxLength: 44 + pattern: ^.*$ + type: string + description: Campo "presso" dell'indirizzo + address: + maxLength: 1024 + minLength: 2 + pattern: ^.*$ + type: string + description: Indirizzo del domicilio fisico + addressDetails: + maxLength: 1024 + pattern: ^.*$ + type: string + description: Seconda riga dell'indirizzo fisico + zip: + maxLength: 15 + minLength: 0 + pattern: ^(\w|\ |\-)*$ + type: string + description: Codice di avviamento postale. In caso di invio estero diventa + facoltativo + municipality: + maxLength: 256 + minLength: 2 + pattern: ^.*$ + type: string + description: Comune + municipalityDetails: + maxLength: 256 + pattern: ^.*$ + type: string + description: Frazione o localit� + province: + maxLength: 256 + pattern: ^.*$ + type: string + description: Provincia + foreignState: + maxLength: 256 + pattern: ^.*$ + type: string + description: Denominazione paese estero + description: Indirizzo fisico + noticeCode: + maxLength: 18 + minLength: 18 + pattern: ^\d+$ + type: string + description: Payment notice number numero avviso + example: "302000100000019421" + paTaxId: + maxLength: 11 + minLength: 11 + pattern: ^\d+$ + type: string + description: Payment PA fiscal code + example: "77777777777" + NotificationAttachmentDigests: + required: + - sha256 + type: object + properties: + sha256: + maxLength: 44 + minLength: 44 + pattern: "^[A-Za-z0-9+\\/]{43}=|[A-Za-z0-9+\\/]{44}$" + type: string + description: Digest "sha256" della codifica binaria dell'allegato in base64 + example: jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE= + description: Codici per la verifica del corretto caricamento di un allegato + NotificationAttachmentBodyRef: + required: + - key + - versionToken + type: object + properties: + key: + maxLength: 512 + pattern: "^(safestorage:\\/\\/)?[A-Za-z0-9._-]+$" + type: string + description: Chiave in cui � stato salvato l'allegato + versionToken: + maxLength: 256 + pattern: ^.*$ + type: string + description: "Token per recuperare l'esatta istanza dell'allegato, che dovr�\ + \ coincidere con l'__x-amz-version-id__ ottenuto nell'header della response\ + \ in fase di upload del documento ad esso associato." + description: Riferimento all'allegato precaricato + NotificationAttachment: + required: + - contentType + - digests + - ref + type: object + properties: + digests: + $ref: '#/components/schemas/NotificationAttachmentDigests' + contentType: + maxLength: 15 + minLength: 15 + pattern: ^application\/pdf$ + type: string + description: "tipo di contenuto dell'allegato, supportato application/pdf" + ref: + $ref: '#/components/schemas/NotificationAttachmentBodyRef' + description: Un allegato della notifica. + NotificationPaymentAttachment: + description: Un modulo di pagamento allegato alla notifica + allOf: + - $ref: '#/components/schemas/NotificationAttachment' + PagoPaPayment: + title: Informazioni per effettuare il pagamento con sistema pagoPA + required: + - applyCost + - creditorTaxId + - noticeCode + type: object + properties: + noticeCode: + $ref: '#/components/schemas/noticeCode' + creditorTaxId: + $ref: '#/components/schemas/paTaxId' + applyCost: + type: boolean + description: Flag per indicare se l'avviso pagoPa deve contenere i costi + di notifica + nullable: false + attachment: + $ref: '#/components/schemas/NotificationPaymentAttachment' + description: |- + Informazioni utili per effettuare il pagamento di una notifica, sono associate al destinatario perch� le spese di notifica possono differire a seconda del canale di notifica utilizzato.
+ - _noticeCode_: "codice avviso pagoPA" di pagamento del sistema pagoPA, usato per pagamento online.
+ - _creditorTaxId_: codice fiscale dell'ente a cui fa riferimento il "codice avviso pagoPA".
+ - _applyCost_: flag per indicare se l'avviso pagoPA deve contenere i costi di notifica.
+ - _pagoPaForm_: riferimento al PDF contenete il bollettino pagoPA
+ NotificationMetadataAttachment: + required: + - contentType + - digests + - ref + type: object + properties: + digests: + $ref: '#/components/schemas/NotificationAttachmentDigests' + contentType: + maxLength: 16 + minLength: 16 + pattern: ^application\/json$ + type: string + description: "tipo di contenuto dell'allegato, supportato application/json" + ref: + $ref: '#/components/schemas/NotificationAttachmentBodyRef' + description: Un metadato allegato della notifica. + F24Payment: + title: Informazioni per effettuare il pagamento tramite modello F24 + required: + - applyCost + - metadataAttachment + - title + type: object + properties: + title: + type: string + description: Titolo del documento pdf da mostrare all'utente + applyCost: + type: boolean + description: Flag per indicare se il modello F24 deve contere i costi di + notifica + nullable: false + metadataAttachment: + $ref: '#/components/schemas/NotificationMetadataAttachment' + description: |- + Informazioni utili per effettuare il pagamento di una notifica, sono associate al destinatario perch� le spese di notifica possono differire a seconda del canale di notifica utilizzato.
+ - _title_: titolo del documento pdf da mostrare all'utente .
+ - _applyCost_: flag per indicare se il modello F24 deve contenere i costi di notifica.
+ - _metadataAttachment_: riferimento ai metadati per la generazione del modello F24.
+ NotificationPaymentItem: + minProperties: 1 + type: object + properties: + pagoPa: + $ref: '#/components/schemas/PagoPaPayment' + f24: + $ref: '#/components/schemas/F24Payment' + additionalProperties: false + nullable: false + NotificationPayments: + title: Pagamenti collegati alla notifica per il destinatario + type: array + description: Lista dei pagamenti collegati alla notifica per il destinatario. + Possono essere pagamenti rateali o alternativi + items: + $ref: '#/components/schemas/NotificationPaymentItem' + NotificationRecipientV23: + required: + - denomination + - physicalAddress + - recipientType + - taxId + type: object + properties: + recipientType: + type: string + description: "Tipologia di destinatario: Persona Fisica (PF) o Persona Giuridica\ + \ (PG)" + enum: + - PF + - PG + taxId: + $ref: '#/components/schemas/TaxId' + denomination: + $ref: '#/components/schemas/Denomination' + digitalDomicile: + $ref: '#/components/schemas/NotificationDigitalAddress' + physicalAddress: + $ref: '#/components/schemas/NotificationPhysicalAddress' + payments: + $ref: '#/components/schemas/NotificationPayments' + additionalProperties: false + description: Informazioni sui destinatari + NotificationDocument: + description: Un documento da notificare + allOf: + - $ref: '#/components/schemas/NotificationAttachment' + - type: object + properties: + title: + maxLength: 512 + minLength: 1 + pattern: ^.*$ + type: string + description: Titolo del documento allegato. Stringa alfanumerica con caratteri + utilizzabili in un nome file. + docIdx: + maxLength: 3 + pattern: ^\\d+$ + type: string + description: Indice del documento partendo da 0. + NotificationFeePolicy: + type: string + description: "Politica di addebitamento dei costi di notifica.
- _FLAT_RATE_:\ + \ costo forfettario fisso. In questa modalit� SEND non gestisce il costo\ + \ della notifica per il destinatario.
- _DELIVERY_MODE_: costo calcolato\ + \ in base all'effettivo percorso di notifica.
" + enum: + - FLAT_RATE + - DELIVERY_MODE + IUN: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + description: Identificativo Univoco Notifica + PaFeeV23: + maximum: 100 + minimum: 0 + type: integer + description: "Costo espresso in eurocent sostenuto dal mittente, per l'elaborazione\ + \ degli atti, provvedimenti, avvisi e comunicazioni oggetto di notifica, per\ + \ il relativo deposito sulla piattaforma e per la gestione degli esiti della\ + \ notifica (Decreto 30 maggio 2022 - Art. 3, comma 1, lettera a).
Obbligatoria\ + \ per notifiche con notificationFeePolicy=DELIVERY_MODE
Per le notifiche\ + \ effettuate con versioni precedenti alla 2.3 si assume il valore di default\ + \ 100.
Esempio paFee ad 1� -> 100
" + format: int32 + VatV23: + maximum: 100 + minimum: 0 + type: integer + description: IVA espressa in percentuale sui costi degli avvisi in formato cartaceo.
+ Obbligatoria per notifiche con notificationFeePolicy=DELIVERY_MODE.
+ Per le notifiche effettuate con versioni precedenti alla 2.3 si assume il + valore di default 22.
Esempio vat al 22% -> 22
+ format: int32 + NewNotificationRequestV24: + required: + - documents + - notificationFeePolicy + - paProtocolNumber + - physicalCommunicationType + - recipients + - senderDenomination + - senderTaxId + - subject + - taxonomyCode + type: object + properties: + idempotenceToken: + maxLength: 256 + pattern: "^[ -~]*$" + type: string + description: Identificativo utilizzabile dal chiamante per disambiguare + differenti "richieste di notificazione" effettuate con lo stesso numero + di protocollo (campo _paProtocolNumber_). Questo pu� essere necessario + in caso di "richiesta di notifica" rifiutata per errori nei codici di + verifica degli allegati. + paProtocolNumber: + maxLength: 256 + pattern: ^.*$ + type: string + description: Numero di protocollo che la PA mittente assegna alla notifica + stessa + subject: + maxLength: 134 + pattern: ^.*$ + type: string + description: titolo della notifica + abstract: + maxLength: 1024 + pattern: ^.*$ + type: string + description: descrizione sintetica della notifica + recipients: + minItems: 1 + type: array + description: Informazioni sui destinatari + items: + $ref: '#/components/schemas/NotificationRecipientV23' + documents: + minItems: 1 + type: array + description: Documenti notificati + items: + $ref: '#/components/schemas/NotificationDocument' + notificationFeePolicy: + $ref: '#/components/schemas/NotificationFeePolicy' + cancelledIun: + $ref: '#/components/schemas/IUN' + physicalCommunicationType: + type: string + description: Tipologia comunicazione fisica + enum: + - AR_REGISTERED_LETTER + - REGISTERED_LETTER_890 + senderDenomination: + $ref: '#/components/schemas/Denomination' + senderTaxId: + $ref: '#/components/schemas/paTaxId' + group: + maxLength: 1024 + pattern: "^[ -~]*$" + type: string + description: Gruppo di utenti dell'ente mittente che pu� visualizzare la + notifica + amount: + type: integer + description: Importo della notifica in eurocent + format: int32 + paymentExpirationDate: + maxLength: 10 + minLength: 10 + pattern: "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])$" + type: string + description: Data di scadenza del pagamento nel formato YYYY-MM-DD riferito + all'Italia + taxonomyCode: + maxLength: 7 + minLength: 7 + pattern: "^([0-9]{6}[A-Z]{1})$" + type: string + description: "Codice tassonomico della notifica basato sulla definizione\ + \ presente nell'allegato 2 capitolo C del bando [__AVVISO PUBBLICO MISURA\ + \ 1.4.5 PIATTAFORMA NOTIFICHE DIGITALI__](https://pnrrcomuni.fondazioneifel.it/bandi_public/Bando/325)" + paFee: + $ref: '#/components/schemas/PaFeeV23' + vat: + $ref: '#/components/schemas/VatV23' + pagoPaIntMode: + type: string + description: "Modalit� di integrazione pagoPA per l'attualizazione del costo\ + \ della notifica.
- _NONE_: nessuna attualizzazione.
- _SYNC_:\ + \ modalit� sincrona.
- _ASYNC_: modalit� asincrona.
" + enum: + - NONE + - SYNC + - ASYNC + additionalLanguages: + type: array + description: "In questo campo � possibile definire la lingua addizionale\ + \ (oltre a quella italiana) da utilizzare per la generazione documenti,\ + \ atti opponibili a terzi ecc.
Le lingue accettate e dunque i valori\ + \ possibili degli item dell'array sono:
- DE
- SI
-\ + \ FR
DE (tedesco), SI (sloveno), FR (francese) Attualmente � possibile\ + \ indicare un solo item e dunque una sola lingua aggiuntiva. Se non vengono\ + \ indicate lingue aggiuntive la lingua utilizzata per generare
documenti,\ + \ atti opponibili a terzi ecc. sar� quella italiana." + items: + maxItems: 1 + type: string + description: I campi utilizzati per la creazione di una nuova Notifica. + SentNotificationV24: + description: Le informazioni riguardanti una richiesta di notifica accettata + allOf: + - $ref: '#/components/schemas/NewNotificationRequestV24' + - required: + - iun + - sentAt + type: object + properties: + senderPaId: + maxLength: 256 + pattern: ^.*$ + type: string + description: Identificativo (non IPA) della PA mittente che ha eseguito + l'onboarding su SelfCare. + iun: + $ref: '#/components/schemas/IUN' + sentAt: + type: string + description: Momento di ricezione della notifica da parte di PN + format: date-time + cancelledByIun: + $ref: '#/components/schemas/IUN' + documentsAvailable: + type: boolean + description: Indica se i documenti notificati sono ancora disponibili. + TimelineElementId: + type: string + NotificationStatusHistoryElement: + required: + - activeFrom + - relatedTimelineElements + - status + type: object + properties: + status: + $ref: '#/components/schemas/NotificationStatus' + activeFrom: + type: string + description: data e ora di raggiungimento dello stato di avanzamento + format: date-time + relatedTimelineElements: + type: array + description: Eventi avvenuti nello stato + items: + $ref: '#/components/schemas/TimelineElementId' + description: elenco degli avanzamenti effettuati dal processo di notifica + LegalFactCategoryV20: + title: Tipi di atti opponibili a terzi + type: string + 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
+ LegalFactsIdV20: + required: + - category + - key + type: object + properties: + key: + maxLength: 512 + pattern: "^(safestorage:\\/\\/)?[A-Za-z0-9._-]+$" + type: string + description: Chiave dell'atto opponibile a terzi generato durante il processo + di consegna + category: + $ref: '#/components/schemas/LegalFactCategoryV20' + description: Chiavi dei documenti generati durante il processo di consegna cartacea + 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: + maxLength: 128 + type: string + description: Identificativo dell'atto opponibile a terzi del quale � stata + richiesta la creazione + PhysicalAddress: + required: + - address + - municipality + type: object + properties: + at: + type: string + description: Campo "presso" dell'indirizzo + x-field-extra-annotation: '@lombok.ToString.Exclude' + address: + type: string + description: Indirizzo del domicilio fisico + x-field-extra-annotation: '@lombok.ToString.Exclude' + addressDetails: + type: string + description: Seconda riga dell'indirizzo fisico + x-field-extra-annotation: '@lombok.ToString.Exclude' + zip: + type: string + description: Codice di avviamento postale. In caso di invio estero diventa + facoltativo + x-field-extra-annotation: '@lombok.ToString.Exclude' + municipality: + type: string + description: Comune in cui l'indirizzo si trova + x-field-extra-annotation: '@lombok.ToString.Exclude' + municipalityDetails: + type: string + description: Frazione o localit� + x-field-extra-annotation: '@lombok.ToString.Exclude' + province: + type: string + description: Provincia in cui si trova l'indirizzo + x-field-extra-annotation: '@lombok.ToString.Exclude' + foreignState: + type: string + description: Denominazione paese estero + x-field-extra-annotation: '@lombok.ToString.Exclude' + description: Indirizzo fisico scoperto durante fase di consegna + NormalizedAddressDetails: + required: + - normalizedAddress + - oldAddress + - recIndex + type: object + 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: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + generatedAarUrl: + maxLength: 128 + type: string + description: Chiave per recupero da safe-storage del documento aar + AnalogSuccessWorkflowDetails: + required: + - physicalAddress + - recIndex + type: object + 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: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + legalfactId: + maxLength: 128 + type: string + 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: + required: + - recIndex + type: object + 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: + required: + - address + - type + type: object + properties: + type: + type: string + description: "tipo di indirizzo PEC, REM, SERCQ, SMS, EMAIL, APPIO ..." + x-field-extra-annotation: '@lombok.ToString.Exclude' + address: + type: string + description: account@domain + x-field-extra-annotation: '@lombok.ToString.Exclude' + description: Indirizzo di invio della notifica + DigitalDeliveryCreationRequestDetails: + required: + - digitalAddress + - recIndex + type: object + 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: + maxLength: 128 + type: string + description: Identificativo dell'atto opponibile a terzi del quale � stata + richiesta la creazione + DigitalFailureWorkflowDetails: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + DigitalSuccessWorkflowDetails: + required: + - digitalAddress + - recIndex + type: object + 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: + required: + - attemptDate + - digitalAddressSource + - isAvailable + - recIndex + type: object + 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: + maxLength: 512 + type: string + description: Identificativo della pratica all'interno della rete RADD + RecipientType: + type: string + enum: + - PF + - PG + DelegateInfo: + type: object + properties: + internalId: + maxLength: 128 + type: string + taxId: + maxLength: 128 + type: string + x-field-extra-annotation: '@lombok.ToString.Exclude' + operatorUuid: + maxLength: 128 + type: string + mandateId: + maxLength: 128 + type: string + denomination: + maxLength: 128 + type: string + x-field-extra-annotation: '@lombok.ToString.Exclude' + delegateType: + $ref: '#/components/schemas/RecipientType' + NotificationViewedCreationRequestDetailsV23: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + legalfactId: + maxLength: 128 + type: string + 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: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + notificationCost: + type: integer + description: "costo notifica in euro cents, pu� essere nullo se la notifica\ + \ si � perfezionata prima per decorrenza termini" + format: int64 + example: 1220 + 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: + required: + - eventTimestamp + - raddTransactionId + - raddType + - recIndex + type: object + 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: + required: + - contactPhase + - deliveryMode + - recIndex + - sendDate + - sentAttemptMade + type: object + 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: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + digitalAddress: + $ref: '#/components/schemas/DigitalAddress' + physicalAddress: + $ref: '#/components/schemas/PhysicalAddress' + RefinementDetailsV23: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + notificationCost: + type: integer + description: "costo notifica in euro cents, pu� essere nullo se la notifica\ + \ si � perfezionata prima per visualizzazione" + format: int64 + example: 1220 + eventTimestamp: + type: string + description: Data evento refinement + format: date-time + NotificationRefusedErrorV25: + type: object + properties: + errorCode: + maxLength: 128 + type: string + 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: + maxLength: 2048 + type: string + RequestRefusedDetailsV25: + type: object + properties: + refusalReasons: + type: array + description: Motivazioni che hanno portato al rifiuto della notifica + items: + $ref: '#/components/schemas/NotificationRefusedErrorV25' + ScheduleAnalogWorkflowDetailsV23: + required: + - recIndex + type: object + 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: + required: + - digitalAddressSource + - lastAttemptDate + - recIndex + - sentAttemptMade + type: object + 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: + required: + - recIndex + type: object + 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: + required: + - digitalAddress + - recIndex + - sendDate + type: object + 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: + required: + - digitalAddressSource + - recIndex + - retryNumber + type: object + 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: + required: + - digitalAddress + - digitalAddressSource + - recIndex + - retryNumber + type: object + 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: + maxLength: 1024 + type: string + description: messageId del server mittente + system: + maxLength: 128 + type: string + description: nome del server mittente + SendDigitalFeedbackDetails: + required: + - digitalAddress + - notificationDate + - recIndex + - responseStatus + type: object + 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: + type: string + description: "Codice errore, vuoto in caso di successo" + 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: + type: string + description: "Codice errore, opzionale" + 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: + required: + - physicalAddress + - recIndex + - sentAttemptMade + - serviceLevel + type: object + 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: + maxLength: 512 + type: string + description: Id relativo alla eventuale precedente richiesta di invio cartaceo + SendAnalogDetails: + required: + - physicalAddress + - recIndex + - sentAttemptMade + - serviceLevel + type: object + 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: + maxLength: 512 + type: string + description: Id relativo alla eventuale precedente richiesta di invio cartaceo + productType: + maxLength: 10 + type: string + 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: + maxLength: 512 + type: string + description: request id della relativa richiesta di prepare + AttachmentDetails: + type: object + properties: + id: + maxLength: 128 + type: string + documentType: + maxLength: 20 + type: string + 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: + maxLength: 128 + type: string + date: + type: string + format: date-time + SendAnalogFeedbackDetailsV25: + required: + - physicalAddress + - recIndex + - responseStatus + - sentAttemptMade + - serviceLevel + type: object + 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: + maxLength: 10 + type: string + 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: + maxLength: 20 + type: string + 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: + maxLength: 512 + type: string + description: RequestId della richiesta d'invio + registeredLetterCode: + maxLength: 128 + type: string + description: Codice della raccomandata + BaseRegisteredLetterDetails: + required: + - physicalAddress + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + physicalAddress: + $ref: '#/components/schemas/PhysicalAddress' + SimpleRegisteredLetterDetails: + required: + - physicalAddress + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + physicalAddress: + $ref: '#/components/schemas/PhysicalAddress' + productType: + maxLength: 10 + type: string + 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: + maxLength: 512 + type: string + description: request id della relativa richiesta di prepare + AarCreationRequestDetails: + required: + - aarKey + - numberOfPages + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + aarKey: + maxLength: 128 + type: string + description: Chiave per recupero da safe-storage del documento aar + numberOfPages: + type: integer + description: numero di pagine del PDF generato + format: int32 + AarGenerationDetails: + required: + - generatedAarUrl + - numberOfPages + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + generatedAarUrl: + maxLength: 128 + type: string + description: Chiave per recupero da safe-storage del documento aar + numberOfPages: + type: integer + description: numero di pagine del PDF generato + format: int32 + NotHandledDetails: + required: + - reason + - reasonCode + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + reasonCode: + maxLength: 10 + type: string + description: Codice motivazione casistica non gestita + reason: + maxLength: 2048 + type: string + description: Motivazione casistica non gestita + NotificationPaidDetailsV23: + required: + - paymentSourceChannel + - recIndex + - recipientType + type: object + 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: + maxLength: 512 + type: string + description: un UUID che identifica un pagamento f24 + paymentSourceChannel: + maxLength: 512 + type: string + description: Canale sorgente della richiesta di pagamento + uncertainPaymentDate: + type: boolean + description: Indica se la data di pagamento � certa + deprecated: true + eventTimestamp: + type: string + description: Data evento pagamento + format: date-time + SendAnalogProgressDetailsV23: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario che ha effettuato il pagamento della notifica + format: int32 + notificationDate: + type: string + format: date-time + deliveryFailureCause: + maxLength: 10 + type: string + description: Vedi deliveryFailureCause in SendAnalogFeedbackDetails + deliveryDetailCode: + maxLength: 20 + type: string + description: Vedi deliveryDetailCode in SendAnalogFeedbackDetails + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentDetails' + sendRequestId: + maxLength: 512 + type: string + description: RequestId della richiesta d'invio + registeredLetterCode: + maxLength: 128 + type: string + description: Codice della raccomandata + serviceLevel: + $ref: '#/components/schemas/ServiceLevel' + SimpleRegisteredLetterProgressDetails: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario che ha effettuato il pagamento della notifica + format: int32 + notificationDate: + type: string + format: date-time + deliveryFailureCause: + maxLength: 10 + type: string + description: Vedi deliveryFailureCause in SendAnalogFeedbackDetails + deliveryDetailCode: + maxLength: 20 + type: string + description: Vedi deliveryDetailCode in SendAnalogFeedbackDetails + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentDetails' + sendRequestId: + maxLength: 512 + type: string + description: RequestId della richiesta d'invio + registeredLetterCode: + maxLength: 128 + type: string + description: Codice della raccomandata + ProbableDateAnalogWorkflowDetails: + required: + - recIndex + - schedulingAnalogDate + type: object + properties: + recIndex: + type: integer + description: Index destinatario che ha effettuato il pagamento della notifica + format: int32 + schedulingAnalogDate: + type: string + description: Data probabile di inizio del flusso analogico + format: date-time + NotificationCancellationRequestDetails: + required: + - cancellationRequestId + type: object + properties: + cancellationRequestId: + maxLength: 512 + type: string + description: Id della richiesta + NotificationCancelledDetails: + required: + - notRefinedRecipientIndexes + - notificationCost + type: object + properties: + notificationCost: + type: integer + description: "costo notifica in euro cents, vale 100 * numero di recipient\ + \ not refined" + format: int64 + example: 1220 + notRefinedRecipientIndexes: + type: array + items: + type: integer + description: indice del recipient non perfezionato + format: int32 + PrepareAnalogDomicileFailureDetails: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + foundAddress: + $ref: '#/components/schemas/PhysicalAddress' + failureCause: + maxLength: 10 + type: string + description: | + __Motivazione fallimento prepare + - __D00__ Indirizzo non trovato + - __D01__ Indirizzo non valido + - __D02__ Indirizzo coincidente con quello del primo tentativo + prepareRequestId: + maxLength: 512 + type: string + description: RequestId della richiesta di prepare + 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' + NotificationAttachmentDownloadMetadataResponse: + title: Url e metadati per il download di un allegato di una notifica + required: + - contentLength + - contentType + - filename + - sha256 + type: object + properties: + filename: + type: string + contentType: + type: string + example: application/pdf + contentLength: + type: integer + description: "dimensione, in byte, del contenuto." + format: int32 + example: 54092 + sha256: + type: string + description: SHA256 del contenuto del file. + url: + type: string + description: URL preautorizzato a cui effettuare una richiesta GET per ottenere + il contenuto del documento. Presente solo se il documento � pronto per + il download. + retryAfter: + type: integer + description: Stima del numero di secondi da aspettare prima che il contenuto + del documento sia disponibile per il download. + format: int32 + description: |- + I due campi pi� importanti sono __url__ e __retryAfter__.
+ - __url__ � presente se il file � pronto per essere scaricato ed indica l'url a cui fare GET. + - __retryAfter__ indica che il file � stato archiviato e bisogner� aspettare un numero di + secondi non inferiore a quanto indicato dal campo _retryAfter_.
+ NotificationPaymentInfo: + title: Informazioni per effettuare il pagamento + required: + - creditorTaxId + - noticeCode + type: object + properties: + noticeCode: + $ref: '#/components/schemas/noticeCode' + creditorTaxId: + $ref: '#/components/schemas/paTaxId' + noticeCodeAlternative: + $ref: '#/components/schemas/noticeCode' + pagoPaForm: + $ref: '#/components/schemas/NotificationPaymentAttachment' + description: |- + Informazioni utili per effettuare il pagamento di una notifica, sono associate al destinatario perch� le spese di notifica possono differire a seconda del canale di notifica utilizzato.
+ - _noticeCode_: "codice avviso pagoPA" di pagamento del sistema pagoPA, usato per pagamento online.
+ - _creditorTaxId_: codice fiscale dell'ente a cui fa riferimento il "codice avviso pagoPA".
+ - _pagoPaForm_: riferimento al PDF contenete il bollettino pagoPA
+ LegalFactCategory: + title: Tipi di atti opponibili a terzi + type: string + 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_: ... + enum: + - SENDER_ACK + - DIGITAL_DELIVERY + - ANALOG_DELIVERY + - RECIPIENT_ACCESS + - PEC_RECEIPT + - ANALOG_FAILURE_DELIVERY + LegalFactsId: + required: + - category + - key + type: object + properties: + key: + maxLength: 512 + pattern: "^(safestorage:\\/\\/)?[A-Za-z0-9._-]+$" + type: string + description: Chiave dell'atto opponibile a terzi generato durante il processo + di consegna + category: + $ref: '#/components/schemas/LegalFactCategory' + description: Chiavi dei documenti generati durante il processo di consegna cartacea + TimelineElementCategory: + type: string + description: | + stato di avanzamento del processo di notifica:` + * `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` - 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 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 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 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 dell'AAR (Avviso di Avvenuta Ricezione) a safe storage + * `AAR_GENERATION` - Generazione dell�AAR (Avviso di Avvenuta Ricezione) + * `PAYMENT` - Ricezione da parte della Pubblica Amministrazione di un evento di chiusura di una o pi� posizioni debitorie di tipo PagoPA. 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 + 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 + RaddType: + type: string + description: | + tipo di Rete Anti Digital Divide
+ __FSU__: Fornitore Servizio Universale
+ NotificationViewedCreationRequestDetails: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + legalfactId: + type: string + 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/RaddType' + raddTransactionId: + $ref: '#/components/schemas/RaddTransactionId' + delegateInfo: + $ref: '#/components/schemas/DelegateInfo' + NotificationViewedDetails: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + notificationCost: + type: integer + description: "costo notifica in euro cents, pu� essere nullo se la notifica\ + \ si � perfezionata prima per decorrenza termini" + format: int64 + example: 1220 + raddType: + $ref: '#/components/schemas/RaddType' + raddTransactionId: + $ref: '#/components/schemas/RaddTransactionId' + delegateInfo: + $ref: '#/components/schemas/DelegateInfo' + RefinementDetails: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + notificationCost: + type: integer + description: "costo notifica in euro cents, pu� essere nullo se la notifica\ + \ si � perfezionata prima per visualizzazione" + format: int64 + example: 1220 + NotificationRefusedError: + type: object + properties: + errorCode: + type: string + 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 + detail: + type: string + RequestRefusedDetails: + type: object + properties: + refusalReasons: + type: array + description: Motivazioni che hanno portato al rifiuto della notifica + items: + $ref: '#/components/schemas/NotificationRefusedError' + ScheduleAnalogWorkflowDetails: + required: + - recIndex + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + ScheduleDigitalWorkflowDetails: + required: + - digitalAddressSource + - lastAttemptDate + - recIndex + - sentAttemptMade + type: object + 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 + SendDigitalProgressDetails: + type: object + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + deliveryFailureCause: + type: string + description: "Codice errore, opzionale" + 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 + SendAnalogFeedbackDetails: + required: + - physicalAddress + - recIndex + - responseStatus + - sentAttemptMade + - serviceLevel + type: object + 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: + maxLength: 10 + type: string + 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: + maxLength: 20 + type: string + 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: + maxLength: 512 + type: string + description: RequestId della richiesta d'invio + registeredLetterCode: + maxLength: 128 + type: string + description: Codice della raccomandata + NotificationPaidDetails: + required: + - paymentSourceChannel + - recIndex + - recipientType + type: object + 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 + paymentSourceChannel: + type: string + description: Canale sorgente della richiesta di pagamento + uncertainPaymentDate: + type: boolean + description: Indica se la data di pagamento � certa + SendAnalogProgressDetails: + required: + - recIndex + type: object + 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 + description: Vedi deliveryFailureCause in SendAnalogFeedbackDetails + deliveryDetailCode: + type: string + description: Vedi deliveryDetailCode in SendAnalogFeedbackDetails + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentDetails' + sendRequestId: + type: string + description: RequestId della richiesta d'invio + registeredLetterCode: + type: string + description: Codice della raccomandata + TimelineElementDetails: + 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/NotificationViewedCreationRequestDetails' + - $ref: '#/components/schemas/NotificationViewedDetails' + - $ref: '#/components/schemas/PublicRegistryCallDetails' + - $ref: '#/components/schemas/PublicRegistryResponseDetails' + - $ref: '#/components/schemas/RefinementDetails' + - $ref: '#/components/schemas/RequestRefusedDetails' + - $ref: '#/components/schemas/ScheduleAnalogWorkflowDetails' + - $ref: '#/components/schemas/ScheduleDigitalWorkflowDetails' + - $ref: '#/components/schemas/ScheduleRefinementDetails' + - $ref: '#/components/schemas/SendCourtesyMessageDetails' + - $ref: '#/components/schemas/PrepareDigitalDetails' + - $ref: '#/components/schemas/SendDigitalDetails' + - $ref: '#/components/schemas/SendDigitalFeedbackDetails' + - $ref: '#/components/schemas/SendDigitalProgressDetails' + - $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/NotificationPaidDetails' + - $ref: '#/components/schemas/SendAnalogProgressDetails' + - $ref: '#/components/schemas/SimpleRegisteredLetterProgressDetails' + - $ref: '#/components/schemas/ProbableDateAnalogWorkflowDetails' + TimelineElementCategoryV20: + type: string + description: | + stato di avanzamento del processo di notifica:` + * `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` - 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 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 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 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 dell'AAR (Avviso di Avvenuta Ricezione) a safe storage + * `AAR_GENERATION` - Generazione dell�AAR (Avviso di Avvenuta Ricezione) + * `PAYMENT` - Ricezione da parte della Pubblica Amministrazione di un evento di chiusura di una o pi� posizioni debitorie di tipo PagoPA. 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 + 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 + NotificationRefusedErrorV20: + type: object + properties: + errorCode: + type: string + 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 + RequestRefusedDetailsV20: + type: object + properties: + refusalReasons: + type: array + description: Motivazioni che hanno portato al rifiuto della notifica + items: + $ref: '#/components/schemas/NotificationRefusedErrorV20' + NotificationPaidDetailsV20: + required: + - paymentSourceChannel + - recIndex + - recipientType + type: object + 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 + paymentSourceChannel: + type: string + description: Canale sorgente della richiesta di pagamento + uncertainPaymentDate: + type: boolean + description: Indica se la data di pagamento � certa + deprecated: true + TimelineElementDetailsV20: + 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/NotificationViewedCreationRequestDetails' + - $ref: '#/components/schemas/NotificationViewedDetails' + - $ref: '#/components/schemas/PublicRegistryCallDetails' + - $ref: '#/components/schemas/PublicRegistryResponseDetails' + - $ref: '#/components/schemas/RefinementDetails' + - $ref: '#/components/schemas/RequestRefusedDetailsV20' + - $ref: '#/components/schemas/ScheduleAnalogWorkflowDetails' + - $ref: '#/components/schemas/ScheduleDigitalWorkflowDetails' + - $ref: '#/components/schemas/ScheduleRefinementDetails' + - $ref: '#/components/schemas/SendCourtesyMessageDetails' + - $ref: '#/components/schemas/PrepareDigitalDetails' + - $ref: '#/components/schemas/SendDigitalDetails' + - $ref: '#/components/schemas/SendDigitalFeedbackDetails' + - $ref: '#/components/schemas/SendDigitalProgressDetails' + - $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/NotificationPaidDetailsV20' + - $ref: '#/components/schemas/SendAnalogProgressDetails' + - $ref: '#/components/schemas/SimpleRegisteredLetterProgressDetails' + - $ref: '#/components/schemas/ProbableDateAnalogWorkflowDetails' + - $ref: '#/components/schemas/NotificationCancellationRequestDetails' + - $ref: '#/components/schemas/NotificationCancelledDetails' + - $ref: '#/components/schemas/PrepareAnalogDomicileFailureDetails' + NotificationRefusedErrorV23: + type: object + properties: + errorCode: + maxLength: 128 + type: string + 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: + maxLength: 2048 + type: string + RequestRefusedDetailsV23: + type: object + properties: + refusalReasons: + type: array + description: Motivazioni che hanno portato al rifiuto della notifica + items: + $ref: '#/components/schemas/NotificationRefusedErrorV23' + 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' + PersonalData: + type: object + properties: + surname: + pattern: "^[A-Z\\\\s]{1,24}$" + type: string + description: surname of the person + name: + pattern: "^[A-Z\\\\s]{1,20}$" + type: string + description: name of the person + birthDate: + pattern: "^\\d{2}-\\d{2}-\\d{4}$" + type: string + description: birthdate of the person + sex: + pattern: "^[FM]$" + type: string + description: indicate if is (F)emale or (M)ale + birthPlace: + pattern: "^[A-Z\\s]{1,40}$" + type: string + description: birth place of the person + birthProvince: + pattern: "^[A-Z]{2}$" + type: string + description: birth province of the person + description: Personal Data (Dati Anagrafici) object + TaxAddress: + type: object + properties: + municipality: + pattern: "^[A-Z]{1,40}$" + type: string + description: municipality of the tax address + province: + pattern: "^[A-Z]{2}$" + type: string + description: province of the tax address + address: + pattern: "^[A-Z0-9\\s.]{1,35}$" + type: string + description: street and house number of the tax address + description: Tax Residence (Domicilio Fiscale) object + PersonData: + type: object + properties: + personalData: + $ref: '#/components/schemas/PersonalData' + taxAddress: + $ref: '#/components/schemas/TaxAddress' + description: Person Data (Dati Anagrafici PF) object + CompanyData: + type: object + properties: + name: + pattern: "^[A-Z\\s]{1,60}$" + type: string + description: Company name + taxAddress: + $ref: '#/components/schemas/TaxAddress' + description: Company Data (Dati Anagrafici PNF) object + TaxPayerStandard: + type: object + properties: + taxCode: + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: Tax Payer Tax Code + isNotTaxYear: + type: boolean + description: field that show if the current year is included + person: + $ref: '#/components/schemas/PersonData' + company: + $ref: '#/components/schemas/CompanyData' + relativePersonTaxCode: + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: It is the tax code of a relative of the main tax payer + id: + pattern: "^[A-Z0-9]{2}$" + type: string + description: identification code + IncludeNotificationCost: + required: + - applyCost + type: object + properties: + applyCost: + type: boolean + description: to check if include notification cost + nullable: false + Tax: + type: object + properties: + taxType: + pattern: "^[A-Z0-9]{4}$" + type: string + description: identification code of the type of tax + installment: + pattern: "^[A-Z0-9]{0,4}$" + type: string + description: identification code of the ente + year: + pattern: "^[1-2][0-9]{3}$" + type: string + description: reference year of the tax + debit: + pattern: "^[0-9]{3,15}$" + type: string + description: debit amount of the tax + credit: + pattern: "^[0-9]{3,15}$" + type: string + description: credit amount of the tax + description: Tax object + allOf: + - $ref: '#/components/schemas/IncludeNotificationCost' + TreasurySection: + type: object + properties: + records: + type: array + description: list of the taxes + items: + $ref: '#/components/schemas/Tax' + office: + pattern: "^[A-Z0-9]{3}$" + type: string + description: identification code of the office + document: + pattern: "^\\d{11}$" + type: string + description: identification code of the document + description: Treasury Section (Sezione Erario) object + Period: + type: object + properties: + startDate: + pattern: "^[0-9]{6}$" + type: string + description: start date of the period + endDate: + pattern: "^[0-9]{6}$" + type: string + description: end date of the period + description: Reporting Period (Sezione INPS) object + InpsRecord: + type: object + properties: + office: + pattern: "^[0-9]{3,4}$" + type: string + description: identification code of the office + reason: + pattern: "^[A-Z-]{3,4}$" + type: string + description: contribution reason for the record + inps: + pattern: "^[A-Za-z0-9\\s]{0,17}$" + type: string + description: INPS identification code + period: + $ref: '#/components/schemas/Period' + debit: + pattern: "^[0-9]{3,15}$" + type: string + description: debit amount of the record + credit: + pattern: "^[0-9]{3,15}$" + type: string + description: credit amount of the record + description: INPS Record object + allOf: + - $ref: '#/components/schemas/IncludeNotificationCost' + InpsSection: + type: object + properties: + records: + type: array + description: INPS Record List + items: + $ref: '#/components/schemas/InpsRecord' + description: INPS Section (Sezione INPS) object + RegionRecord: + type: object + properties: + region: + pattern: "^[0-9]{2}$" + type: string + description: region identification code + taxType: + pattern: "^[0-9A-Z]{4}$" + type: string + description: identification code of the type of tax + installment: + pattern: "^[A-Z0-9]{0,4}$" + type: string + description: identification code of the ente + year: + pattern: "^[1-2][0-9]{3}$" + type: string + description: reference year + debit: + pattern: "^[0-9]{3,15}$" + type: string + description: debit amount of the record + credit: + pattern: "^[0-9]{3,15}$" + type: string + description: credit amount of the record + description: Region Record object + allOf: + - $ref: '#/components/schemas/IncludeNotificationCost' + RegionSection: + type: object + properties: + records: + type: array + description: Region Record List + items: + $ref: '#/components/schemas/RegionRecord' + description: Region Section (Sezione Regioni) object + LocalTaxRecord: + required: + - municipality + - taxType + type: object + properties: + municipality: + pattern: "^[0-9A-Z]{4}$" + type: string + description: identification code of the municipality + reconsideration: + type: boolean + description: to check if it is a reconsideration act + propertiesChanges: + type: boolean + description: to check if there are some changes in properties list + advancePayment: + type: boolean + description: to check if it is a payment in advance + fullPayment: + type: boolean + description: to check if it a full payment + numberOfProperties: + pattern: "^[0-9]{3}$" + type: string + description: number of properties + taxType: + pattern: "^[0-9]{4}$" + type: string + description: identification code of the type of tax + installment: + pattern: "^[A-Z0-9]{0,4}$" + type: string + description: identification code of the ente + year: + pattern: "^[1-2][0-9]{3}$" + type: string + description: reference year + debit: + pattern: "^[0-9]{3,15}$" + type: string + description: debit amount of the record + credit: + pattern: "^[0-9]{3,15}$" + type: string + description: credit amount of the record + description: LocalTax Record object + allOf: + - $ref: '#/components/schemas/IncludeNotificationCost' + LocalTaxSection: + type: object + properties: + operationId: + pattern: "^[A-Z0-9]{18}$" + type: string + description: identification code of the operation + records: + type: array + items: + $ref: '#/components/schemas/LocalTaxRecord' + deduction: + pattern: "^[0-9]{3,15}$" + type: string + description: if there are any deduction + description: LocalTax Section (Sezione LocalTax e Altri Tributi Locali) object + InailRecord: + type: object + properties: + office: + pattern: "^[0-9]{5}$" + type: string + description: identification code of the office + company: + pattern: "^[0-9]{8}$" + type: string + description: identification code of the company + control: + pattern: "^[0-9]{2}$" + type: string + description: control identification code + refNumber: + pattern: "^[0-9]{6}$" + type: string + description: reference number + reason: + pattern: "^[A-Z0-9]$" + type: string + description: reason of the record + debit: + pattern: "^[0-9]{3,15}$" + type: string + description: debit amount of the record + credit: + pattern: "^[0-9]{3,15}$" + type: string + description: credit amount of the record + description: INAIL Record object + allOf: + - $ref: '#/components/schemas/IncludeNotificationCost' + SocialSecurityRecord: + type: object + properties: + institution: + pattern: "^[0-9]{4}$" + type: string + description: identification code of the institution + office: + pattern: "^[0-9A-Z]{5}$" + type: string + description: identification code of the office + reason: + pattern: "^[0-9A-Z]{3,4}$" + type: string + description: reason of the contribution + position: + pattern: "^[0-9]{9}$" + type: string + description: identification code of the position + period: + $ref: '#/components/schemas/Period' + debit: + pattern: "^[0-9]{3,15}$" + type: string + description: debit amount of the record + credit: + pattern: "^[0-9]{3,15}$" + type: string + description: credit amount of the record + description: Social Security Record object + allOf: + - $ref: '#/components/schemas/IncludeNotificationCost' + SocialSecuritySection: + type: object + properties: + records: + type: array + items: + $ref: '#/components/schemas/InailRecord' + socSecRecords: + type: array + description: Social Security Record List + items: + $ref: '#/components/schemas/SocialSecurityRecord' + description: Social Security Section (Sezione Altri Enti Previdenziali) object + F24Standard: + type: object + properties: + taxPayer: + $ref: '#/components/schemas/TaxPayerStandard' + treasury: + $ref: '#/components/schemas/TreasurySection' + inps: + $ref: '#/components/schemas/InpsSection' + region: + $ref: '#/components/schemas/RegionSection' + localTax: + $ref: '#/components/schemas/LocalTaxSection' + socialSecurity: + $ref: '#/components/schemas/SocialSecuritySection' + TaxPayerSimplified: + type: object + properties: + taxCode: + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: Tax Payer Tax Code + personalData: + $ref: '#/components/schemas/PersonalData' + relativePersonTaxCode: + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: It is the tax code of a relative of the main tax payer + id: + pattern: "^[A-Z0-9]{2}$" + type: string + description: identification code + document: + pattern: "^\\d{11}$" + type: string + description: identification code of the document + office: + pattern: "^[A-Z0-9]{3}$" + type: string + description: identification code of the office + SimplifiedPaymentRecord: + required: + - section + properties: + section: + pattern: ^(ER|RG|EL)$ + type: string + description: section code (ER|RG|EL) + description: Payment Reason Record object + allOf: + - $ref: '#/components/schemas/LocalTaxRecord' + SimplifiedPaymentSection: + type: object + properties: + operationId: + pattern: "^[A-Z0-9]{18}$" + type: string + description: identification code of the operation + records: + type: array + description: Payments Record List + items: + $ref: '#/components/schemas/SimplifiedPaymentRecord' + description: Payment Reason Section (Motivo del Pagamento) object + F24Simplified: + type: object + properties: + taxPayer: + $ref: '#/components/schemas/TaxPayerSimplified' + payments: + $ref: '#/components/schemas/SimplifiedPaymentSection' + TaxPayerExcise: + type: object + properties: + taxCode: + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: Tax Payer Tax Code + isNotTaxYear: + type: boolean + description: field that show if the current year is included + person: + $ref: '#/components/schemas/PersonData' + company: + $ref: '#/components/schemas/CompanyData' + relativePersonTaxCode: + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: It is the tax code of a relative of the main tax payer + id: + pattern: "^[A-Z0-9]{2}$" + type: string + description: identification code + ExciseTax: + type: object + properties: + institution: + pattern: "^[A-Z]{2}$" + type: string + description: institution of the tax + province: + pattern: "^[A-Z]{2}$" + type: string + description: province of the tax + id: + pattern: "^[A-Z0-9]{17}$" + type: string + description: identification code + taxType: + pattern: "^[0-9A-Z]{4}$" + type: string + description: identification code of the type of tax + installment: + pattern: "^[A-Z0-9]{0,4}$" + type: string + description: identification code of the ente + month: + pattern: "^[0-1][0-9]$" + type: string + description: month reference + year: + pattern: "^[1-2][0-9]{3}$" + type: string + description: reference year + debit: + pattern: "^[0-9]{3,15}$" + type: string + description: debit amount + description: Excise Tax object + allOf: + - $ref: '#/components/schemas/IncludeNotificationCost' + ExciseSection: + type: object + properties: + records: + type: array + description: Excise Tax List + items: + $ref: '#/components/schemas/ExciseTax' + office: + pattern: "^[A-Z0-9]{3}$" + type: string + description: identification code of the office + document: + pattern: "^\\d{11}$" + type: string + description: identification code of the document + description: Excise Section (Accise) object + F24Excise: + type: object + properties: + taxPayer: + $ref: '#/components/schemas/TaxPayerExcise' + treasury: + $ref: '#/components/schemas/TreasurySection' + inps: + $ref: '#/components/schemas/InpsSection' + region: + $ref: '#/components/schemas/RegionSection' + localTax: + $ref: '#/components/schemas/LocalTaxSection' + excise: + $ref: '#/components/schemas/ExciseSection' + description: F24 Excise (Accise) object + TaxPayerElide: + type: object + properties: + taxCode: + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: Tax Payer Tax Code + person: + $ref: '#/components/schemas/PersonData' + company: + $ref: '#/components/schemas/CompanyData' + relativePersonTaxCode: + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: It is the tax code of a relative of the main tax payer + id: + pattern: "^[A-Z0-9]{2}$" + type: string + description: identification code + TreasuryRecord: + type: object + properties: + type: + pattern: "^[A-Z]$" + type: string + description: type of treasury + id: + pattern: "^[A-Z0-9]{17}$" + type: string + description: identification code of the element + taxType: + pattern: "^[A-Z0-9]{4}$" + type: string + description: identification code of the type of tax + year: + pattern: "^[1-2][0-9]{3}$" + type: string + description: referance year + debit: + pattern: "^[0-9]{3,15}$" + type: string + description: debit amount of the record + description: Treasury Record object + allOf: + - $ref: '#/components/schemas/IncludeNotificationCost' + TreasuryAndOtherSection: + type: object + properties: + office: + pattern: "^[A-Z0-9]{3}$" + type: string + description: identification code of the office + document: + pattern: "^\\d{11}$" + type: string + description: identification code of the document + records: + type: array + description: Treasury Records + items: + $ref: '#/components/schemas/TreasuryRecord' + description: Treasury ans Other Section (Sezione Erario e Altro) object + F24Elid: + type: object + properties: + taxPayer: + $ref: '#/components/schemas/TaxPayerElide' + treasury: + $ref: '#/components/schemas/TreasuryAndOtherSection' + StatusDetail: + required: + - code + type: object + properties: + code: + type: string + description: "Internal code of the error or warning, in human-readable format" + example: "NOTIFICATION_CANCELLATION_ACCEPTED, NOTIFICATION_ALREADY_CANCELLED" + level: + type: string + description: | + informational level of status detail: INFO,WARN, ERR + ERR (error) by default + example: INFO + detail: + type: string + description: A human readable explanation specific to this occurrence of + the problem. + example: Parameter not valid + description: Detail of response to cancellation async call + LegalFactListElementV20: + required: + - iun + - legalFactsId + type: object + properties: + taxId: + maxLength: 16 + minLength: 11 + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: Valorizzato se l'atto si riferisce a uno specifico destinatario + iun: + maxLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + description: Identificativo Univoco Notifica a cui l'atto � associato + legalFactsId: + $ref: '#/components/schemas/LegalFactsIdV20' + description: Informazioni relative ad un atto opponibile a terzi + LegalFactListV20: + title: Elenco atti opponibili + type: array + description: Elenco degli atti opponibili a terzi correlati a una notifica + items: + $ref: '#/components/schemas/LegalFactListElementV20' + LegalFactDownloadMetadataResponse: + title: Url e metadati per il download di un allegato di una notifica + required: + - contentLength + - filename + type: object + properties: + filename: + type: string + contentLength: + type: number + description: "dimensione, in byte, del contenuto." + format: decimal32 + example: 54092 + url: + type: string + description: URL preautorizzato a cui effettuare una richiesta GET per ottenere + il contenuto del documento. Presente solo se il documento � pronto per + il download. + retryAfter: + type: number + description: Stima del numero di secondi da aspettare prima che il contenuto + del documento sia scaricabile. + format: decimal32 + description: |- + I due campi pi� importanti sono __url__ e __retryAfter__.
+ - __url__ � presente se il file � pronto per essere scaricato ed indica l'url a cui fare GET. + - __retryAfter__ indica che il file non � stato archiviato e bisogner� aspettare un numero di + secondi non inferiore a quanto indicato dal campo _retryAfter_.
+ DocumentCategory: + title: Tipi di documenti + type: string + description: Tipologie di documenti + enum: + - AAR + DocumentDownloadMetadataResponse: + title: Url e metadati per il download di un documento correlato alla notifica + required: + - contentLength + - filename + type: object + properties: + filename: + type: string + contentLength: + type: number + description: "dmensione, in byte, del contenuto." + format: decimal32 + example: 54092 + url: + type: string + description: URL preautorizzato a cui effettuare una richiesta GET per ottenere + il contenuto del documento. Presente solo se il documento � pronto per + il download. + retryAfter: + type: number + description: Stima del numero di secondi da aspettare prima che il contenuto + del documento sia scaricabile. + format: decimal32 + description: |- + I due campi pi� importanti sono __url__ e __retryAfter__.
+ - __url__ � presente se il file � pronto per essere scaricato ed indica l'url a cui fare GET. + - __retryAfter__ indica che il file non � stato archiviato e bisogner� aspettare un numero di + secondi non inferiore a quanto indicato dal campo _retryAfter_.
+ LegalFactListElement: + required: + - iun + - legalFactsId + type: object + properties: + taxId: + maxLength: 16 + minLength: 11 + pattern: "^([A-Z]{6}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$" + type: string + description: Valorizzato se l'atto si riferisce a uno specifico destinatario + iun: + maxLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + description: Identificativo Univoco Notifica a cui l'atto � associato + legalFactsId: + $ref: '#/components/schemas/LegalFactsId' + description: Informazioni relative ad un atto opponibile a terzi + LegalFactList: + title: Elenco atti opponibili + type: array + description: Elenco degli atti opponibili a terzi correlati a una notifica + items: + $ref: '#/components/schemas/LegalFactListElement' + StreamCreationRequestV25: + type: object + description: Richiesta di creazione di uno stream di eventi di avanzamento delle + notifiche. Lo stream verr� creato nello stato abilitato + allOf: + - $ref: '#/components/schemas/StreamRequestV25' + - type: object + properties: + replacedStreamId: + type: string + 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." + format: uuid + StreamRequestV25: + required: + - eventType + - title + type: object + properties: + title: + maxLength: 256 + pattern: ^.*$ + type: string + description: Nome sintetico dello stream + eventType: + type: string + description: |- + Tipo di eventi presenti nel flusso: + - _STATUS_: cambiamenti di stato delle notifiche + - _TIMELINE_: eventi a granularit� fine + enum: + - STATUS + - TIMELINE + filterValues: + type: array + 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." + items: + maxLength: 256 + minLength: 4 + pattern: "^[A-Z_]+$" + type: string + 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. + StreamGroup: + type: string + description: Identificativo del gruppo. + StreamMetadataResponseV25: + description: Configurazioni di un flusso di eventi + allOf: + - $ref: '#/components/schemas/StreamRequestV25' + - required: + - activationDate + - streamId + type: object + properties: + streamId: + type: string + description: Identificativo del flusso di eventi + format: uuid + activationDate: + type: string + description: Timestamp in cui il flusso di eventi � stato attivato + format: date-time + disabledDate: + type: string + description: Timestamp in cui il flusso di eventi � stato disabilitato + format: date-time + version: + pattern: ^v\d\d\d?$ + type: string + description: versione di base dello stream. + StreamListResponse: + type: array + description: Elenco di flussi di eventi + items: + $ref: '#/components/schemas/StreamListElement' + StreamListElement: + required: + - streamId + - title + type: object + properties: + streamId: + type: string + format: uuid + title: + maxLength: 256 + pattern: ^.*$ + type: string + ProgressResponseV25: + type: array + items: + $ref: '#/components/schemas/ProgressResponseElementV25' + ProgressResponseElementV25: + required: + - element + - eventId + type: object + properties: + eventId: + type: string + description: Elemento che garantisce univocit� e ordinamento temporale all'interno + dello stream + notificationRequestId: + type: string + description: Identificativo della richiesta di notifica + iun: + maxLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + description: "Identificativo della notifica, presente solo se la richiesta\ + \ di notifica � stata accettata." + newStatus: + $ref: '#/components/schemas/NotificationStatus' + element: + $ref: '#/components/schemas/TimelineElementV25' + StreamCreationRequest: + required: + - eventType + - title + type: object + properties: + title: + maxLength: 256 + pattern: ^.*$ + type: string + description: Nome sintetico dello stream + eventType: + type: string + description: |- + Tipo di eventi presenti nel flusso: + - _STATUS_: cambiamenti di stato delle notifiche + - _TIMELINE_: eventi a granularit� fine + enum: + - STATUS + - TIMELINE + filterValues: + type: array + 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" + items: + maxLength: 256 + minLength: 4 + pattern: "^[A-Z_]+$" + type: string + description: Richiesta di creazione di uno stream di eventi di avanzamento delle + notifiche. + StreamMetadataResponse: + description: Configurazioni di un flusso di eventi + allOf: + - $ref: '#/components/schemas/StreamCreationRequest' + - required: + - activationDate + - streamId + type: object + properties: + streamId: + type: string + description: Identificativo del flusso di eventi + format: uuid + activationDate: + type: string + description: Timestamp in cui il flusso di eventi � stato attivato + format: date-time + ProgressResponse: + type: array + items: + $ref: '#/components/schemas/ProgressResponseElement' + ProgressResponseElement: + required: + - eventId + - timestamp + type: object + properties: + eventId: + type: string + description: Elemento che garantisce univocit� e ordinamento temporale all'interno + dello stream + timestamp: + type: string + description: Istante a cui � avvenuto l'evento + format: date-time + notificationRequestId: + type: string + description: Identificativo della richiesta di notifica + iun: + maxLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + description: "Identificativo della notifica, presente solo se la richiesta\ + \ di notifica � stata accettata." + newStatus: + $ref: '#/components/schemas/NotificationStatus' + timelineEventCategory: + $ref: '#/components/schemas/TimelineElementCategoryV23' + recipientIndex: + minimum: 0 + type: integer + description: Indice del destinatario al quale si riferisce l'evento + format: int32 + analogCost: + type: integer + description: Eventuale costo in eurocent associato all'evento + format: int32 + 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 + description: chiavi degli eventuali allegati associati all'evento + example: + - PN_LEGAL_FACTS-0002-9G2S-RK3M-JI62-JK9Q + - PN_LEGAL_FACTS-0002-9G2S-RK3M-JI62-JK9E + items: + type: string + 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: + type: object + description: Richiesta di creazione di uno stream di eventi di avanzamento delle + notifiche. Lo stream verr� creato nello stato abilitato + allOf: + - $ref: '#/components/schemas/StreamRequestV23' + - type: object + properties: + replacedStreamId: + type: string + 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." + format: uuid + StreamRequestV23: + required: + - eventType + - title + type: object + properties: + title: + maxLength: 256 + pattern: ^.*$ + type: string + description: Nome sintetico dello stream + eventType: + type: string + description: |- + Tipo di eventi presenti nel flusso: + - _STATUS_: cambiamenti di stato delle notifiche + - _TIMELINE_: eventi a granularit� fine + enum: + - STATUS + - TIMELINE + filterValues: + type: array + 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." + items: + maxLength: 256 + minLength: 4 + pattern: "^[A-Z_]+$" + type: string + 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. + StreamMetadataResponseV23: + description: Configurazioni di un flusso di eventi + allOf: + - $ref: '#/components/schemas/StreamRequestV23' + - required: + - activationDate + - streamId + type: object + properties: + streamId: + type: string + description: Identificativo del flusso di eventi + format: uuid + activationDate: + type: string + description: Timestamp in cui il flusso di eventi � stato attivato + format: date-time + disabledDate: + type: string + description: Timestamp in cui il flusso di eventi � stato disabilitato + format: date-time + version: + pattern: ^v\d\d\d?$ + type: string + description: versione di base dello stream. + ProgressResponseV23: + type: array + items: + $ref: '#/components/schemas/ProgressResponseElementV23' + ProgressResponseElementV23: + required: + - element + - eventId + type: object + properties: + eventId: + type: string + description: Elemento che garantisce univocit� e ordinamento temporale all'interno + dello stream + notificationRequestId: + type: string + description: Identificativo della richiesta di notifica + iun: + maxLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + description: "Identificativo della notifica, presente solo se la richiesta\ + \ di notifica � stata accettata." + newStatus: + $ref: '#/components/schemas/NotificationStatus' + element: + $ref: '#/components/schemas/TimelineElementV23' + StreamCreationRequestV24: + type: object + description: Richiesta di creazione di uno stream di eventi di avanzamento delle + notifiche. Lo stream verr� creato nello stato abilitato + allOf: + - $ref: '#/components/schemas/StreamRequestV24' + - type: object + properties: + replacedStreamId: + type: string + 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." + format: uuid + StreamRequestV24: + required: + - eventType + - title + type: object + properties: + title: + maxLength: 256 + pattern: ^.*$ + type: string + description: Nome sintetico dello stream + eventType: + type: string + description: |- + Tipo di eventi presenti nel flusso: + - _STATUS_: cambiamenti di stato delle notifiche + - _TIMELINE_: eventi a granularit� fine + enum: + - STATUS + - TIMELINE + filterValues: + type: array + 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." + items: + maxLength: 256 + minLength: 4 + pattern: "^[A-Z_]+$" + type: string + 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. + StreamMetadataResponseV24: + description: Configurazioni di un flusso di eventi + allOf: + - $ref: '#/components/schemas/StreamRequestV24' + - required: + - activationDate + - streamId + type: object + properties: + streamId: + type: string + description: Identificativo del flusso di eventi + format: uuid + activationDate: + type: string + description: Timestamp in cui il flusso di eventi � stato attivato + format: date-time + disabledDate: + type: string + description: Timestamp in cui il flusso di eventi � stato disabilitato + format: date-time + version: + pattern: ^v\d\d\d?$ + type: string + description: versione di base dello stream. + ProgressResponseV24: + type: array + items: + $ref: '#/components/schemas/ProgressResponseElementV24' + ProgressResponseElementV24: + required: + - element + - eventId + type: object + properties: + eventId: + type: string + description: Elemento che garantisce univocit� e ordinamento temporale all'interno + dello stream + notificationRequestId: + type: string + description: Identificativo della richiesta di notifica + iun: + maxLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + description: "Identificativo della notifica, presente solo se la richiesta\ + \ di notifica � stata accettata." + newStatus: + $ref: '#/components/schemas/NotificationStatus' + element: + $ref: '#/components/schemas/TimelineElementV24' + parameters: + notificationRequestId: + name: notificationRequestId + in: query + description: identificativo della richiesta di notifica + required: false + style: form + explode: true + schema: + maxLength: 36 + pattern: "^[A-Za-z0-9+/=]{36}$" + type: string + paProtocolNumber: + name: paProtocolNumber + in: query + description: "Numero di protocollo associato alla notifica, pu� essere riutilizzato\ + \ per rettifiche." + required: false + style: form + explode: true + schema: + maxLength: 256 + pattern: ^.*$ + type: string + idempotenceToken: + name: idempotenceToken + in: query + description: token usato per disambiguare "richieste di notificazione" effettuate + con lo stesso numero di protocollo. + required: false + style: form + explode: true + schema: + maxLength: 256 + pattern: "^[ -~]*$" + type: string + pathDocumentIdx: + name: docIdx + in: path + description: indice del documento nella lista partendo da 0. + required: true + style: simple + explode: false + schema: + type: integer + format: int32 + pathRecipientIdx: + name: recipientIdx + in: path + description: indice del destinatario nella lista partendo da 0. + required: true + style: simple + explode: false + schema: + type: integer + format: int32 + pathAttachmentName: + name: attachmentName + in: path + description: Tipologia del pagamento allegato alla notifica. Valori possibili + PAGOPA|F24 + required: true + style: simple + explode: false + schema: + maxLength: 6 + minLength: 3 + pattern: PAGOPA|F24 + type: string + attachmentIdx: + name: attachmentIdx + in: query + description: indice del documento di pagamento partendo da 0 + required: false + style: form + explode: true + schema: + type: integer + format: int32 + pathIun: + name: iun + in: path + description: Identificativo Univoco Notifica + required: true + style: simple + explode: false + schema: + maxLength: 25 + minLength: 25 + pattern: "^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$" + type: string + legalFactsSearchMandateId: + name: mandateId + in: query + description: "identificativo della delega, non utilizzato nelle API B2B" + required: false + style: form + explode: true + schema: + type: string + format: uuid + x-pn-intended-usage: + - WEB + pathLegalFactType: + name: legalFactType + in: path + description: Categoria dell'atto opponibile a terzi + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/LegalFactCategory' + pathLegalFactId: + name: legalFactId + in: path + description: Identificativo dell'atto opponibile a terzi + required: true + style: simple + explode: false + schema: + maxLength: 1024 + pattern: "^[ -~]*$" + type: string + pathDocumentType: + name: documentType + in: path + description: Categoria documento + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/DocumentCategory' + queryDocumentId: + name: documentId + in: query + description: Identificativo del documento + required: true + style: form + explode: true + schema: + maxLength: 512 + pattern: "^(safestorage:\\/\\/)?[A-Za-z0-9._-]+$" + type: string + queryLastEventId: + name: lastEventId + in: query + 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'." + required: false + style: form + explode: true + schema: + maxLength: 38 + minLength: 38 + pattern: "^0\\d{37}$" + type: string + pathStreamId: + name: streamId + in: path + description: Identificativo dello stream di eventi + required: true + style: simple + explode: false + schema: + type: string + format: uuid + securitySchemes: + ApiKeyAuth: + type: apiKey + name: x-api-key + in: header diff --git a/openapi/how-to-generate-the-bundled-openapi-definition.md b/openapi/how-to-generate-the-bundled-openapi-definition.md index cdb784d3..eef4c71b 100644 --- a/openapi/how-to-generate-the-bundled-openapi-definition.md +++ b/openapi/how-to-generate-the-bundled-openapi-definition.md @@ -10,9 +10,9 @@ ``` curl https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.35/swagger-codegen-cli-3.0.35.jar -O ``` - 3. Run the command to generate the 'bundled-api-external-b2b-pa-v2-3.yaml' + 3. Run the command to generate the 'bundled-api-external-b2b-pa-v2-4.yaml' ``` - java -jar swagger-codegen-cli-3.0.35.jar generate -l openapi-yaml -i https://raw.githubusercontent.com/pagopa/pn-delivery/develop/docs/openapi/api-external-b2b-pa-bundle.yaml -o . -DoutputFile=bundled-api-external-b2b-pa-v2-3.yaml + java -jar swagger-codegen-cli-3.0.35.jar generate -l openapi-yaml -i https://raw.githubusercontent.com/pagopa/pn-delivery/develop/docs/openapi/api-external-b2b-pa-bundle.yaml -o . -DoutputFile=bundled-api-external-b2b-pa-v2-4.yaml ``` 3. Then do the modification as below to the generated file. 4. Add to the `Problem` and `ProblemError` the `type: object` property diff --git a/package-lock.json b/package-lock.json index ed9ff871..452bbd4f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pn-local-validator", - "version": "2.3", + "version": "2.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "pn-local-validator", - "version": "2.3", + "version": "2.4", "license": "SEE LICENSE IN LICENSE", "dependencies": { "@jest-mock/express": "^2.0.2", diff --git a/package.json b/package.json index e4d324f0..9f0eba07 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "pn-local-validator", - "version": "2.3", + "version": "2.4", "description": "A system that emulates some features of Piattaforma Notifiche platform.", "main": "dist/main.js", "scripts": { "generate": "npm run generate:api && npm run generate:pnapi", - "generate:pnapi": "shx rm -rf ./src/generated/pnapi && shx mkdir -p ./src/generated/pnapi && gen-api-models --api-spec ./openapi/bundled-api-external-b2b-pa-v2-3.yaml --no-strict --out-dir ./src/generated/pnapi --request-types --response-decoders", + "generate:pnapi": "shx rm -rf ./src/generated/pnapi && shx mkdir -p ./src/generated/pnapi && gen-api-models --api-spec ./openapi/bundled-api-external-b2b-pa-v2-4.yaml --no-strict --out-dir ./src/generated/pnapi --request-types --response-decoders", "generate:api": "shx rm -rf ./src/generated/api && shx mkdir -p ./src/generated/api && gen-api-models --api-spec ./openapi/internal.yaml --no-strict --out-dir ./src/generated/api", "clean": "tsc --build --clean", "postcompile": "shx cp -R ./src/adapters/http/download/exampledocuments ./dist/adapters/http/download/exampledocuments", diff --git a/src/adapters/http/consumeEventStream/__tests__/router.test.ts b/src/adapters/http/consumeEventStream/__tests__/router.test.ts index 3cc1cfcd..b1e2d3c1 100644 --- a/src/adapters/http/consumeEventStream/__tests__/router.test.ts +++ b/src/adapters/http/consumeEventStream/__tests__/router.test.ts @@ -30,7 +30,7 @@ describe('Consume Event Stream Router', () => { it('should return a 400 response with some data', async () => { const response = await supertest(app) - .get('/api/delivery-progresses/v2.3/streams/someStreamId/events') + .get('/api/delivery-progresses/v2.4/streams/someStreamId/events') .query({ lastEventId: '123', }); diff --git a/src/adapters/http/consumeEventStream/router.ts b/src/adapters/http/consumeEventStream/router.ts index 3d43c772..9f21565a 100644 --- a/src/adapters/http/consumeEventStream/router.ts +++ b/src/adapters/http/consumeEventStream/router.ts @@ -33,7 +33,7 @@ const handler = export const makeConsumeEventStreamRouter = (env: SystemEnv): express.Router => { const router = express.Router(); - router.get('/delivery-progresses/v2.3/streams/:streamId/events', toExpressHandler(handler(env))); + router.get('/delivery-progresses/v2.4/streams/:streamId/events', toExpressHandler(handler(env))); return router; }; diff --git a/src/adapters/http/createEventStream/__tests__/router.test.ts b/src/adapters/http/createEventStream/__tests__/router.test.ts index 8043aef4..59a85a41 100644 --- a/src/adapters/http/createEventStream/__tests__/router.test.ts +++ b/src/adapters/http/createEventStream/__tests__/router.test.ts @@ -29,7 +29,7 @@ describe('Create Event Stream Router', () => { it('should return a 400 response with some data', async () => { const response = await supertest(app) - .post('/api/delivery-progresses/v2.3/streams') + .post('/api/delivery-progresses/v2.4/streams') .send({}); expect(response.status).toBe(400); diff --git a/src/adapters/http/createEventStream/router.ts b/src/adapters/http/createEventStream/router.ts index ac5a6ef7..d153b5aa 100644 --- a/src/adapters/http/createEventStream/router.ts +++ b/src/adapters/http/createEventStream/router.ts @@ -35,7 +35,7 @@ const handler = export const makeCreateEventStreamRouter = (env: SystemEnv): express.Router => { const router = express.Router(); - router.post('/delivery-progresses/v2.3/streams', toExpressHandler(handler(env))); + router.post('/delivery-progresses/v2.4/streams', toExpressHandler(handler(env))); return router; }; diff --git a/src/adapters/http/deleteEventStream/__tests__/router.test.ts b/src/adapters/http/deleteEventStream/__tests__/router.test.ts index fc090c72..0cc84d5e 100644 --- a/src/adapters/http/deleteEventStream/__tests__/router.test.ts +++ b/src/adapters/http/deleteEventStream/__tests__/router.test.ts @@ -29,7 +29,7 @@ describe('Delete Event Stream Router', () => { it('should return a 500 response with some data', async () => { const response = await supertest(app) - .delete('/api/delivery-progresses/v2.3/streams/123') + .delete('/api/delivery-progresses/v2.4/streams/123') expect(response.status).toBe(500); }); diff --git a/src/adapters/http/deleteEventStream/router.ts b/src/adapters/http/deleteEventStream/router.ts index d29a39e3..4cbaacc7 100644 --- a/src/adapters/http/deleteEventStream/router.ts +++ b/src/adapters/http/deleteEventStream/router.ts @@ -31,7 +31,7 @@ const handler = export const makeDeleteEventStreamRouter = (env: SystemEnv): express.Router => { const router = express.Router(); - router.delete('/delivery-progresses/v2.3/streams/:streamId', toExpressHandler(handler(env))); + router.delete('/delivery-progresses/v2.4/streams/:streamId', toExpressHandler(handler(env))); return router; }; diff --git a/src/adapters/http/getNotificationDetail/__tests__/router.test.ts b/src/adapters/http/getNotificationDetail/__tests__/router.test.ts index 1a83329d..8985575c 100644 --- a/src/adapters/http/getNotificationDetail/__tests__/router.test.ts +++ b/src/adapters/http/getNotificationDetail/__tests__/router.test.ts @@ -30,7 +30,7 @@ describe('Get Notification Detail Router', () => { it('should return a 400 response with some data', async () => { const response = await supertest(app) - .get('/api/delivery/v2.3/notifications/sent/1A') + .get('/api/delivery/v2.4/notifications/sent/1A') .query({ notificationRequestId: '123', }); diff --git a/src/adapters/http/getNotificationDetail/router.ts b/src/adapters/http/getNotificationDetail/router.ts index b533bda6..3b1db629 100644 --- a/src/adapters/http/getNotificationDetail/router.ts +++ b/src/adapters/http/getNotificationDetail/router.ts @@ -33,7 +33,7 @@ const handler = export const makeGetNotificationDetailRouter = (env: SystemEnv): express.Router => { const router = express.Router(); - router.get('/delivery/v2.3/notifications/sent/:iun', toExpressHandler(handler(env))); + router.get('/delivery/v2.4/notifications/sent/:iun', toExpressHandler(handler(env))); return router; }; diff --git a/src/adapters/http/getStreamById/__tests__/router.test.ts b/src/adapters/http/getStreamById/__tests__/router.test.ts index 8d8bfb29..ab227a65 100644 --- a/src/adapters/http/getStreamById/__tests__/router.test.ts +++ b/src/adapters/http/getStreamById/__tests__/router.test.ts @@ -30,7 +30,7 @@ describe('Get Stream By Id Router', () => { it('should return a 400 response with some data', async () => { const response = await supertest(app) - .get('/api/delivery-progresses/v2.3/streams/1A') + .get('/api/delivery-progresses/v2.4/streams/1A') .query({ notificationRequestId: '123', }); diff --git a/src/adapters/http/getStreamById/router.ts b/src/adapters/http/getStreamById/router.ts index fa6c55e4..edcdb627 100644 --- a/src/adapters/http/getStreamById/router.ts +++ b/src/adapters/http/getStreamById/router.ts @@ -32,7 +32,7 @@ const handler = export const makeGetEventStreamByIdRouter = (env: SystemEnv): express.Router => { const router = express.Router(); - router.get('/delivery-progresses/v2.3/streams/:streamId', toExpressHandler(handler(env))); + router.get('/delivery-progresses/v2.4/streams/:streamId', toExpressHandler(handler(env))); return router; }; diff --git a/src/adapters/http/listEventStream/__test__/router.test.ts b/src/adapters/http/listEventStream/__test__/router.test.ts index edf2f3d6..374227ec 100644 --- a/src/adapters/http/listEventStream/__test__/router.test.ts +++ b/src/adapters/http/listEventStream/__test__/router.test.ts @@ -12,7 +12,7 @@ describe("ListEventStream router", () => { it("With empty body response should be 404", async () => { const response = await supertest(app) - .post('/delivery-progresses/v2.3/streams') + .post('/delivery-progresses/v2.4/streams') .set('x-api-key', data.apiKey.valid) .send(); diff --git a/src/adapters/http/listEventStream/router.ts b/src/adapters/http/listEventStream/router.ts index 25e7f276..870464fa 100644 --- a/src/adapters/http/listEventStream/router.ts +++ b/src/adapters/http/listEventStream/router.ts @@ -30,7 +30,7 @@ const handler = export const makeListEventStreamRouter = (env: SystemEnv): express.Router => { const router = express.Router(); - router.get('/delivery-progresses/2.3/streams', toExpressHandler(handler(env))); + router.get('/delivery-progresses/2.4/streams', toExpressHandler(handler(env))); return router; }; diff --git a/src/adapters/http/updateEventStream/__test__/router.test.ts b/src/adapters/http/updateEventStream/__test__/router.test.ts index 97130eaf..59beb9d5 100644 --- a/src/adapters/http/updateEventStream/__test__/router.test.ts +++ b/src/adapters/http/updateEventStream/__test__/router.test.ts @@ -12,7 +12,7 @@ describe("sendNotification router", () => { it("With empty body response should be 404", async () => { const response = await supertest(app) - .post('/delivery/v2.3/requests') + .post('/delivery/v2.4/requests') .set('x-api-key', data.apiKey.valid) .send(); diff --git a/src/adapters/http/updateEventStream/router.ts b/src/adapters/http/updateEventStream/router.ts index e8cbfece..58487ef0 100644 --- a/src/adapters/http/updateEventStream/router.ts +++ b/src/adapters/http/updateEventStream/router.ts @@ -33,7 +33,7 @@ const handler = export const makeUpdateEventStreamRouter = (env: SystemEnv): express.Router => { const router = express.Router(); - router.put('/delivery-progresses/2.3/streams/:streamId', toExpressHandler(handler(env))); + router.put('/delivery-progresses/2.4/streams/:streamId', toExpressHandler(handler(env))); return router; };