Plagiarizmo aptikimo API: pateikti tekstą, apklausti ataskaitą.
Sauja rezultatų, nešėjas auth, skaidri kredito kainodara. Pastatytas agentūrų, redakcinių vamzdynų ir LMS-adjacent įrankiai.
Jūsų API raktas
Prisijunkite, kad gautumėte API raktą. Raktai ateina su kiekviena paskyra; API patikrinimai yra apskaitomi kreditais.
PrisijungtiGalutiniai taškai
POST /api/v1/check/
Pateikite patikrinti skirtą tekstą. Grįžta 202 su Check_id. Kūnas: JSON su teksto lauku, neprivalomu giliu booleanu.
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>/
Pull už statusą; kai būsena yra padaryta, visas pranešimas yra įtrauktas: rezultatas, vienai eilutei atitikimo tipų su patikimumu ir šaltinio ištraukomis, ir šaltinių sąrašas.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Pirmą kartą išvardykite naujausius patikrinimus. Neprivaloma užklausa: riba (1– 100, numatytasis 20) ir būsena (užpildytas, atliktas, nepavyko...). Suderinkite informaciją ir grąžinkite savo prietaisų skydelį, nesaugodami kiekvieno check_ id.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Python pavyzdys
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 pavyzdys
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));
Kainos
Identifkalus svetainės: 1 kreditas = 1000 žodžių nuskaitytas, suapvalintas iki už patikrinimą; gilių patikrinimų kaina dvigubai. Kreditų paketai galioja 365 dienas; prenumeratos užpildomos kas mėnesį ir apima API kiekviename lygmenyje. Nėra atskiro API pakopa, nėra už vietą mokesčių. Žr. planus ir paketus
Patikrinimai veikia asinchroniškai (tikras, norma limituotas interneto retriveris trunka 20-45 sekundžių) - apklausti būsenos vertinamoji baigtis, o ne išlaikyti ryšį atviras. HTTP 402 reiškia, kad nepakanka kreditų; atsakymas apima tai, ką patikrinimas kainavo.