API SetMark-Updater

Публичное пространство

API SetMark-Updater

1. Получение текущих версий продукта(SetMark + Updater)

Имя: /version

Метод: GET

Исходящий: 

{"updater":<версия SetMark-Updater>,"setmark":<версия SetMark>}

Значения:

  • updater - строка с указанием версии SetMark-Updater (см. пример)
  • setmark- строка с указанием версии SetMark или краткая информация по ошибке, если нет связи (см. пример). Может использоваться для проверки доступности сервиса SetMark.

Пример запроса:

http://localhost:9001/version

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

{"updater":"1.3.0","setmark":"0.1.0"}


{"updater":"1.3.0","setmark":"Connection refused: no further information: localhost/127.0.0.1:9000"}


2. Получение списка доступных версии продукта с сервера лицензирования(SetAgent)

Имя: /manifest

Метод: GET

Параметры: 

  • "version" - минимальная интересующая версия. Не обязательный параметр, если отсутствует, то в ответе придут все доступные на сервере лицензирования версии.

Исходящий: 

{"versions":[{"versionTo":<версия до которой патч>,"versionFrom":<версия с которой патч>,"releaseDate":<дата релиза>,"path":<путь для загрузки файла>,"size":<размер файла>,"checkSum":<md5 файла>}]}

Пример запроса:

http://localhost:9001/manifest?version=1.3

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

{"versions":[{"versionTo":"1.4.0","versionFrom":"1.3.0","releaseDate":"2018-02-20","path":"/api/update/SetMark/setmark-1.4.0.zip","size":39095525,"checkSum":"d637b22a1f29f2c779e12a598b3dee16"},{"versionTo":"1.3.0","versionFrom":"1.0.0","releaseDate":"2018-02-19","path":"/api/update/SetMark/setmark-1.3.0.zip","size":39095525,"checkSum":"862eaa4ba22b33fae646854e80687cb8"}]}

3. Загрузка файла патча с сервера лицензирования(SetAgent)

Имя: /download

Метод: GET

Параметры: 

  • "version" - интересующая версия. Не обязательный параметр, если отсутствует, то будет загружена последняя версия.

Исходящий: 

{"versionTo":<версия до которой патч>,"versionFrom":<версия с которой патч>,"releaseDate":<дата релиза>,"path":<путь для загрузки файла>,"size":<размер файла>,"checkSum":<md5 файла>}

Дополнительное описание: 

Метод перезапрашивает манифест с сервера лицензирования, ищет в нем указанную версию(или берет последнюю, если параметр не был передан), возвращает json с найденной версией и запускает процесс её загрузки на локальных диск(в setmark_install_dir/update). Если в каталоге обнаружится уже загруженный файл с таким именем, то будет проверен его размер и чек-сумма, и при совпадении загрузка считается успешно завершенной, иначе файл будет перезаписан повторно. Если в параметре указана версия ниже чем текущая версия продукта или указанная версия не была найдена в манифесте, то сервис вернет ошибку(http-статус 502, "Bad Gateway", в body текст с описанием) и процесс загрузки начат не будет.

Важно: сервер SetAgent может не иметь локальной копии файла, и начать загружать его себе параллельно, отдавая небольшими частями. В связи с этим предусмотрены автоматические перезапросы файла с таймаутами между ними, и первая загрузка версии с сервера может занимать значительное время.

Пример запроса:
http://localhost:9001/download?version=1.3

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

{"versionTo":"1.3.0","versionFrom":"1.0.0","releaseDate":"2018-02-19","path":"/api/update/SetMark/setmark-1.3.0.zip","size":39095525,"checkSum":"862eaa4ba22b33fae646854e80687cb8"}

Пример ответа(ошибка):

Invalid version number! Version must not be less then current product version.


Requested version not found in manifest.



4. Применение обновления

Имя: /update

Метод: GET

Параметры: 

  • "version" - интересующая версия. Не обязательный параметр, если отсутствует, то будет произведено обновление до последней версии.

Исходящий: 

{"versionTo":<версия до которой патч>,"versionFrom":<версия с которой патч>,"releaseDate":<дата релиза>,"path":<путь для загрузки файла>,"size":<размер файла>,"checkSum":<md5 файла>}

Дополнительное описание: 

Поведение аналогично методу загрузки файла (см. /download), но после загрузки патч будет сразу применен: распакован архив, подменены исполняемые файлы(сначала updater, потом setmark) и перезапущены сервисы.

Пример запроса:
http://localhost:9001/update

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

{"versionTo":"1.4.0","versionFrom":"1.3.0","releaseDate":"2018-02-20","path":"/api/update/SetMark/setmark-1.4.0.zip","size":39095525,"checkSum":"d637b22a1f29f2c779e12a598b3dee16"}

Пример ответа(ошибка):

Invalid version number! Version must not be less then current product version.

© 1994-2025, ООО «Кристалл Сервис Интеграция».
Все права защищены.

Политика обработки персональных данных