Skip to content

Relatório de Eventos

Descrição da API: Relatar conteúdo correspondente com base em diferentes tipos de eventos.

Os dados dos tipos de eventos relatados serão refletidos nos dados estatísticos do sistema.

📮 Informações da Solicitação

URL da Solicitação

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

Cabeçalhos da Solicitação

Nome do ParâmetroObrigatórioTipoValor de ExemploDescrição
X-TimestampSimstring2025-02-17T10:34:55+08:00Hora da solicitação no formato RFC3339
X-NonceSimstringfc812cc0b9b51e8cString aleatória única (pelo menos 16 caracteres)
X-AccessKeySimstringmui2W50H1j-OC4xD6PgQagChave secreta AccessKey
X-SignatureSimstring3603437250c2df51fc46426ac79d8995Assinatura da solicitação Regras de Assinatura
Content-TypeSimstringapplication/json

🔐 Mecanismo Anti-Ataque de Repetição

  1. O servidor verifica que a diferença de timestamp em relação ao tempo do servidor não excede ±5 minutos
  2. O servidor verifica se o valor Nonce já existe (para evitar solicitações duplicadas)

Parâmetros do Corpo da Solicitação

Nome do ParâmetroObrigatórioTipoValor de ExemploDescrição
eventType Sim string app_start Tipo de evento:
app_start Evento de inicialização do aplicativo
app_upgrade_download Evento de download de upgrade do aplicativo
app_upgrade_upgrade Evento de upgrade do aplicativo
appKey Sim LOYlLXNy7wV3ySuh0XgtSg LOYlLXNy7wV3ySuh0XgtSg Identificador único do aplicativo, mesmo valor que urlKey e fileKey
timestamp Sim string 2025-02-17T10:34:55+08:00 Hora de ocorrência do evento
eventData Sim Campo estendido
(Tipo de evento app_start Evento de inicialização do aplicativo)
- launchTime Sim string 2025-02-17T10:34:55+08:00 Hora de inicialização do aplicativo no formato RFC3339
- versionCode Sim int 10 Código de versão atual do aplicativo
- devModelKey Não string stv1 Identificador único do modelo do dispositivo
- devKey Não string 89c8b3d5f2a74e1b Identificador único do dispositivo (pode usar endereço MAC como identificador único)
- target Não string darwin Sistema do dispositivo
- arch Não string x86_64 Arquitetura do dispositivo
eventData Sim Campo estendido
(Tipo de evento app_upgrade_download Evento de download de upgrade do aplicativo)
- downloadVersionCode Sim int 11 Versão de upgrade retornada pela estratégia de upgrade
- codeSimint0
0Download bem-sucedido
1Download falhou (geral)
1001Erro HTTP durante o download do arquivo do aplicativo
1002Espaço insuficiente para download do arquivo
1003Erro de operação de arquivo (falha na criação/movimentação/renomeação)
1004Falha na verificação MD5 do arquivo
- versionCode Sim int 10 Código de versão atual do aplicativo
- devModelKey Não string stv1 Identificador único do modelo do dispositivo
- devKey Não string 89c8b3d5f2a74e1b Identificador único do dispositivo (pode usar endereço MAC como identificador único)
- target Não string darwin Sistema do dispositivo
- arch Não string x86_64 Arquitetura do dispositivo
eventData Sim Campo estendido
(Tipo de evento app_upgrade_upgrade Evento de upgrade do aplicativo)
- upgradeVersionCode Sim int 11 Versão de upgrade retornada pela estratégia de upgrade
- codeSimint0
0Upgrade bem-sucedido
1Upgrade falhou (geral)
- versionCode Sim int 10 Código de versão atual do aplicativo
- devModelKey Não string stv1 Identificador único do modelo do dispositivo
- devKey Não string 89c8b3d5f2a74e1b Identificador único do dispositivo (pode usar endereço MAC como identificador único)
- target Não string darwin Sistema do dispositivo
- arch Não string x86_64 Arquitetura do dispositivo

Exemplos do Corpo da Solicitação

app_download Evento de download do aplicativo (Este evento é registrado automaticamente ao chamar a API de primeiro download, não é necessário solicitação manual)

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

app_start Evento de inicialização do aplicativo

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 Evento de obtenção de estratégia de upgrade do aplicativo (Este evento é registrado automaticamente ao chamar a API de obter versão mais recente, não é necessário solicitação manual)

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 Evento de download de upgrade do aplicativo

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 Evento de upgrade do aplicativo

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"
  }
}

📮 Informações da Resposta

Corpo da Resposta de Sucesso

json
{
  "code": 200,
  "msg": "Relatório bem-sucedido"
}

Corpo da Resposta de Erro Típica

json
{
  "code": 400002,
  "msg": "Parâmetro ausente"
}

📊 Códigos de Status

Código de Status HTTPCódigoDescrição do CenárioSolução
2000Solicitação bem-sucedida
400400001Solicitação inválida
400400002Parâmetro ausente
400400003Parâmetro inválido
400400004Cabeçalho inválido
400400005Corpo inválido
401401001Falha na autenticação
401401002Falha na verificação de assinatura
404404001Recurso não encontrado
404404002Registro não encontrado
404404003Método de processamento não encontrado
404404004Solicitação não encontrada
500500001Erro interno do servidorEntre em contato Fale Conosco
500500002Falha na validação de dados interno do servidorEntre em contato Fale Conosco

toolsetlink@163.com