Skip to content

api cms on save corrected

Konstantin V. Borisov edited this page Apr 12, 2022 · 1 revision

POST on-save-corrected

Партнёру необходимо реализовать этот метод на своём сайте для того, чтобы сохранять документы откорректированные в редакторе Литеры.

На странице Подготовка текста есть менее формальное описание, с примерами использования и более подробным функциональным описанием параметров.

Запрос

interface SaveCorrectedRequest {
    /**
     * Текущее время в формате unix timestamp (количество секунд с 1970 года)
     * 
     * @пример: "1410103972"
     * @обязательный: да
     */
    time: string;
    
    /**
     * Идентификатор переданный в ходе запроса CheckRequest.token.
     * 
     * @пример: "любаяСтрока"
     * @обязательный: да
     */
    token: string;
    
    /**
     * Отредактированный заголовок документа
     * 
     * @пример: "Заголовок документа"
     * @обязательный: нет
     */
    title: string;
    
    /**
     * Отредактированное краткое описание
     * 
     * @пример: "Краткое описание"
     * @обязательный: нет
     */
    description: string;
    
    /**
     * Отредактированные ключевые слова
     * 
     * @пример: "ключевые слова"
     * @обязательный: нет
     */
    keywords: string;
    
    /**
     * Отредактированные произвольные дополнительные поля
     * 
     * @пример: [{
     *            "name": "description", 
     *            "value": "<p>Дополнительное описание документа</p>"
     *          }]
     * @обязательный: нет
     */
    custom: object[];
    
    /**
     * Отредактированный текст документа. Если не указан, то это означает, 
     * что пользователь нажал кнопку "Отменить правки и вернуться в CMS", 
     * то есть решил не сохранять сделанные правки в CMS.
     * 
     * @пример: "<h1>Заголовок</h1><p>текст без ошибок</p>"
     * @обязательный: нет
     */
    html: string;
    
    /**
     * JSON модель статистического отчёта. 
     * Присутствует только если в методе setup настроен параметр getStats.
     * 
     * @пример: {"annotations": [], "words": []}
     * @обязательный: нет
     */
    stats: object;
   
    /**
     * Электронная подпись запроса, формируется по алгоритму `md5(time + token + 
     * title + description + keywords + custom.map(name + value) + html + API_SECRET_KEY)`
     * 
     * @пример: "5eb63bbbe01eeed093cb22bb8f5acdc3"
     * @обязательный: да
     */
    signature: string;
}

Модель статистического отчёта описана отдельно на странице stats.

Ответ

interface SaveCorrectedResponse {
    /**
     * Текущее время в формате unix timestamp (количество секунд с 1970 года)
     * 
     * @пример: "1410103972"
     * @обязательный: да
     */
    time: string;
    
    /**
     * Ссылка на страницу сайта Партнёра на которую будет перенаправлен 
     * ответ в редакторе Литеры при помощи HTTP 302 редиректа.
     * 
     * @пример: "http://cms.my-company.ru/litera/return-to-cms?user=12&doc=12345"
     * @обязательный: да
     */
    url: string;
    
    /**
     * Электронная подпись ответа, формируется по алгоритму `md5(time + 
     * url + API_SECRET_KEY)`
     * 
     * @пример: "5eb63bbbe01eeed093cb22bb8f5acdc3"
     * @обязательный: да
     */
    signature: string;
}

Clone this wiki locally