ПравДоп · Текст — підключення агента Адреса: https://text.automatizer.online Авторизація: Authorization: Bearer <ключ із «Доступ і налаштування»> Ключ створює користувач після входу. Ключи не передавайте у URL. REST API: POST /api/checks Content-Type: application/json {"title":"Назва","text":"Текст від 7 слів…","options":{"mode":"internal","semantic":true,"ai":false,"external_ai":false}} Відповідь 202: {"id":"…","status_url":"/api/checks/…","pdf_url":"/api/checks/…/pdf"} GET /api/checks/{id} — опитувати не частіше разу на 3 секунди до complete або failed. GET /api/checks/{id}/pdf — завантажити збережений короткий звіт після complete. GET /api/checks/{id}/pdf?full=true — розширений PDF: метод, SHA-256, найдовші фрагменти, журнал запитів, додаткові URL та помилки. GET /api/checks — останні 100 власних перевірок. DELETE /api/checks/{id} — видалити перевірку (після завершення). POST /api/checks/upload — multipart: file (TXT/DOCX/PDF, до 10 МБ), options (JSON), title. MCP Streamable HTTP (без зберігання сеансів): URL: https://text.automatizer.online/mcp Header: Authorization: Bearer <ключ> Інструменти: check_text, get_check, list_checks. check_text: {"title":"…","text":"…","mode":"internal","semantic":true,"ai":false,"external_ai":false} get_check: {"id":"…"} Важливо: - internal — «Внутрішня перевірка»: пошук опублікованих статей лише на pravdop.com та legalserviceukraine.com. Фрагменти передаються пошуковикам; ручна база не використовується. coverage.internal_domains і coverage.sites показують обидва сайти та охоплення. Без завантажених сторінок score.uniqueness=null. - competitors — «Перевірити конкурентів»: пошук лише на сайтах спільного переліку конкурентів; без заповненого переліку запит відхиляється (422). Редагування: «Доступ і налаштування» → «Перелік сайтів конкурентів», адміністратор. - Нові виключення: exclude_pravdop, exclude_legalserviceukraine, exclude_legislation, exclude_government — усі false за замовчуванням, REST у options, MCP на верхньому рівні. Виключають сайти та всі піддомени, включно з джерелами зі збереженої бази. coverage.excluded_domains показує фактичний перелік. - Мовні ознаки ШІ: ai=false за замовчуванням. Змістова подібність: semantic=true. - GET /api/site-lists — реєстр конкурентів, баз законодавства та державних доменів; PUT /api/site-lists {"competitors":["example.com"]} — лише адміністратор, до 30 доменів. - private — застарілий режим API для збереженої вручну бази, без зовнішніх пошукових або AI-запитів; лише спільний корпус і локальні модулі. - web — фрагменти передаються пошуковикам. Використовуйте лише з дозволу власника матеріалу. - Відсоток унікальності стосується лише перевірених джерел. Жоден режим не перевіряє весь інтернет. - У web без завантажених зовнішніх сторінок score.uniqueness=null; coverage.web_status=unavailable або no_external_sources. score.corpus_uniqueness — окреме порівняння з внутрішнім корпусом, не інтернетом. - mode=web задавайте явно: REST options.mode, MCP mode. Типовий режим API — private. - 10 незавершених перевірок на обліковий запис (черга + виконання), спільно для браузера й усіх його ключів. Один обробник виконує завдання послідовно. 30 спроб створення за годину; після 429 перевірте наявні завдання, не дублюйте створені. - coverage містить охоплення і доступність джерел. Частковий пошук позначено як попередній. - AI index — індекс шаблонності, не ймовірність авторства ШІ. - Перевірки автоматично видаляються через 90 днів; резервні копії зберігаються 14 днів. Відкриті компоненти: Noplag Engine Apache-2.0 (https://github.com/NoplagLabs/noplag-engine/tree/aaf7839766460cf387e91b5a730aba8928db47d8); SearXNG AGPL-3.0 (https://github.com/searxng/searxng); DDGS MIT (https://github.com/deedy5/ddgs); BAAI/bge-m3 MIT (https://huggingface.co/BAAI/bge-m3/tree/5617a9f61b028005a4858fdac845db406aefb181). Зовнішній ШІ: адміністратор підключає OpenRouter у «Доступ і налаштування». Для свідомо дозволеного зовнішнього аналізу: mode=web, ai=true, external_ai=true (в API всередині options). Передаються до 16000 символів. У private, internal та competitors external_ai завжди вимикається. Використовуються лише доступні :free моделі з перевіреною нульовою ціною; quota_exhausted/unavailable не означають успішного аналізу. Суперадміністратор: GET /api/history/accounts — акаунти й кількість перевірок; GET /api/checks?account_id=&offset=0 — історія обраного акаунта, по 100 записів (наступна сторінка offset=100). Лише роль superadmin. Звичайний GET /api/checks та MCP list_checks повертають власні перевірки. DELETE /api/checks очищає тільки власні завершені/невдалі перевірки навіть для суперадміністратора. У вебісторії суперадміна перемикач «Моя історія / Загальна». Загальна — лише перегляд і завантаження звітів, без повтору та видалення. DELETE /api/checks/{id} дозволено лише власнику перевірки. Додаткові джерела: REST options.source_urls, MCP source_urls — список до 30 повних HTTP/HTTPS URL (до 2000 символів кожен). Наприклад: {"mode":"web","source_urls":["https://example.com/article"]}. Сторінки завантажуються безпосередньо, доповнюють звичайний пошук і не обмежують його. У internal/competitors URL мають належати сайтам обраного режиму; у private заборонені. Конфлікт із виключеннями відхиляється (422). Перенаправлення та DNS проходять ті самі обмеження публічних адрес. result.provided_urls повертає статус кожного URL, coverage.provided_pages/provided_requested — підсумок. URL, що збігаються після нормалізації, зіставляються один раз. Розширений пошук виконується автоматично для фрагментів, початкові джерела яких не дали підтверджених збігів: до 12 додаткових скорочених запитів та до 16 додаткових завантажень понад 20 основних сторінок. Явні URL мають окремий бюджет до 30. Усі етапи зберігають межі сайтів та виключення. coverage.expanded_queries та searches[].phase показують розширення; searches[].query — фактичний запит. Немає гарантії повного охоплення інтернету. Метод основного відсотка не змінено.