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âmetro | Obrigatório | Tipo | Valor de Exemplo | Descrição |
|---|---|---|---|---|
| X-Timestamp | Sim | string | 2025-02-17T10:34:55+08:00 | Hora da solicitação no formato RFC3339 |
| X-Nonce | Sim | string | fc812cc0b9b51e8c | String aleatória única (pelo menos 16 caracteres) |
| X-AccessKey | Sim | string | mui2W50H1j-OC4xD6PgQag | Chave secreta AccessKey |
| X-Signature | Sim | string | 3603437250c2df51fc46426ac79d8995 | Assinatura da solicitação Regras de Assinatura |
| Content-Type | Sim | string | application/json |
🔐 Mecanismo Anti-Ataque de Repetição
- O servidor verifica que a diferença de timestamp em relação ao tempo do servidor não excede ±5 minutos
- O servidor verifica se o valor Nonce já existe (para evitar solicitações duplicadas)
Parâmetros do Corpo da Solicitação
| Nome do Parâmetro | Obrigatório | Tipo | Valor de Exemplo | Descriçã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 | ||||||||||||
| - code | Sim | int | 0 |
| ||||||||||||
| - 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 | ||||||||||||
| - code | Sim | int | 0 |
| ||||||||||||
| - 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)
{
"eventType": "app_download",
"timestamp": "2025-02-17T10:34:55+08:00",
"appKey": "SkEgKQ4SyLmzazl31fJnAw"
}app_start Evento de inicialização do aplicativo
{
"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)
{
"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
{
"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
{
"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
{
"code": 200,
"msg": "Relatório bem-sucedido"
}Corpo da Resposta de Erro Típica
{
"code": 400002,
"msg": "Parâmetro ausente"
}📊 Códigos de Status
| Código de Status HTTP | Código | Descrição do Cenário | Solução |
|---|---|---|---|
| 200 | 0 | Solicitação bem-sucedida | |
| 400 | 400001 | Solicitação inválida | |
| 400 | 400002 | Parâmetro ausente | |
| 400 | 400003 | Parâmetro inválido | |
| 400 | 400004 | Cabeçalho inválido | |
| 400 | 400005 | Corpo inválido | |
| 401 | 401001 | Falha na autenticação | |
| 401 | 401002 | Falha na verificação de assinatura | |
| 404 | 404001 | Recurso não encontrado | |
| 404 | 404002 | Registro não encontrado | |
| 404 | 404003 | Método de processamento não encontrado | |
| 404 | 404004 | Solicitação não encontrada | |
| 500 | 500001 | Erro interno do servidor | Entre em contato Fale Conosco |
| 500 | 500002 | Falha na validação de dados interno do servidor | Entre em contato Fale Conosco |