8.9. Consultazione e Gestione dati Anagrafici dei dipendenti via REST¶
Di seguito una breve spiegazione dell'API REST relativa alla gestione dei dati anagrafici dei dipendenti che comprende i metodi per la visualizzazione, la creazione, la modifica e la cancellazione delle persone.
8.9.1. Permessi¶
Per poter accedere a queste interfaccie REST è necessario utilizzare un utente che abbia il ruolo di Gestore anagrafica per la sede su cui si vuole effettuare le operazioni (lo stesso ruolo utilizzato per la gestione delle persone e dei gruppi).
Su https://epas-demo.devel.iit.cnr.it potete per esempio creare un nuovo utente associato alla vostra sede tipo istituto_xxx_registry_manager (cambiate il nome o in futuro andrà in conflitto con quello di altri istituti) ed una volta creato l'utente assegnateli il ruolo Gestore Anagrafica.
Inoltre è possibile utilizzare un utente di sistema con ruolo di Gestore anagrafica per accedere alle informazioni sulle persone di tutte le sedi. Questo utente è utiizzato per l'eventuale integrazione con sistemi esterni (per esempio di rendicontazione) a livello di tutte le sedi. L'utente di sistema con ruolo di Gestore anagrafica non può essere creato dalle singole sedi ma può essere creato tra un utente con ruolo di Amministratore di ePAS.
L'autenticazione da utilizzare è come per gli altri servizi REST quella Basic Auth.
8.9.2. Person Show¶
La visualizzazione dei dati di una persona è tramite una HTTP GET all'indirizzo /rest/v2/persons/show.
Per individuare la persona è possibile utilizzare una delle cinque chiavi candidate presenti sulle persone:
id, email, eppn, perseoPersonId, fiscalCode, number.
Il campo number corrisponde alla matricola.
$ http -a istituto_xxx_registry_manager
GET https://epas-demo.devel.iit.cnr.it/rest/v2/persons/show?email=galileo.galilei@cnr.it
{
"badges": [
"15409"
],
"birthday": "1564-02-15",
"email": "galileo.galilei@cnr.it",
"eppn": "galileo.galilei@cnr.it",
"fax": null,
"fiscalCode": "GLLGLL74P10G702B",
"id": 1234,
"mobile": null,
"name": "Galileo",
"number": "9802",
"office": {
"code": "044000",
"codeId": "223400",
"id": 101,
"name": "IIT - Pisa"
},
"othersSurnames": null,
"qualification": 1,
"residence": "Via Giuseppe Giusti, 24, 56127 Pisa",
"surname": "Galilei",
"telephone": null
}
La stessa GET può essere effettuata passando l'id della persona nei due modi seguenti:
$ http -a istituto_xxx_registry_manager
GET https://epas-demo.devel.iit.cnr.it/rest/v2/persons/show/1234
$ http -a istituto_xxx_registry_manager
GET https://epas-demo.devel.iit.cnr.it/rest/v2/persons/show/id=1234
Oppure per esempio per codice fiscale con questa chiamata:
$ http -a istituto_xxx_registry_manager
GET https://epas-demo.devel.iit.cnr.it/rest/v2/persons/show?fiscalCode=GLLGLL74P10G702B
Nel caso vengano passati più parametri nella ricerca della persona l'ordine con cui viene cercata la persona è id, email, eppn, perseoPersonId, fiscalCode, number.
8.9.3. Person Create¶
La creazione di una persona è possibile tramite una HTTP POST all'indirizzo /rest/v2/persons/create.
$ http -a istituto_xxx_registry_manager
POST https://epas-demo.devel.iit.cnr.it/rest/v2/persons/create
number=99999 name=John surname=Doe email=john.doe@cnr.it qualification=5 officeId=101
L'unica cosa da notare è che per associare la persona all'ufficio correto è necessario indicare il campo officeId.
8.9.4. Person Update¶
L'aggiornamento di una persona è possibile tramite una HTTP PUT all'indirizzo /rest/v2/persons/update.
Per individuare la persona da aggiornare si utilizzano gli stessi parametri previsti per la show:
id, email, eppn, perseoPersonId, fiscalCode, number.
$ http -a istituto_xxx_registry_manager
PUT https://epas-demo.devel.iit.cnr.it/rest/v2/persons/update?email=john.doe@cnr.it
number=99991 name=John surname=Doe email=john.doe@cnr.it qualification=5 officeId=101
8.9.5. Person Delete¶
La cancellazione di una persona è possibile tramite una HTTP DELETE all'indirizzo /rest/v2/persons/delete.
Per individuare la persona da eliminare si utilizzano gli stessi parametri previsti per la show:
id, email, eppn, perseoPersonId, fiscalCode, number.
$ http -a istituto_xxx_registry_manager
DELETE https://epas-demo.devel.iit.cnr.it/rest/v2/persons/delete?email=john.doe@cnr.it
8.9.6. Person List¶
E' possibile avere la lista delle persone presenti nella sede tramite un HTTP GET all'indirizzo /rest/v2/persons/list.
- Per individuare l'ufficio è possibile utilizzare una delle due chiavi candidate presenti sugli uffici:
id, codeId (corrisponde al sede id di Attestati).
$ http -a istituto_xxx_registry_manager
GET https://epas-demo.devel.iit.cnr.it/rest/v2/persons/list?id=101
Dalla versione 2.0.3 il metodo ritorna solo la lista del personale attivo al momento della chiamata. Inoltre adesso supporta il parametro atDate con cui è possibile passare una data con cui verificare i contratti attivi a quella data. Infine è possibile utilizzare il parametro terse per avere solo informazioni principali del personale.