ВКР-СМАРТ API / Документация о сервисе
В данном разделе приведен основной перечень запросов ВКР-СМАРТ API.
Отчеты
Загрузка документа на проверку, опрос статуса и получение отчёта с источниками заимствований.
Авторизация — как у остальных методов: X-APIKey, JWT в Authorization: Bearer …, client_id в пути. См. Основная информация.
/{client_id}/works/upload (POST)
Создаёт работу и загружает файл на проверку. Данные — multipart/form-data.
Обязательные поля:
- file — файл документа (
txt,docx,html,htm,pdf,rtf,odt,pptx,7z,rar,zip).
Опционально:
- file_name — имя файла (до 255 символов);
- author — автор;
- external — внешний идентификатор документа.
Пример запроса (form-data):
file_name: vkr.docx author: Иванов Иван Иванович external: ext-86452 file: (binary)
Формат ответа в случае успеха:
{
"success": true,
"message": "",
"status": 200,
"data": {
"id": 86452,
"external": "ext-86452",
"report_id": 112446,
"document_name": "vkr.docx",
"report_status": 0
}
}
В следующих запросах передавайте id (или external).
/{client_id}/works/check-status (GET)
Возвращает статус проверки документа.
report_status: 0 — проверка в процессе, 1 — готово, 2 — ошибка.
Параметры: id или external.
Пример запроса:
?id=86452
Формат ответа для готового отчёта:
{
"success": true,
"message": "",
"status": 200,
"data": {
"id": 86452,
"external": "ext-86452",
"report_id": 112446,
"report_status": 1,
"status": "Ready",
"unique_percent": 91.13,
"borrowings_percent": 8.87,
"check_code": 48291,
"report_characters": 125000,
"report_proposals": 4200
}
}
Пока проверка идёт, status равен InProgress, проценты — null. Повторяйте запрос.
/{client_id}/works/report-view (GET)
Возвращает отчёт: процент уникальности, источники заимствований и текстовые фрагменты.
Параметры: id или external.
Пример запроса:
?id=86452
Формат ответа в случае успеха:
{
"success": true,
"message": "",
"status": 200,
"data": {
"id": 86452,
"external": "ext-86452",
"report_id": 112446,
"unique_percent": 91.13,
"borrowings_percent": 8.87,
"documents": [
{
"title": "Название источника",
"link": "https://example.com/doc",
"borrowingPercent": 4.25,
"uncorrectBorrowingPercent": 0,
"selected": true,
"borrowings": [
"Текст первого заимствованного фрагмента…",
"Текст второго заимствованного фрагмента…"
]
}
],
"report_characters": 125000,
"report_proposals": 4200,
"check_code": 48291,
"document_name": "vkr.docx",
"student": "Иванов Иван Иванович"
}
}
Если отчёт ещё не готов:
{
"success": false,
"message": "Отчет для документа еще не готов"
}