Старая система НСК

ЦОК

Данная модель описывает REST-API интерфейс сервиса центра оценки квалификаций

Экзамены

Сохранение нового ресурса/видеозаписи в хранилище

Строка запроса POST: /api/v1/exam/store

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор экзамена
user_id Числовой Идентификатор пользователя
startedAt Дата и время в формате 'Y-m-d H:i:s' Дата-время начала экзамена
endedAt Дата и время в формате 'Y-m-d H:i:s' Дата-время окончания экзамена
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Получение данных ресурса из хранилища

Строка запроса POST: /api/v1/exam/{id}/show

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор экзамена (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "exam_id": "Идентификатор экзамена",
  "status": "Состояние экзамена",
  "stage_name": "Расшифровка состояния сдачи экзамена"
}

Обновление cведений о ресурсе в хранилище

Строка запроса POST: /api/v1/exam/{id}/update

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор экзамена (часть запроса)
user_id Числовой Идентификатор пользователя
startedAt Дата и время в формате 'Y-m-d H:i:s' Дата-время начала экзамена
endedAt Дата и время в формате 'Y-m-d H:i:s' Дата-время окончания экзамена
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Удаление ресурса их хранилища

Строка запроса POST: /api/v1/exam/{id}/destroy

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор экзамена (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Эксперты

Сохранение нового эксперта в хранилище

Строка запроса POST: /api/v1/experts/store

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор эксперта
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Получение данных эксперта по его идентификатору

Строка запроса POST: /api/v1/experts/{id}/show

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор эксперта (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "id": "Идентификатор эксперта",
  "code": "Код дл авторизации эксперта",
  "is_on": "Вход разрешен",
  "user": [
    {
      "id": "Иднетификатор пользователя",
      "full_name": "ФИО пользователя"
    }
  ],
  "units": [
    {
      "id": "Идентификатор ЦОК для проведения экзамена",
      "name": "Наименование ЦОК",
      "is_operator": "Является оператором квалификации",
      "is_main": "Является основным для квалификации",
    }
  ],
  "skills": [
    {
      "id": "Идентификатор квалификации",
      "name": "Наименование квалификации",
      "code": "Код квалификации",
      "is_tech": "Является технической",
      "is_prof": "Является профессиональной"
    }
  ]
}

Обновление данных эксперта по его идентификатору

Строка запроса POST: /api/v1/experts/{id}/update

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор эксперта (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Удаление эксперта по его идентификатору

Строка запроса POST: /api/v1/experts/{id}/destroy

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор эксперта (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Временные интервалы

Сохранение нового интервала в хранилище

Строка запроса POST:/api/v1/intervals/store

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор интервала
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Получение данных интервала по его идентификатору

Строка запроса GET: /api/v1/intervals/{id}/show

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор интервала (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "data": [
    {
      "id": "Идентификатор интервала",
      "start": "Дата-время начала экзамена 'строка Y-m-d H:i:s'",
      "end": "Дата-время окончания экзамена [строка Y-m-d H:i:s]",
      "tz": "Часовой пояс",
      "room_id": "Код учебного класса/ЭП",
      "skill_id": "Код квалификации",
      "skill_name": "Наименование квалификации",
      "stage_id": "Код стадии сдачи экзамена",
      "stage_name": "Расшифровка состояния сдачи экзамена",
      "stage_time": "Время сохранения состояния",
      "mac": "Идентификатор МАк или null",
      "experts": [
        {
          "id": "Идентификатор эксперта",
          "code": "Код входа эксперта",
          "user_id": "Идентификатор пользователя",
          "surname": "Фамилия эксперта",
          "name": "Имя эксперта",
          "patronymic": "Отчество эксперта"
        }
      ],
      "exams": [
        {
          "id": "Идентификатор экзамена",
          "user_id": "Идентификатор пользователя [соискателя] для которого проводится экзамен",
          "surname": "Фамилия эксперта",
          "name": "Имя эксперта",
          "patronymic": "Отчество эксперта",
        }
      ]
    }
  ]
}

Обновление данных интервала по его идентификатору

Строка запроса POST: /api/v1/intervals/{id}/update

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор интервала (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Удаление интервала по его идентификатору

Строка запроса POST: /api/v1/intervals/{id}/destroy

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор интервала (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Вопросы

Сохранение нового вопроса в хранилище

Строка запроса POST: /api/v1/questions/store

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор вопроса
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Получение вопроса по его идентификатору

Строка запроса GET: /api/v1/questions/{id}/show

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор вопроса (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "id": "Идентификатор блока вопросов",
  "name": "Наименование блока вопросов",
  "skill_id": "Идентификатор квалификации",
  "questions": [
    {
      "id": "Идентификатор вопроса",
      "text": "Текст вопроса",
      "img": "Ссылка на изображение к вопросу",
      "question_type_id": "Идентификатор типа вопроса",
      "question_type": "Расшифровка типа вопроса",
      "one": "Признак единственного ответа",
      "variants": [
        {
          "id": "Идентификатор варианта ответа",
          "text": "Текст варианта ответа",
          "img": "Ссылка на изображение к варианту ответа",
          "conf": "Подтверждение выбора варианта вопроса?",
          "ans": "Ответ к варианту вопроса или признак правильного ответа?"
        }
      ]
    }
  ]
}

Обновление вопроса по его идентификатору

Строка запроса POST: /api/v1/questions/{id}/update

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор вопроса (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Удаление вопроса по его идентификатору

Строка запроса POST: /api/v1/questions/{id}/destroy

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор вопроса (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Квалификации

Сохранение новой квалификации в хранилище

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор квалификации
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Получение данных квалификации по её идентификатору

Строка запроса GET: /api/v1/skills/{id}/show

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор квалификации (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "id": "Идентификатор квалификации",
  "name": "Наименование квалификации",
  "code": "Код квалификации",
  "created_at": "Дата-время создания квалификации",
  "updated_at": "Дата-время обновления квалификации",
  "acts": [
    {
      "id": "Идентиифкатор документа",
      "name": "Наименование документа",
      "file": "Ссылка на файл документа",
      "info": "Сведения о документе"
    }
  ]
}

Обновление данных квалификации по её идентификатору

Строка запроса POST: /api/v1/skills/{id}/update

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор квалификации (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Удаление квалификации по её идентификатору

Строка запроса POST: /api/v1/skills/{id}/destroy

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор квалификации (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Состояния

Сохранение нового состояния в хранилище

Строка запроса POST: /api/v1/states/store

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор состояния
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Получение состояния по его идентификатору

Строка запроса GET: /api/v1/states/{id}/show

size:18Параметры запроса:

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор состояния*
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Обновление состояния по его идентификатору

Строка запроса POST: /api/v1/states/{id}/update

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор состояния (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Удаление состояния по его идентификатору

Строка запроса POST: /api/v1/states/{id}/destroy

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор состояния (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Модули

Сохранение нового ЦОК в хранилище

Строка запроса POST: /api/v1/units/store

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор ЦОК
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Получение данных ЦОК по его идентификатору

Строка запроса POST: /api/v1/units/{id}/show

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор ЦОК (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "id": "Идентификатор ЦОК",
  "code": "Код ЦОК",
  "name": "Краткое наименование ЮЛ ЦОК",
  "full_name": "Полное наименование ЮЛ ЦОК",
  "inn": "ИНН ЦОК",
  "ogrn": "ОГРН ЦОК",
  "legal_address": "Юридический адрес",
  "kpp": "Код причины постановки на учет",
  "region_id": "Код региона ИКАО",
  "region": "Наименование региона",
  "places": [
    {
      "id": "Идентификатор площадки",
      "name": "Наименование площадки",
      "timezone": "Часовой пояс",
      "city": "Город",
      "address": "Адрес площадки",
      "rooms": [
        {
          "id": "Идентификатор помещения",
          "name": "Наименование помещения",
        }
      ]
    }
  ]
}

Обновление данных ЦОК по его идентификатору

Строка запроса POST: /api/v1/units/{id}/update

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор ЦОК (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Удаление ЦОК по его идентификатору

Строка запроса POST: /api/v1/units/{id}/destroy

Параметры запроса:
Параметр Значение Описание
id Числовой Идентификатор ЦОК (часть запроса)
Варианты ответа:

Ошибка

{
  "error": "Текст ошибки",
  "success": false
}

Успешно

{
  "success": true
}

Мобильный автономный комплекс

Данная модель описывает REST-API интерфейс сервиса мобильного автономного комплекса

Авторизация

Аутентификация в сервисе МАК и получение токена сессии

Строка запроса POST: /token

Параметры запроса:
Параметр Значение Описание
grant_type Список (enum) Тип авторизации, по умолчанию password
username Текстовый Логин пользователя
password Текстовый Пароль пользователя
scope Текстовый Область видимости
client_id Числовой Идентификатор клиента
client_secret Текстовый Ключ доступа клиента
Варианты ответа:

Ошибка 401

{
  "detail": "UNAUTHORIZED"
}

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "access_token": "Токен аутентификации",
  "token_type": "baerer"
}

Пользователь

Получение информации о пользователе

Строка запроса GET: /api/v1/person/info

Параметры запроса:

Не имеет параметров

Варианты ответа:

Успешно

{
  "name": "Имя пользователя"
}

Экзамен

Получает список запланированных экзаменов

Строка запроса GET: /api/v1/exam/events

Параметры запроса:
Параметр Значение Описание
dtfrom Дата и время Дата-время начала периода, по умолчанию - текущее время/
dtto Дата и время Дата-время окончания периода, по умолчанию - текущее время
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

[
  {
    "id": "Идентификатор экзамена",
    "start": "Дата-время начала экзамена",
    "end": "Дата-время окончания экзамена",
    "title": "Название экзамена",
    "content": "Содержание/Описание экзамена",
    "class": "Вид принимаемого экзамена"
  }
]

Получает сведения о запланированном экзамене по его идентификатору

Строка запроса GET: /api/v1/exam/{exam_id}

Параметры запроса:
Параметр Значение Описание
exam_id Числовой Идентификатор экзамена (часть запроса)
Варианты ответа:

Ошибка 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": "Данные действия эксперта"
      }
    ]
  }
]

Получение списка действий экспертов запланированного экзамена по его идентификатору

Строка запроса GET: /api/v1/exam/{exam_id}/action

Параметры запроса:
Параметр Значение Описание
exam_id Числовой Идентификатор экзамена (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

[
  "id": "Идентификатор действия эксперта",
  "a_type": "Тип действия",
  "created_utc": "Дата возникновения действия по гринвичу",
  "expart_id": "Идентификатор эксперта",
  "data": "Данные действия эксперта",
]

Добавление нового действия эксперта

Строка запроса POST: /api/v1/exam/{exam_id}/practice/action

Параметры запроса:
Параметр Значение Описание
exam_id Числовой Идентификатор экзамена (часть запроса)
a_type   Тип действия
data   Данные действия эксперта
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Получение состояния принимаемого экзамена

Строка запроса GET: /api/v1/exam/{exam_id}/practice/viewstate

Параметры запроса:
Параметр Значение Описание
exam_id Числовой Идентификатор экзамена (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "state": "Состояние принимаемого экзамена",
  "task": "Задание",
  "task_lock": [ "Заблокированное задание" ],
  "wait_experts": [ "Идентиифкатор эксперта" ]
}

Администрирование

Получение статисктики по проведенным экзаменам

Строка запроса GET: /api/v1/admin/stat

Параметры запроса:

Не имеет параметров

Варианты ответа:

Успешно Строковый результат

Получает сведения об экзамене? квалфикации? по идентификатору

Строка запроса GET: /api/v1/admin/test/{skill_id}

Параметры запроса:
Параметр Значение Описание
skill_id Числовой Идентификатор экзамена? квалификации? (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно Строковый результат

Завершение работы МАК

Строка запроса POST: /api/v1/admin/poweroff

Параметры запроса:

Не имеет параметров

Варианты ответа:

Успешно Строковый результат

Синхронизация

Получение состояние синхронизации экзаменов

Строка запроса GET: /api/v1/sync/exams

Параметры запроса:

Не имеет параметров

Варианты ответа:

Успешно Строковый результат

Модульный конструктор ПС

Модуль предназначен для разработки и определения:

Модуль используется системами обработки и аналитики, проектом "Центр оценки квалификаций", порталом "Качество образования" и в рамках социальной сети "Я - эксперт".

Ссылка для получения данных

Ссылка для выгрузки учебных оценочных средств в формате JSON: https://ps.ao-nk.ru/os/edu/{​​​​id}​​​​​​​​​​​ id - id оценочных средств

Ссылка на тестовое оценочное средство: https://ps.ao-nk.ru/os/edu/69​​​​​​​

Информация об оценочном средстве (os)
Параметр Значение Описание
id Числовое id оценочного средства в системе
quest_count Числовое Количество блоков вопросов
total_ball Числовое Суммарное количество баллов в тесте
min_ball Числовое Пороговое количество баллов, от которого считается, что тест пройден успешно
time Числовое Время прохождения теста (в минутах)
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения

Пример:

{​​
  "os": {​​​​​​​​​​
    "id": 69,
    "quest_count": 5,
    "total_ball": 100,
    "min_ball": 60,
    "time": 30,
    "created_at": "2022-02-03 16:31:16",
    "updated_at": "2022-02-04 12:29:25"
  }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
}

​​

Информация о квалификации (skill)
Параметр Значение Описание
id Числовое id квалификации в системе
name Текстовое Название квалификации
level Числовое Уровень квалификации
num Текстовое Регистрационный номер квалификации

Пример:

{​​​​​​
  "skill": {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
    "id": 57,
    "name": "Демо квалификация",
    "level": 6,
    "num": "12.00798.02"
  }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
Информация о профессиональном стандарте (standart)
Параметр Значение Описание
id Числовое id профессионального стандарта в системе
name Текстовое Название профессионального стандарта
num Текстовое Регистрационный номер профессионального стандарта

Пример:

{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
  "standart": {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
    "id": 239,
    "name": "Демо профессиональный стандарт",
    "num": "1362"
  }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
Информация о темах (трудовых функций) (themes)
Параметр Значение Описание
id Числовое id темы в системе (трудовой функции)
name Текстовое название темы (трудовой функции)

Пример:

{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
  "themes": [    
    {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
      "id": 3675,
      "name": "Название ТФ"
    }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
  ]
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
Проверяемые знания (zn)
Параметр Значение Описание
id Числовое id знания в системе
name Текстовое Название знания
bloc_count   Количество вопросов для проверки этого знания в тесте
total_ball   Общее количество баллов, которые можно получить, если правильно ответить на все вопросы по этому знанию
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения
blocs   Блоки вопросов (в каждом блоке минимум 3 варианта вопросов, при формировании теста из каждого блока берется 1 вопрос)

Пример:

{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
  "zn": [
    {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
      "id": 40346,
      "name": "Демо знание 1",
      "bloc_count": 2,
      "total_ball": 35,
      "created_at": "2022-02-03 16:31:16",
      "updated_at": "2022-02-03 17:51:44",
      "blocs": []
    }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
  ]
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
Проверяемые умения (um)
Параметр Значение Описание
id Числовое id умения в системе
name Текстовое Название умения
bloc_count   Количество вопросов для проверки этого умения в тесте
total_ball   Общее количество баллов, которые можно получить, если правильно ответить на все вопросы по этому умению
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения
blocs   Блоки вопросов (в каждом блоке минимум 3 варианта вопросов, при формировании теста из каждого блока берется 1 вопрос)

Пример:

{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
  "um": [
    {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
      "id": 30117,
      "name": "Демо умение 1",
      "bloc": 1,
      "ball": 36,
      "created_at": "2022-02-03 16:31:16",
      "updated_at": "2022-02-04 11:38:29",
      "blocs": []
    }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
  ]
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
Блоки вопросов (blocs)
Параметр Значение Описание
id Числовое id умения в системе
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения
quests Массив Вопросы (в каждом блоке минимум 3 варианта вопросов, при формировании теста из каждого блока берется 1 вопрос)

Пример:

{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
  "blocs": [
    {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
      "id": 413,
      "created_at": "2022-02-03 17:09:00",
      "updated_at": "2022-02-03 17:20:35",
      "quests": []
    }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
  ]
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

Вопрос с выбором ответа

Соискателю на выбор предоставляются варианты ответа, из которых он должен выбрать один или несколько. Если правильный ответ один, то в вопросе можно будет выбрать только один вариант ответа

Вопросы(quests):
Параметр Значение Описание
id Числовое id вопроса в системе
text Текстовое Текст вопроса
img Текстовое или null Если вопрос с изображением, то поле будет содержать ссылку на изображение, иначе null
type_id Числовое id типа вопроса
type_name Текстовое Название типа вопроса
note Текстовое Пояснение к вопросу
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения
variants   Варианты ответов
Варианты ответов (variants)
Параметр Значение Описание
id Числовое id варианта в системе
text Текстовое Текст варианта ответа
img Текстовоеили null Если ответ с изображением, то поле будет содержать ссылку на изображение, иначе null
conf Числовое дополнительный параметр (в вопросах данного типа не используется)
ans Числовое Метка ответа (1 - правильный ответ, 0 - неправильный)
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения
sort Текстовое Параметр для сортировки

Пример:

{​​​​​​​​
  "quests": [           
    {​​​​​
      "id": 1333,
      "text": "Флаг какого государства представлен на изображении",
      "img": "https://ps.ao-nk.ru/upload/quest/1333ou.png",
      "type_id": 1,
      "type_name": "с выбором ответа",
      "note": "Государственный флаг Российской Федерации представляет собой прямоугольное полотнище из трёх равновеликих горизонтальных полос: верхней — белого, средней — синего и нижней — красного цвета. Отношение длины флага к его ширине 2:3.",
      "created_at": "2022-02-03 17:09:53",
      "updated_at": "2022-02-03 17:11:43",
      "variants": [
        {​​​​​​​​​​​​​​​​​​​
          "id": 4838,
          "text": "Франция",
          "img": null,
          "conf": 0,
          "ans": 0,
          "sort": "a",
          "created_at": "2022-02-03 17:10:58",
          "updated_at": "2022-02-03 17:10:58"
        }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​,
        {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 4839,
          "text": "Россия",
          "img": null,
          "conf": 0,
          "ans": 1,
          "sort": "b",
          "created_at": "2022-02-03 17:11:05",
          "updated_at": "2022-02-03 17:11:05"
        }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​,
        {​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 4840,
          "text": "Словакия",
          "img": null,
          "conf": 0,
          "ans": 0,
          "sort": "c",
          "created_at": "2022-02-03 17:11:34",
          "updated_at": "2022-02-03 17:11:34"
        }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
      ]
    }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
  ]
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

Вопрос на установление последовательности

Соискателю необходимо выстроить в правильном порядке все варианты ответа

Вопросы(quests):
Параметр Значение Описание
id Числовое id вопроса в системе
text Текстовое Текст вопроса
img Текстовое или null Если вопрос с изображением, то поле будет содержать ссылку на изображение, иначе null
type_id Числовое id типа вопроса
type_name Текстовое Название типа вопроса
note Текстовое Пояснение к вопросу
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения
variants   Варианты ответов
Варианты ответов (variants)
Параметр Значение Описание
id Числовое id варианта в системе
text Текстовое Текст варианта ответа
img Текстовоеили null Если ответ с изображением, то поле будет содержать ссылку на изображение, иначе null
conf Числовое Дополнительный параметр (в вопросах данного типа не используется)
ans Числовое Правильный порядковый номер ответа
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения
sort Текстовое Параметр для сортировки

Пример:

{​​​​​​​​
  "quests": [
    {​​​​​​
      "id": 2879,
      "text": "Установите последовательность стран в зависимости от их площади (от большего к меньшему) ",
      "img": null,
      "type_id": 3,
      "type_name": "на установление последовательности",
      "note": "Согласно данным",
      "created_at": "2022-02-03 16:53:54",
      "updated_at": "2022-02-03 16:54:30",
      "variants": [
        {​​​​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 10781,
          "text": "Канада",
          "img": null,
          "conf": 0,
          "ans": 2,
          "sort": "a",
          "created_at": "2022-02-03 16:54:11",
          "updated_at": "2022-02-03 16:54:11"
        }​​​​​​​​​​​​​​​​​​​​​​​​​​​,
        {​​​​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 10780,
          "text": "Россия",
          "img": null,
          "conf": 0,
          "ans": 1,
          "sort": "b",
          "created_at": "2022-02-03 16:54:05",
          "updated_at": "2022-02-03 16:54:11"
        }​​​​​​​​​​​​​​​​​​​​​​​​​​​,
        {​​​​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 10782,
          "text": "Франция",
          "img": null,
          "conf": 0,
          "ans": 3,
          "sort": "c",
          "created_at": "2022-02-03 16:54:17",
          "updated_at": "2022-02-03 16:54:17"
        }​​​​​​​​​​​​​​​​​​​​​​​​​​​,
        {​​​​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 10784,
          "text": "Исландия",
          "img": null,
          "conf": 0,
          "ans": 4,
          "sort": "d",
          "created_at": "2022-02-03 16:54:30",
          "updated_at": "2022-02-03 16:54:30"
        }​​​​​​​​​​​​​​​​​​​​​​​​​​​
      ]
    }​​​​​​​​​​​​​​​​​​​​​​​​​​​
  ]
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

Вопрос на установление соответствия

Соискателю необходимо сопоставить все варианты из левого столбца с вариантами из правого Каждый вариант из левого столбца обязательно соответсвует одному варианту из правого

Вопросы(quests):
Параметр Значение Описание
id Числовое id вопроса в системе
text Текстовое Текст вопроса
img Текстовое или null Если вопрос с изображением, то поле будет содержать ссылку на изображение, иначе null
type_id Числовое id типа вопроса
type_name Текстовое Название типа вопроса
note Текстовое Пояснение к вопросу
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения
variants   Варианты ответов
Варианты ответов (variants)
Параметр Значение Описание
id Числовое id варианта в системе
text Текстовое Текст варианта ответа
img Текстовое или null Если ответ с изображением, то поле будет содержать ссылку на изображение, иначе null
conf Числовое Если параметр равен 0 - то это элемент левого столбца, если равен 1 - то правого
ans Числовое Для элемента левого столбца параметр равен id элемента из правого столбца, у элемента правого столбца этот параметр равен 0
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения
sort Текстовое Параметр для сортировки

Пример:

{​​​​​​​​
  "quests": [
    {​​​
      "id": 2883,
      "text": "Установите соответствие между моделями процессоров и производителями",
      "img": null,
      "type_id": 2,
      "type_name": "на установление соответствия",
      "note": "Согласно данных производителей",
      "created_at": "2022-02-03 16:59:31",
      "updated_at": "2022-02-03 17:51:39",
      "variants": [
        {​​​​​​​​​​​​​​​​​
          "id": 10801,
          "text": "Intel",
          "img": null,
          "conf": 1,
          "ans": 0,
          "sort": "1",
          "created_at": "2022-02-03 16:59:39",
          "updated_at": "2022-02-03 16:59:39"
        }​​​​​​​​​​​​​​​​​​​​​​​​,
        {​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 10802,
          "text": "AMD",
          "img": null,
          "conf": 1,
          "ans": 0,
          "sort": "2",
          "created_at": "2022-02-03 16:59:44",
          "updated_at": "2022-02-03 16:59:44"
        }​​​​​​​​​​​​​​​​​​​​​​​​,
        {​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 10803,
          "text": "Apple",
          "img": null,
          "conf": 1,
          "ans": 0,
          "sort": "3",
          "created_at": "2022-02-03 16:59:52",
          "updated_at": "2022-02-03 16:59:52"
        }​​​​​​​​​​​​​​​​​​​​​​​​,
        {​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 10804,
          "text": "Ryzen 9",
          "img": null,
          "conf": 0,
          "ans": 10802,
          "sort": "a",
          "created_at": "2022-02-03 17:00:20",
          "updated_at": "2022-02-03 17:00:20"
        }​​​​​​​​​​​​​​​​​​​​​​​​,
        {​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 10805,
          "text": "Core i9",
          "img": null,
          "conf": 0,
          "ans": 10801,
          "sort": "b",
          "created_at": "2022-02-03 17:00:48",
          "updated_at": "2022-02-03 17:00:48"
        }​​​​​​​​​​​​​​​​​​​​​​​​,
        {​​​​​​​​​​​​​​​​​​​​​​​​
          "id": 10806,
          "text": "M1",
          "img": null,
          "conf": 0,
          "ans": 10803,
          "sort": "c",
          "created_at": "2022-02-03 17:00:57",
          "updated_at": "2022-02-03 17:00:57"
        }​​​​​​​​​​​​​​​​​​​​​​​​
      ]
    }​​​​​​​​​​​​​​​​​​​​​​​​
  ]
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

Вопрос с открытым ответом

Соискателю необходимо самостоятельно ввести ответ в специальное поле или несколько полей

Вопросы(quests):
Параметр Значение Описание
id Числовое id вопроса в системе
text Текстовое Текст вопроса. В фигурных скобках заключаются правильные ответы (варианты правильных ответов разделяются вертикальной чертой "|")
img Текстовое или null Если вопрос с изображением, то поле будет содержать ссылку на изображение, иначе null
type_id Числовое id типа вопроса
type_name Текстовое Название типа вопроса
note Текстовое Пояснение к вопросу
created_at Дата и время в формате 'Y-m-d H:i:s' Дата создания
updated_at Дата и время в формате 'Y-m-d H:i:s' Дата изменения
variants   Варианты ответов (не используется вопросах такого типа) варианты ответов содержатся в тексте вопроса

Пример:

{​​
  "quests": [
    {​​​​​​​
      "id": 1337,
      "text": "Столицей Российской Федерации является город {​​​​​​​​​​​​​​​​​​​​​Москва|Moscow}​​​​​​​​​​​​​​​​​​​​​, а столицей Польши является город {​​​​​​​​​​​​​​​​​​​​​Варшава|Warsaw}​​​​​​​​​​​​​​​​​​​​​",
      "img": null,
      "type_id": 4,
      "type_name": "с открытым ответом",
      "note": "В соответствии с Конституцией Российской Федерации столицей Российской Федерации является город Москва.",
      "created_at": "2022-02-03 17:24:04",
      "updated_at": "2022-02-04 12:29:25",
      "variants": []
    }​​​​​​​​​​​​​​​​​​​​​
  ]
}

Сервис видеозаписи

Данная модель описывает REST-API интерфейс сервиса видеозаписи

Ресурсы (входящие потоки)

Получение списка ресурсов

Строка запроса GET: /api/v1/source

Параметры запроса:

Параметры отсутствуют

Варианты ответа:

Успешно

[
  {
    "id": "Идентификатор ресурса",
    "created_utc": "Дата-время создания ресурса",
    "status": "Состояние доступности ресурса",
    "uri_rtsp": "Адрес RTSP потока",
    "uri_http_picture": {
      "uri": "Адрес получения изображения",
      "auth": "basic или digest",
      "user": "Пользователь",
      "password": "Пароль"
    },
    "description": "Описание ресурса",
    "ffmpeg_cmd": "Шаблон команды транскодирования потока"
  }
]

Создание ресурса

POST: /api/v1/source

Параметры запроса:
Параметр Значение Описание
model Текстовый Модель ресурса Source или PictureSource
description Текстовый Описание ресурса
uri_rtsp Строка URI Адрес RTSP потока
uri_http_picture Структура Описание скриншота камеры
 uri Строка URI Адрес получения изображения
 auth Перечисление basic или digest
 user Текстовый Пользователь
 password Текстовый Пароль
ffmpeg_cmd Текстовый Шаблон команды транскодирования потока
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "id": "Идентификатор ресурса",
  "created_utc": "Дата-время создания ресурса",
  "status": "Состояние доступности ресурса",
  "uri_rtsp": "Адрес RTSP потока",
  "uri_http_picture": {
    "uri": "Адрес получения изображения",
    "auth": "*basic* или *digest*",
    "user": "Пользователь",
    "password": "Пароль"
  },
  "description": "Описание ресурса",
  "ffmpeg_cmd": "Шаблон команды транскодирования потока"
}

Получение ресурса

GET: /api/v1/source/{source_id}/

Параметры запроса:
Параметр Значение Описание
source_id Числовой Идентификатор ресурса (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "id": "Идентификатор ресурса",
  "created_utc": "Дата-время создания ресурса",
  "status": "Состояние доступности ресурса",
  "uri_rtsp": "Адрес RTSP потока",
  "uri_http_picture": {
    "uri": "Адрес получения изображения",
    "auth": "*basic* или *digest*",
    "user": "Пользователь",
    "password": "Пароль"
  },
  "description": "Описание ресурса",
  "ffmpeg_cmd": "Шаблон команды транскодирования потока"
}

Изменение ресурса

PUT: /api/v1/source/{source_id}/

Параметры запроса:
Параметр Значение Описание
source_id Числовой Идентификатор ресурса (часть запроса)
model Текстовый Модель ресурса
description Текстовый Описание ресурса
uri_rtsp Текствый Адрес RTSP потока
uri_http_picture: Структура URI  
 uri Тесктовый Адрес получения изображения
 auth Текстовый basic или digest
 user Текстовый Пользователь
 password Текстовый Пароль
ffmpeg_cmd Текстовый Шаблон команды транскодирования потока
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "id": "Идентификатор ресурса",
  "created_utc": "Дата-время создания ресурса",
  "status": "Состояние доступности ресурса",
  "uri_rtsp": "Адрес RTSP потока",
  "uri_http_picture": {
    "uri": "Адрес получения изображения",
    "auth": "*basic* или *digest*",
    "user": "Пользователь",
    "password": "Пароль"
  },
  "description": "Описание ресурса",
  "ffmpeg_cmd": "Шаблон команды транскодирования потока"
}

Удаление ресурса

DELETE: /api/v1/source/{source_id}/

Параметры запроса:
Параметр Значение Описание
source_id Числовой Идентификатор ресурса (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "id": "Идентификатор ресурса",
  "created_utc": "Дата-время создания ресурса",
  "status": "Состояние доступности ресурса",
  "uri_rtsp": "Адрес RTSP потока",
  "uri_http_picture": {
    "uri": "Адрес получения изображения",
    "auth": "*basic* или *digest*",
    "user": "Пользователь",
    "password": "Пароль"
  },
  "description": "Описание ресурса",
  "ffmpeg_cmd": "Шаблон команды транскодирования потока"
}

Получение скриншота потока

Строка запроса GET: /api/v1/source/{source_id}/picture

Параметры запроса:
Параметр Значение Описание
source_id Числовой Идентификатор ресурса (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно Данные изображения

Получение скриншота потока

Строка запроса GET: /api/v1/source/{source_id}/video

Параметры запроса:
Параметр Значение Описание
source_id Числовой Идентификатор ресурса (часть запроса)
delay Числовой Задержка между кадрами в секундах, по умолчанию 1 секунда
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно Данные видеопотока mJPEG

Управление записью

Получение состояния записи ресурсов по метке

Строка запроса GET: /api/v1/record

Параметры запроса:
Параметр Значение Описание
tag_name Текстовый Идентификатор метки ресурсов
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

[
  {
    "id": "Идентификатор записи",
    "created_utc": "Дата-время создания записи",
    "status": "Состояние записи",
    "begin_utc": "Дата-время начала записи",
    "end_utc": "Дата-время окончания записи",
    "source": [
      {
        "id": "Идентификатор ресурса",
        "created_utc": "Дата-время создания ресурса",
        "status": "Состояние доступности ресурса",
        "uri_rtsp": "Адрес RTSP потока",
        "uri_http_picture": {
          "uri": "Адрес получения изображения",
          "auth": "*basic* или *digest*",
          "user": "Пользователь",
          "password": "Пароль"
        },
        "description": "Описание ресурса",
        "ffmpeg_cmd": "Шаблон команды транскодирования потока"
      }
    ],
    "hash_md5": "Контрольная сумма записи MD5",
    "location": "Путь хранения записи",
    "sync_location": "Пусть для синхронизации видеозаписи с другим видеосервером"
  }
]

Остановка записи группы ресурсов по идентификатору метки

PUT: /api/v1/record

Параметры запроса:
Параметр Значение Описание
model Текстовый Модель метки записи ресурса для изменений Source или PictureSource
tag_name Текстовый Идентификатор метки ресурсов
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно Нет данных

Запуск записи группы ресурсов с меткой

POST: /api/v1/record

Параметры запроса:
Параметр Значение Описание
model Текстовый Модель метки записи ресурса для изменений Source или PictureSource
tag_name Текстовый Идентификатор метки ресурсов
group_name Текстовый Идентификатор группы ресурсов
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно Нет данных

Получение состояния записи ресурсов с меткой

Строка запроса GET: /api/v1/record/runing

Параметры запроса:
Параметр Значение Описание
tag_name Текстовый Идентификатор метки ресурсов
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно Значение true или false

Получение записи ресурса

Строка запроса GET: /api/v1/record/{record_id}/

Параметры запроса:
Параметр Значение Описание
record_id Текстовый Идентификатор записи ресурса (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "id": "Идентификатор записи",
  "created_utc": "Дата-время создания записи",
  "status": "Состояние записи",
  "begin_utc": "Дата-время начала записи",
  "end_utc": "Дата-время окончания записи",
  "source": {
    "id": "Идентификатор ресурса",
    "created_utc": "Дата-время создания ресурса",
    "status": "Состояние доступности ресурса",
    "uri_rtsp": "Адрес RTSP потока",
    "uri_http_picture": {
      "uri": "Адрес получения изображения",
      "auth": "*basic* или *digest*",
      "user": "Пользователь",
      "password": "Пароль"
    },
    "description": "Описание ресурса",
    "ffmpeg_cmd": "Шаблон команды транскодирования потока"
  },
  "hash_md5": "Контрольная сумма записи MD5",
  "location": "Путь хранения записи",
  "sync_location": "Пусть для синхронизации видеозаписи с другим видеосервером"
}

Получение части файла записи

Строка запроса GET: /api/v1/record/{record_id}/video/

Параметры запроса:
Параметр Значение Описание
record_id Текстовый Идентификатор записи ресурса (часть запроса)
range Численный-Численный Диапазон байт для загрузки, параметр заголовка запроса
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно Двоичные данные

Удаление файла видеозаписи

DELETE: /api/v1/record/{record_id}/file/

Параметры запроса:
Параметр Значение Описание
record_id Текстовый Идентификатор записи ресурса (часть запроса)
location Текстовый Путь к файлу видеозаписи
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "id": "Идентификатор записи",
  "created_utc": "Дата-время создания записи",
  "status": "Состояние записи",
  "begin_utc": "Дата-время начала записи",
  "end_utc": "Дата-время окончания записи",
  "source": {
    "id": "Идентификатор ресурса",
    "created_utc": "Дата-время создания ресурса",
    "status": "Состояние доступности ресурса",
    "uri_rtsp": "Адрес RTSP потока",
    "uri_http_picture": {
      "uri": "Адрес получения изображения",
      "auth": "*basic* или *digest*",
      "user": "Пользователь",
      "password": "Пароль"
    },
    "description": "Описание ресурса",
    "ffmpeg_cmd": "Шаблон команды транскодирования потока"
  },
  "hash_md5": "Контрольная сумма записи MD5",
  "location": "Путь хранения записи",
  "sync_location": "Пусть для синхронизации видеозаписи с другим видеосервером"
}

Управление группами камер

Получние списка групп камер

Строка запроса GET: /api/v1/group

Параметры запроса:

Параметры отсутствуют

Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

[
  {
    "id": "Идентификатор группы",
    "created_utc": "Дата-время создания группы",
    "name": "Имя группы"
  }
]

Создание группы ресурсов

POST: /api/v1/group

Параметры запроса:
Параметр Значение Описание
model Текстовый Модель метки записи ресурса для изменений Source или PictureSource
name Текстовый Наименование группы
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

[
  {
    "id": "Идентификатор группы",
    "created_utc": "Дата-время создания группы",
    "name": "Имя группы"
  }
]

Получение сведений о группе ресурсов

Строка запроса GET: /api/v1/group/{group_id}/

Параметры запроса:
Параметр Значение Описание
group_id Текстовый Идентификатор группы ресурсов (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "id": "Идентификатор группы ресурсов",
  "сreated_utc": "Дата-время создания группы",
  "name": "Наименование группы",
  "sources": [
    {
      "id": "Идентификатор ресурса",
      "created_utc": "Дата-время создания ресурса",
      "uri_rtsp": "Адрес RTSP потока",
      "uri_http_picture": {
        "uri": "Адрес получения изображения",
        "auth": "*basic* или *digest*",
        "user": "Пользователь",
        "password": "Пароль"
      },
      "description": "Описание ресурса",
      "ffmpeg_cmd": "Шаблон команды транскодирования потока"
    }
  ]
}

Удаление группы ресурсов

DELETE: /api/v1/group/{group_id}/

Параметры запроса:
Параметр Значение Описание
group_id Текстовый Идентификатор группы ресурсов (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "id": "Идентификатор группы ресурсов",
  "сreated_utc": "Дата-время создания группы",
  "name": "Наименование группы"
}

Добавление ресурса в группу ресурсов

POST: /api/v1/group/{group_id}/source/{source_id}/

Параметры запроса:
Параметр Значение Описание
group_id Текстовый Идентификатор группы ресурсов (часть запроса)
source_id Текстовый Идентификатор ресурса (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно Значение true или false

Удаление ресурса из группы ресурсов

DELETE: /api/v1/group/{group_id}/source/{source_id}/

Параметры запроса:
Параметр Значение Описание
group_id Текстовый Идентификатор группы ресурсов (часть запроса)
source_id Текстовый Идентификатор ресурса (часть запроса)
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно Значение true или false//*

Управление метками записей

Получение метки записи ресурсов

Строка запроса GET: /api/v1/tag

Параметры запроса:
Параметр Значение Описание
name Текстовый Наименование метки
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно

{
  "id": "Идентификатор тега",
  "created_utc": "Дата-время создания тега",
  "name": "Имя тега",
  "records": [
    {
      "id": "Идентификатор записи",
      "created_utc": "Дата-время создания записи",
      "status": "Состояние записи",
      "begin_utc": "Дата-время начала записи",
      "end_utc": "Дата-время окончания записи",
      "source": {
        "id": "Идентификатор ресурса",
        "created_utc": "Дата-время создания ресурса",
        "uri_rtsp": "Адрес RTSP потока",
        "uri_http_picture": {
          "uri": "Адрес получения изображения",
          "auth": "*basic* или *digest*",
          "user": "Пользователь",
          "password": "Пароль"
        },
        "description": "Описание ресурса",
        "ffmpeg_cmd": "Шаблон команды транскодирования потока"
      },
      "hash_md5": "Контрольная сумма записи MD5",
      "location": "Путь хранения записи",
      "sync_location": "Пусть для синхронизации видеозаписи с другим видеосервером"
    }
  ]
}

Получить начатые метки

Строка запроса GET: /api/v1/tag/begin

Параметры запроса:

Параметры отсутствуют

Варианты ответа:

Успешно

["Наименование метки"]

Синхронизация данных

Начать синхронизацию видео

POST: /api/v1/sync

Параметры запроса:
Параметр Значение Описание
tag_name Текстовый Наименование метки
location Текстовый Расположение файла
Варианты ответа:

Ошибка 422

{
  "detail": [
    {
      "loc": ["Положение ошибки"],
      "msg": "Сообщение ошибки",
      "type": "Тип ошибки"
    }
  ]
}

Успешно Строковые данные

Различные проверки

Проверка изображения

Строка запроса GET: /test/img

Параметры запроса:

Не имеет параметров

Варианты ответа:

Успешно Не имеет ответа

Проверка видео

Строка запроса GET: /test/video

Параметры запроса:

Не имеет параметров

Варианты ответа:

Успешно Не имеет ответа

Алгоритмы синхронизации