8.8. Consultazione situazione competenze via REST¶
Di seguito una breve spiegazione dell'API REST relativa alla consultazione della lista delle competenze presenti su ePAS e delle competenze abilitate per una persona.
8.8.1. Permessi¶
Per poter accedere a queste interfaccie REST è necessario utilizzare un utente che abbia il ruolo di Lettore Informazioni per la sede su cui si vuole effettuare le operazioni. I nuovi utenti possono essere definiti dagli utenti che hanno il ruolo di amministratore tecnico.
Su https://epas-demo.devel.iit.cnr.it potete per esempio creare un nuovo utente associato alla vostra sede tipo istituto_xxx_person_day_reader (cambiate il nome o in futuro andrà in conflitto con quello di altri istituti) ed una volta creato l'utente assegnateli il ruolo Lettore informazioni.
L'autenticazione da utilizzare è come per gli altri servizi REST quella Basic Auth.
8.8.2. Riepilogo tipologie competenze presenti nel sistema¶
La lista delle tipologie di competenze presenti nel sistema è disponibile tramite una HTTP GET all'indirizzo /rest/v3/competences/list.
Per esempio:
$ http -a istituto_xxx_person_day_reader
GET https://epas-demo.devel.iit.cnr.it/rest/v3/competences/list
La risposta sarà del tipo:
[
{
"code": "207",
"codeToPresence": "207",
"description": "Ind.ta' Reper.ta' Feriale",
"id": 2
},
{
"code": "S2",
"codeToPresence": "S2",
"description": "Straordinario diurno nei giorni festivi o notturno nei giorni lavorativi",
"id": 6
}
]
Nell'esempio sopra sono riportate per semplicità solo alcune competenze ma l'elenco reale sarà più lungo.
8.8.3. Visualizzazione attributi di una competenza¶
Si può visualizzare i dettagli degli attributi relativi ad una competenza tramite una HTTP GET all'endopoint /rest/v3/competences/show.
Per individuare la tipologia di competenza è possibile passare il campo id oppure il campo code che corrisponde al codice della competenza (per esempio S1).
$ http -a istituto_xxx_registry_manager
GET https://epas-demo.devel.iit.cnr.it/rest/v2/competences/show
id==3
Il risultato sarà del tipo:
{
"code": "208",
"codeToPresence": "208",
"competenceCodeGroup": {
"id": 1,
"label": "Gruppo reperibilità"
},
"description": "Ind.ta' Reper.ta' Festiva",
"disabled": false,
"id": 3,
"limitType": "monthly",
"limitUnit": "days",
"limitValue": 16
}
Le competenze hanno associato anche un competenceCodeGroup che ne definisce alcuni comportamenti e limiti.
8.8.4. Visualizzazione dettagli di un gruppo di competenze¶
Si può visualizzare i dettagli relativi ad un gruppo di competenze tramite una HTTP GET all'endopoint /rest/v3/competencegroups/show.
Per individuare la tipologia di competenza è possibile passare il campo id.
$ http -a istituto_xxx_registry_manager
GET https://epas-demo.devel.iit.cnr.it/rest/v2/competencegroups/show
id==3
Il risultato sarà del tipo:
{
"competenceCodes": [
{
"code": "207",
"codeToPresence": "207",
"description": "Ind.ta' Reper.ta' Feriale",
"id": 2
},
{
"code": "208",
"codeToPresence": "208",
"description": "Ind.ta' Reper.ta' Festiva",
"id": 3
}
],
"id": 1,
"label": "Gruppo reperibilità",
"limitType": "monthly",
"limitUnit": "days",
"limitValue": 16
}
8.8.5. Riepilogo gruppi di competenza presenti nel sistema¶
La lista dei gruppi di competenze presenti nel sistema è disponibili tramite una HTTP GET all'indirizzo /rest/v3/competencegroups/list.
Per esempio:
$ http -a istituto_xxx_person_day_reader
GET https://epas-demo.devel.iit.cnr.it/rest/v3/competencegroups/list
La risposta sarà del tipo:
[
{
"id": 1,
"label": "Gruppo reperibilità"
},
{
"id": 2,
"label": "Gruppo straordinari"
},
{
"id": 3,
"label": "Gruppo turni"
},
{
"id": 4,
"label": "Gruppo Ind.tà rischio"
}
]
8.8.6. Competenze abilitate per una persona¶
Le informazioni relative alle competenze abilitate per uno specifico dipendente sono disponibili tramite una HTTP GET all'indirizzo /rest/v3/competences/personCompetenceCodes.
La persona può essere individuata passando i parametri identificativi delle persone: id, email, eppn, perseoPersonId, fiscalCode, number, l'anno tramite il campo year. Negli esempi successivi viene utilizzato il parametro email=galileo.galilei@cnr.it, cambiatelo con un utente appropriato per la vostra sede.
Nel caso si voglia sapere le competenze abilitate ad una certa data è possibile passare il parametro date, se questo parametro non viene passato il default è la data corrente.
$ http -a istituto_xxx_person_day_reader
GET https://epas-demo.devel.iit.cnr.it/rest/v3/competences/personCompetenceCodes
email==galileo.galilei@cnr.it
Il JSON restituto contiene una lista delle competenze abilitate per una persona con le date di inizio e fine abilitazione della competenza.
[
{
"beginDate": "2012-07-30",
"competenceCode": {
"code": "S2",
"codeToPresence": "S2",
"description": "Straordinario diurno nei giorni festivi o notturno nei giorni lavorativi",
"id": 6
},
"endDate": null,
"id": 71
}
]