Electronic Personnel Attendance System

Documenti pubblici, digitali.

8.10. Consultazione e Gestione figli/figlie dei dipendenti via REST

Di seguito una breve spiegazione dell'API REST relativa alla consultazione e gestione dei figli e figlie dei dipenenti che comprende i metodi per la visualizzazione, la creazione, la modifica e la la cancellazione dei figli/figlie.

8.10.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.10.2. Child byPerson

La lista dei figli/figlie di una persona è fruibile tramite una HTTP GET all'indirizzo /rest/v2/child/byPerson.

La persona può essere individuata passando i soliti parametri identificativi delle persone: id, email, eppn, perseoPersonId, fiscalCode, number.

$ http -a istituto_xxx_registry_manager
    GET https://epas-demo.devel.iit.cnr.it/rest/v2/child/byPerson
    email==galileo.galilei@cnr.it
[
   {
      "bornDate": 1600-08-13,
      "externalId": null,
      "fiscalCode": "GLLVGN00M53G702I"
      "id": 1236,
      "name": "Virginia",
      "surname": "Galilei",
      "updatedAt": "2021-01-15T17:55:05.966788"
   }
]

8.10.3. Children Show

La visualizzazione dei dati di un figlio/figlia è possibile tramite una HTTP GET all'indirizzo /rest/v2/child/show.

Per individuare il figlio/figlia è possibile utilizzare solo il campo id.

$ http -a istituto_xxx_registry_manager
    GET https://epas-demo.devel.iit.cnr.it/rest/v2/child/show
    id==1236
{
   "bornDate": 1600-08-13,
   "externalId": null,
   "fiscalCode": "GLLVGN00M53G702I"
   "id": 1236,
   "name": "Virginia",
   "surname": "Galilei",
   "updatedAt": "2021-01-15T17:55:05.966788"
}

La stessa GET può essere effettuata passando l'id del figlio/figlia nel modo seguente:

$ http -a istituto_xxx_registry_manager
    GET https://epas-demo.devel.iit.cnr.it/rest/v2/child/show/1236

8.10.4. Children Update

La modifica di un figlio/figlia è possibile tramite una HTTP PUT all'indirizzo /rest/v2/child/update.

Per individuare il figlio/figlia è possibile utilizzare solo il campo id.

$ http -a istituto_xxx_registry_manager
    https://epas-demo.devel.iit.cnr.it/rest/v2/child/update id=1236
    name=Virginia surname=Galilei fiscalCode=GLLVGN00M53G702I
    bornDate=1600-08-13 externalId=xyz

La risposta sarà del tipo:

{
   "bornDate": "1600-08-13",
   "externalId": "xyz",
   "fiscalCode": "GLLVGN00M53G702I",
   "id": 1236,
   "name": "Virginia",
   "surname": "Galilei",
   "updatedAt": "2021-01-15T17:55:05.966788"
}

8.10.5. Children Create

La creazione di un figlio/figlia di una persona è possibile tramite una HTTP POST all'indirizzo /rest/v2/child/create.

$ http -a istituto_xxx_registry_manager
    POST https://epas-demo.devel.iit.cnr.it/rest/v2/child/create
    name=Vincenzio surname=Galilei fiscalCode=VNCGLL00M21G702U
    bornDate=1606-08-21 externalId=xyzw
    personId=1234

La risposta sarà del tipo:

{
   "bornDate": "1606-08-21",
   "externalId": "xyzw",
   "fiscalCode": "GLLVGN00M53G702I",
   "id": 1237,
   "name": "Vincenzio",
   "surname": "Galilei",
   "updatedAt": "2021-01-15T17:55:05.966788"
}

Le uniche cosa da notare sono la necessità di indicare obbligatoriamente il campo personId (1234 nell'esempio).

8.10.6. Children Delete

La cancellazione di un figlio/figlia è possibile tramite una HTTP DELETE all'indirizzo /rest/v2/child/delete.

Per individuare il figlio/figlia da eliminare si utilizza il parametro id.

$ http -a istituto_xxx_registry_manager
    DELETE https://epas-demo.devel.iit.cnr.it/rest/v2/child/delete?id=1237