API для виявлення Плагіарисизму: відсилайте текст, прослуховуйте звіт.
Є кілька кінцевих пунктів, автентифікація, прозорий кредитовий цент, побудований для агентств, редакторських трубопроводів і LMS-ад'ятентних інструментів.
Ваш ключ API
Підписатися, щоб отримати ваш ключ API. Ключі надходять з кожним обліковим записом; чеки API буде прораховано у кредитах.
ПідписуванняКінцеві точки
POST /api/v1/check/
Надіслати текст для перевірки. Повертає 202 з check_ id. Тіло: JSON з текстовим полем, необов' язковим булівським.
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>/
Опитування стану. Якщо буде виконано звіт, буде включено: рахунок, збіг між вказаними типами, параметри та уривки з вихідного коду і список джерел.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Список ваших останніх перевірок, найновіші. Додаткові параметри запиту: обмеження (1- 100, типовий 20) і стан (запит, виконано, помилка...). Перелік повідомлень і зворотного вибору ваших власних панелей інструментів без збереження всіх чеків_ ідентифікаторів.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Приклад 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"])
Приклад 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));
Приоритет
Ідентифікатор сайта: 1 кредит = 1000 слів сканованих, округлених на перевірку; вартість перевірки подвоюється. Пакунки з сумою є коректними 365 днів; підписки нарощуються щомісячно і включають API на кожному рівні. Не буде окремої краватки API, немає внесків на кожен з продуктів харчування. Див. плани і пачки
Перевіряє асинхронно (дійсне, обмеження на розмір у ставках на веб- отримання даних займає 20- 45 секунд) - перевіряє кінцеву точку стану, замість того, щоб тримати з' єднання відкритим. HTTP 402 означає недостатнє надання кредиту; відповідь містить те, що буде коштувати чек.