# Мобильный автономный комплекс Данная модель описывает REST-API интерфейс сервиса мобильного автономного комплекса ### [](#%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F)Авторизация #### [](#%D0%B0%D1%83%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F-%D0%B2-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B5-%D0%BC%D0%B0%D0%BA-%D0%B8-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%B0-%D1%81%D0%B5%D1%81%D1%81%D0%B8%D0%B8)Аутентификация в сервисе МАК и получение **токена** сессии Строка запроса **POST**: /token ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0)Параметры запроса:
ПараметрЗначениеОписание
grant\_typeСписок (enum)Тип авторизации, по умолчанию *password*
usernameТекстовыйЛогин пользователя
passwordТекстовыйПароль пользователя
scopeТекстовыйОбласть видимости
client\_idЧисловойИдентификатор клиента
client\_secretТекстовыйКлюч доступа клиента
##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0)Варианты ответа: **Ошибка 401** ``` { "detail": "UNAUTHORIZED" } ``` **Ошибка 422** ``` { "detail": [ { "loc": ["Положение ошибки"], "msg": "Сообщение ошибки", "type": "Тип ошибки" } ] } ``` **Успешно** ``` { "access_token": "Токен аутентификации", "token_type": "baerer" } ``` ### [](#%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C)Пользователь #### [](#%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8-%D0%BE-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5)Получение информации о пользователе Строка запроса **GET**: /api/v1/person/info ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-1)Параметры запроса: *Не имеет параметров* ##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-1)Варианты ответа: **Успешно** ``` { "name": "Имя пользователя" } ``` ### [](#%D1%8D%D0%BA%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD)Экзамен #### [](#%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B0%D0%B5%D1%82-%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D0%B7%D0%B0%D0%BF%D0%BB%D0%B0%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D1%8D%D0%BA%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2)Получает список запланированных экзаменов Строка запроса **GET**: /api/v1/exam/events ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-2)Параметры запроса:
ПараметрЗначениеОписание
dtfromДата и времяДата-время начала периода, по умолчанию - текущее время/
dttoДата и времяДата-время окончания периода, по умолчанию - текущее время
##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-2)Варианты ответа: **Ошибка 422** ``` { "detail": [ { "loc": ["Положение ошибки"], "msg": "Сообщение ошибки", "type": "Тип ошибки" } ] } ``` **Успешно** ``` [ { "id": "Идентификатор экзамена", "start": "Дата-время начала экзамена", "end": "Дата-время окончания экзамена", "title": "Название экзамена", "content": "Содержание/Описание экзамена", "class": "Вид принимаемого экзамена" } ] ``` #### [](#%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B0%D0%B5%D1%82-%D1%81%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BE-%D0%B7%D0%B0%D0%BF%D0%BB%D0%B0%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%BC-%D1%8D%D0%BA%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B5-%D0%BF%D0%BE-%D0%B5%D0%B3%D0%BE-%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%D1%83)Получает сведения о запланированном экзамене по его идентификатору Строка запроса **GET**: /api/v1/exam/**{exam\_id}** ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-3)Параметры запроса:
ПараметрЗначениеОписание
exam\_idЧисловойИдентификатор экзамена *(часть запроса)*
##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-3)Варианты ответа: **Ошибка 422** ``` { "detail": [ { "loc": ["Положение ошибки"], "msg": "Сообщение ошибки", "type": "Тип ошибки" } ] } ``` **Успешно** ``` [ { "id": "Идентификатор экзамена", "begin_utc": "Дата-время начала экзамена по гринвичу", "end_utc": "Дата-время окончания экзамена по гринвичу", "s_type": "Тип экзамена", "experts": [ { "id": "Идентификатор эксперта", "name": "ФИО эксперта" } ], "student": { "id": "Идентификатор соискателя", "name": "ФИО соискателя" }, "exam": "Экзамен" "actions": [ { "id": "Идентификатор действия эксперта", "a_type": "Тип действия", "created_utc": "Дата возникновения действия по гринвичу", "expart_id": "Идентификатор эксперта", "data": "Данные действия эксперта" } ] } ] ``` #### [](#%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9-%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D1%82%D0%BE%D0%B2-%D0%B7%D0%B0%D0%BF%D0%BB%D0%B0%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE-%D1%8D%D0%BA%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0-%D0%BF%D0%BE-%D0%B5%D0%B3%D0%BE-%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%D1%83)Получение списка действий экспертов запланированного экзамена по его идентификатору Строка запроса **GET**: /api/v1/exam/**{exam\_id}**/action ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-4)Параметры запроса:
ПараметрЗначениеОписание
exam\_idЧисловойИдентификатор экзамена *(часть запроса)*
##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-4)Варианты ответа: **Ошибка 422** ``` { "detail": [ { "loc": ["Положение ошибки"], "msg": "Сообщение ошибки", "type": "Тип ошибки" } ] } ``` **Успешно** ``` [ "id": "Идентификатор действия эксперта", "a_type": "Тип действия", "created_utc": "Дата возникновения действия по гринвичу", "expart_id": "Идентификатор эксперта", "data": "Данные действия эксперта", ] ``` #### [](#%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F-%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D1%82%D0%B0)Добавление нового действия эксперта Строка запроса **POST**: /api/v1/exam/**{exam\_id}**/practice/action ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-5)Параметры запроса:
ПараметрЗначениеОписание
exam\_idЧисловойИдентификатор экзамена *(часть запроса)*
a\_type Тип действия
data Данные действия эксперта
##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-5)Варианты ответа: **Ошибка 422** ``` { "detail": [ { "loc": ["Положение ошибки"], "msg": "Сообщение ошибки", "type": "Тип ошибки" } ] } ``` - Успешно //Нет данных ответа// } #### [](#%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F-%D0%BF%D1%80%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%D0%BE%D0%B3%D0%BE-%D1%8D%D0%BA%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0)Получение состояния принимаемого экзамена Строка запроса **GET**: /api/v1/exam/**{exam\_id}**/practice/viewstate ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-6)Параметры запроса:
ПараметрЗначениеОписание
exam\_idЧисловойИдентификатор экзамена *(часть запроса)*
##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-6)Варианты ответа: **Ошибка 422** ``` { "detail": [ { "loc": ["Положение ошибки"], "msg": "Сообщение ошибки", "type": "Тип ошибки" } ] } ``` **Успешно** ``` { "state": "Состояние принимаемого экзамена", "task": "Задание", "task_lock": [ "Заблокированное задание" ], "wait_experts": [ "Идентиифкатор эксперта" ] } ``` ### [](#%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)Администрирование #### [](#%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D0%BA%D1%82%D0%B8%D0%BA%D0%B8-%D0%BF%D0%BE-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC-%D1%8D%D0%BA%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0%D0%BC)Получение статисктики по проведенным экзаменам Строка запроса **GET**: /api/v1/admin/stat ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-7)Параметры запроса: *Не имеет параметров* ##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-7)Варианты ответа: **Успешно** *Строковый результат* #### [](#%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B0%D0%B5%D1%82-%D1%81%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BE%D0%B1-%D1%8D%D0%BA%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B5-%D0%BA%D0%B2%D0%B0%D0%BB%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8-%D0%BF%D0%BE-%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%D1%83)Получает сведения об экзамене? квалфикации? по идентификатору Строка запроса **GET**: /api/v1/admin/test/**{skill\_id}** ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-8)Параметры запроса:
ПараметрЗначениеОписание
skill\_idЧисловойИдентификатор экзамена? квалификации? *(часть запроса)*
##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-8)Варианты ответа: **Ошибка 422** ``` { "detail": [ { "loc": ["Положение ошибки"], "msg": "Сообщение ошибки", "type": "Тип ошибки" } ] } ``` **Успешно** *Строковый результат* ### [](#%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%B8%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BC%D0%B0%D0%BA)Завершение работы МАК Строка запроса **POST**: /api/v1/admin/poweroff ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-9)Параметры запроса: *Не имеет параметров* ##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-9)Варианты ответа: **Успешно** *Строковый результат* ### [](#%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F)Синхронизация #### [](#%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5-%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8-%D1%8D%D0%BA%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2)Получение состояние синхронизации экзаменов Строка запроса **GET**: /api/v1/sync/exams ##### [](#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-10)Параметры запроса: *Не имеет параметров* ##### [](#%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-10)Варианты ответа: **Успешно** *Строковый результат*