Plagiarisme - opsporing API: stuur teks neer, sê die verslag.
'n Handvol punte, draer' nuth, deursigtige kredietprysing. Gebou vir agentskappe, redaksionele pypleidings en LMS-dalade gereedskap.
Jou API-sleutel
Teken in om jou API-sleutel te kry. Sleutels kom met elke rekening; API-kontroles word in krediete aangeteken.
Meld opEinde punt:
POST /api/v1/check/
Dien 'n teks vir tjek. Gee terug 202 met' n kontrole_id. Liggaam: JSON met 'n teks veld, opsionele goedebig.
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>/
Pos vir status; wanneer status is klaar die volledige raporteer is ingesluit: telling, per-enteniteit ooreenstem tipes met vertroue en bron uittreksels, en die bronlys.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Lys jou onlangse tjeks, nuutste eerste. Opsionele navraag params: beperk (1-100, verstek 20) en status (gekies, gedoen, gevaal...). Reconcile onderdanigheids en terug jou eie paneelbord sonder om elke kontrole_id te stoor.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Python-voorbeeld
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 voorbeeld
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));
Comment
Identies na die terrein: 1 krediet = 1000 woorde gecardineer, gerond per tjek; diep tjeks kos dubbel. Krediet pakkies is geldige 365 dae; intekeninge hervulling maandelikse en sluit die API op elke vlak in. Geen aparte API-vlak, geen per-eetgelde nie. Sien planne en pakkies
Tjeks loop asynchronous (ware, tempo-limited web onttrekal neem 20-45 sekondes) - stem eerder die statuspunt uit as om die verbinding oop te hou. HTTP 402 beteken onvoldoende krediete; die reaksie sluit in wat die tjek sou kos.