La generazione di documenti varia a seconda del tipo di pratica che deve essere registrata o gestita. Ci sono diverse tipologie di pratica, ognuna delle quali corrisponde a uno stato specifico della procedura:
Creazione di una pratica da parte o per conto di un cittadino (application-request): questo si riferisce alla creazione iniziale di una pratica da parte di un cittadino o da parte di qualcuno agendo per conto del cittadino.
Invio di una richiesta di integrazioni da parte di un operatore (integration-request): questo si verifica quando un operatore richiede ulteriori informazioni o documenti relativi a una pratica.
Invio di un'integrazione da parte del cittadino (integration-response): In questo caso, il cittadino risponde alle richieste di integrazione inviando ulteriori documenti o informazioni.
Approvazione/rifiuto di una pratica da parte di un operatore (application-outcome, application-revocation): questo rappresenta l'atto di approvare o rifiutare una pratica da parte di un operatore.
Ritiro di una pratica da parte di un cittadino (application-withdraw): un cittadino può ritirare una pratica in qualsiasi momento.
Queste tipologie rappresentano diversi stati o fasi attraverso cui una pratica può passare durante il suo ciclo di vita. Poiché una pratica può attraversare più di uno di questi stati, ciò significa che saranno generati diversi documenti associati alla stessa pratica, ognuno dei quali corrisponderà a una fase specifica del processo.
Il campo "retry_meta" è stato creato dal protocol proxy e contiene il topic di origine ed eventuali campi utili al protocol proxy per tenere lo stato della protocollazione
Il campo "retry_meta" contiente le informazioni inserite dal sistema di retry. Queste dovrebbero essere ignorate da protocol proxy
Descrizione in dettaglio di un documento generato dalla piattaforma
Secondo l'AGID, il documento informatico è la “rappresentazione informatica di atti, fatti o dati giuridicamente rilevanti" in contrapposizione al documento analogico ("rappresentazione non informatica di atti, fatti o dati giuridicamente rilevanti")".
La piattaforma genera documenti informatici a partire da diversi tipi di servizi offerti.
Il documento informatico ci permette di avere un'unica struttura dati a partire da diverse tipologie di servizi. Questo ci dà il vantaggio di dover gestire un’unica entità durante il processo di protocollazione.
Il documento generato dall’area personale del cittadino è stato progettato seguendo le linee guida suggerite dall’AGID. Esso è composto dai seguenti elementi:
Documento principale: descrive in dettaglio il servizio o l'oggetto a cui il documento si riferisce.
Allegati del documento principale: rappresentano l'insieme dei file che accompagnano la documento principale, fornendo ulteriori dettagli, dati o documentazione di supporto.
metadati: includono informazioni utili per la comprensione del contesto del documento informatico. Ci forniscono dettagli sulle informazioni di base, come la data di creazione, il mittente, il destinatario, e altri dettagli pertinenti. Alcuni di essi non possono mancare(vedi sezione seguente).
Nella nostra piattaforma il documento è implementato in forma di evento Kafka, in formato JSON, descritto dal seguente JSON SCHEMA.
Per una migliore visualizzazione si consiglia di usare un viewer online.
Ecco una tabella che rappresenta il tuo JSON Schema con le colonne Campo, Tipo, Obbligatorio e Validazione.
registration_data
folder
main_document
attachments
author
Campo | Tipo | Obbligatorio | Validazione |
---|---|---|---|
Campo | Tipo | Obbligatorio | Validazione |
---|---|---|---|
Campo | Tipo | Obbligatorio | Validazione |
---|---|---|---|
Campo | Tipo | Obbligatorio | Validazione |
---|---|---|---|
Campo | Tipo | Obbligatorio | Validazione |
---|---|---|---|
Campo | Tipo | Obbligatorio | Validazione |
---|---|---|---|
title
String
✅
MaxLength: 255, descrizione chiara del documento, massimo 160 caratteri spazi inclusi
id
String (UUID)
✅
Formato: UUID, identificativo univoco
app_id
String
✅
-
event_created_at
String (DateTime)
✅
Formato: DateTime
event_id
String (UUID)
✅
Formato: UUID
event_version
Integer
✅
Valore di default: 1
external_id
String, Null
❌
-
registration_data
Object, Null
❌
Informazioni di protocollo
folder
Object, Null
❌
Informazioni sul fascicolo
status
String
✅
Valori: DOCUMENT_CREATED, REGISTRATION_PENDING, REGISTRATION_FAILED, PARTIAL_REGISTRATION, REGISTRATION_COMPLETE
type
String
✅
Tassonomia di Istanza: application-request, integration-request, integration-response, etc.
remote_id
String (UUID), Null
❌
-
remote_collection
Object, Null
❌
-
topics
Array[String]
❌
MinItems: 0
short_description
String
✅
MaxLength: 255
description
String, Null
❌
-
main_document
Object
✅
-
image_gallery
Array[Object]
❌
MinItems: 0
has_organization
String (URI), Null
❌
-
attachments
Array[Object]
❌
MinItems: 0
distribution_license_id
String, Null
❌
-
related_public_services
Array[Object]
❌
-
valid_from
String (DateTime), Null
❌
-
valid_to
String (DateTime), Null
❌
-
removed_at
String (DateTime), Null
❌
-
expire_at
String (DateTime), Null
❌
-
more_info
String, Null
❌
-
normative_requirements
Array[URI]
❌
-
related_documents
Array[URI]
❌
-
life_events
Array[String]
❌
MinItems: 0
business_events
Array[String]
❌
MinItems: 0
allowed_readers
Array[String]
❌
MinItems: 0
tenant_id
String (UUID)
✅
Uuid del tenant
owner_id
String (UUID)
✅
Uuid del proprietario del documento
document_url
String (URI), Null
❌
-
created_at
String (DateTime)
✅
-
updated_at
String (DateTime)
✅
-
author
Array[Object]
❌
MinItems: 0
source_type
String
✅
Valori: tenant, user
recipient_type
String
✅
Valori: tenant, user
last_seen
String (DateTime), Null
❌
-
transmission_type
String
✅
Valori: Inbound, Outbound
date
String (Date)
❌
Data valida in formato YYYY-MM-DD
document_number
String
❌
Numero del documento
title
String
✅
Titolo descrittivo del fascicolo
id
String
❌
Identificativo del fascicolo
name
String
✅
Nome del file
description
String
✅
Descrizione del documento
mime_type
String
✅
Formato MIME, es: application/pdf
url
String (URI)
✅
URL del documento
md5
String
❌
Hash MD5 del file
filename
String
✅
Nome del file salvato sul server
name
String
✅
Nome del file allegato
description
String
✅
Descrizione dell'allegato
mime_type
String
✅
Formato MIME, es: application/pdf
url
String (URI)
✅
URL dell'allegato
md5
String
❌
Hash MD5 del file
filename
String
✅
Nome del file salvato sul server
type
String
✅
Valori: human, legal
tax_identification_number
String
✅
Codice fiscale
name
String
✅
Nome dell'autore
family_name
String
✅
Cognome dell'autore
street_name
String
✅
Indirizzo
postal_code
String
✅
Codice postale
String
✅
Formato: email valido
role
String
✅
Ruolo (es: sender, receiver)