Skip to content

use ogxt

Kirill Gubar edited this page Apr 18, 2022 · 2 revisions

Проверка текста при помощи Литеры 5 с последующей самостоятельной обработкой результатов проверки

Для воплощения этого сценария работы в API Литеры имеются следующие функции:

Общее описание процесса

Модель общего описания

При интеграции по этому сценарию всё взаимодействие с сервером Литеры производится самим Сайтом, пользователь и его браузер никакого взаимодействия с сервером Литеры не осуществляют. При желании несложно превратить метод API в синхронную функцию, которая на входе получает текст, а на выходе через какое-то время выдаёт результаты проверки. Поэтому этот вариант интеграции подходит для разного рода автоматических исправлятелей, альтернативных редакторов, самостоятельно реализующих отображение найденных ошибок, работу с аннотациями, внесение изменений в текст и так далее, все функции, которые в случае интеграции через iframe воплощены в редакторе Литеры. Так же этот вариант может быть использован для подключения проверок Литеры к текстовым редакторам.

Так же для работы вам может понадобиться наша библиотека по работе с текстовым форматом ogxt и моделями результатов проверки ogxt-utils.

POST check-ogxt

Диаграмма вызова check-ogxt

Задача этого метода - запустить процесс проверки текста на сервере Литеры.

Параметры запроса

  • login - Имя входа пользователя Литеры, который работает с документом.
  • profile - Тип проверки документа (закладка «правописание» - ortho, «красота» - cicero или «качество» - quality). В зависимости от типа проверки подключаются различные наботы правил на которые проверяется текст.
  • document - Идентификатор документа в Литере. Если параметр указан, то будет продолжена работа над уже существующим документом, если нет, то будет создан новый документ. Пожалуйста, обратите внимание на то обстоятельство, что в данный момент в Литере5 с документом может работать только один пользователь. Поэтому несмотря на то, что в CMS с документом могут работать различные пользователи, при работе с одним и тем же документом в API имеет смысл передавать в login не идентификатор текущего пользователя CMS Партнёра, а идентификатор пользователя создавшего данный документ в Литере5 (того пользователя в результате проверки которого был выдан этот document). В противном случае API выдаст ошибку о недостатке прав пользователя на работу с документом.
  • name - Название документа (title, subject). Если не указано, то будет сформировано автоматически из текста.
  • html - Оригинальные текст для проверки в формате html. Если указан document, то текст заместит собой текст выбранного документа. Этот текст используется для отображения проверок в интерфейсе Литеры.
  • ogxt - Собственно текст, который будет проверяться. Дело в том, что для выполнения проверки Орфопроцессору Литеры нужен текст без лишней разметки, для этого используется наш внутренний формат ogxt, который представляет собой чистый текст с добавленными в конце файле данными о специфических участках текста таких, как заголовки, списки и так далее. Функции по получению текста в формате ogxt из текста в формате html для языков программирования JavaScript/TypeScript можно найти в программной библиотеке нашего производства ogxt-utils. Для других языков пока вариантов нет, придётся либо запускать процессы nodejs, либо портировать библиотеку на требуемый язык.

Ответ сервера Литеры

  • document - Идентификатор документа Литеры созданного/продолженного в результате запроса.
  • check - Идентификатор проверки инициированной запросом (это значение понадобится для получения результатов проверки и уточнения её состояния)

> Формальное описание метода...

POST check-ogxt-results

Диаграмма вызова check-ogxt-results

Параметры запроса

  • check - Идентификатор проверки полученный в результате запроса POST check-ogxt.

Ответ сервера Литеры

Модель ответа сервера будет всегда одна и та же по структуре, но в зависимости от состояния проверки необходимо обращать внимание на разные поля.

Проверка не завершена

  • state - CREATED, UPLOADED, WAITING_ESTIMATION, ESTIMATING, ESTIMATED_SUCCESS, WAITING_CHECK, CHECKING
  • progress - Прогресс проверки в целых процентах (число)
  • message - Дополнительное текстовое сообщение разъясняющее текущее состояние

Во время проверки произошла ошибка

  • state - ESTIMATED_ERROR, ESTIMATED_REJECT, CANCELLED, REJECTED, CHECKED_ERROR
  • message - Поясняющее объяснение сложившейся ситуации

Проверка завершена

  • state - CHECKED_SUCCESS
  • html - HTML который был подвергнут проверке в который можно встраивать результаты (на случай, если текст уже изменился)
  • annotations - JSON модель результатов проверки (описание формата модели)
  • stats - JSON модель статистического отчёта (описание формата модели)

> Формальное описание метода...

Clone this wiki locally