Plagiaristično odkrivanje API: predložiti besedilo, anketa poročila.
Pesmo opazovanih točk, prinašatelj avtentikacije, pregledne kreditne cene. Zgrajena za agencije, uredniške cevovode in LMS-adjacent orodja.
Vaš API tipka
Prijava, da dobite ključ API. Ključi prihajajo z vsakim računom; API preverjanja so računovodski v kreditih.
Odjavi seKončni točki
POST /api/v1/check/
Predloži besedilo za preverjanje. Vrne 202 s check_id. Tjelo: JSON z besedilnim poljem, izbirno globoko logično.
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>/
Pregled stanja; ko je stanje opravljeno, je vključeno celotno poročilo: rezultat, tipi mečev na izjavo s samozavestjo in izlomki iz vira in viri.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Naštejte svoje zadnje preglede, najprej. Izbirni parametri poizvedbe: meja (1- 100, privzeto 20) in status (narejeno, opravljeno, neuspešno...). Reconcile predložitve in nazaj lastno ploščo s pomočjo plošče brez shranjevanja vsakega check_id.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Primer Pythona
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"])
Primer za 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));
Cene
Identičen stran: 1 kredit = 1000 besed skeniranih, zaokrožen na ček; globoke kontrole stroški dvojno. Kreditni paketi so veljavni 365 dni; naročnine polnitev mesečno in vključuje API na vsaki ravni. Brez ločenih API stopenj, brez pristojbin za vsak sedež. Glejte načrte in pakiranja
Preverjanje teče asyncronoly (realno, omejeno spletno pridobivanje traja 20-45 sekund) - anketa opazovanja stanja opazovanega dogodka namesto, da bi držali povezavo odprto. HTTP 402 pomeni nezadostno kredite; odziv vključuje, koliko bi ček strošek.