API антиплагиата Адвего

API доступен пользователям, на символьном счету которых находится не менее 100 тысяч символов. Пополнение символьного счета: https://advego.com/antiplagiat/buy/

Токен для API антиплагиата (рекомендуем обновить перед первым использованием): https://advego.com/antiplagiat/api/

Токен должен передаваться в каждом запросе. Токен не имеет срока действия и может быть перегенерирован на той же странице.

На запросы отвечает сервис по адресу https://api.advego.com/json/antiplagiat/

В качестве протокола используется json-rpc 2.0. Стандартный запрос выглядит следующим образом: {"jsonrpc": "2.0", "method": "...", "params": { …. }, "id": 1 }
id используется для сопоставления запроса с ответом.

HTML-теги автоматически удаляются при проверке, в проверяемом объеме не учитываются и на качество проверки не влияют, только остаются видны в полном тексте проверки на сайте.

-------

Методы:

unique_text_add - добавляет текст на проверку уникальности.

Параметры:

• token — токен для авторизации;
• text — текст для проверки; Важно! Если в тексте есть переносы строк (абзацы, списки и т. п.) их нужно заменить на символ "\n" без кавычек.
• title — (необязательно) название проверки. Используется для отображения в веб-интерфейсе;
• Options — (необязательно) параметры проверки.

Возможны следующие параметры:

• ignore_rules — (необязательно) перечень правил, по которым будут игнорироваться сайты при проверки.

Доступные правила:

• "u:<url>" - проверка уникальности будет игнорировать данный url;
• "b:<domain>" - проверка уникальности будет игнорировать все url, начинающиеся с domain;
• "r:<regex>" - проверка уникальности будет игнорировать все url, подходящие по заданное регулярное выражение.

Важно! Если в регулярном выражении используется обратный слэш \ или двойные кавычки "", их нужно экранировать:

Регулярное выражение для использовани в веб-версии антиплагиата:

.*my\.site - игнорировать все поддомены домена my.site

То же выражение для отправки через API:

.*my\\.site

В запросе:

"options":
{
"ignore_rules":
[
"r:.*my\\.site"
]
}

Вызов:

POST https://api.advego.com/json/antiplagiat/add/

{
"id": "1",
"jsonrpc": "2.0",
"method": "unique_text_add",
"params":
{
"token": "токен",
"text": "текст",
"title":"название работы",
"options":
{
"ignore_rules":
[
"u:<url>",
"b:<domain>",
"r:<regex>"
]
}
}
}

Ответ:

{
"id": 1,
"jsonrpc": "2.0",
"result": {
"key": "NNN"
}
}

Где NNN - номер созданной проверки.

Если попытка создания неудачная:

{
"jsonrpc": "2.0",
"result": {
"error": "-1", "error_msg": "сообщение об ошибке"
},
"id": 1
}
проверка не была добавлена.

Error — код ошибки. Возможные коды ошибки:

-1 — не хватает символов на счету;
-2 — не хватает денежных средств на счету;
-5 — ошибка подключения к БД;
-10 — получен неверный ключ;
-11 — ошибка авторизации по токену;
-13 — ошибка при проверке поля text;
-14 — ошибка при проверке поля title;
-17 — ошибка добавления работы;
-21 — текст не найден;
-67 — not enough symbols – недостаточно символов на счету, минимальное количество – 100 000.

-------

unique_check - возвращает состояние проверки и отчет, если проверка выполнена.

Параметры:

• token — токен для авторизации;
• key — идентификатор проверки, полученный при добавлении;
• get_text - если указан, то вместе с отчетом будет возвращен проверенный текст;
• agent - тип проверки, указывается чтобы получить результат проверки работы или статьи.
• report_json - формат отчета, рекомендуется значение 1.

Возможные значения:

• shopchecker - получить отчет о проверки статьи, key - id статьи;
• jobchecker - получить отчет о проверки работы, key - id работы.

Вызов:

POST https://api.advego.com/json/antiplagiat/get/

{
"jsonrpc": "2.0",
"method": "unique_check",
"params":
{
"token": "токен",
"key": "id проверки",
"get_text":"0 или 1",
"report_json":"0 или 1"
},
"id": 1
}

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

Проверка выполняется

{
"id": 1,
"jsonrpc": "2.0",
"result": {
"msg": "",
"status": "in progress"
}
}

Проверка выполнена

{
"id": 1,
"jsonrpc": "2.0",
"result": {
"status": "done",
"report": {
"equality": 100,
"rewrite": 100,
...
}
},
}

• "status" — состояние проверки.

Возможные состояния проверки:

• done - проверка завершена успешно;
• error - проверка завершена с ошибкой;
• not found - проверка с данным ключом не найдена;
• in progress - проверяется.

• "report" — отчёт о проверке в формате json (см. Формат отчета). Присылается в ответе, только если проверка закончена (статус "done").
• "msg" — сообщение с дополнительной информацией.
• text -проверенный текст

Ошибка запроса

{
"id": 1,
"jsonrpc": "2.0",
"result": {
"status": "error",
"msg": ""
},
}

Error — код ошибки. См. расшифровку кодов ошибок в методе unique_text_add

-------

unique_recheck - запускает новую проверку ранее добавленного текста. При этом удаляет предыдущие проверки из очереди.

Вызов:

POST https://api.advego.com/json/antiplagiat/

{
"jsonrpc": "2.0",
"method": "unique_recheck",
"params":
{
"token": "токен",
"key": "id проверки"
},
"id": 1
}

Параметры:
• token — токен для авторизации;
• key — идентификатор проверки, полученный при добавлении.

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

Новая проверка добавлена.

{"jsonrpc":"2.0","id":1,"resul t":1}

Ошибка при выполнении.

{"jsonrpc": "2.0", "result": {"error": "-1", "error_msg": "сообщение об ошибке"}, "id": 1 }

Error — код ошибки. См. расшифровку кодов ошибок в методе unique_text_add

-------

unique_get_text - возвращает текст на проверке

Вызов:

POST https://api.advego.com/json/antiplagiat/

{
"jsonrpc": "2.0",
"method": "unique_get_text",
"params":
{
"token": "токен",
"key": "id проверки"
},
"id": 1
}

Параметры:

• token — токен для авторизации;
• key — идентификатор проверки, полученный при добавлении.

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

Успешный запрос

{"jsonrpc":"2.0","id":1,"resul t":{"text":"текст"}}

Ошибка запроса

{"jsonrpc": "2.0", "result": {"error": "-21", "error_msg": "сообщение об ошибке"}, "id": 1 }

Error — код ошибки. См. расшифровку кодов ошибок в методе unique_text_add

=======

Формат отчета:

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"report": {
"layers_by_domain": [
{
"rewrite": 33,
"equality": 19,
"layers": [
{
"equality": 19,
"rewrite": 33,
"uri": "https://site/",
"words": [
7,
30,
31,
32
],
"shingles": [
31,
32,
33,
34,
35,
36,
37,
38
]
},
],
"len": 1050,
"bad_words": [],
"equal_words": [
0,
1,
3,
5,
7,
15,
19,
20,
22,
24,
25,
27,
28,
30
],
"word_count": 154,
"lang": "russian",
"error_pages": 0,
"rewrite": 82,
"progress": 100,
"text_fragments": [
"",
"Слово1",
" ",
"Слово2",
" ",
"Слово3",
" ",
"Слово4",
" ",
"Слово5",
". "
],

"captchas": 0,
"found_pages": 11,
"checked_pages": 48,
"equal_shingles": [
31,
32,
36,
37,
38,
40
],
"checked_phrases": 8,
},
"status": "done"
}
}

Расшифровка:

layers_by_domain - найденные страницы с совпадениями, сгруппированные по доменам (если найдено несколько страниц на одном сайте),
layers - найденные страницы линейным списком,
equality - количество найденных совпадений по фразам в указанном источнике (uri), процентов,
rewrite - количество найденных совпадений по словам в указанном источнике (uri), процентов,
uri - адрес страницы с найденными совпадениями,
words - слова, входящие в найденные совпадения по словам (см. text_fragments),
shingles - слова, входящие в найденные совпадения по фразам (см. text_fragments),
len - длина текста в символах с пробелами,
bad_words - слова с подменой символов,
equal_words - аналогично words, но для всего текста,
equal_shingles - аналогично shingles, но для всего текста,
word_count - количество слов в проверяемом тексте,
text_fragments - фрагменты текста для восстановления совпадений по словам и фразам. Порядковый номер фрагмента вычисляется по формуле 2n + 1, где n = номеру, указанному в соответствущей секции words, shingles, equal_words и equal_shingles.

Похожие статьи