| Код | Описание |
|---|---|
200 | Операция успешно завершена |
400 | Плохой запрос |
401 | Не авторизован |
500 | Другие ошибки |
Параметр {culture} отвечает за локализацию API, которая представляет собой код языка в соответствии со стандартом ISO 639-1.
Вызовы некоторых методов возвращают только информационные сообщения. В этом случае код состояния ответа HTTP всегда будет 200, а возвращаемое сообщение будет выглядеть следующим образом:
{
"message": "Операция успешно завершена"
}
где message - это сообщение от системы о результате выполнения какого-либо действия.
Если что-то пойдет не так во время вызова метода или выполнения, код состояния ответа HTTP всегда будет отличаться от 200. В этом случае возвращаемое сообщение будет выглядеть следующим образом:
{
"error": "Операция завершилась неудачей"
}
где error - это сообщение от системы, содержащее причину ошибки.
⚡ Для всех следующих методов этого API, если код состояния ответа HTTP не равен 200, будет возвращено сообщение об ошибке.
/{culture}/api/issue-access-token - метод позволяет получить токен для последующей аутентификации и авторизации в системе.
POST, Content-Type: application/json
Запрос:
{
"username": "user@example.com",
"password": "64e09891d828"
}
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"expiration": "2077-01-01T00:00:00Z",
"token": "..."
}
где поле expiration содержит дату истечения срока действия токена, а поле token содержит сам токен.
Токен, полученный на первом шаге, должен использоваться во всех перечисленных ниже методах API путем добавления заголовка Authorization со значением Bearer <Token>.
Пример заголовка в HTTP-запросе:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
где eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 это полученный токен.
/{culture}/api/refresh-access-token - метод позволяет обновить токен аутентификации и авторизации в системе.
GET, Authorization: Bearer <Token>
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"expiration": "2077-01-01T00:00:00Z",
"token": "..."
}
где поле expiration содержит дату истечения срока действия токена, а поле token содержит сам токен.
⚡ Для продолжения работы с API необходимо предыдущий токен заменить на новый.
/{culture}/api/user-structures - метод получает полную иерархию организационных структур.
GET, Authorization: Bearer <Token>
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"name": null,
"id": 0,
"childNodes": [
{
"name": "...",
"id": 1,
"childNodes": []
}
]
}
/{culture}/api/user-folders - метод получает полную иерархию папок пользователя.
GET, Authorization: Bearer <Token>
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"name": null,
"id": 0,
"childNodes": [
{
"name": "...",
"id": 1,
"childNodes": []
}
]
}
/{culture}/api/add-to-search-index - метод позволяет добавить документ в поисковый индекс, который закреплен за пользователем или его организацией.
PUT, Authorization: Bearer <Token>, Content-Type: application/json
Запрос:
{
"filename": "example.txt",
"title": "Брейнданс Пасифики",
"author": "Виктор Вектор, Дакота Смит",
"year": 2024,
"url": "https://example.com/doc/9fe76511d0ee",
"body": "0YHRitC10YjRjCDQttC1INC10YnRkSDRjdGC0LjRhSDQvNGP
0LPQutC40YUg0YTRgNCw0L3RhtGD0LfRgdC60LjRhSDQsdGD0
LvQvtC6LCDQtNCwINCy0YvQv9C10Lkg0YfQsNGO"
}
| Поле | Описание | Обязательно |
|---|---|---|
filename | Имя файла, обязательно с расширением | ✔️ |
url | URL-адрес документа может быть виртуальным, но уникальным | ✔️ |
body | Тело файла в формате Base64 | ✔️ |
title | Название документа | ❌ |
author | Авторы документа через запятую | ❌ |
year | Год создания документа | ❌ |
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"message": "Документ добавлен в поисковый индекс"
}
/{culture}/api/remove-from-search-index - метод позволяет удалить документ из поискового индекса, закрепленного за пользователем или его организацией.
DELETE, Authorization: Bearer <Token>, Content-Type: application/json
Запрос:
{
"url": "https://example.com/doc/9fe76511d0ee"
}
где url - это URL документа в поисковом индексе.
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"message": "Документ удален из поискового индекса"
}
/{culture}/api/remove-from-search-index?refresh=false
/{culture}/api/add-to-search-index?refresh=false
Для массового добавления или удаления документов необходимо использовать вышеперечисленные методы с параметром refresh и установленным значением в false. Чтобы применить изменения после массовых операций, нужно вызвать метод обновления индекса /{culture}/api/refresh-search-index.
/{culture}/api/refresh-search-index - метод позволяет обновить поисковый индекс, закрепленный за пользователем или его организацией.
GET, Authorization: Bearer <Token>
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"message": "Поисковый индекс обновлен"
}
/{culture}/api/clear-search-index - метод позволяет удалить все документы из поискового индекса, закрепленного за пользователем или его организацией.
GET, Authorization: Bearer <Token>
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"message": "Поисковый индекс очищен"
}
/{culture}/api/plagiarism-check - метод позволяет отправить документ на проверку в систему обнаружения заимствований.
POST, Authorization: Bearer <Token>, Content-Type: application/json
Запрос:
{
"structureId": 1000,
"folderId": 1,
"filename": "example.txt",
"author": "Андерс Хелман, Брэндон Фрост",
"year": 2024,
"body": "0YHRitC10YjRjCDQttC1INC10YnRkSDRjdGC0LjRhSDQvNGP
0LPQutC40YUg0YTRgNCw0L3RhtGD0LfRgdC60LjRhSDQsdGD0
LvQvtC6LCDQtNCwINCy0YvQv9C10Lkg0YfQsNGO",
"disableDuplicateChecking": false
}
| Поле | Описание | Обязательно |
|---|---|---|
structureId | Идентификатор организационной структуры | ✔️ |
folderId | Идентификатор пользовательской папки | ❌ |
filename | Имя файла, обязательно с расширением | ✔️ |
author | Авторы документа через запятую | ❌ |
year | Год создания документа | ❌ |
body | Тело файла в формате Base64 | ✔️ |
disableDuplicateChecking | Отключение проверки на дублирование | ❌ |
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"id": 1000,
"state": 2
}
где id - это идентификатор проверки, а state - текущее состояние проверки.
/{culture}/api/plagiarism-check-se/{id} - метод позволяет получить текущее состояние проверки.
GET, Authorization: Bearer <Token>
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"id": 1000,
"state": 2
}
где id - это идентификатор проверки, а state - текущее состояние проверки.
| Код состояния | Описание |
|---|---|
1 | Дубликат |
2 | В очереди на проверку |
3 | Отменено |
4 | В процессе |
5 | Выполнено |
6 | Ошибка |
/{culture}/api/plagiarism-check-rs/{id} - метод позволяет получить или удалить результат проверки.
Authorization: Bearer <Token>
| Способ | Описание |
|---|---|
DELETE | Удалить результат проверки |
GET | Получить результат проверки |
Если операция успешно выполнена при вызове метода GET, ответное сообщение будет выглядеть следующим образом:
{
"isContainsDeception": false,
"metrics": {
"originality": 0.0,
"citation": 0.0,
"match": 1.0
},
"sources": [
{
"metrics": {
"citation": 0.0,
"match": 1.0
},
"url": "https://www.example.org/abcd/1970.00001",
"title": null,
"author": null,
"year": null
},
...
]
}
| Поле | Описание |
|---|---|
isContainsDeception | Указывает на то, что используются технические средства повышения оригинальности |
metrics | Показатели для документа или отдельного источника |
sources | Источники, из которых были обнаружены заимствования |
| Поле | Описание |
|---|---|
originality | Доля оригинальности |
citation | Доля цитирования |
match | Доля заимствований |
| Поле | Описание |
|---|---|
url | Адрес ресурса, на котором находится документ или страница |
title | Название |
author | Авторы |
year | Год создания |
Если проверка завершилась неудачей, метод возвращает сообщение об ошибке.
/{culture}/api/plagiarism-check-rp/{id}/extended - метод позволяет получить расширенный отчет о проверке в формате PDF.
GET, Authorization: Bearer <Token>
Возвращает файл формата PDF с заголовком HTTP content-type: application/pdf.
/{culture}/api/plagiarism-check-rp/{id}/summary - метод позволяет получить краткий отчет о проверке в формате PDF. Если вы хотите включить в отчет оригинальный документ, просто добавьте ?withOriginal=true.
GET, Authorization: Bearer <Token>
Возвращает файл формата PDF с заголовком HTTP content-type: application/pdf.
/{culture}/api/plagiarism-check-rp/{id}/reference - метод позволяет получить справку в формате PDF.
GET, Authorization: Bearer <Token>
Возвращает файл формата PDF с заголовком HTTP content-type: application/pdf.
[editable]/{culture}/api/permanent-viewer/{id} - метод возвращает постоянную ссылку для открытия средства просмотра отчета.
GET, Authorization: Bearer <Token>
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"permanent-link": "https://example.com/document/[\d]"
}
где permanent-link - это бессрочная ссылка на средство просмотра отчетов.
[readonly]/{culture}/api/one-time-viewer/{id} - метод возвращает одноразовую ссылку для открытия средства просмотра отчета.
GET, Authorization: Bearer <Token>
В случае успешного выполнения ответ будет выглядеть следующим образом:
{
"one-time-link": "https://example.com/document/[\d]",
"expires": "2024-03-21T20:17:00.0903957Z"
}
где one-time-link - это одноразовая ссылка на средство просмотра отчета, а expires - дата и время истечения срока действия ссылки