Skip to main content

VIS APIs

In order to use VIS APIs you need to set visApiSharedSecret in System Configuration. This secret is used to authenticate requests to VIS APIs. You put it in X-Shared-Secret header.

Export Staff Presence

Export staff presence API is available if Check-out requests are enabled.

Request

GET https://TODO_FLOW_HOST/thirdParty/vis/exportStaffPresence
X-Shared-Secret: {{visApiSharedSecret}}

Response

fieldtypedescription
studyYearStringCurrent active study year / semester
dataobject[]Staff presence data
data.visEmployeeIdIntVIS Employee ID
data.visCourseIdIntVIS Course ID
data.groupNameStringGroup Name
data.executionTypeStringExecution Type (Either pr, lv, sv, tv or pv, check the table below for more info)
data.locationStringLocation
data.dateStringDate in ISO format.
data.hoursDoubleDuration in hours, rounded to 2 decimal places

Execution types:

Execution Type in APIExecution TypeExecution Type in Slovenian
prLecturePredavanje
lvLaboratory exercisesLaboratorijske vaje
svSeminar exercisesSeminarske vaje
tvField exercisesTerenske vaje
pvPractical exercisesPraktične vaje

Example:

{
"studyYear": "2024/2025",
"data": [
{
"visEmployeeId": 1,
"visCourseId": 1,
"groupName": "MAT-VS-1",
"executionType": "pr",
"location": "Room 1",
"date": "2024-10-17T15:00:00.000Z",
"hours": 1.5
}
]
}

Calculation

Lecturer presence time is calculated from their QR code shown time ranges which we save while the lecturer is showing the QR code. If those are not present, we calculate the presence time from the check-in and check-out attendance records of students, so the earliest check-in time and the latest check-out time. If those are not present, we check if there are any other attendance record types (e.g. moderator attendance) and in that case we take the start and the end of the event as the presence time.