API. Получение статуса сеанса прокторинга
Система заказчика может запросить состояние тестирования через API Examus, сделав GET-запрос со своего сервера.
API URL:
https://[examus-url]/api/v2/integration/simple/[integration_name]/sessions/[session_id]/status/
Тип запроса:
GET
Заголовки запроса:
Content-Type: application/json
Authorization: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MTI5OTQxMzF9.PRzN
Подпись JWT позволяет проверить, что запрос идет от системы заказчика и что токен сгенерирован в момент запроса. В payload токена содержится дата и время истечения токена в числовом формате Unix timestamp. Для вычисления этого времени можно использовать формулу “текущее время + 30 секунд”.
Пример JWT Payload:
{
"exp": 1612994131
}
Экзамус отвечает статусом 200 OK, в теле ответа содержится информация о сеансе прокторинга. Ошибка 404 будет означать, что для запрошенного sessionId не существует сеанса прокторинга в системе Экзамус.
Пример JSON-тела ответа:
{
"accountId": "123",
"sessionId": "b3875623",
"status": "started",
"sessionStart": "2018-03-27T00:30:00Z",
"sessionEnd": null
}
Поле |
Тип |
Описание |
accountId* |
string |
Идентификатор организации в LMS |
sessionId* |
string |
Идентификатор сеанса в LMS |
status* |
string (enum) |
Статус сеанса прокторинга в Экзамусе |
sessionStart |
string (datetime) |
Дата и время, когда был запущен сеанс прокторинга, в формате ISO 8601 |
sessionEnd |
string (datetime) |
Дата и время, когда был завершен сеанс прокторинга, в формате ISO 8601 |
Поле status может принимать следующее значения:
Значение
| Описание
|
not_scheduled
| Пользователь не записан на тестирование с прокторингом (для экзаменов с записью)
|
early_to_start
| Время сдачи еще не наступило
|
ready_to_start
| Пользователь может приступить к тестированию
|
late_to_start
| Пользователь не может приступить к тестированию, т.к. время старта уже прошло
|
started
| Пользователь проходит тестирование
|
finished
| Пользователь завершил тестирование
|