Linkity‐työvuorosuunniteluintegraatio - espoon-voltti/evaka GitHub Wiki
Linkity-integraatiossa työntekijöiden työvuorot siirretään Linkitystä eVakaan, ja reaaliaikaisen läsnäolon leimaukset eVakasta Linkityyn. Aktiivisena osapuolena on kummassakin tapauksessa eVakassa kerran yössä pyörähtävät ajastetut ajot. Linkityn käyttämä integraatioalusta tarjoaa REST-API:n, jota ajastetut ajot kutsuvat.
Käyttöönotto
Toimintojen avauksista pitää kytkeä päälle seuraavat toiminnot:
- Henkilökunnan reaaliaikainen läsnäolo
- Työvuorosuunnitteluintegraatio
evaka-service tarvitsee seuraavat ympäristömuuttujat:
espoo.integration.linkity.url
kertoo Linkityn integraatioalustan juuripolunespoo.integration.linkity.apikey
kertoo Linkityn tunnistautumiseen käyttämän avaimen arvon
Ajastettujen ajojen asetuksia voi säätää samoin kuin muita eVaka-ajastuksia, eli ympäristömuuttujilla:
espoo.job.plan_staff_attendance_plan_jobs.enabled
espoo.job.plan_staff_attendance_plan_jobs.cron
espoo.job.plan_staff_attendance_plan_jobs.retry_count
espoo.job.send_staff_attendances_to_linkity.enabled
espoo.job.send_staff_attendances_to_linkity.cron
espoo.job.send_staff_attendances_to_linkity.retry_count
Linkity-rajapinta
Yleistä
Integraatiossa henkilöiden tunnistamiseen käytetään Sarastia ID:tä. eVakassa se on tallennettu työntekijän employeeNumber
-kenttään. Jos eVakan työntekijälle ei ole määritelty Sarastia ID:tä, hänelle ei haeta työvuoroja ja eikä hänen leimauksiaan lähetetä. Lisäksi työntekijän pitää olla luvitettuna yksikköön, jossa Työvuorosuunnitteluintegraatio-niminen toimintojen avaus on kytkettynä.
Työvuorojen haku
Työvuorot haetaan kerran yössä ajanjaksolle kuluvasta päivästä alkaen kuusi viikkoa eteenpäin. API palauttaa vastauksen synkronisesti, joten yksittäisen kutsun palauttaman tietomäärän ja Linkityn kuorman pitämiseksi kohtuullisena, yhdellä kutsulla haetaan kerrallaan viikon mittaisen jakson vuorot. Teknisesti PlanStaffAttendancePlanJobs
-ajon vastuulla on käynnistää nämä viikkokohtaiset kuusi hakuajoa. API palauttaa aina kaikki pyydetyn aikavälin vuorot, joten eVakassa jo olemassa olevat vuorot voidaan korvata kokonaisuudessaan uusilla vuoroilla.
Läsnäololeimausten lähetys
Läsnäololeimaukset lähetetään kerran yössä ajanjaksolle kuluvasta päivästä kuusi viikkoa taaksepäin. Kerralla lähetetään kaikki leimaukset, ei pelkästään uusia tai muuttuneita. API prosessoi leimaukset asynkronisesti, ja palauttaa 202-vastauksen kunhan leimaukset ovat syntaktisesti oikein. eVakaan asti ei tule tietoa, jos Linkityn pään myöhemmässä prosessoinnissa tulee vastaan virhetilanteita.
Valvonta ja virhetilanteiden hallinta
Linkity-integraation toimintaa voi seurata normaaleista evaka-servicen sovelluslokeista. Tuotannon virhetilanteista tulee viesti #evaka-alerts Slack-kanavalle.
Ajastettujen ajojen päätyessä virhetilanteeseen ne on konfiguroitu yrittämään ajoa uudestaan viiden minuutin välein niin kauan, kunnes ajo onnistuu, tai koittaa hetki 24 tunnin päässä, jolloin on ajon seuraava ajastus. Työvuorojen haun viikkokohtaisissa ajoissa tapahtuva virhetilanne koskee vain kyseisen viikon ajoa, ja onnistuneiden viikkokohtaisten ajojen työvuorot luetaan sisään eVakaan.
Linkityn tuen sähköposti: [email protected]