Skip to content

Отчет о событиях

Описание API: Отчет о соответствующем содержимом на основе различных типов событий.

Данные из сообщенных типов событий будут отражены в статистических данных системы.

📮 Информация о запросе

URL запроса

POST https://api.upgrade.toolsetlink.com/v1/app/report

Заголовки запроса

Название параметраОбязательныйТипПример значенияОписание
X-TimestampДаstring2025-02-17T10:34:55+08:00Время запроса в формате RFC3339
X-NonceДаstringfc812cc0b9b51e8cУникальная случайная строка (не менее 16 символов)
X-AccessKeyДаstringmui2W50H1j-OC4xD6PgQagСекретный ключ AccessKey
X-SignatureДаstring3603437250c2df51fc46426ac79d8995Подпись запроса Правила подписи
Content-TypeДаstringapplication/json

🔐 Механизм защиты от повторных атак

  1. Сервер проверяет, что временная метка отличается от времени сервера не более чем на ±5 минут
  2. Сервер проверяет, существует ли значение Nonce (чтобы предотвратить дублирование запросов)

Параметры тела запроса

Название параметраОбязательныйТипПример значенияОписание
eventType Да string app_start Тип события:
app_start Событие запуска приложения
app_upgrade_download Событие загрузки обновления приложения
app_upgrade_upgrade Событие обновления приложения
appKey Да LOYlLXNy7wV3ySuh0XgtSg LOYlLXNy7wV3ySuh0XgtSg Уникальный идентификатор приложения, то же значение, что и urlKey и fileKey
timestamp Да string 2025-02-17T10:34:55+08:00 Время возникновения события
eventData Да Расширенное поле
(Тип события app_start Событие запуска приложения)
- launchTime Да string 2025-02-17T10:34:55+08:00 Время запуска приложения в формате RFC3339
- versionCode Да int 10 Текущий код версии приложения
- devModelKey Нет string stv1 Уникальный идентификатор модели устройства
- devKey Нет string 89c8b3d5f2a74e1b Уникальный идентификатор устройства (можно использовать MAC-адрес в качестве уникального идентификатора)
- target Нет string darwin Система устройства
- arch Нет string x86_64 Архитектура устройства
eventData Да Расширенное поле
(Тип события app_upgrade_download Событие загрузки обновления приложения)
- downloadVersionCode Да int 11 Версия обновления, возвращаемая стратегией обновления
- codeДаint0
0Загрузка успешна
1Загрузка не удалась (общая)
1001HTTP-ошибка при загрузке файла приложения
1002Недостаточно места для загрузки файла
1003Ошибка файловой операции (создание/перемещение/переименование не удалось)
1004Проверка MD5 файла не удалась
- versionCode Да int 10 Текущий код версии приложения
- devModelKey Нет string stv1 Уникальный идентификатор модели устройства
- devKey Нет string 89c8b3d5f2a74e1b Уникальный идентификатор устройства (можно использовать MAC-адрес в качестве уникального идентификатора)
- target Нет string darwin Система устройства
- arch Нет string x86_64 Архитектура устройства
eventData Да Расширенное поле
(Тип события app_upgrade_upgrade Событие обновления приложения)
- upgradeVersionCode Да int 11 Версия обновления, возвращаемая стратегией обновления
- codeДаint0
0Обновление успешно
1Обновление не удалось (общая)
- versionCode Да int 10 Текущий код версии приложения
- devModelKey Нет string stv1 Уникальный идентификатор модели устройства
- devKey Нет string 89c8b3d5f2a74e1b Уникальный идентификатор устройства (можно использовать MAC-адрес в качестве уникального идентификатора)
- target Нет string darwin Система устройства
- arch Нет string x86_64 Архитектура устройства

Примеры тела запроса

app_download Событие загрузки приложения (Это событие автоматически записывается при вызове API первой загрузки, не требуется ручной запрос)

json
{
  "eventType": "app_download",
  "timestamp": "2025-02-17T10:34:55+08:00",
  "appKey": "SkEgKQ4SyLmzazl31fJnAw"
}

app_start Событие запуска приложения

json
{
  "eventType": "app_start",
  "timestamp": "2025-02-17T10:34:55+08:00",
  "appKey": "SkEgKQ4SyLmzazl31fJnAw",
  "eventData": {
    "launchTime": "2025-02-17T10:34:55+08:00",
    "versionCode": 1,
    "target": "darwin",
    "arch": "x86_64",
    "devModelKey": "stv1",
    "devKey": "LOYlLXNy7w"
  }
}

app_upgrade_get_strategy Событие получения стратегии обновления (Это событие автоматически записывается при вызове API получения последней версии, не требуется ручной запрос)

json
{
  "eventType": "app_upgrade_get_strategy",
  "timestamp": "2025-02-17T10:34:55+08:00",
  "appKey": "SkEgKQ4SyLmzazl31fJnAw",
  "eventData": {
    "versionCode": 1,
    "target": "darwin",
    "arch": "x86_64",
    "devModelKey": "stv1",
    "devKey": "LOYlLXNy7w"
  }
}

app_upgrade_download Событие загрузки обновления приложения

json
{
  "eventType": "app_upgrade_download",
  "timestamp": "2025-02-17T10:34:55+08:00",
  "appKey": "SkEgKQ4SyLmzazl31fJnAw",
  "eventData": {
    "downloadVersionCode": 2,
    "code": 0,
    "versionCode": 1,
    "target": "darwin",
    "arch": "x86_64",
    "devModelKey": "stv1",
    "devKey": "LOYlLXNy7w"
  }
}

app_upgrade_upgrade Событие обновления приложения

json
{
  "eventType": "app_upgrade_upgrade",
  "timestamp": "2025-02-17T10:34:55+08:00",
  "appKey": "SkEgKQ4SyLmzazl31fJnAw",
  "eventData": {
    "upgradeVersionCode": 2,
    "code": 0,
    "versionCode": 1,
    "target": "darwin",
    "arch": "x86_64",
    "devModelKey": "stv1",
    "devKey": "LOYlLXNy7w"
  }
}

📮 Информация об ответе

Тело успешного ответа

json
{
  "code": 200,
  "msg": "Report successful"
}

Тип тела ошибочного ответа

json
{
  "code": 400002,
  "msg": "Parameter missing"
}

📊 Статус коды

HTTP статус кодКодОписание сценарияРешение
2000Запрос успешен
400400001Недопустимый запрос
400400002Отсутствует параметр
400400003Недопустимый параметр
400400004Недопустимый заголовок
400400005Недопустимое тело
401401001Аутентификация не удалась
401401002Проверка подписи не удалась
404404001Ресурс не найден
404404002Запись не найдена
404404003Метод обработки не найден
404404004Запрос не найден
500500001Внутренняя ошибка сервераПожалуйста, свяжитесь с нами Contact Us
500500002Проверка внутренних данных сервера не удаласьПожалуйста, свяжитесь с нами Contact Us

toolsetlink@163.com