API għall-individwazzjoni tal-plaġjariżmu: ibgħat it-test, iċċekkja r-rapport.
A manku tal-punti aħħarin, bearer awth, prezzijiet kreditu trasparenti.Mibnija għall-aġenziji, pipelines editorjali u LMS-għodod ħdejn.
Il-muftieħ API tiegħek
Log in biex tikseb il-kodiċi tal-API tiegħek.Iċ-ċwievet jiġu ma' kull kont; Il-kontrolli tal-API huma ċċarġjati fi krediti.
Irreġistra issaPunti aħħarin
POST /api/v1/check/
Jippreżenta test għall-iċċekkjar. Jirritorna 202 ma check_id. Korp: JSON ma qasam test, fakultattiva 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 għall-istatus; meta l-istatus isir ir-rapport sħiħ huwa inkluż: punteġġ, per-sentenza tat-tip jaqblu mal-kunfidenza u sors siltiet, u l-lista sors.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Lista checks reċenti tiegħek, l-aktar ġdida l-ewwel. Parametri mistoqsija fakultattivi: limitu (1-100, default 20) u l-istatus (fil-kju, magħmula, fallew...). Rikonċilja sottomissjonijiet u lura dashboard tiegħek stess mingħajr ma jaħżnu kull check_id.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Eżempju ta’ 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"])
Eżempju ta’ 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));
Prezzijiet
Id-differenza bejn il-pakketti ta' kreditu u l-pakketti ta' servizz hija li l-pakketti ta' kreditu huma validi għal 365 jum; l-abbonamenti jiżdiedu kull xahar u jinkludu l-API f'kull livell. L-ebda livell separat ta' API, l-ebda tariffa għal kull post. Ara l-pjanijiet u l-pakketti
Il-kontrolli jsiru b'mod asinkronu (riċerka reali fuq il-web b'rata limitata tieħu 20-45 sekonda) - iċċekkja l-punt aħħari tal-istatus minflok ma żżomm il-konnessjoni miftuħa. HTTP 402 ifisser krediti insuffiċjenti; it-tweġiba tinkludi l-ispiża tal-kontroll.