ПишиЯсно

Документация API

Состояние: публичный API готовится. Ключи, привязка к домену и тарифы появятся при запуске личного кабинета; этот раздел описывает формат, который уже работает.

Быстрый старт

Отправьте текст — получите список найденных мест с позициями и вариантами замены.

curl -X POST https://api.pishiyasno.ru/api/v1/check \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <ваш_ключ>' \
  -d '{"text": "Вообщем, это придложение.", "language": "ru"}'

Ответ

{
  "matches": [{
    "message": "Возможная орфографическая ошибка: слово не найдено в словаре.",
    "shortMessage": "Опечатка",
    "replacements": [{"value": "предложение"}, {"value": "приложение"}],
    "offset": 14, "length": 11,
    "rule": {"id": "RU_SPELLING", "category": {"id": "TYPOS"}},
    "confidence": 0.9, "tier": "error"
  }]
}

Запрос

ПолеОписание
textОбязательно. Текст до 20 000 символов.
languageru, ru-RU или auto.
disabledRulesИдентификаторы правил, которые не нужно показывать (массив или строка через запятую). Список правил — в справочнике.

Формат ответа — надмножество /v2/check LanguageTool: существующие клиенты работают без изменений; мы добавляем поля confidence, tier и source. Эндпоинт POST /v2/check принимает ту же проверку в виде формы.

Смещения

offset и length считаются в единицах UTF-16, как String.length в JavaScript. Эмодзи и суррогатные пары учтены.

Уровни подсказок

  • tier: "error" — ошибка, подчёркивается как ошибка.
  • tier: "suggestion" — мягкая подсказка (буква «ё», слово по смыслу): показывайте как предложение, не как ошибку.

Ключи, домены и лимиты скоро

  • Ключ принадлежит проекту; проект привязывается к проверенному домену.
  • Лимиты считаются по проекту, а не по ключу: выпуск нового ключа лимиты не сбрасывает.
  • Публичные ключи (для кода в браузере) работают только с проверенных доменов; секретные — для серверов, их нельзя встраивать в страницы.
  • При превышении лимита возвращается 429 и заголовок Retry-After.

Ошибки

КодПричина
400Неверный запрос или язык, кроме русского.
401Нет или неверный ключ.
413Текст слишком длинный.
429Превышен лимит запросов.
503Сервер запускается.