Bruke API for å hente timer fra Capitech

Bruke API for å hente timer fra Capitech

Her finner du informasjon om hvordan API kan benyttes for å hente ut timer fra Capitech for gjenbruk i andre systemer. 

I korte trekk 

  1. Logg på kundens API portal med en gyldig bruker med tilgang til API og hent ut et accessToken 
    Dette gjøres via endepunkt /api/public/v1/Access/login
    F.eks dinbedrift.capitech.no/API

  2. Kjør en request mot API for timer med ønskede parameter for f. eks datointervall, klient (selskap) og evt. andre kriterier. 
    Dette  gjøres via endepunkt api/public/v1/Time/getTimeTransactions 

TimeAPI - getTimeTransactions

 

 

Beskrivelse av Request parametere

Her er en beskrivelse og forklaring av hvilke parametre en kan benytte for å hente ut timer.

En kan få mer detaljer via mouseover på hhv. request parameter og retur felter i API oversikt. 

Parameter

Påkrevd

Beskrivelse

Merknad

Parameter

Påkrevd

Beskrivelse

Merknad

accessToken

Ja

Token fra Login. 

Kreves for å få svar på API request

clientId

Ja

Klientnummer for hvilket firma en skal hente timer på

 

fromDate

Ja

Fradato for ønsket periode i format 'yyyy-mm-dd'

Fra og med

toDate

Ja

Tildato for ønsket periode i format 'yyyy-mm-dd'

Til og med

approvedLevelFilter

Nei

Filter for å avgrense til kun godkjente timer
Vanligvis benyttes nivå 1
Om flere nivå benyttes kan en spørre på f. eks nivå 2 osv..

Om ikke angitt får en alle timer uavhengig av godkjenning. 

employeeIdFilter

Nei

Filter for å angi evt. en eller flere ansattnr en ønsker å avgrense på. 

 

departmentIdFilter

Nei

Filter for å angi evt. en eller flere avdelingsnr en ønsker å avgrense på. 

 

taskIdFilter

Nei

Filter for å angi evt. en eller flere arbeidsoppgavenr en ønsker å avgrense på. 

Bør kun benyttes sammen med avgrensning på en avdeling da arbeidsoppgavenr er en subdimensjon til avdeling. (Og samme nr på arbeidsoppgave kan i praksis være ulike oppgaver på ulike avdelinger)

orderIdFilter

Nei

Filter for å angi evt. en eller flere ordrenr en ønsker å avgrense på. 

 

dutyIdFilter

Nei

Filter for å angi evt. en eller flere Flow vakt id'er en ønsker å avgrense på. 

NB Id på vakt er et autogenerert løpenr som ikke vises i vaktregister brukergrensesnitt.
Dette filteret er kun for spesiell bruk. 

projectIdFilter

Nei

Filter for å angi evt. en eller flere prosjektnr en ønsker å avgrense på. 

 

subProjectIdFilter

Nei

Filter for å angi evt. en eller flere underprosjektnr en ønsker å avgrense på.

Bør kun benyttes sammen med avgrensning på ett prosjekt da underprosjektnr er en subdimensjon til prosjekt. (Og samme nr på underprosjekt kan i praksis være ulike underprosjekt på ulike prosjekt)

projectPhaseIdFilter

Nei

Filter for å angi evt. en eller flere fasenr en ønsker å avgrense på.

Bør kun benyttes sammen med avgrensning på ett prosjekt og ett underprosjekt da fasenr er en subdimensjon til underprosjekt. (Og samme fasenr kan i praksis være ulike faser på ulike prosjekt / underprosjekt)

freeDimension1Filter

Nei

Filter for å angi evt. en eller flere fri dimensjon1 nr en ønsker å avgrense på. 

Fri dimensjon 1 er en konfigurerbar dimensjon som kan aktiveres og gis navn iht. kundens behov. 

freeDimension2Filter

Nei

Filter for å angi evt. en eller flere fri dimensjon2 nr en ønsker å avgrense på.

Fri dimensjon 2 er en konfigurerbar dimensjon som kan aktiveres og gis navn iht. kundens behov. 

timeCategoryIdFilter

Nei

Filter for å angi en eller flere tidskategori nr en ønsker å avgrense på

Tidskategorier kan f. eks være Timelønn, Overtid 50%, Overtid 100%, Nattillegg osv. 

timeCategoryTypeIdFilter

Nei

FIlter for å angi en eller flere typer timer en ønsker å avgrense på. 

Typedefinisjoner er:

'O' Ordinære timer (f.eks Timelønn, Fastlønn)
'T' Tillegg (f.eks nattillegg, kveldstillegg, bastillegg)
'P' Overtid (f.eks Overtid 50%, Overtid 100%)
'S' Overtidstillegg (f.eks Tillegg 50%, Tillegg 100%)

includePayableCategory

Nei

Filter for å kunne avgrense på kun tidskategorier som er lønnet, ikke lønnet eller alle. 

 

externalStatusCodeFilter

Nei

Filter for å kunne avgrense til kun transaksjoner som har en gitt ekstern statuskode.

Benyttes f. eks for å kun hente timer som ikke er flagget med en ekstern statuskode som betyr at timene allerede er overført. 

Det finnes et eget API endepunkt for å sette denne statuskoden: api/public/v1/Time/setExternalStatusCode

includeElementsWithExternalStatusCodeNull

Nei

Filter for å kunne angi om en vil inkludere timer hvor ekstern statuskode er null eller ikke. 

 

lastUpdatedGreaterThanOrEqualToFilter

Nei

Filter for å kunne hente ut timer som er opprettet eller oppdatert på eller etter angitt dato og klokkeslett. 
Format: 'yyyy-mm-dd hh:mm:ss.000'

Kan benyttes for å hente kun timer som er opprettet eller endret siden angitt dato og klokkeslett.

Effektiv løsnig for å hente kun differanse fra siste uthenting av data. 


projectAlphanumericCodeFilter

Nei

Filter for å angi evt. en eller flere prosjekt alfanumerisk kode en ønsker å avgrense på. 

Kan benyttes dersom det er aktivert støtte for alfanumerisk kode på prosjekter. F. eks kan prosjektnr være 10588 (løpenr) og alfanumerisk kode 'B400'

subProjectAlphanumericCodeFilter

Nei

Filter for å angi evt. en eller flere underprosjekt alfanumerisk kode en ønsker å avgrense på.

Bør kun benyttes sammen med avgrensning på ett prosjekt da underprosjekt alfakode er en subdimensjon til prosjekt. (Og samme kode på underprosjekt kan i praksis være ulike underprosjekt på ulike prosjekt)

phaseAlphanumericCodeFilter

Nei

Filter for å angi evt. en eller flere fase alfanumerisk kode en ønsker å avgrense på.

Bør kun benyttes sammen med avgrensning på ett prosjekt og ett underprosjekt da fase alfakode er en subdimensjon til underprosjekt. (Og samme fase kan i praksis være ulike faser på ulike prosjekt / underprosjekt)

lastApprovedOrUpdatedFilter

Nei

Filter for å kunne hente ut timer som er opprettet, oppdatert eller godkjent på eller etter angitt dato og klokkeslett. 
Format: 'yyyy-mm-dd hh:mm:ss.000'

Kan benyttes for å hente kun timer som er opprettet, endret eller godkjent siden angitt dato. Tar hensyn til alle nivå av godkjenning.

includeDeleted

Nei

Opsjon for å inkludere slettede timeregistreringer

Anbefaler å benytte timeregistreringens UID (unike id) for å evt. slette registreringen i eksternt system. 

 

Returdata

Her er en beskrivelse og forklaring av returdata en får fra Timer API og hva det i praksis kan benyttes til. 

Felt

Beskrivelse

Eksempel

Merknad

Felt

Beskrivelse

Eksempel

Merknad

clientId

Klientnr

100

Klientnr er et unikt nr for hvert enkelt firma. For konsernkunder kjøres en request for hvert enkelt firma.

employeeid

Ansattnr

155

 

employee

ansattnavn

Ola Danielsen

 

datein

Dato for start

2021-07-10

Dato timeregistreringen startet

timein

start tidspunkt

21:57:00.000

 

dateout

Dato for slutt

2021-07-11

Dato timeregistreringen sluttet

timeout

slutt tidspunkt

07:01:00.000

 

departmentid

Avdelingsnr

50

 

department

Avdelingsnavn

Logistikk

 

taskid

Arbeidsoppgavenr

20

 

task

Arbeidsoppgavenavn

Varemottak

 

classicdutyid

Vaktid

188

Classic Plan vaktnr 

classicdutycode

Vaktkode

N2

Classic Plan vaktid 

classicduty

Vaktbeskrivelse

Nattevakt 22 - 06

Classic Plan vakt beskrivelse  

orderid

Ordrenr

null

 

order

ordrenavn

null

 

projectid

Prosjektnr

1001

 

projectAlphanumericCode

Prosjekt alfanumerisk kode

B400

 

project

Prosjektnavn

Bergtoppen

 

subProjectid

Underprosjektnr

8445

 

subProjectAlphanumericCode

Underprosjekt alfanumerisk kode

T8877

 

subProject

Undeprosjektnavn

Tilleggsbestilling øst

 

projectPhaseid

Fasenr

null

 

phaseAlphanumericCode

Fase alfanumersik kode

null

 

projectPhase

Fasenavn

null

 

shiftId

Vaktnr

68874

Flow Plan vaktnummer

shift

Vakt 

N2

Flow Plan vaktnavn

freeDimension1Id

Fri Dimensjon1 nr

10

 

freeDimension1

Fri dimensjon1 navn

Ordinær

 

freeDimension2Id

Fri Dimensjon2 nr

60

 

freeDimension2

Fri dimensjon2 navn

Bas

 

freeText

Fritekst

Overtid fordi Kjell ble forsinket

 

approvedLevelOne

Godkjent nivå 1

1

1 = Godkjent på nivå 1
null = Ingen godkjenning

approvedLevelTwo

Godkjent nivå 2

null

1 = Godkjent på nivå 2
null = Ingen godkjenning

approvedLevelThree

Godkjent nivå 3

null

1 = Godkjent på nivå 3
null = Ingen godkjenning

approvedLevelFour

Godkjent nivå 4

null

1 = Godkjent på nivå 4
null = Ingen godkjenning

approvedLevelOneBy

Godkjent nivå 1 av

trineg

Bruker som har godkjent

approvedLevelTwoBy

Godkjent nivå 2 av

null

Bruker som har godkjent

approvedLevelThreeBy

Godkjent nivå 3 av

null

Bruker som har godkjent

approvedLevelFourBy

Godkjent nivå 4 av

null

Bruker som har godkjent

approvedLevelOneOn

Godkjent nivå 1 når

2021-07-11 11:25:00

Dato og tidspunkt for godkjenning

approvedLevelTwoOn

Godkjent nivå 2 når

null

Dato og tidspunkt for godkjenning

approvedLevelThreeOn

Godkjent nivå 3 når

null

Dato og tidspunkt for godkjenning

approvedLevelFourOn

Godkjent nivå 4 når

null

Dato og tidspunkt for godkjenning

timeCategoryId