Questo repository contiene le specifiche delle API relative alla misura 1.3.1 per l'avviso dedicato alle Università pubbliche e AFAM (Alta Formazione Artistica, Musicale e Coreutica) pubblici, nell'ambito di PA digitale 2026.
La tabella sottostante (Tabella 1) riporta il dettaglio del titolo e descrizione per tutte e nove le API (dalla IFS01 alla IFS09) che dovranno essere erogate dai Soggetti Attuatori in base alla fascia di appartenenza.
🚀 Link rapido alle linee guida d'implementazione degli e-service
🚀 Link rapido alla release note
Codice | Nome | Descrizione | Operazione |
---|---|---|---|
IFS01 | Consultazione offerta formativa (IFS01) | Consente di consultare i corsi di studio offerti per ogni anno accademico e i relativi dettagli | IFS01.1 - Acquisizione della lista dei corsi di studio offerti da un Istituto di formazione superiore in un dato anno accademico |
IFS01.2 - Acquisizione del dettaglio di un corso di studio offerto da un Istituto di formazione superiore | |||
IFS02 | Consultazione iscrizioni accademiche (IFS02) | Consente di consultare le iscrizioni per corso di studi negli ultimi 3 anni accademici, le prove d'iscrizione/ammissione, la trascrizione (esami, voti, ecc) degli studi, le attività svolte al di fuori dell'Istituto in cui uno studente si è diplomato | IFS02.1 - Acquisizione del dettaglio delle ultime iscrizioni per corso di studi negli ultimi tre anni accademici di una studentessa o di uno studente |
IFS02.2 - Acquisizione delle prove riguardanti l'iscrizione agli studi di istruzione terziaria di una studentessa/studente | |||
IFS02.3 - Acquisizione delle prove riguardanti la trascrizione (insegnamenti conseguiti, voti ottenuti, ecc.) degli studi di istruzione terziaria di una studentessa/studente. La trascrizione può riferirsi a studi completati o in corso | |||
IFS02.4 - Acquisizione delle prove riguardanti l'ammissione agli studi di istruzione terziaria di una studentessa/studente | |||
IFS02.5 - Acquisizione delle prove relative alle attività di apprendimento svolte al di fuori dell'istituzione di istruzione terziaria dalla quale una studentessa/studente ha ottenuto il proprio diploma | |||
IFS03 | Consultazione titoli accademici (IFS03) | Consente di consultare il dettaglio dei titoli accademici conseguiti, le prove riguardanti il completamento e il livello di qualifica degli studi di istruzione terziaria e quelle relative allo strumento "Diploma Supplement" | IFS03.1 - Acquisizione del dettaglio dei titoli accademici conseguiti da una studentessa/uno studente |
IFS03.2 - Acquisizione delle prove riguardanti il completamento degli studi di istruzione terziaria | |||
IFS03.3 - Acquisizione delle prove riguardanti il livello di qualifica degli studi di istruzione terziaria | |||
IFS03.4 - Acquisizione delle prove relative allo strumento "Diploma Supplement" | |||
IFS04 | Rettifica iscrizioni accademiche (IFS04) | Consente di richiedere la rettifica di un'iscrizione accademica e consultarne lo stato. Inoltre, permette di comunicare la presenza di anomalie sui dati delle iscrizioni accademiche | IFS04.1 - Richiesta di rettifica di un'iscrizione accademica di una studentessa/uno studente all'Istituto di formazione superiore |
IFS04.2 -Acquisizione dello stato delle richieste di rettifica delle iscrizioni accademiche di una studentessa/uno studente all'Istituto di istruzione superiore | |||
IFS04.3 - Richiesta di annullamento di una richiesta di rettifica di una iscrizione accademica di una studentessa/uno studente all'Istituto di istruzione superiore | |||
IFS04.4 - Invio di una segnalazione dall'ente fruitore all'ente erogatore per comunicare eventuali anomalie sui dati delle iscrizioni accademiche | |||
IFS05 | Rettifica titoli accademici (IFS05) | Consente di richiedere la rettifica di un titolo accademico e consultarne lo stato. Inoltre, permette di comunicare la presenza di anomalie sui dati dei titoli accademici | IFS05.1 - Richiesta di rettifica di un titolo accademico di una studentessa/uno studente all'Istituto di formazione superiore |
IFS05.2 - Acquisizione dello stato delle richieste di rettifica dei titoli accademici di una studentessa/uno studente all'Istituto di istruzione superiore | |||
IFS05.3 - Richiesta di annullamento di una richiesta di rettifica di un titolo accademico di una studentessa/uno studente all'Istituto di istruzione superiore | |||
IFS05.4 - Invio di una segnalazione dall'ente fruitore all'ente erogatore per comunicare eventuali anomalie sui dati dei titoli accademici | |||
IFS06 | Consultazione variazioni iscrizioni accademiche (IFS06) | Consente di consultare le variazioni delle iscrizioni negli ultimi tre anni accademici | IFS06.1 - Acquisizione delle "impronte (codifica hash)" di tutte le iscrizioni delle studentesse/degli studenti negli ultimi tre anni accademici al fine di identificarne le variazioni dal punto di vista del fruitore |
IFS07 | Consultazione variazioni titoli accademici (IFS07) | Consente di consultare le variazioni dei titoli accademici | IFS07.1 - Acquisizione delle "impronte (codifica hash)" di tutti i titoli accademici al fine di identificarne le variazioni dal punto di vista del fruitore |
IFS08 | Consultazione numero iscritti per fasce ISEE (IFS08) | Consente di consultare il numero di studenti divisi per fasce ISEE dato un anno accademico | IFS08.1 - Acquisizione del numero di studentesse e studenti per fasce ISEE in un anno accademico |
IFS09 | Consultazione numero iscritti a un corso di studi (IFS09) | Consente di consultare il numero di studenti iscritti a un corso di studi dato un anno accademico | IFS09.1 - Acquisizione del numero di studentesse e studenti iscritti a un corso di studi per anno accademico |
Come indicato nella tabella sottostante (Tabella 2), gli Atenei e AFAM pubblici che possono aderire all’avviso sono divisi in fasce basate sul numero di iscritti, a cui corrisponde un numero preciso di API da erogare, dettagliate nella tabella 1.
Fascia | Iscritti | API (API ID) |
---|---|---|
1 | <=1.000 | 7 (IFS01 – IFS07) |
2 | 1.000 < iscritti <= 10.000 | 8 (IFS01 – IFS08) |
3 | 10.000 < iscritti <= 20.000 | 8 (IFS01 – IFS08) |
4 | 20.000 < iscritti <= 40.000 | 9 (IFS01 – IFS09) |
5 | > 40.000 | 9 (IFS01 – IFS09) |
Tabella 2 – Fasce di Università in base al numero di studentesse e studenti iscritti ed API da erogare per ogni fascia.
1 - Il Ministero dell'Università e della Ricerca (MUR) pubblica i seguenti vettori di dati codificati come open data a supporto dell'interoperabilità e dell'anagrafe ANIS
- Tipi di corsi
- Corsi di studio
- Classi di laurea
- Istituti di formazione superiore
Approfondimento nella sezione risorse utili
2 - Pubblicazione degli e-service su PDND
Si ricorda che in fase di pubblicazione degli e-service sulla piattaforma PDND, il nome deve rispettare quello nella colonna denominata "Nome" della tabella 1, ossia il seguente pattern e comunque seguire la guida alla pubbligazione degli e-serivce
3 - Linee Guida interoperabilità e Pattern di sicurezza AgID
L'implementazione degli e-service devono rispettare il profilo [ID_AUTH_REST_01] Direct Trust con certificato X.509 REST definito sulle LG interoperabilità e Pattern di sicurezza. E' possibile approfondire un esempio sulla issue declinata sulla configurazione dell'API Gateway GovWay
4 - La visualizzazione della specifica Open API e dei relativi esempi può essere ottenuta utlizzando l'editor swagger e copiando il contenuto dei file di tipo yaml che verranno forniti via via nella seguente trattazione di dettaglio.
5 - Il person_id riportato nella specifica delle API far riferimento all’identificativo univoco ANPR (Anagrafe Nazionale della Popolazione Residente).
6 - Perché abbiamo scelto di usare principalmente il metodo POST: GET Method vs POST Method
7 - Suggeriamo infine di fare riferimento sempre alla sezione risorse utili che è aggiornata periodicamente.
In questo paragrafo sono descritte le seguenti API:
- IFS01 Offerta Formativa
- IFS02 Iscrizioni
- IFS03 Titoli
- IFS04 Rettifica iscrizioni
- IFS05 Rettifica titoli
- IFS06 Variazioni Iscrizioni
- IFS07 variazione titoli
- IFS08 Iscrizioni per fasce ISEE
- IFS09 Iscrizioni per corso
Definizione OpenApi.yaml
🧩 caso d'uso tipico: Alimentazione portale Universitaly
Acquisizione della lista dei corsi di studio offerti da un istituto di formazione superiore in un dato anno accademico
Esempio IFS01.1 Request
Esempio IFS01.1 Response
- La richiesta prevede l'obbligatorietà della compilazione del campo academic_year.
- Nella risposta indicare solo corsi per i quali si può attivare una nuova coorte nell’anno accademico indicato. Includere corsi di Laurea, Dottorato, Diploma di specializzazione e Master.
- Nella risposta il degree_course_code si riferisce al codice identificativo indicato nel relativo dataset pubblicato dal MUR sul repository "Codifiche MUR" https://github.com/MIPA-CINECA/codifiche-mur.
- Nella risposta per il course_area indicare la denominazione della Classe di Laurea
- Per il course_location indicare il codice ISTAT del comune della sede del corso.
- Nel caso di corsi associabili a molteplici classi di Laurea, ciascuna combinazione corso/classe è individuata da degree_course_code differenti.
- L'attributo cursor è utile per la paginazione della risposta:
1. Alla prima invocazione non si valorizza l'attributo cursor
2. Se la response restituisce l'attributo cursor valorizzato, sarà necessario iterare le invocazioni per ottenere l'intero dataset
3. Per le invocazioni successive alla prima si valorizza il campo cursor con il valore ottenuto nell'ultima response- E' lasciata allo sviluppatore dell'API la gestione della paginazione e quindi della valorizzazione del cursor sulla response
🧩 caso d'uso tipico: Alimentazione portale universitaly
Acquisizione del dettaglio di un corso di studio offerto da un Istituto di formazione superiore
Esempio IFS01.2 Request
Esempio IFS01.2 Response
- Nella richiesta l'attributo degree_course_code è obbligatorio ed individua in modo univoco la combinazione: Corso, Classe, anno accademico della coorte, sede
- degree_course_year - I corsi a scelta possono essere restituiti valorizzando l'anno di corso a 0 e opzionalmente si possono indicare il numero degli insegnamenti a scelta all'interno di ogni anno come insegnamenti generici con la relativa descrizione nel learning_name
- Nella risposta è sufficente includere il solo primo anno di corso dell’offerta formativa disponibile per la coorte identificata dal codice corso inviato come parametro di ingresso nella richiesta
AFAM vs Università
- Nelle AFAM il degree_course_code è lo stesso per tutti gli anni accademici della coorte
- Nella response per le università compilare i campi learning_ssd e learning_cfu
- Nella response per gli AFAM compilare i campi learning_sad e learning_cfa
- Vedere gli esempi presenti nello yaml/swagger e nella cartella doc/03_analysis/io_schema
Acquisisce il dettaglio delle iscrizioni accademiche. Fornisce le informazioni di dettaglio riguardanti le iscrizioni di una studentessa o uno studente all'università o AFAM
Definizione OpenApi.yaml
🧩 caso d'uso tipico: Alimentazione anagrafe ANIS
Acquisizione del dettaglio delle ultime iscrizioni per corso di studi negli ultimi tre anni accademici di una studentessa o di uno studente
Esempio IFS02.1 Request
Esempio IFS02.1 Response
Regole di obbligatorietà input
- Nella request è obbligatorio il tax_code ed è desiderato anche il person_id per il futuro, oppure è obbligatorio il parametro key nel caso dello scenario descritto nell'API IFS06 per l'acquisizione delle variazioni
Le regole di obbligatorietà di output
- Nella struttura "Personal Data" è necessario prevedere la restituizione delle informazioni relative al codice fiscale e/o codice fiscale + personID
ESEMPIO 1: "personal_data": { "tax_code": "RSSMRA80A01F205D" } ESEMPIO 2: "personal_data": { "tax_code": "RSSMRA80A01F205D", "person_id": "AB123456C" }
- Nella struttura "Personal Data" se il codice fiscale e/o il personID non sono presenti, restituire le informazioni given_name/family_name/birth_date/birth_place. Questa tipologia di response ha senso solo con l'invocazone dell'API che utilizza il parametro key, relativamente allo scenario descritto in IFS06
ESEMPIO 3:
"personal_data": { "given_name": Mario, "family_name": Rossi, "birth_date": 10-01-2022, "birth_place": Roma, RM, Italia }
- Nella struttura "enrollments" tutti i campi sono obbligatori tranne il degree_class_code. Nel caso in cui il degree_class_code non sia valorizzabile, è possibile passarlo con il valore NULL
- Nella struttura "enrollments", qualora sia presente un attributo non valorizzabile (ad esclusione del attirubuto degree_class_code) l'istanza dell'iscrizione non deve essere restituita.
enrollment institute_code * institute_name * programme_type_code * degree_course_code * degree_class_code academic_year * degree_course_year * status *
🧩 caso d'uso tipico: Acquisizione prove Single Digital Gateway (SDG)
Acquisizione delle prove riguardanti l'ultima iscrizione a ogni corso di studi di istruzione terziaria di una studentessa/studente negli ultimi 3 anni accademici
Esempio IFS02.2 Request
Esempio IFS02.2 Response
- expected_graduation_date Indicare convenzionalmente 31/12/(anno immat + durata normale del corso) es. immatricolato Laurea Triennale 01/10/20 => expected_graduation_date = 31/12/2023
- enrollment_date Indicare convenzionalmente la data di inizio (es 01/10/xxxx) dell’anno accademico cui si riferisce l’ultima iscrizione attiva per il corso individuato dal degree_course_code
🧩 caso d'uso tipico: Acquisizione prove Single Digital Gateway (SDG)
Acquisizione delle prove riguardanti la trascrizione (insegnamenti conseguiti, voti ottenuti, ecc.) degli studi di istruzione terziaria di una studentessa/studente, sono quindi le attività che lo studente ha già sostenuto durante il percorso formativo. La trascrizione può riferirsi a studi completati o in corso negli ultimi 3 anni accademici. Si fa riferimento ad attività superate o convalidate dallo studente, attività presenti a piano di studio approvato ed attività non sovrannumerarie
Esempio IFS02.3 Request
Esempio IFS02.3 Response
- Vanno considerate solo gli elementi del Piano degli Studi approvato con insegnamenti in posizione di effettivo (solo esclusi quelli in soprannumero) con esame sostenuto o convalidato
- attended_learning_name Il nome dell’insegnamento va indicato nella lingua di erogazione dell’insegnamento stesso.
- start_date/end_date Indicare date convenzionali in base all’anno accademico ed al semestre
- grade_value Espressione regolare del tipo <Voto numerico> o <Voto numerico> + 'L' o 'QUALIFIED' o null
30L o 30 o QUALIFIED o null
🧩 caso d'uso tipico: Acquisizione prove Single Digital Gateway (SDG)
Acquisizione delle prove riguardanti le ultime ammissioni ai corsi di studi di istruzione terziaria di una studentessa/studente negli ultimi 3 anni accademici
Esempio IFS02.4 Request
Esempio IFS02.4 Response
- start_date_of_academic_year/end_date_of_academic_year Indicare date convenzionali di inizio/ fine anno accademico
🧩 caso d'uso tipico: Acquisizione prove Single Digital Gateway (SDG)
Acquisizione delle prove relative alle attività di apprendimento svolte al di fuori dell'istituzione di istruzione terziaria dalla quale una studentessa/studente ha ottenuto il proprio titolo accademico
Esempio IFS02.5 Request
Esempio IFS02.5 Response
- e-service ancora non completamente consolidato, è in corso l’analisi con il partner EU per il suo raffinamento. Nella versione corrente sembra riferito solo al Learning Agreement, che descrive le condizioni di avvio del programma di scambio e non comprende il consuntivo degli esami sostenuti, definito dal Trascript of Records. Da chiarire se sono di interesse anche gli scambi nazionali, per i quali non è previsto un Learning Agreement.
- mobility_period_type Valore enumerato come di segutio
trimestrale, semestrale, annuale, breve_termine, lungo_termine
- destination_erasmus_code L'informazione non è sempre disponibile => parametro opzionale
- destination_institute_name La destinazione di uno scambio potrebbe non essere un Ateneo => parametro opzionale
- destination_department L'informazione non è sempre disponibile => parametro opzionale
- departure_department L'informazione non è sempre disponibile => parametro opzionale
- birth_place Dove possibile il campo deve contenere le informazioni concatenate della Nazione/Provincia/Comune. Il formato previsto prevede la seguente espressione regolare
.*,[a-zA-Z]*,[a-zA-Z]
<nome_nazione>,<codice_provincia>,<nome_comune> Esempio: birth_place="Italia,MI,Milano"
Nel caso di comuni esteri, se non fosse possibile recuperare il codice_provincia, si potrà inserire la codifica EE
Esempio: birth_place="Austria,EE,Vienna"
Restituisce l'elenco dei titoli conseguiti da una studentessa o uno studente
Definizione OpenApi.yaml
🧩 caso d'uso tipico: Alimentazione anagrafe ANIS
Acquisizione del dettaglio dei titoli accademici conseguiti da una studentessa/uno studente
Esempio IFS03.1 Request
Esempio IFS03.1 Response
- Passare tutti i dati disponibili e la profondità storica dipende dagli istituti di formazione superiore.
- Includere tutti coloro che hanno conseguito un titolo di Laurea, Dottorato, Diploma di specializzazione o Master
- In caso di Laurea congiunta esiste un unico titolo, sulla cui pergamena sono riportati entrambi gli Atenei e che è gestito dal solo Ateneo di riferimento (l’unico che comunica i dati della carriera ad ANSU).
- qualification_grade_value: Espressione regolare del tipo <Voto numerico> o <Voto numerico> + 'L' o 'QUALIFIED' o null
30L o 30 o QUALIFIED o null
- Regole di obbligatorietà output (si prega di verificare gli esempi sul file openapi):
- Nella struttura "Personal Data" è necessario prevedere la restituizione delle informazioni relative al codice fiscale e/o codice fiscale + personID
ESEMPI: "personal_data": { "tax_code": "RSSMRA80A01F205D" } "personal_data": { "tax_code": "RSSMRA80A01F205D", "person_id": "AB123456C" }
- Nella struttura "Personal Data" se il codice fiscale e/o il personID non sono presenti, restituire le informazioni given_name/family_name/birth_date/birth_place
ESEMPIO: "personal_data": { "given_name": Mario, "family_name": Rossi, "birth_date": 10-01-2022, "birth_place": Roma, RM, Italia }
- nel caso in cui uno dei valori presenti al punto 2 non sia possibile valorizzarlo, è necessario NON restituire l'istanza dell'iscrizione
- nella struttura "qualifications" tutti i campi sono obbligatori tranne il degree_class_code. Nel caso in cui il degree_class_code non sia valorizzabile, è possibile passarlo con il valore NULL
- nella struttura "qualifications", qualora sia presente un attributo non valorizzabile (ad esclusione degli attributi degree_class_code/qualification_grading_scale_maximum_grade/qualification_grading_scale_minimum_grade/) non dovrà essere restituito Item.
🧩 caso d'uso tipico: Acquisizione prove Single Digital Gateway (SDG)
Acquisizione delle prove riguardanti il completamento degli studi di istruzione terziaria
Esempio IFS03.2 Request
Esempio IFS03.2 Response
- Passare tutti i dati disponibili, la profondità storica dipende dagli atenei. Includere tutti coloro che hanno conseguito un titolo di Laurea, Dottorato, Diploma di specializzazione o Master. In caso di Laurea congiunta esiste un unico titolo, sulla cui pergamena sono riportati entrambi gli Atenei, e che è gestito dal solo Ateneo di riferimento (l’unico che comunica i dati della carriera ad ANSU).
- Regole di obbligatorietà output (si prega di verificare gli esempi sul file openapi):
- Nella struttura "Personal Data" è necessario prevedere la restituizione delle informazioni relative al codice fiscale e/o codice fiscale + personID
- Nella struttura "Personal Data" se il codice fiscale e/o il personID non sono presenti, restituire le informazioni given_name/family_name/birth_date/birth_place
🧩 caso d'uso tipico: Acquisizione prove Single Digital Gateway (SDG)
Acquisizione delle prove riguardanti il livello di qualifica degli studi di istruzione terziaria. Si fa riferimento ad attività superate o convalidate dallo studente, attività presenti a piano di studio approvato ed attività non sovrannumerarie
Esempio IFS03.3 Request
Esempio IFS03.3 Response
- has_parent_relation Si riferisce al legame di genitorialità (biologica o adottiva) tra un genitore e la persona di riferimento (richiedente). Se non calcolabile => null
- degree_course_duration_in_months Durata normale del corso espresso in mesi per gestire corsi di master di durata inferiore all’anno
- ects_learnings fanno riferimento agli insegnamenti conseguiti, ossia già sostenuti dallo studente
- Regole di obbligatorietà output (si prega di verificare gli esempi sul file openapi):
- Nella struttura "Personal Data" è necessario prevedere la restituizione delle informazioni relative al codice fiscale e/o codice fiscale + personID
- Nella struttura "Personal Data" se il codice fiscale e/o il personID non sono presenti, restituire le informazioni given_name/family_name/birth_date/birth_place
🧩 caso d'uso tipico: Acquisizione prove Single Digital Gateway (SDG)
Acquisizione delle prove relative allo strumento "Diploma Supplement". Si fa riferimento ad attività superate o convalidate dallo studente, attività presenti a piano di studio approvato ed attività non sovrannumerarie
Esempio IFS03.4 Request
Esempio IFS03.4 Response
- access_to_regulated_profession Fare riferimento al punto 5.2 del Diploma Supplement “accesso ad una professione regolamentata” che elenca le professioni per le quali è possibile ottenere l’abilitazione all’esercizio tramite il superamento di un Esame di Stato.
- learning_start_date/ learning_end_date Indicare date convenzionali in base all’anno accademico ed al semestre
- attended_learnings Si fa riferimento agli insegnamenti conseguiti, ossia che lo studente ha già sostenuto
- Regole di obbligatorietà output (si prega di verificare gli esempi sul file openapi):
- Nella struttura "Personal Data" è necessario prevedere la restituizione delle informazioni relative al codice fiscale e/o codice fiscale + personID
- Nella struttura "Personal Data" se il codice fiscale e/o il personID non sono presenti, restituire le informazioni given_name/family_name/birth_date/birth_place
✏️ Note compilazione campi
birth_place:
- Dove possibile il campo deve contenere le informazioni concatenate del Nazione/Provincia/Comune.
- il formato previsto prevede la seguente forma: *<nome_nazione>,<codice_provincia>,<nome_comune>, *
Esempio: birth_place="Italia,MI,Milano"
- Nel caso di comuni esteri, se non fosse possibile recuperare il codice_provincia, si potrà inserire la codifica EE
Esempio: birth_place="Austria,EE,Vienna"
- RegEx applicata: .,[a-zA-Z],[a-zA-Z]*
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Richiede la rettifica dei dati di un’iscrizione mancante o in eccesso per una studentessa o uno studente che stia frequentando o abbia frequentato.
Definizione OpenApi.yaml
response_code: Indica il codice di risposta generato dall'invocazione dell'API per le operazioni di inserimento o canecllazione della richiesta. Questo codice riflette l'esito della validazione semantica dei dati in ingresso, determinando se la transazione è approvata o rifiutata in base alla correttezza dei dati ricevuti Qualora uno o piu campi obbligatori previsti per la Request non siano valorizzati o compilati in modo errato (es. attributo obbligatorio mancante, attributo che non rispetta un'espressione regolare, ecc.), è possibile restituire un HTTP 400 Bad Request nel caso in cui i campi in input siano invece correttamente valorizzati ma i dati inviati nella Request non siano semanticamente corretti per il caso d'uso, è possibile restituire un HTTP Stutus 200 con response_code in output valorizzato a "rejected"
file_status: Stato del processo di una richiesta di rettifica di iscrizione per una studentessa o uno studente.
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Richiesta di rettifica di un'iscrizione accademica di una studentessa/uno studente all'Istituto di formazione superiore
Esempio IFS04.1 Request
Esempio IFS04.1 Response
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Acquisizione dello stato delle richieste di rettifica delle iscrizioni accademiche di una studentessa/uno studente all'Istituto di istruzione superiore
Esempio IFS04.2 Request
Esempio IFS04.2 Response
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Richiesta di annullamento di una richiesta di rettifica di una iscrizione accademica di una studentessa/uno studente all'Istituto di istruzione superiore
Esempio IFS04.3 Request
Esempio IFS04.3 Response
- Valorizzare in input almeno un campo tra tax_code e person_id
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Invio di una segnalazione dall'ente fruitore all'ente erogatore per comunicare eventuali anomalie sui dati delle iscrizioni accademiche
Esempio IFS04.4 Request
Esempio IFS04.4 Response
- Valorizzare in input almeno un campo tra tax_code e person_id
- nel caso in cui in input gli attributi tax_code/person_id non siano valorizzabili, compilare i parametri given_name/family_name/birth_date/birth_place
✏️ Note compilazione campi
birth_place:
- Dove possibile il campo deve contenere le informazioni concatenate del Nazione/Provincia/Comune.
- il formato previsto prevede la seguente forma: *<nome_nazione>,<codice_provincia>,<nome_comune>, *
Esempio: birth_place="Italia,MI,Milano"
- Nel caso di comuni esteri, se non fosse possibile recuperare il codice_provincia, si potrà inserire la codifica EE
Esempio: birth_place="Austria,EE,Vienna"
- RegEx applicata: .,[a-zA-Z],[a-zA-Z]*
Richiede la rettifica dei dati di un’iscrizione mancante o in eccesso per una studentessa o uno studente che stia frequentando o abbia frequentato.
Definizione OpenApi.yaml
response_code: Indica il codice di risposta generato dall'invocazione dell'API per le operazioni di inserimento o canecllazione della richiesta. Questo codice riflette l'esito della validazione semantica dei dati in ingresso, determinando se la transazione è approvata o rifiutata in base alla correttezza dei dati ricevuti Qualora uno o piu campi obbligatori previsti per la Request non siano valorizzati o compilati in modo errato (es. attributo obbligatorio mancante, attributo che non rispetta un'espressione regolare, ecc.), è possibile restituire un HTTP 400 Bad Request nel caso in cui i campi in input siano invece correttamente valorizzati ma i dati inviati nella Request non siano semanticamente corretti per il caso d'uso, è possibile restituire un HTTP Stutus 200 con response_code in output valorizzato a "rejected"
file_status: Stato del processo di una richiesta di rettifica di iscrizione per una studentessa o uno studente.
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Richiesta di rettifica di un titolo accademico di una studentessa/uno studente all'Istituto di formazione superiore
Esempio IFS05.1 Request
Esempio IFS05.1 Response
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Acquisizione dello stato delle richieste di rettifica dei titoli accademici di una studentessa/uno studente all'Istituto di istruzione superiore
Esempio IFS05.2 Request
Esempio IFS05.2 Response
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Richiesta di annullamento di una richiesta di rettifica di un titolo accademico di una studentessa/uno studente all'Istituto di istruzione superiore
Esempio IFS05.3 Request
Esempio IFS05.3 Response
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Invio di una segnalazione dall'ente fruitore all'ente erogatore per comunicare eventuali anomalie sui dati dei titoli accademici
Esempio IFS05.4 Request
Esempio IFS05.4 Response
✏️ Note compilazione campi
birth_place:
- Dove possibile il campo deve contenere le informazioni concatenate del Nazione/Provincia/Comune.
- il formato previsto prevede la seguente forma: *<nome_nazione>,<codice_provincia>,<nome_comune>, *
Esempio: birth_place="Italia,MI,Milano"
- Nel caso di comuni esteri, se non fosse possibile recuperare il codice_provincia, si potrà inserire la codifica EE
Esempio: birth_place="Austria,EE,Vienna"
- RegEx applicata: .,[a-zA-Z],[a-zA-Z]*
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Richiede la lista delle ultime iscrizioni per ogni corso di studi negli ultimi 3 anni accademici.
Definizione OpenApi.yaml
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Acquisizione delle "impronte (codifica hash)" di tutte le iscrizioni delle studentesse/degli studenti negli ultimi tre anni accademici al fine di identificarne le variazioni dal punto di vista del fruitore
Esempio IFS06.1 Request
Esempio IFS06.1 Response
- Si ricorda di NON valorizzare il campo "cursor" nell'esecuzione della prima chiamata.
- Qualora nella response fosse presente il campo "cursor" valorizzato, prevedere la sua valorizzazione nelle chiamate successive.
- Prevedere, tramite l'attributo "cursor", una strategia di paginazione dei risultati restituiti dalla API. Qualora l'attributo fosse restituito NULLO (o non presente), nessuna chiamata successiva deve essere effettuata dal client.
Scenario operativo di acquisizione delle variazioni delle iscrizioni fra l'anagrafe ANIS e un Istituto di istruzione superiore
N.B. Si prega di visionare anche la sezione IFS02
Richiede la lista di tutti i titoli conseguiti
Definizione OpenApi.yaml
🧩 caso d'uso tipico: Interazione con anagrafe ANIS
Acquisizione delle "impronte (codifica hash)" di tutti i titoli accademici al fine di identificarne le variazioni dal punto di vista del fruitore
Esempio IFS07.1 Request
Esempio IFS07.1 Response
- Si ricorda prevedere di NON valorizzare il campo "cursor" nell'esecuzione della prima chiamata.
- Qualora nella response fosse presente il campo "cursor" valorizzato, prevedere la sua valorizzazione nelle chiamate successive.
- Prevedere, tramite l'attributo "cursor", una strategia di paginazione dei risultati restituiti dalla API. Qualora l'attributo fosse restituito NULLO (o non presente), nessuna chiamata successiva deve essere effettuata dal client.
- academic_system, di seguito la descrizione delle codifiche disponibili per il campo:
- Il valore 'old' si riferisce a tutti i titoli accademici ottenuti prima del nuovo ordinamento Universitario/AFAM regolato dai decreti legislativi 509/99 per l'Università e 508/99 per l'AFAM.
- Il valore 'new' si riferisce ai titoli accademici ottenuti a partire dal nuovo oridnamento Universitario/AFAM regolato dai decreti legislativi 509/99 per l'Università e 508/99 per l'AFAM.
- Se questo parametro non è specificato, l'API restituisce i titoli accademici sia del vecchio che del nuovo ordinamento.
- sync_mode, di seguito la descrizione delle codifiche disponibili per il campo:
- Il valore 'full' rappresenta tutti i titoli accademici
- Il valore 'incremental' rappresenta: a) Ogni qualifica accademica ottenuta dallo studente negli ultimi 2 anni solari (basata sulla data di conseguimento del titolo). b) Qualsiasi titolo accademico rettificato negli ultimi 2 anni solari (basato sulla data di rettifica del titolo). Se uno studente non ha più alcun titolo accademico perché è stato eliminato, l'API restituisce null o un hash di un'entità null.
- Se questo parametro non è valorizzato, il valore predefinito è full
Vedere scenario operativo presente nel paragrafo delle iscrizioni di IFS06
Acquisisce il numero di studentesse e studenti per fasce ISEE in un anno accademico
Definizione OpenApi.yaml
Acquisizione del numero di studentesse e studenti per fasce ISEE in un anno accademico
Esempio IFS08.1 Request
Esempio IFS08.1 Response
- La API deve essere organizzata secondo la ripartizione degli scaglioni coerenti con i provvedimenti normativi in vigore relativamente alla tassazione universitaria (No-tax area e progressività) per gli Atenei statali e gli istituti AFAM statali (L. 232/2016, DM 1014/2021, DM 1016/2021). Si riportano di seguito la proposta di ripartizione degli scaglioni corente con la normativa vigente e con maggiore dettaglio per finalità amministrative di analisi
- E' di libero arbitrio degli istituti la scelta di definire una soglia minima di studenti entro la quale mostrare la fascia di reddito.
scaglioni ISEE <=13.000 13.001-16.000 Classe di ampiezza 2.000 da 16.001-40.000 Classe di ampiezza 5.000 da 40.001-60.000 Classe di ampiezza 10.000 da 60.001-100.000 >100.000 ISEE non presentato
Ottiene il numero di studentesse e di studenti iscritti ad un IFS.
Definizione OpenApi.yaml
Acquisizione del numero di studentesse e studenti iscritti a un corso di studi per anno accademico
Esempio IFS09.1 Request
Esempio IFS09.1 Response
- Il dato può cambiare nel corso dell’anno a causa di:
- immatricolazioni al secondo semestre
- immatricolazioni di dottorandi scaglionate su diverse finestre di ingresso
- ricongiunzioni
- avvio di nuove edizioni di Corsi di Master in qualsiasi mese dell’anno
- vedere gli input/output di esempio sopra riportati
- nel caso in cui i parametri male_enrollment_count o female_enrollment_count non siano valorizzabili -> restituire un valore nullo
🚧 Work in progress
- Visualizzatore OpenApi.yaml in formato Swagger: https://editor.swagger.io/
- Convertitore di x-jsonle-context in json: https://yml2json.com/
- Convertitore di Json in Json-ld https://json-ld.org/playground/
Per la valorizzazione dei campi institude_code, programme_type_code, degree_course_code, degree_class_code si prega di fare riferimento al Master data pubblicato dal Ministero dell'Università e della Ricerca (MUR) con i seguenti dataset
- institute
- programme-type
- degree-class
- degree-course
Lo schema del master data pubblicato dal MUR può essere scaricato a questo link e i dataset sono disponibili nel seguente Repo
API Gateway Open Source condiviso nel portale web Developers.it, che implementa già il protocollo di autenticazione con la piattaforma PDND: link al software su Developers Italia e sito ufficiale di GovWay.
L'impaginazione basata sul cursore consente di recuperare in modo efficiente set di dati di grandi dimensioni da un database suddividendoli in "pagine" più piccole.
Il business canvas è il documento utilizzato dal gruppo di lavoro per la collaborazione e per la modellazione delle specifiche Open API.
- Interoperabilità e PDND su Developers Italia
- Avvisi di PA digitale 2026
- Normativa e modelli relativi al Diploma Supplement
29/10/2024
- Denis Marini
- Davide Longo
- Lorenzo Doneda