Nepton voidaan määrittää lähettämään työtuntia, projekti-/työtilauksia ja palkkatietoja IFS-järjestelmään. Tiedot lähetetään tapahtumia tallennettaessa tai tehdessä muita toimenpiteitä kalenterinäkymässä (katso tarkemmat tiedot alhaalta kohdasta 'Viennin käynnistys'). Tapahtumia ei tallenneta, ellei IFS palauta vastauksena että työaikojen tallennus onnistui. Kaikki IFS:stä tulevat virheet näytetään käyttäjälle.
Lähetetyt tiedot määritetään integrointisääntöjoukolla asetuksissa. Tietojen lähettämiseen vaaditaan IFS: n SOAP-verkkopalvelu (tai välijärjestelmä, kuten BizTalk). Tämän verkkopalvelun WSDL-skeema kuvataan alla.
Määrittäminen
1. Henkilöiden tunnusten määrittäminen
Henkilöiden IFS-tunnukset voidaan määrittää muokkaamalla henkilötietoja Työsuhde > Henkilön tiedot > Tunnisteet -näkymässä.
HUOM.! Jos henkilön IFS-tunnusta ei ole asetettu, käytetään henkilönumeroa.
2. Sääntöjoukon luominen
Liittymää varten pitää luoda integraation sääntöjoukko. Sääntöjoukon poiminnan ohje löytyy Sääntöjoukon poimintasääntöjen käsittely.
3. Tietojen lähettäminen
Seuraavat tiedot tarvitsee asettaa työyhteisön tai asetusryhmän asetuksista. Asetukset löytyvät integraation sääntöjoukon asetuksista ja vierittämällä alas kohtaan Viennin asetukset.
- Viennin tiedostomuoto - Valitse tähän "IFS Salary data"
- Viennin web service -osoite - Kirjoita tähän web service -päätepisteen osoite, mihin tiedot lähetetään
Tämän lisäksi asetettavissa on API avain, jota käytetään autentikoitumiseen. Tieto lähetetään kutsun HTTP-otsikoissa (HTTP headers). Käytetty otsikko on TOKEN
.
Rajoitukset
- Työntekijät henkilönumerolla 0 eivät tule osaksi aineistoa
- Jos rajapinta palauttaa vastauksena epäonnistumisen, tapahtuman tallentaminen estetään
Viennin käynnistys
Vientiä ei ole aikataulutettu, mutta se käynnistetään reaaliajassa aina, kun käyttäjä tekee muutoksia tapahtumiin tai tiettyihin asetuksiin. Tehtyjen muutoksien laskenta "simuloidaan", jotta voimme tarkistaa IFS:n kanssa, että muutokset ovat hyväksyttyjä. Alla lista tilanteista milloin vienti tapahtuu:
- Aina kun tapahtuma tallennetaan mistä tahansa lähteestä, poikkeuksena tapahtumien hyväksyminen
- Jos työpäivän pituus ohitetaan kalenterissa päiväksi.
- Jos työviikon pituus ohitetaan kalenterissa viikoksi.
- Jos sallitut tai oletetut työajat ohitetaan kalenterissa päiväksi.
Lähetettävät tiedot
Palkkatiedot lähetetään käyttäjäkohtaisesti vähintään viikon ajalta. Koko viikko lähetetään sen takia, että alkuviikon muutokset voivat vaikuttaa viikon päättyessä ansaittuun palkkaan.
Käyttäjän palkkatapahtuman tiedot (WSDL-kuvauksesta löytyy lisää tietoa):
Taso | Kentän nimi | Sääntöjoukon kentän nimi | Formaatti | Esiintymiskerrat | Selite |
---|---|---|---|---|---|
Juuri, SOAP body:n alla |
SALARY_EXPORTS | XML element | 1 | ||
1 | EXPORT_START_DATE | datetime | 1 | Vietävän ajanjakso alkupäivä ja aika. Formaatti YYYY-MM-DD'T'HH:MM:SS[Z|(+|-)hh:mm] |
|
1 | EXPORT_END_DATE | datetime | 1 | Vietävän ajanjakson loppupäivä ja aika. Formaatti YYYY-MM-DD'T'HH:MM:SS[Z|(+|-)hh:mm] |
|
1 | EMP_ID | Lisätään automaattisesti, ei korvattavissa | string (100) | 1 | Henkilön IFS-tunnus / henkilönumero |
1 | SALARY_EXPORT | XML element | 0..n | ||
2 | SALARY_DATE | SalaryRenderingDate | datetime | 1 | Päivä, mille palkkatieto kuuluu. Jos palkkatieto kuulu esimerkiksi maanantaille, maanantain päivämäärää ja aikaa käytetään. Formaatti YYYY-MM-DD'T'HH:MM:SS[Z|(+|-)hh:mm] |
2 | COMPANY_ID | string (20) | 0..1 | Juurihenkilöryhmän koodi, minkä alaryhmän jäsenenä henkilö on. | |
2 | AMOUNT | Amount | decimal | 1 | Määrä, esimerkiksi yksikkömäärä tai tunnit desimaalilukuna |
2 | PROJECT_CODE | ProjectCode1 | string (200) | 0..1 |
Jos projektille on asetettu ulkoinen tunniste ( Muussa tapauksessa käytetään projektin koodia ( |
2 | PROJECT_TYPE | string (10) | 0..1 |
Jos projektille on asetettu ulkoinen tunniste ( Muussa tapauksessa käytetään kirjatun projektin projektityypin sisäistä nimieä, esimerkiksi "project_work" |
|
2 | SALARY_CODE | SalaryCode | string (100) | 0..1 | Palkkatiedon palkkalajikoodi |
2 | COMMENT | Comment | string (2000) | 0..1 | Tapahtuman kuvaus |
2 | CRAFTREPORT_CODE | UserCostGroup | string (100) | 0..1 | Henkilön oletuskalleusluokka |
2 | ADDINFO | string (2000) | 0..1 | EI KÄYTÖSSÄ |
Kyselyn esimerkki:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wo="http://WO.fi.TyoTeho.Schemas.Salary_Export">
<soapenv:Header/>
<soapenv:Body>
<wo:SALARY_EXPORTS>
<EXPORT_START_DATE>2019-06-01T00:00:00+03:00</EXPORT_START_DATE>
<EXPORT_END_DATE>2019-06-03T00:00:00+03:00</EXPORT_END_DATE>
<EMP_ID>1240</EMP_ID>
<SALARY_EXPORT>
<SALARY_DATE>2019-06-01T00:00:00+03:00</SALARY_DATE>
<COMPANY_ID>CompanyID</COMPANY_ID>
<AMOUNT>7.50</AMOUNT>
<PROJECT_CODE>PRJ01</PROJECT_CODE>
<PROJECT_TYPE>project_work</PROJECT_TYPE>
<SALARY_CODE>100</SALARY_CODE>
<COMMENT>Saturday work</COMMENT>
<CRAFTREPORT_CODE>GRP01</CRAFTREPORT_CODE>
</SALARY_EXPORT>
<SALARY_EXPORT>
<SALARY_DATE>2019-06-02T00:00:00+03:00</SALARY_DATE>
<COMPANY_ID>CompanyID</COMPANY_ID>
<AMOUNT>7.50</AMOUNT>
<PROJECT_CODE>PRJ02</PROJECT_CODE>
<PROJECT_TYPE>project_work</PROJECT_TYPE>
<SALARY_CODE>100</SALARY_CODE>
<COMMENT>Sunday work</COMMENT>
<CRAFTREPORT_CODE>GRP01</CRAFTREPORT_CODE>
</SALARY_EXPORT>
</wo:SALARY_EXPORTS>
</soapenv:Body>
</soapenv:Envelope>
Odotettu vastaus
Liittymä odottaa suoraa vastausta paluusanomana. Paluusanoman muoto on seuraava:
Taso | Kentän nimi | Muoto | Esiintymiskerrat | Selite |
---|---|---|---|---|
Juuri, SOAP body:n alla |
Response | XML element | 1 | |
1 | Success | boolean | 1 | Saatiinko lähetetyt palkkatiedot käsiteltyä onnistuneesti vai ei |
1 | Message | string | 0..1 | Valinnainen viesti, käytetään pääosin virheviestin esittämiseen kun palkkatietoja ei saatu käsiteltyä |
Sanoman esimerkki:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://WO.fi.TyoTeho.Schemas.TimeReportResponse">
<SOAP-ENV:Body>
<ns1:Response>
<Success>true</Success>
<Message>MESSAGE</Message>
</ns1:Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>