Откриване на плагиатизма API: да изпрати текст, да разгледаме доклада.
Шепа от крайни точки, автентизация на носителя, прозрачно кредитно ценообразуване. Изграден за агенции, редакционни тръби и LMS-придружаващи инструменти.
Вашият API ключ
Впишете се, за да получите API ключ. Ключовете идват с всяка сметка; API чекове са сметени в кредити.
ЗаписванеКрайни точки
POST /api/v1/check/
Връща 202 с check_id. Тяло: JSON с текстово поле, опционално дълбоко буленско.
curl -X POST https://plagiarism.free/api/v1/check/ \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "The text you want to check..."}'
GET /api/v1/check/<check_id>/
Анкета за статут; когато се направи статута, е включен пълен доклад: резултат, тип на изказване на съвпадение с доверие и извадки от източници и списък на източниците.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Изброете последните си проверки, първо. Опционални парали за изпит: лимит (1- 100, по подразбиране 20) и състояние (наръчване, извършено, провали...). Reconcile подавания и обратно вашата собствена табло без съхраняване на всеки check_id.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Пример за Python
import time
import requests
API = "https://plagiarism.free/api/v1/check/"
HEADERS = {"Authorization": "Bearer YOUR_KEY"}
r = requests.post(API, json={"text": open("essay.txt").read()}, headers=HEADERS)
check_id = r.json()["check_id"]
while True:
report = requests.get(f"{API}{check_id}/", headers=HEADERS).json()
if report["status"] in ("done", "failed"):
break
time.sleep(3)
print(report["score_pct"], "% matched")
for source in report["sources"]:
print(source["pct_of_document"], source["url"])
Пример за JavaScript
const API = "https://plagiarism.free/api/v1/check/";
const headers = { "Authorization": "Bearer YOUR_KEY", "Content-Type": "application/json" };
const { check_id } = await fetch(API, {
method: "POST", headers, body: JSON.stringify({ text })
}).then(r => r.json());
let report;
do {
await new Promise(res => setTimeout(res, 3000));
report = await fetch(`${API}${check_id}/`, { headers }).then(r => r.json());
} while (!["done", "failed"].includes(report.status));
Цена
Идентичен на сайта: 1 кредит = 1000 думи сканирани, закръглени на чек; дълбоки проверки разходи двойно. Кредитни пакети са валидни 365 дни; абонаменти за пълнене месечно и включват API на всяко ниво. Без отделен API низ, без такси за седалка. Вж. планове и опаковки
Проверките се извършват асинхронно (реално, ограничено на скоростта уеб ретриекция отнема 20-45 секунди) - проучване на крайната точка на състоянието, вместо да държи връзката отворена. HTTP 402 означава недостатъчен кредит; отговорът включва това, което ще струва чек.