Plagiarizm aşkarlama API: mətni göndər, hesabatı sorğula.
Bir neçə son nöqtəsi, daşıyıcı təsdiqi, açıq kredit qiymətləndirməsi. Agentliklər, redaksiya boruları və LMS-ə yaxın alətlər üçün inşa edilmişdir.
API açarı
API açarınızı almaq üçün daxil olun. Açarlar hər hesabla gəlir; API yoxlamalarının kreditlə hesablanması tələb olunur.
Qeyd EtSon nöqtələr
POST /api/v1/check/
Yoxlanmaq üçün bir mətn göndərin. check_id ilə 202 geri qaytarır. Body: JSON with a text field, optional 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>/
Status üçün sorğu; status tamamlandıqda tam hesabat daxildir: bal, cümlə-cədvəl uyğunluq növləri etibarlılıq və mənbə parçaları ilə, və mənbə siyahısı.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Son yoxlamalarınızı siyahıya al, ən yenisi əvvəlcə. Seçkili sorğu parametrləri: limit (1-100, ön qurğulu 20) və status (qrupda, tamamlandı, bacarılmadı...). Göndərmələri birləşdir və hər check_id-i saxlamadan öz idarə panelinizi geri qaytar.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Python nümunəsi
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 nümunəsi
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));
Qiymətləndirmə
Sayta bənzər: 1 kredit = 1000 söz skan edilmiş, hər bir yoxlama üçün yuxarı doğru yuvarlanmışdır; dərin yoxlamalar ikiqat qiymətə başa gəlir. Kredit paketləri 365 günə qədər qüvvədədir; abunə ayda bir doldurulur və hər səviyyədə API-ni ehtiva edir. Heç bir ayrı API səviyyəsi yoxdur, hər yer üçün heç bir ödəniş yoxdur. Planları və paketləri gör
Yoxlamalar asıqlanmadan işləyir (real, sürət məhdud veb əldə etmə 20-45 saniyə çəkir) - əlaqəni açıq saxlamaq əvəzinə vəziyyət son nöqtəsi sorğulanır. HTTP 402 yetərsiz kreditlər deməkdir; cavab yoxlamanın nə qədərə başa gələcəyini də ehtiva edir.