Публичное пространство
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, ООО «Кристалл Сервис Интеграция».
Все права защищены.