Список доступных API-методов видеть в таблице маршрутов. Формат ответа: JSON.
Модели можно увидеть в соответствующуем репозитории на devel.mephi.ru.
Авторизация выполняется либо через login.mephi.ru, либо по API-ключу.
Основной моделью явлется «event». «event» определяет каким лицом во сколько был совершён вход/выход. Допустимые значения поля «Direction»:
Поле PersonId — это уникальный идентификатор физ. лица получаемый из УИНФООП. EmpGUID — это идентификатор физ. лица в системе «Термит» (NULLable).
Пример запроса: GET https://api.cps.mephi.ru/events?event.PersonId=123456&startDate=2018-01-01+00:00:00
Пример ответа:
{
"DevMode": true,
"RunMode": "dev",
"arg": [
{
"DtDate": "2018-11-15 07:53:13",
"PersonId": 123456,
"EmpGUID": 12345,
"Direction": 1
},
{
"DtDate": "2018-11-15 18:43:05",
"PersonId": 123456,
"EmpGUID": 12345,
"Direction": 0
},
{
"DtDate": "2018-11-16 10:51:42",
"PersonId": 123456,
"EmpGUID": 12345,
"Direction": 1
},
{
"DtDate": "2018-11-16 18:27:38",
"PersonId": 123456,
"EmpGUID": 12345,
"Direction": 0
}
],
"currentLocale": "",
"errors": {},
"flash": {},
"session": {},
"status": "OK",
"username": ""
}
Для выгрузки событий можно использовать следующие фильтры (см. исходный файл) в качестве GET-параметров:
Кроме того важной моделью является «TimesheetRows» — она используется для данных табельного учёта. Тут действуют всё те же правила. Фильтровать можно по
Пример запроса: GET https://api.cps.mephi.ru/timesheetRows?timesheetRow.PersonId=123456&startDate=2018-01-01+00:00:00
Можно попросить API-сервер выгрузить данные сразу с прикреплёнными формулярами, добавив параметр «prepareFormular=true». В целом, этих данных достаточно для отображения рабочего времени сотрудника.
Код вполне читабельный и имеется готовый пример использования этого API. Для понимания API достаточно изучить маршруты, controller-ы в API-сервере и используемые модели (внутренние, АСУ, SD-API11). API-сервер для удобства предоставляет методы для отображения фотографии, формуляров, данных по сотрудникам (но они обычно не нужны, так как IT-подразделения НИЯУ МИФИ имеют собственные сервисы для этого).