Plagiarism detection API: kutumiza malemba, poll ripoti.
M'malo mwake, pali ma endpoints ambiri, oyang'anira, kulipira ndalama mosawoneka bwino. Kupangidwa kwa mabungwe, ma pipelines olemba ndi zida zozungulira LMS.
Chithunzi cha API
Kulowa kuti mudziwe chida chanu cha API. Ma Keys amapezeka paakaunti iliyonse; Ma API amawerengedwa mu ngongole.
KulembetsaZigawo
POST /api/v1/check/
Kutumiza mawu kuti atsimikizire. Kubwerera 202 ndi check_id. Mtima: JSON ndi mawu a m'munda, wosankha deep 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>/
Poll kwa khalidwe; pamene khalidwe ndi zochita ripoti yonse ndi kuphatikizapo: score, per-mlandu match mitundu ndi kukhulupilira ndi kupezeka masamba, ndi mnda wa kupezeka.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Lingalirani zoyeserera zanu zaposachedwa, zatsopano zayamba. Paramu yosafunikira ya mafunso: kuletsa (1-100, kukhazikitsidwa koyambirira 20) ndi khalidwe (kuyang'ana, kumaliza, kulephera...). Kugwirizana ndi zopereka ndi kumbuyo kwa dashboard yanu popanda kusungira chilichonse check_id.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Python chitsanzo
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"])
Mfano wa 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));
Kugulitsa
Kufanana ndi tsambali: 1 credit = 1,000 mawu osindikizidwa, ozungulira pa check; deep checks mtengo wofanana. Credit pakiti ndi zogwirizana 365 masiku; zolembetsa refill mwezi uliwonse ndi kuphatikiza API pa zonsezi. Palibe API mbali, palibe per-seat ndalama. Onani maphunziro ndi mapaketi
Kuyesa kumachitika mosagwirizana (kuyenera, kuwonjezeka kwa webusaitiyi kumatenga masekondi 20-45) - kufunsa mfundo ya stat endpoint kuposa kukhazikitsa kulumikizana. HTTP 402 kumatanthauza kuti palibe ndalama zokwanira; yankho limaphatikizapo zomwe kuyendera kumawononga.