Skip to content

api l5 user

Konstantin V. Borisov edited this page Apr 11, 2022 · 4 revisions

POST user

Метод для настройки параметров пользователя Литеры.

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

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

Запрос

interface UserRequest {
    /**
     * Текущее время в формате unix timestamp (количество секунд с 1970 года)
     * 
     * @пример: "1410103972"
     * @обязательный: да
     */
    time: string;
    
    /**
     * Идентификатор Партнёра, указанный при регистрации в Литере.
     * 
     * @пример: "my-company"
     * @обязательный: да
     */
    company: string;
    
    /**
     * Идентификатор пользователя в Литере. Логин пользователя Литеры формируется 
     * из полей `login` и `company` по формуле "login@company". Идентификатор 
     * пользователя не может быть пустым и должен состоять из строчных (маленьких) 
     * букв английского алфавита, цифр или знака точки.
     * 
     * @пример: "user"
     * @обязательный: да 
     */
    login: string;
    
    /**
     * Имя которое будет выводиться в кабинете пользователя и в отчётах. 
     * Если не указано для нового пользователя, то будет использован `login`.
     * 
     * @пример: "Василий Иванович"
     * @обязательный: нет
     */
    name: string;
    
    /**
     * Пароль для нового пользователя, или при необходимости его сменить. 
     * Если пароль для нового пользователя не указан, он будет сгенерирован 
     * автоматически.
     * 
     * @пример: "sdflkjwerlkj"
     * @обязательный: нет
     */
    password: string;
    
    /**
     * Список разрешений для пользователя. Для вычисления signature все значения 
     * собираются в строчку без каких либо разделителей. Если при создании 
     * пользователя никаких разрешений не указано, то считается, что пользователь
     * создаётся с разрешениями по умолчанию, а именно: ["USE_DICTIONARY"]. 
     * Если необходимо создать пользователя, которому не разрешено работать со 
     * словарём, то необходимо передать пустой список разрешений: [].
     * 
     * Возможные разрешения:
     *
     * - USE_DICTIONARY — Работа с корпоративным словарём (добавлять, редактировать)
     * - DISABLE_CICERO — Работа с инструментами вкладки Красота ЗАПРЕЩЕНА! (Это 
     *   разрешение устаревшие, советуем пользоваться параметром checksCicero для 
     *   настройки возможности работы с вкладкой)
     * - DISABLE_QUALITY — Работа с инструментами вкладки Качество ЗАПРЕЩЕНА ! (Это 
     *   разрешение устаревшие, советуем пользоваться параметром checksQuality 
     *   для настройки возможности работы с вкладкой)
     * - DISABLE_API_SECONDARY_ORFO_CHECKS — Повторная проверка через API ЗАПРЕЩЕНА! 
     *   (Это разрешение устаревшие, советуем пользоваться параметром checksOrtho 
     *   для настройки возможности работы с вкладкой)
     * - DISABLE_WEB_INTERFACE — Работа пользователя через стандартный веб-интерфейс 
     *   сервиса Литера5 ЗАПРЕЩЕНА! Можно работать только через стороннее 
     *   веб-приложение, использующее API Литера5. Это разрешение также можно задавать 
     *   через административную консоль Литера5 на странице управления пользователями.
     * 
     * Если у пользователя уже заданы параметры запретов-разрешений, а вы хотите 
     * перейти на работу с новыми параметрами: checksCicero, checksQuality, 
     * checksOrtho — вам нужно выполнить запрос со списком разрешений из одного 
     * элемента ["USE_DICTIONARY"] либо с пустым: [] — если вы хотите также и работу 
     * со словарём запретить.
     * 
     * @пример: ["USE_DICTIONARY"]
     * @обязательный: нет
     * @умолчание: ["USE_DICTIONARY"]
     */
    permissions: string[];
    
    /**
     * Список типов аннотаций правописания, которые нужно показывать пользователю 
     * после проверки. Пустой список означает, что пользователю нужно будет выбирать 
     * их каждый раз после проверки документа. 
     * 
     * Возможные значения списка:
     * 
     * - mkSpelling — орфография
     * - mkGrammar — грамматика
     * - mkPunctuation — пунктуация
     * - mkStyle — стилистика
     * - mkSemantic — семантика
     * - mkTypography — типографика
     * - mkYo — буква ё
     * - mkPaperStructure — оформление
     * 
     * @пример: ["mkSpelling", "mkGrammar"]
     * @обязательный: нет
     */
    orthoKinds: string[];
    
    /**
     * Список типов аннотаций алгоритма «Цицерон», которые нужно показывать пользователю 
     * после проверки. Пустой список означает, что пользователю нужно будет выбирать их 
     * каждый раз после проверки документа. 
     * 
     * Возможные значения списка:
     * 
     * - mkTautology — тавтологии
     * - mkPhonics — неблагозвучия
     * - mkOrthoepy — орфоэпия
     * - mkSynonym — синонимы
     * - mkEpithet — эпитеты
     * 
     * @пример: ["mkSynonym"]
     * @обязательный: нет
     */
    cicieroKinds: string[];
    
    /**
     * Список типов аннотаций вкладки «Качество», которые нужно показывать пользователю 
     * после проверки. Пустой список означает, что пользователю нужно будет выбирать их 
     * каждый раз после проверки документа. 
     * 
     * Возможные значения списка:
     * - mkWater — водность текста
     * 
     * @пример: ["mkWater"]
     * @обязательный: нет
     */
    qualityKinds: string[];
    
    /**
     * Максимальное количество проверок грамотности (не может быть 0, минимальное 
     * значение 1, первая проверка запускается автоматически). -1 означает, что 
     * можно делать сколько угодно проверок. По умолчанию -1 (сколько угодно 
     * проверок).
     * 
     * @пример: 3
     * @обязательный: нет
     * @умолчание: -1
     */
    checksOrtho: number;
    
    /**
     * Максимальное количество проверок красоты. -1 означает, что можно делать 
     * сколько угодно проверок. 0 означает, что вкладки "Красота" не будет вовсе. 
     * По умолчанию -1 (сколько угодно проверок).
     * 
     * @пример: 0
     * @обязательный: нет 
     * @умолчание: -1
     */
    checksCicero: number;
    
    /**
     * Максимальное количество проверок качества. -1 означает, что можно делать 
     * сколько угодно проверок. 0 означает, что вкладки "Качество" не будет вовсе. 
     * По умолчанию -1 (сколько угодно проверок).
     * 
     * @пример: 2
     * @обязательный: нет
     * @умолчание: -1
     */
    checksQuality: number;
    
    /**
     * Максимальное количество проверок суммарно для всех вкладок. -1 означает, 
     * что можно делать сколько угодно проверок. По умолчанию -1 (сколько угодно 
     * проверок). Если задано ограничение checksTotal, например: 10, то когда 
     * пользователь выполнит десятую проверку, во всех вкладках у него исчезнут 
     * кнопки "Проверить...", и одиннадцатую проверку он выполнить не сможет ни 
     * в одной из вкладок, даже если для каждой конкретной вкладки вы не задавали 
     * ограничений.
     * 
     * @пример: 2
     * @обязательный: 
     * @умолчание: -1
     */
    checksTotal: number;
    
    /**
     * Электронная подпись запроса, формируется по алгоритму `md5(time + company
     * + login + name + password + permissions + orthoKinds + ciceroKinds + 
     * qualityKinds + checksOrtho + checksCicero + checksQuality + checksTotal 
     * + API_SECRET_KEY )`.
     * 
     * @пример: "5eb63bbbe01eeed093cb22bb8f5acdc3"
     * @обязательный: да
     */
    signature: string;
}

Ответ

interface UserResponse {
    /**
     * Текущее время в формате unix timestamp (количество секунд с 1970 года)
     * 
     * @пример: "1410103972"
     * @обязательный: да
     */
    time: string;
    
    /**
     * Сгенерированный пароль для нового пользователя, если он был создан в 
     * ходе запроса.
     * 
     * @пример: "lthgfhjkm"
     * @обязательный: нет 
     */
    password: string;
    
    /**
     * Электронная подпись запроса, формируется по алгоритму `md5(time +
     * password + API_SECRET_KEY)`.
     * 
     * @пример: "5eb63bbbe01eeed093cb22bb8f5acdc3"
     * @обязательный: да
     */
    signature: string;
}

Clone this wiki locally