Конфигурация - Получение стратегии обновления
Описание API: Получение соответствующей стратегии обновления на основе номера версии клиента
📮 Информация о запросе
URL запроса
POST https://api.upgrade.toolsetlink.com/v1/configuration/upgrade
Заголовки запроса
| Название параметра | Обязательный | Тип | Пример значения | Описание |
|---|---|---|---|---|
| X-Timestamp | Да | string | 2025-02-17T10:34:55+08:00 | Время запроса в формате RFC3339 |
| X-Nonce | Да | string | fc812cc0b9b51e8c | Уникальная случайная строка (минимум 16 символов) |
| X-AccessKey | Да | string | mui2W50H1j-OC4xD6PgQag | Секретный ключ AccessKey |
| X-Signature | Да | string | 3603437250c2df51fc46426ac79d8995 | Подпись запроса Правила подписи |
| Content-Type | Да | string | application/json |
🔐 Механизм защиты от повторных атак
- Сервер проверяет, что разница между временными метками и временем сервера не превышает ±5 минут
- Сервер проверяет, существует ли уже значение Nonce (чтобы предотвратить повторные запросы)
Тело запроса
json
{
"configurationKey": "q1hfB1VUQaK9VksTZGPU1Q",
"versionCode": 1,
"appointVersionCode": 0,
"devModelKey": "stv1",
"devKey": "LOYlLXNy7w"
}Параметры тела запроса
| Название параметра | Обязательный | Тип | Пример значения | Описание |
|---|---|---|---|---|
| configurationKey | Да | string | q1hfB1VUQaK9VksTZGPU1Q | Уникальный идентификатор конфигурации |
| versionCode | Да | int | 1 | Код версии, зарегистрированный в системе |
| appointVersionCode | Нет | int | 2 | Ожидаемый код версии обновления, передайте 0 или опустите для запроса последней версии |
| devModelKey | Нет | string | stv1 | Уникальный идентификатор модели устройства |
| devKey | Нет | string | 89c8b3d5f2a74e1b | Уникальный идентификатор устройства (можно использовать MAC-адрес как уникальный идентификатор) |
📮 Информация о ответе
Тело успешного ответа
json
{
"code": 200,
"msg": "Получена новая версия",
"data": {
"configurationKey": "q1hfB1VUQaK9VksTZGPU1Q",
"versionName": "v2",
"versionCode": 2,
"upgradeType": 1,
"promptUpgradeContent": "Содержимое подсказки",
"content": {
"test": 1
}
}
}Параметры тела ответа
| Название параметра | Тип | Пример значения | Описание |
|---|---|---|---|
| configurationKey | string | q1hfB1VUQaK9VksTZGPU1Q | Уникальный идентификатор конфигурации |
| versionName | string | v1 | Название версии |
| versionCode | int | 1 | Код версии |
| upgradeType | int | 1 | Метод обновления: 1: Обновление с подтверждением; 2: Тихое обновление; 3: Принудительное обновление |
| promptUpgradeContent | string | Оптимизированный код | Содержимое описания обновления с подтверждением |
| content | string | Содержимое - это JSON, настроенный в системе |
Типичное тело ответа об ошибке
json
{
"code": 404001,
"msg": "Доступная версия не получена",
"docs": "Соответствующая версия приложения не найдена, пожалуйста, подтвердите, была ли она правильно создана в системе. Пожалуйста, обратитесь к документации: https://upgrade.toolsetlink.com/ru/upgrade/recommend/url/app-version.html",
"data": null
}📊 Коды состояния
| HTTP-код состояния | code | Описание сценария | Решение |
|---|---|---|---|
| 200 | 0 | Запрос успешен, в настоящее время установлена последняя версия | |
| 200 | 200 | Запрос успешен, получена стратегия обновления версии | |
| 400 | 400001 | Недопустимый запрос | |
| 400 | 400002 | Отсутствующий параметр | |
| 400 | 400003 | Недопустимый параметр | |
| 400 | 400004 | Недопустимый заголовок | |
| 400 | 400005 | Недопустимое тело | |
| 401 | 401001 | Неудачная аутентификация | |
| 401 | 401002 | Неудачная проверка подписи | |
| 404 | 404001 | Ресурс не найден | |
| 404 | 404002 | Запись не найдена | |
| 404 | 404003 | Метод обработки не найден | |
| 404 | 404004 | Запрос не найден | |
| 500 | 500001 | Внутренняя ошибка сервера | Пожалуйста, свяжитесь с нами Связаться с нами |
| 500 | 500002 | Ошибка валидации данных сервера | Пожалуйста, свяжитесь с нами Связаться с нами |