Plagiarizmus észlelése API: a szöveg benyújtása, közvélemény-kutatás a jelentést.
Egy maroknyi végpont, hordozó auth, átlátható hitelár. Ügynökségek, szerkesztői csővezetékek és LMS-adjacent eszközök számára.
Az API kulcsa
Jelentkezz be, hogy megkapd az API kulcsot. A kulcsok minden számlával együtt jönnek; az API csekkeket kiszámlázzák kreditekkel.
Regisztrálj!Végpontok
POST /api/v1/check/
Küldj egy szöveget az ellenőrzéshez. 202-et ad vissza check_id-del. Test: JSON szövegmezővel, opcionális mély boolean.
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>/
A státuszt ellenőrző szavazás; a státuszt a teljes jelentés tartalmazza: pontszám, a véleményenkénti egyezés típusok, a megbízhatóság és a forrásrészletek, valamint a forráslista.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
A legújabb csekkek listája, a legújabb első. Opcionális lekérdezési params: limit (1-100, default 20) és állapot (queued, done, failed...). Reconcile submissions and back your own dashboard without storage every check_id.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Python példa
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 példa
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));
Árak
Ugyanolyan, mint a helyszínen: 1 hitel = 1000 szó beszkennelve, kerekítve egy ellenőrzés után; mély ellenőrzés duplája. Hitelcsomag érvényes 365 nap; előfizetések újra havonta, és tartalmazza az API minden szinten. Nincs külön API szint, nincs per-seat díj. Lásd a terveket és a csomagokat
Az aszinkron ellenőrzések (valós, sebességkorlátozott webes visszakeresés 20-45 másodpercet vesz igénybe) - a kapcsolat fenntartása helyett inkább az állapot végpontjának vizsgálata. A HTTP 402 nem jelent elegendő kreditet; a válasz tartalmazza, hogy az ellenőrzés mennyibe kerülne.