Page tree

Файловое хранилище — система для хранения, управления и загрузки продуктов Компании «Актив». 

Доступные методы:

GET products

Получить список опубликованных продуктов и их версий с возможностью фильтрации по основным атрибутам и постраничной навигации.

Входные параметры

ПараметрОбязательностьОписаниеВозможные значения
nameОпционален

Фильтр по названию продукта


version

Опционален

Фильтр по версии продукта


distribution_typeОпционаленФильтр по типу версии продукта
  • platforms — версия продукта зависит от ОС и архитектуры. При указании параметра необходимо передать минимум один из параметров: osversion_os, min_version_os, max_version_os, arch;
  • universal — версия продукта не зависит от ОС и архитектуры. При указании параметра параметры os, version_os, min_version_os, max_version_os, arch не передаются
osОпционаленФильтр по операционной системеСправочник поддерживаемых ОС и версий



version_osОпционален

Фильтр по конкретной версии ОС.

Используется только, если передан параметр os

min_version_osОпционален

Минимальная версия ОС для фильтрации диапазонов.

Используется только, если передан параметр os

max_version_osОпционален

Максимальная версия ОС для фильтрации диапазонов.

Используется только, если передан параметр os

archОпционаленФильтр по архитектуреx86, x64, x86_64, arm64, ARMv8, ARMv7a, armv7a, armS, e2k, e2kv4, universal
latestОпционален

Флаг последней версии. 

Для использования latest=true необходимо указать название продукта в параметре name.

По умолчанию выводятся все версии

  • false вернутся все версии, кроме последней;
  • true — вернутся только последние версии
limitОпционален

Максимальное количество записей, которые можно получить.

По умолчанию равен 50

От 1 до 100 включительно
offsetОпционален

Смещение, показывающее с какого порядкового номера записи необходимо получить limit записей.

Записи нумеруются с 0


Пример запроса
https://releases.rutoken.ru/products?name=rtengine&os=Windows&version_os=11&arch=x86_64&latest=true

Ответ

Возвращает:

  • объект meta, содержащий:
    • limit — максимальное количество записей, которые можно получить;
    • offset — cмещение, показывающее с какого порядкового номера записи необходимо получить limit записей;
    • total — количество записей, которые было возвращено.
  • массив data, содержащий объекты с полями:
    • release_id — идентификатор релиза, к которому относится продукт;
    • product_id — идентификатор конкретного продукта в рамках релиза;
    • name — название продукта;
    • version — номер версии продукта;
    • distribution_type — тип версии продукта (platforms , universal);
    • os — операционная система;
    • version_os — версия операционной системы;
    • arch — аппаратная архитектура;
    • size — размер файла в байтах;
    • download_url — путь для скачивания;
    • uploaded_at — дата загрузки версии продукта;
    • latest — флаг последней версии.

Версии сортируются по полю uploaded_at в порядке убывания, от более новых версий к более старым.

Пример результата запроса
{
  "meta": {
    "limit": 50,
    "offset": 0,
    "total": 1
  },
  "data": [
        {
      "release_id": "945ecb29-84f2-4ee5-8a21-98765oi",
      "product_id": "945ecb29-84f2-4ee5-8a21-fa5740b33e4f",
      "name": "rtengine",
      "version": "3.0.0",
      "distribution_type": "platforms",
      "os": "Windows",
      "version_os": "11",
      "arch": "x86_64",
      "size": 15728640,
      "download_url": "...",
      "uploaded_at": "2024-01-15T10:30:00Z",
      "latest": true
    }
  ]
}

Если переданы корректные данные, но на сервере не найдено подходящей версии, то вернется ответ с в кодом 200 и пустым полем data.

Описание возможных ошибок:

  • 400 Bad Request — некорректный формат параметров;


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

    {
        "error": "INVALID_PARAMETER",
        "message": "Некорректный формат переданных параметров"
    }
  • 400 Bad Request — некорректные параметры пагинации;

    Проверьте правильность введенных параметров пагинации (limit, offset) и передайте допустимые значения.

    {
      "error": "INVALID_PAGINATION",
      "message": "Параметры 'limit' или 'offset' имеют недопустимые значения"
    }
  • 400 Bad Request — ОС не поддерживает версии, а передан version_os.

    Не передавайте параметр version_os с данным значением параметра os.

    {
      "error": "OS_HAS_NO_VERSIONS",
      "message": "Передана версия для ОС, которая не поддерживает версии",
      "details": {
        "os": "РОСА БАРИЙ",
        "version_os": "1.0"
      }
    }

GET products {product_id}

Получить информацию о конкретной версии продукта по ее уникальному идентификатору {product_id}, полученному из метода GET products.

Пример запроса
https://releases.rutoken.ru/products/945ecb29-84f2-4ee5-8a21-fa5740b33e4f

Ответ

Возвращает объект версии продукта с полями:

  • release_id — идентификатор релиза, к которому относится продукт;
  • product_id — идентификатор конкретного продукта в рамках релиза;
  • name — название продукта;
  • version — номер версии продукта;
  • distribution_type — тип версии продукта (platforms , universal);
  • os — операционная система;
  • version_os — версия операционной системы;
  • arch — аппаратная архитектура;
  • size — размер файла в байтах;
  • download_url — путь для скачивания;
  • uploaded_at — дата загрузки версии продукта;
  • latest — флаг последней версии.
Пример результата запроса
{
  "release_id": "r1234567-abcd-1234-ef56-1234567890ab",
  "product_id": "945ecb29-84f2-4ee5-8a21-fa5740b33e4f",
  "name": "rtengine",
  "version": "3.0.0",
  "distribution_type": "platforms",
  "os": "Windows",
  "version_os": "11",
  "arch": "x86_64",
  "size": 15728640,
  "download_url": "https://releases.rutoken.ru/products/945ecb29-84f2-4ee5-8a21-fa5740b33e4f/download",
  "released_at": "2024-01-15T10:30:00Z",
  "uploaded_at": "2024-01-15T10:30:00Z",
  "latest": true
}

Описание возможных ошибок:

  • 400 Bad Request — некорректный формат параметров;

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

    {
        "error": "INVALID_PARAMETER",
        "message": "Некорректный формат переданных параметров"
    }
  • 404 Not Found — продукт или версия не найдены.

    Передайте существующий идентификатор версии. Чтобы посмотреть версии, воспользуйтесь методом GET products.

    {
        "error": "PRODUCT_NOT_FOUND",
        "message": "Продукт с заданными параметрами не найден"
    }

GET products download 

Скачать версию продукта по имени с возможностью указания конкретной версии или признака актуальности latest с возможностью фильтрации.

Входные параметры

ПараметрОбязательностьОписаниеВозможные значения
nameОбязателен

Название продукта


latestОпционален

Флаг последней версии. 

По умолчанию — true

  • true метод вернет актуальную версию продукта;
  • false — в параметре version необходимо указать версию продукта для скачивания

version

Опционален

Конкретная версия продукта.

Используется только, если передано latest=false


osОпционаленОперационная системаСправочник поддерживаемых ОС и версий

version_osОпционален

Конкретная версия ОС. 

Используется только, если передан параметр os

archОпционаленАрхитектура системыx86, x64, x86_64, arm64, ARMv8, ARMv7a, armv7a, armS, e2k, e2kv4, universal
Пример запроса
https://releases.rutoken.ru/products/download?name=rtengine&latest=true&os=Windows&version_os=11&arch=x86_64

Ответ

Возможные результаты:

  • ровно одна версия продукта — файл скачивается;
  • версии продукта не найдено — ошибка 404;
  • найдено более одной версии продукта — ошибка 409.

Если найдена ровно одна версия, то полученная ссылка является прямой и постоянной. По этой ссылке можно сразу получить файл.


Пример успешной загрузки версии из одного файла
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="rtengine-3.0.0-win-x86_64.msi"
Content-Length: 15728640

(бинарное содержимое файла)
Пример успешной загрузки версии из нескольких файлов
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="rtengine-3.0.0-Windows-11-x86_64.zip"
Content-Length: 15728640

(бинарное содержимое файла)

Описание возможных ошибок:

  • 400 Bad Request — некорректный формат параметров;

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

    {
        "error": "INVALID_PARAMETER",
        "message": "Некорректный формат переданных параметров"
    }
  • 400 Bad Request — ОС не поддерживает версии, а передан version_os;

    Не передавайте параметр version_os с данным значением параметра os.

    {
      "error": "OS_HAS_NO_VERSIONS",
      "message": "Передана версия для ОС, которая не поддерживает версии",
      "details": {
        "os": "РОСА БАРИЙ",
        "version_os": "1.0"
      }
    }
  • 404 Not Found — продукт или версия не найдены;

    Проверьте правильность введенных параметров и передайте данные нужной версии.

    {
        "error": "PRODUCT_NOT_FOUND",
        "message": "Продукт с заданными параметрами не найден"
    }
  • 408 Request Timeout — таймаут запроса;

    Попробуйте передать запрос позже.

    {
        "error": "REQUEST_TIMEOUT",
        "message": "Время ожидания запроса истекло. Попробуйте повторить запрос"
    }
  • 409 Conflict — найдено несколько продуктов.

    Передайте параметры, соответствующие одной конкретной версии.

    {
      "error": "AMBIGUOUS_REQUEST",
      "message": "Запрос соответствует нескольким продуктам. Уточните параметры"
    }

GET products download {product_id} 

Скачать версию продукта по ее уникальному идентификатору {product_id}, полученному из метода GET products.

Пример запроса
https://releases.rutoken.ru/products/945ecb29-84f2-4ee5-8a21-fa5740b33e4f/download

Ответ

Возможные результаты:

  • ровно одна версия продукта — файл скачивается;
  • версии продукта не найдено — ошибка 404.

Если найдена ровно одна версия, то полученная ссылка является прямой и постоянной. По этой ссылке можно сразу получить файл.

Пример успешной загрузки версии из одного файла
HTTPS/1.1 200 OK
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="rtengine-3.0.0-win-x86_64.msi"
Content-Length: 15728640

(бинарное содержимое файла)
Пример успешной загрузки версии из нескольких файлов
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="rtengine-3.0.0-Windows-11-x86_64.zip"
Content-Length: 15728640

(бинарное содержимое файла)

Описание возможных ошибок:

  • 400 Bad Request — некорректный формат параметров;

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

    {
        "error": "INVALID_PARAMETER",
        "message": "Некорректный формат переданных параметров"
    }
  • 404 Not Found — продукт или версия не найдены.

    Передайте существующий идентификатор версии. Чтобы посмотреть версии, воспользуйтесь методом GET products.

    {
        "error": "PRODUCT_NOT_FOUND",
        "message": "Продукт с заданными параметрами не найден"
    }

Справочник поддерживаемых ОС и версий

В данном справочнике перечислены возможные значения параметра os и соответствующие им значения параметра version_os.

Для систем, у которых нет версий, параметр version_os не передается.

Перечень зависит от специфики продукта и может расширяться в будущем.

osversion_os
Windows"7", "8", "8.1", "10", "11"
Windows Server"2012 R2", "2016", "2019", "2022", "2025"
LSB"4.0", "4.1", "5.0"
Ubuntu"20.04", "22.04", "24.04"
Debian"11", "12", "13"
RHEL"7", "8", "9"
Fedora"42", "43", "44"
CentOS"7", "8"
Oracle Linux"7", "8", "9", "10"
openSUSE Leap15
SUSE Linux Enterprise"12", "15"
Astra Linux Common Edition
Astra Linux Special Edition"1.6", "1.7", "1.8", "4.7", "8.1"
Альт СП"8", "10", "11"
Альт Рабочая станция"9", "10", "11"
Альт Сервер"9", "10", "11"
Альт Образование"9", "10", "11"
РЕД ОС"7.3", "8"
РОСА ХРОМ Рабочая станция
РОСА ХРОМ Сервер
РОСА КОБАЛЬТ Рабочая станция
РОСА КОБАЛЬТ Сервер
РОСА КОБАЛЬТ Рабочая станция ФСТЭК
РОСА БАРИЙ
Гослинукс
ЕМИАС
МСВСфера6.3
ОСНОВА
Стрелец
Циркон36С
СинтезМ
СинтезМ-К
AlterOS
UBLinux
FreeBSD"13", "14", "15"
macOS"10.13", "10.14", "10.15", "11", "12", "13", "14", "15", "26"
Android"7", "8", "9", "10", "11", "12", "13", "14", "15", "16"
iOS"13", "14", "15", "16", "17", "18", "26"
Aurora"4", "5"
  • No labels