ВКР-СМАРТ 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": "Отчет для документа еще не готов"
}