Nepton voidaan määrittää lähettämään työtunteja ja työaikoja Netvisor-järjestelmään. Tiedot voidaan lähettää ajastetusti tai manuaalisella ajolla. Tämä toteutus kuvaa liittymän käytön kun Nepton lähettää tiedot suoraan Netvisorin APIin. Tämä on eri liitymä kuin Neptonin API, eikä Neptonin APIa ole tarpeellista ottaa käyttöön jos tiedot viedään suoraan Netvisoriin.
Lähetettävät tiedot määritetään integrointisääntöjoukolla asetuksissa. Tietojen lähetys tapahtuu REST rajapinnan välityksellä. Tämän verkkopalvelun kyselyn ja vastauksen tiedot kuvataan alla.
Varmistathan, että Netvisorissa on tehty kaikki tarpeelliset määritykset ennen tiedonsiirron aloittamista. Liittymän käyttö edellyttää Netvisorin rajapintapalvelua, joka kuuluu Netvisorin Professional ja Premium -palvelupaketteihin
Määrittäminen
1. Henkilöiden tunnusten määrittäminen
Henkilöiden henkilötunnukset voidaan määrittää muokkaamalla henkilötietoja Työsuhde > Henkilön tiedot -näkymässä.
Henkilön henkilönumeroa voi myös käyttää tunnisteena ja voidaan määrittää muokkaamalla henkilötietoja Työsuhde > Henkilön tiedot -näkymässä, Tunnisteet -osiossa.
Henkilönumeron käyttäminen tunnisteena vaatii UserData -taulun käyttämistä ja seuraavan lisäyksen integraation sääntöjoukon kaikkiin sääntöihin:
UserData.Personnelnumber AS NetvisorFieldEmployeeId,
'number' AS NetvisorAttributeEmployeeIdType
Esimerkiksi:
SELECT UserSalaryData.*, SUM(UserSalaryData.Amount) As OverrideAmount,
UserData.Personnelnumber AS NetvisorFieldEmployeeId,
'number' AS NetvisorAttributeEmployeeIdType
FROM UserSalaryData
JOIN UserData ON (UserData.UserId = UserSalaryData.UserId)
WHERE UserSalaryData.CompensationType = 'BasicTime'
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
Tietojen lähettämistä varten sinun on ensin
- Lisättävä ohjelmistorajapintatunnus Netvisoriin. Tunnuksen saat omalta Netvisor-palveluntarjoajaltasi. Kirjaa luodun ohjelmistorajapintatunnuksen käyttäjätunniste ja avain ylös, sillä nämä syötetään Netvisor-asetuksiin Neptonissa.
- Anna Netvisorissa Nepton-palvelulle käyttöoikeus ohjelmistorajapintatunnuksen käyttöön. Ohjeet tähän saat omalta Netvisor-palveluntarjoajaltasi. Neptonin käyttöoikeusavaimena on C846174055BF5C1C633207B79780D1CA
Nepton tarvitsee käyttöoikeuden workday.nv rajapintaresurssiin.
Tämän jälkeen voit määrittää kirjaamasi ohjelmistorajapintatunnuksen käyttäjätunnisteen ja avaimen Neptoniin. Tämä onnistuu työyhteisön asetuksista: Työaika -> Hallinta -> Työyhteisön asetukset -> Liittymät -> Luomasi sääntöjoukko. Asetukset löytyvät "Vie web serviceen" -otsikon alta.
Ohjelmistorajapintatunnuksen (API käyttäjä & API avain) lisäksi sinun tarvitsee myös määrittää:
- Viennin web service -osoite. Arvona tulee olla https://integration.netvisor.fi/workday.nv
- API y-tunnus. Y-tunnus, jolle työtunnit ja työajat lähetetään Netvisoriin.
Tietojen ajastettu ajo
Ajastettu ajo saadaan määritettyä kuten "Sääntöjoukon siirron automatisointi" ohjeessa neuvotaan. Erona määrityksessä on se, että SFTP-palvelimen tietoja ei tarvitse määrittää, sillä tiedot lähetetään suoraan verkkopalvelun kautta Netvisoriin. Viennin tiedostomuoto on Netvisor.
Tietojen manuaalinen lähettäminen
Tämä tapahtuu normaalisti, kuten mikä tahansa työajan integraation ajo. Ohjeet siihen löytyvät täältä.
Integraation ajossa voidaan valita, ladataanko työaikatiedot (Lähetä sähköpostiraportti seuraaviin osoitteisiin) vai lähetetäänkö ne suoraan Netvisoriin (Lähetä siirtotiedosto web servicelle).
Rajoitukset
- Työntekijät henkilönumerolla 0 eivät tule osaksi aineistoa
Kyselyn tiedot
Taso | Kentän nimi | Muoto | Esiintymiskerrat | Selite |
---|---|---|---|---|
Juuri | root | XML elementti | 1 | Yhden henkilön yhden päivän työaikatiedot. Nepton tekee useamman kutsun jos henkilöitä ja/tai päiviä on useita. |
1 | workday | XML elementti | 1 | |
2 | date | päivämäärä | 1 | Päivämäärä, minkä työaikatiedot viedään. Muoto YYYY-MM-DD . |
attribuutti | format | merkkijono | 1 |
date -kentän attribuutti. Päivämäärän muoto, oletusarvona ansi . Voidaan ohittaa poimintasäännön kentällä NetvisorAttributeDateFormat
|
attribuutti | method | merkkijono | 0..1 |
date -kentän attribuutti. Työaikatietojen käsittelytapa.
NetvisorAttributeDateMethod
|
2 | employeeidentifier | merkkijono | 1 | Henkilön tunniste. Tunnisteena käytetään oletuksena henkilön henkilötunnusta. Voidaan ohittaa poimintasäännön kentällä NetvisorFieldEmployeeId
|
attribuutti | type | merkkijono | 0..1 |
employeeidentifier -kentän attribuutti. Henkilön tunnisteen tyyppi.
NetvisorAttributeEmployeeIdType
|
attribuutti | defaultdimensionhandlingtype | merkkijono | 0..1 |
employeeidentifier -kentän attribuutti. Nepton ei oletuksena täytä tätä atribuuttia. Mahdolliset arvot:
NetvisorAttributeDefaultDimensionHandlingType
|
2 | workdayhour | XML elementti | 0..n | Tietoa ei oletuksena viedä. Jos tieto halutaan viedä, poimintasäännön kentällä NetvisorElementWorkDayHourElementVisible arvoksi täytyy asettaa Y
|
3 | hours | desimaali | 1 | Määrä, esimerkiksi yksikkömäärä tai tunnit desimaalilukuna. Voidaan ohittaa poimintasäännön kentällä NetvisorFieldHours
|
3 | collectorratio | merkkijono | 1 | Kirjauslaji, lajin on löydyttävä Netvisorista. Neptonissa palkkalajikoodi. Voidaan ohittaa poimintasäännön kentällä NetvisorFieldCollectorRatio
|
attribuutti | type | merkkijono | 0..1 |
collectorratio -kentän attribuutti. Kirjauslajin linkitystiedon tyyppi, oletuksena number . Voidaan ohittaa poimintasäännön kentälläNetvisorAttributeCollectorRatioType
|
3 | acceptancestatus | merkkijono | 1 | Työaikakirjausrivin tila. Mahdollisina arvoina:
NetvisorFieldAcceptanceStatus
|
3 | description | merkkijono | 1 | Työtapahtuman kuvaus. Voidaan ohittaa poimintasäännön kentällä NetvisorFieldDescription
|
3 | crmprocessidentifier | merkkijono | 0..1 | CRM tehtävän linkitystieto, oletuksena ei viedä. Voidaan ohittaa poimintasäännön kentällä NetvisorFieldCrmProcessIdentifier
|
attribuutti | billingtype | merkkijono | 0..1 |
crmprocessidentifier -kentän attribuutti. Laskutustyyppi, Nepton ei oletuksena täytä tätä atribuuttia. Mahdolliset arvot:
NetvisorAttributeCrmProcessBillingType
|
3 | invoicingproductidentifier | merkkijono | 0..1 | Laskutuksen tuotetunniste, oletuksena ei viedä. Voidaan ohittaa poimintasäännön kentällä NetvisorFieldInvoicingProductId
|
3 | dimension | XML elementti | 0..n | Projektitiedot. Tapahtuman ensimmäisen projektin tiedot viedään oletuksena jos tapahtumalle on kirjattu projekteja. Jos projektitietoja ei haluta viedä, poimintasäännön kentän NetvisorElementDimensionVisible arvoksi täytyy asettaa N .Projektitietoja voi sisällyttää maksimissaan 6. Se onnistuu asettamalla arvot seuraaviin poimintasäännön kenttiin:
|
4 | dimensionname | merkkijono | 1 | Laskentakohdeotsikko, jos otsikkoa ei löydy, se perustetaan. Ensimmäisessä projektissa oletuksena projektin nimi. |
4 | dimensionitem | merkkijono | 1 | Laskentakohde, jos kohdetta ei löydy, se perustetaan. Ensimmäisessä projektissa oletuksena projektin nimi. |
2 | workdaytime | XML elementti | 0..n | Tieto viedään oletuksena. Jos tietoa ei haluta viedä, poimintasäännön kentän NetvisorElementWorkDayTimeElementVisible arvoksi täytyy asettaa N
|
3 | starttimeofday | merkkijono | 1 | Työaikakirjauksen aloitusaika, muoto HH:MM . Voidaan ohittaa poimintasäännön kentän NetvisorElementStartTimeOfDay
|
3 | endtimeofday | merkkijono | 1 | Työaikakirjauksen lopetusaika, muoto HH:MM . Voidaan ohittaa poimintasäännön kentällä NetvisorElementEndTimeOfDay
|
3 | breaktime | numero | 1 | Taukoaika minuutteina, oletuksena 0 . Voidaan ohittaa poimintasäännön kentällä NetvisorAttributeBreakTimeType
|
attribuutti | billingtype | merkkijono | 1 |
breaktime -kentän attribuutti. Oletuksena minutes . Voidaan ohittaa poimintasäännön kentällä NetvisorElementBreakTime
|
3 | collectorratio | merkkijono | 1 | Kirjauslaji, lajin on löydyttävä Netvisorista. Neptonissa palkkalajikoodi. Voidaan ohittaa poimintasäännön kentällä NetvisorFieldCollectorRatio
|
attribuutti | type | merkkijono | 0..1 |
collectorratio -kentän attribuutti. Kirjauslajin linkitystiedon tyyppi, oletuksena number . Voidaan ohittaa poimintasäännön kentällä NetvisorAttributeCollectorRatioType
|
3 | acceptancestatus | merkkijono | 1 | Työaikakirjausrivin tila. Mahdollisina arvoina:
NetvisorFieldAcceptanceStatus
|
3 | description | merkkijono | 1 | Työtapahtuman kuvaus. Voidaan ohittaa poimintasäännön kentällä NetvisorFieldDescription
|
3 | invoicingproductidentifier | merkkijono | 0..1 | Laskutuksen tuotetunniste, oletuksena ei viedä. Voidaan ohittaa poimintasäännön kentällä NetvisorFieldInvoicingProductId
|
3 | dimension | XML elementti | 0..n |
Projektitiedot, viedään oletuksena jos tapahtumalle on kirjattu projekteja. Jos tietoa ei haluta viedä, poimintasäännön kentän Nepton vie vain ensimmäisen projektin tiedot. |
4 | dimensionname | merkkijono | 1 | Laskentakohdeotsikko, jos otsikkoa ei löydy, se perustetaan. Oletuksena projektin nimi. Voidaan ohittaa poimintasäännön kentällä NetvisorFieldDimensionName
|
4 | dimensionitem | merkkijono | 1 | Laskentakohde, jos kohdetta ei löydy, se perustetaan. Oletuksena projektin nimi. Voidaan ohittaa poimintasäännön kentälläNetvisorFieldDimensionItem
|
Kyselyn esimerkki
<root>
<workday>
<date format="ansi" method="replace">2016-03-14</date>
<employeeidentifier type="personalidentificationnumber">111111-1111</employeeidentifier>
<workdaytime>
<starttimeofday>12:30</starttimeofday>
<endtimeofday>16:00</endtimeofday>
<breaktime type="minutes">0</breaktime>
<collectorratio type="number">123</collectorratio>
<acceptancestatus>confirmed</acceptancestatus>
<description>Iltapäivä</description>
</workdaytime>
</workday>
</root>
Vastaus
Taso | Kentän nimi | Muoto | Esiintymiskerrat | Selite |
---|---|---|---|---|
Juuri | Root | XML elementti | 1 | |
1 | ResponseStatus | XML elementti | 1 | |
2 | Status | merkkijono | 1 | Pyynnön onnistumisen tila. Jos pyyntö onnistui, arvona on OK . Epäonnistuneet pyynnöt kirjataan Palvelulokiin. |
2 | TimeStamp | päivämäärä ja aika | 1 |
Vastauksen esimerkki:
<Root>
<ResponseStatus>
<Status>OK</Status>
<TimeStamp>01.01.2020 12:00:00</TimeStamp>
</ResponseStatus>
</Root>