Перейти к содержанию

Команда saveDocuments — описание и примеры#

Команда saveDocuments предназначена для импорта документов в локальное хранилище КриптоАРМ с внешнего сервера или из локального файла.

Содержание:


Общая информация#

Команда saveDocuments используется для скачивания и сохранения файлов в директорию документов КриптоАРМ. Поддерживается только операция IMPORT.

Все запросы между КриптоАРМ и сервером ДОЛЖНЫ соответствовать спецификации протокола JSON-RPC 2.0.

В качестве транспорта используется HTTP.

🔍 Общее описание указано в разделе Формат ссылки.


Формат ссылки#

Для выполнения команды saveDocuments должна быть сформирована ссылка вида:

cryptoarm://saveDocuments/<URL>/?id=<id>[&authType=<authType>]
  • cryptoarm:// - зарегистрированный протокол
  • saveDocuments - выполняемая команда
  • <URL> - ссылка, на которую КриптоАРМ будет слать запросы
  • id - уникальный идентификатор транзакции
  • authType - необязательный параметр. Тип аутентификации.

Пример:

cryptoarm://saveDocuments/https://example.com/json?id=2c48eb32-a0a8-405c-ade9-eed130605cba

Получение параметров операции#

После получения команды saveDocuments КриптоАРМ отправляет запрос на получение параметров операции.

Формат запроса#

Ключ Значение Описание
jsonrpc «2.0» Версия JSON-RPC протокола. Всегда «2.0».
method signAndEncrypt.parameters Используемый метод. Внимание: в текущей реализации используется signAndEncrypt.parameters, а не saveDocuments.parameters.
id Уникальный идентификатор Используется идентификатор, который указан в ссылке на операцию.
diagnostic IDiagnosticsInformation Диагностическая информация о рабочем месте. Содержит поля VERSIONS, PROVIDERS, LICENSES.

Пример:

Content-Type: application/json
Content-Length: ...
Accept: application/json
{
    "jsonrpc": "2.0",
    "method": "signAndEncrypt.parameters",
    "id": "2c48eb32-a0a8-405c-ade9-eed130605cba",
    "diagnostic": {
      "VERSIONS": { "csp": "5.0.11753", "cryptoarm": "2.5.2", "openssl": "1.1.1w" },
      "PROVIDERS": { "GOST2012_256": true, "GOST2012_512": true, "openssl": true },
      "LICENSES": {
        "csp": { "status": true, "type": "", "expiration": "" },
        "cryptoarm": { "status": true, "type": "Permanent", "expiration": "" }
      }
    }
}

Формат ответа#

Ключ Значение Описание
jsonrpc «2.0» Версия JSON-RPC протокола. Всегда «2.0».
result IDocumentsParameters Объект со сведениями о параметрах операции
id Уникальный идентификатор Используется идентификатор, который указан в ссылке на операцию.

Пример ответа:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "jsonrpc": "2.0",
    "result": {
        "operation": ["IMPORT"],
        "props": {
            "headerText": "Импорт документов",
            "files": [
                {
                    "name": "document1.pdf",
                    "url": "https://example.com/files/document1.pdf",
                    "id": "1"
                },
                {
                    "name": "document2.doc",
                    "url": "https://example.com/files/document2.doc",
                    "id": "2"
                }
            ]
        }
    },
    "id": "2c48eb32-a0a8-405c-ade9-eed130605cba"
}

Отправка результатов#

После импорта КриптоАРМ отправляет результаты операции на сервер.

Формат запроса результата#

Ключ Значение Описание
jsonrpc «2.0» Версия JSON-RPC протокола. Всегда «2.0».
method documents.parameters Используемый метод.
params { id, documentsResults } Результаты импорта

Поле documentsResults#

Массив объектов с результатами импорта по каждому файлу:

Свойство Тип Описание
name string Имя файла
id string Идентификатор файла (из исходного запроса)
result boolean Успешность сохранения (true — успешно)

Пример:

Content-Type: application/json
Content-Length: ...
Accept: application/json
{
    "jsonrpc": "2.0",
    "method": "documents.parameters",
    "params": {
        "id": "2c48eb32-a0a8-405c-ade9-eed130605cba",
        "documentsResults": [
            { "name": "document1.pdf", "id": "1", "result": true },
            { "name": "document2.doc", "id": "2", "result": true }
        ]
    }
}

Справочник интерфейсов#

Интерфейс IDocumentsParameters#

Объекты данного типа описывают параметры команды импорта документов.

Свойство Тип Описание
operation string[] Массив операций. Единственное поддерживаемое значение: ["IMPORT"].
props IDocumentsOperationProps Параметры операции

Интерфейс IDocumentsOperationProps#

Свойство Тип Описание
headerText? string Необязательный параметр. Используется для отображения в заголовке окна. Максимальная длина - 40 символов.
files IFile[] Массив файлов для импорта. Каждый файл скачивается по URL и сохраняется в директорию документов КриптоАРМ.
license? string Необязательная временная лицензия на время операции.

Интерфейс приложения#

При выполнении команды saveDocuments КриптоАРМ скачивает указанные файлы и сохраняет их в хранилище документов. После завершения окно приложения не сворачивается в трей — обновляется список документов.

Для повышения удобства работы и хранения данных веб-сайт TRUSTED.RU использует файлы COOKIE. Продолжая работу с веб-сайтом, Вы даете свое согласие на работу с этими файлами.