Introduzione

In questo documento verranno descritti i principali servizi esposti per il recupero della struttura concorsuale, con la possibilità di effettuare nuovi iscrizioni ai concorsi e caricare classifiche/graduatorie.

URL

Base URL: https://test.unidemo.esse3.it/e3rest/api/concorsi-service-v2/

Autenticazione

L'autenticazione dei servizi è configurata per l'accesso alle sole utenze tecniche Servizi REST su ESSE3#GestionepermessiperUtenzeTecniche.

Risorse

Concorsi

GET /api/concorsi-service-v2/concorsi

Questo servizio rest di tipo GET recupera la lista dei concorsi presenti sull’ateneo.

È possibile filtrare per anno accademico appendendo il parametro aaId /api/concorsi-service-v2/concorsi?aaId=2021.

Results

Status code

Description

Example

200 OK

Elenco dei concorsi recuperati per l'anno 2021.


{
   "aaId":2020,
   "concorsoDes":"Domanda di ammissione per anni successivi al primo - DESIGN DEL PRODOTTO INDUSTRIALE",
   "concorsoDesEng":"Domanda di ammissione per anni successivi al primo - DESIGN DEL PRODOTTO INDUSTRIALE",
   "concorsoNotaEng":"",
   "dataFinAmmWeb":"20/08/2021 23:59",
   "dataIniAmmWeb":"01/07/2021 10:00",
   "linkBando":"",
   "modTest":"U",
   "nota":"",
   "numPrefBorse":0,
   "numPrefBorseMin":0,
   "numPrefLingue":0,
   "numPrefLingueMin":0,
   "numPrefMax":1,
   "numPrefMin":1,
   "testId":1,
   "tipoCorsoCod":"L2",
   "tipoCorsoDes":"Corso di Laurea",
   "tipoCorsoDesEng":"BACHELOR DEGREE",
   "tipoTestCod":"A",
   "tipoTestDes":"di Ammissione"
},
{
   "aaId":2021,
   "concorsoDes":"Domanda di ammissione per anni successivi al primo - SCIENZE BIOLOGICHE",
   "concorsoDesEng":"Domanda di ammissione per anni successivi al primo - SCIENZE BIOLOGICHE",
   "concorsoNotaEng":"",
   "dataFinAmmWeb":"15/09/2021 23:59",
   "dataIniAmmWeb":"01/07/2021 10:00",
   "linkBando":"",
   "modTest":"U",
   "nota":"",
   "numPrefBorse":0,
   "numPrefBorseMin":0,
   "numPrefLingue":0,
   "numPrefLingueMin":0,
   "numPrefMax":1,
   "numPrefMin":1,
   "testId":2,
   "tipoCorsoCod":"L2",
   "tipoCorsoDes":"Corso di Laurea",
   "tipoCorsoDesEng":"BACHELOR DEGREE",
   "tipoTestCod":"A",
   "tipoTestDes":"di Ammissione"
}
422 Bad RequesSe uno dei query param non è presente
{
   "statusCode":200,
   "retCode":-1,
   "retErrMsg":"Parametri non corretti",
   "errDetails":[
      {
         "errorType":"stackTrace",
         "value":"SocketTimeoutException....",
         "errorCode":"1111"
      }
   ]
}

GET /api/concorsi-service-v2/concorsi/{aaId}/{testId}

Questo servizio rest di tipo GET recupera la configurazione di un singolo concorso filtrando per i parametri aaId e testId.

Il servizio contiene il dettaglio sulle preferenze richieste in fase di iscrizione al concorso.

Gli indentificativi recuperati dalle strutture di “preferenza” saranno quelli richiesti dalla PUT di iscrizione ai concorsi (per esempio dalla struttura dettTest verrà richiesto il dettTestId)


Results

Status code

Description

Example

200 OK

Dettaglio del concorsi recuperati per l'anno 2021 e testId 1.



[
   {
      "aaId":2017,
      "testId":1,
      "tipoTestCod":"A",
      "modTest":"U",
      "tipoTestDes":"di Ammissione",
      "concorsoDes":"Ammissione alle lauree triennali",
      "concorsoDesEng":"Admission test",
      "dataIniAmmWeb":"18/12/2017",
      "dataFinAmmWeb":"18/12/2017",
      "nota":"Attenzione",
      "concorsoNotaEng":"Attention",
      "tipoCorsoCod":"L2",
      "tipoCorsoDes":"Corso di Laurea",
      "tipoCorsoDesEng":"Bachelor Degree",
      "linkBando":"https://www.cineca.it/bando",
      "dettTest":[
         {
            "aaId":2017,
            "testId":1,
            "dettTestId":1,
            "cdsId":1,
            "tipoCatAmmId":999,
            "dettaglio":"Descrizione lingua italiana",
            "dettaglioEng":"Description",
            "numPostiTot":20,
            "numPostiLiberi":2,
            "dataIniVisGradWeb":"18/12/2017",
            "dataFinVisGradWeb":"18/12/2017",
            "annoCorso":2017,
            "prefPds":[
               {
                  "aaId":2021,
                  "testId":1,
                  "dettTestId":1,
                  "cod":"PDS",
                  "des":"Percorso generico",
                  "cdsId":2021,
                  "aaOrdId":2021,
                  "pdsId":2021
               }
            ],
            "prefSedi":[
               {
                  "aaId":2021,
                  "testId":1,
                  "dettTestId":1,
                  "sedeDes":"2021",
                  "sedeId":2021,
                  "postiDettSedeId":2021
               }
            ]
         }
      ],
      "prefLingue":[
         {
            "aaId":2021,
            "testId":1,
            "concLingueId":1,
            "linguaId":5,
            "linguaDes":"2021",
            "iso6392Cod":"eng"
         }
      ],
      "prefBorse":[
         {
            "aaId":2021,
            "testId":1,
            "concBorseId":1,
            "tipoBorsaCod":"BOR",
            "tipoBorsaDes":"Borsa di studio",
            "numBorse":3
         }
      ]
   }
]
422 Bad RequesSe uno dei query param non è presente



{
  "statusCode": 200,
  "retCode": -1,
  "retErrMsg": "Parametri non corretti",
  "errDetails": [
    {
      "errorType": "stackTrace",
      "value": "SocketTimeoutException....",
      "errorCode": "1111"
    }
  ]
}



Iscrizione concorsi

PUT /concorsi/{aaId}/{testId}/iscrizioni/{persId}

Questo servizio rest di tipo PUT permette di iscrivere una persona ad un concorso.

È necessario specificare le chiavi che identificano il concorso al quale si vuole iscrivere lo studente, quindi aaId e testId, e la chiave che identifica la persona, quindi persId.

Successivamente bisogna definire i valori di tutte le proprietà relative all’iscrizione nel parametro body.

Parameters

NameTypeRequiredDescriptionExample
aaIdNumberYAnno concorso2021
testIdNumberYIdentificativo concorso1
persIdNumberYIdentificativo della persona per la quale verrà inserita l'iscrizione al concorso1
body
YRappresenta i dati dell'iscrizione da inserire
{
   "tipoTititCod":"1",
   "tipoCatAmmId":999,
   "tipoCorsoCod":"1",
   "trattHandFlg":0,
   "tipoHandicap":"D",
   "noteHand":"1",
   "percHand":60.25,
   "nota":"1",
   "prefLingue":[
      {
         "concLingueId":101,
         "prefOrd":1
      }
   ],
   "prefBorse":[
      {
         "concBorseId":101,
         "prefOrd":1
      }
   ],
   "prefDett":[
      {
         "dettTestId":101,
         "prefOrd":1
      }
   ]
}


Results

Status code

Description

Example

200 OK

In caso di nuova iscrizione inserita verrà restituito un json contentente i dati dell'iscrizione




[
   {
      "aaId":2021,
      "testId":1,
      "persId":1,
      "posId":3,
      "tipoTestCod":"A",
      "modTest":"U",
      "tipoTestDes":"di Ammissione",
      "tipoTestDesEng":"Admission",
      "concorsoDes":"Ammissione alle lauree triennali",
      "concorsoDesEng":"Admission test",
      "dataIniAmmWeb":"18/12/2017",
      "dataFinAmmWeb":"18/12/2017",
      "dataIniDomRipescaggio":"22/08/2017",
      "dataFinDomRipescaggio":"17/09/2017",
      "concNazionale":1,
      "nota":"Attenzione",
      "concorsoNotaEng":"Attention",
      "tipoCorsoCod":"L2",
      "tipoCorsoDes":"Corso di Laurea",
      "tipoCorsoDesEng":"Bachelor Degree",
      "linguaConcorso":[
         {
            "persId":1,
            "posId":1,
            "concLingueId":2021,
            "prefOrd":1,
            "des":"descrizone lingua",
            "linguaId":1
         }
      ],
      "dettaglioSede":[
         {
            "persId":1,
            "posId":1,
            "dettTestId":1,
            "sedeId":2021,
            "prefOrd":1,
            "des":"descrizone lingua"
         }
      ],
      "dettaglioPds":[
         {
            "persId":1,
            "posId":1,
            "dettTestId":2021,
            "cdsId":1,
            "aaOrdId":2020,
            "pdsId":2017,
            "cod":"PDS",
            "des":"descrizone lingua"
         }
      ],
      "borse":[
         {
            "persId":1,
            "posId":1,
            "concBorseId":1,
            "tipoBorsaCod":"2017",
            "des":"descrizone"
         }
      ],
      "dettaglioTest":[
         {
            "persId":1,
            "posId":1,
            "dettTestId":3,
            "prefOrd":1,
            "dettaglio":"32/12 - LINGUE E LETTERATURE MODERNE EUROAMERICANE",
            "dettaglioEng":"32/12 - MODERN EUROAMERICAN LANGUAGES AND LITERATURES"
         }
      ]
   }
]


422 Bad Reques

I possibili codici di ritorno sono i seguenti:

-1 | Errore
-2 | Preferenze non corrette
-3 | Parametri obbligatori non valorizzati
3 | Persona gia' ammessa al test
4 | Ammissione non fattibile: lo studente non soddisfa le condizioni di ammissibilità
5 | Errore in fase di caricamento graduatoria persona da WS

{
  "statusCode": 200,
  "retCode": -1,
  "retErrMsg": "Parametri non corretti",
  "errDetails": [
    {
      "errorType": "stackTrace",
      "value": "SocketTimeoutException....",
      "errorCode": "1111"
    }
  ]
}


Classifiche

PUT /concorsi/{aaId}/{testId}/classifica/{proveConcId}

Questo servizio rest di PUT permette di inserire i risultati di una singola prova concorsuale.

I parametri in PATH da sostituire sono aaId e testId, chiavi che identificano anno e progressivo del concorso, e proveConcId, identificativo della prova da caricare (recuperabile della GET /api/concorsi-service-v2/concorsi/{aaId}/{testId} ).

La validazione del seguente body segue gli standard dell’importazione classifiche da file https://wiki.u-gov.it/confluence/pages/viewpage.action?pageId=81332397#Tracciatidiimportazione/esportazioneConcorsi-IMPORTAZIONECLASSIFICASTANDARDESSE3.

Per quanto riguarda la proprietà puntiMaterie è da popolare nel caso in cui la prova sia suddivisa per materie: in questo caso i punteggi sono relativi alle materie ordinate per peso decrescente.

Parameters

NameTypeRequiredDescriptionExample
aaIdNumberYAnno concorso2021
testIdNumberYIdentificativo concorso1
proveConcIdNumberY

Identificativo della prova per la quale si deve inserire il punteggio in classifica.

Recuperabile dalla get recuperabile della GET /api/concorsi-service-v2/concorsi/{aaId}/{testId}

1
body
YRappresenta i dati dell'iscrizione da inserire
[
  {
    "prematr": 1,
    "numCompito": "123",
    "codFis": "Buono",
    "nome": "Mario",
    "cognome": "Rossi",
    "puntiTot": 60.5,
    "maxPunti": 60.5,
    "esitoCod": 1,
    "puntiMaterie": [
      {
        "puntiMateria": 0
      }
    ]
  }
]


Results

Status code

Description

Example

200 OK

Ritorna il numero di righe elaborate con eventuali errori




[
  {
    "numeroRecordElaborati": 0,
    "numeroErrori": 0,
    "elencoErrori": [
      {
        "descrizioneErrore": "string"
      }
    ]
  }
]


422 Bad Reques

Se uno dei query param non è presente

{
  "statusCode": 200,
  "retCode": -1,
  "retErrMsg": "Parametri non corretti",
  "errDetails": [
    {
      "errorType": "stackTrace",
      "value": "SocketTimeoutException....",
      "errorCode": "1111"
    }
  ]
}


Graduatorie

PUT /concorsi/{aaId}/{testId}/graduatorie/{dettTestId}

Questo servizio rest di PUT permette di inserire i risultati di un singolo dettaglio di graduatoria concorsuale.

I parametri in PATH da sostituire sono aaId e testId, chiavi che identificano anno e progressivo del concorso, e dettTestId, identificativo del dettaglio di graduatoria da caricare (recuperabile della GET /api/concorsi-service-v2/concorsi/{aaId}/{testId} ).

La validazione del seguente body segue gli standard dell’importazione graduatorie da file https://wiki.u-gov.it/confluence/pages/viewpage.action?pageId=81332397#Tracciatidiimportazione/esportazioneConcorsi-IMPORTAZIONEGRADUATORIE.


Parameters

NameTypeRequiredDescriptionExample
aaIdNumberYAnno concorso2021
testIdNumberYIdentificativo concorso1
dettTestIdNumberY

Identificativo del dettaglio di graduatoria per il quale si vuole caricare il punteggio.

Recuperabile dalla get recuperabile della GET /api/concorsi-service-v2/concorsi/{aaId}/{testId}

1
body
YRappresenta i dati dell'iscrizione da inserire
[
  {
    "prematr": 1,
    "codFis": "Buono",
    "cognome": "Rossi",
    "nome": "Mario",
    "posiz": 1,
    "puntiTot": 60.5,
    "maxPunti": 60.5,
    "stato": "AM"
  }
]


Results

Status code

Description

Example

200 OK

Ritorna il numero di righe elaborate con eventuali errori




[
  {
    "numeroRecordElaborati": 0,
    "numeroErrori": 0,
    "elencoErrori": [
      {
        "descrizioneErrore": "string"
      }
    ]
  }
]


422 Bad Reques

Se uno dei query param non è presente

{
  "statusCode": 200,
  "retCode": -1,
  "retErrMsg": "Parametri non corretti",
  "errDetails": [
    {
      "errorType": "stackTrace",
      "value": "SocketTimeoutException....",
      "errorCode": "1111"
    }
  ]
}
  • No labels