Informes de Eventos
Descripción de la API: Informa contenido correspondiente según diferentes tipos de eventos.
Los datos de los tipos de eventos informados se reflejarán en los datos estadísticos del sistema.
📮 Información de Solicitud
URL de Solicitud
POST https://api.upgrade.toolsetlink.com/v1/app/report
Encabezados de Solicitud
| Nombre del Parámetro | Requerido | Tipo | Valor de Ejemplo | Descripción |
|---|---|---|---|---|
| X-Timestamp | Sí | string | 2025-02-17T10:34:55+08:00 | Hora de solicitud en formato RFC3339 |
| X-Nonce | Sí | string | fc812cc0b9b51e8c | Cadena aleatoria única (al menos 16 caracteres) |
| X-AccessKey | Sí | string | mui2W50H1j-OC4xD6PgQag | Clave secreta AccessKey |
| X-Signature | Sí | string | 3603437250c2df51fc46426ac79d8995 | Firma de solicitud Reglas de Firma |
| Content-Type | Sí | string | application/json |
🔐 Mecanismo de Prevención de Ataques de Replay
- El servidor verifica que la diferencia de timestamp con la hora del servidor no exceda ±5 minutos
- El servidor verifica si el valor Nonce ya existe (para prevenir solicitudes duplicadas)
Parámetros del Cuerpo de la Solicitud
| Nombre del Parámetro | Requerido | Tipo | Valor de Ejemplo | Descripción | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| eventType | Sí | string | app_start | Tipo de evento: app_start Evento de lanzamiento de aplicación app_upgrade_download Evento de descarga de actualización de aplicación app_upgrade_upgrade Evento de actualización de aplicación | ||||||||||||
| appKey | Sí | LOYlLXNy7wV3ySuh0XgtSg | LOYlLXNy7wV3ySuh0XgtSg | Identificador único de la aplicación, mismo valor que urlKey y fileKey | ||||||||||||
| timestamp | Sí | string | 2025-02-17T10:34:55+08:00 | Hora de ocurrencia del evento | ||||||||||||
| eventData | Sí | Campo extendido (Tipo de evento app_start Evento de lanzamiento de aplicación) | ||||||||||||||
| - launchTime | Sí | string | 2025-02-17T10:34:55+08:00 | Hora de lanzamiento de la aplicación en formato RFC3339 | ||||||||||||
| - versionCode | Sí | int | 10 | Código de versión actual de la aplicación | ||||||||||||
| - devModelKey | No | string | stv1 | Identificador único del modelo de dispositivo | ||||||||||||
| - devKey | No | string | 89c8b3d5f2a74e1b | Identificador único del dispositivo (puede usar dirección MAC como identificador único) | ||||||||||||
| - target | No | string | darwin | Sistema del dispositivo | ||||||||||||
| - arch | No | string | x86_64 | Arquitectura del dispositivo | ||||||||||||
| eventData | Sí | Campo extendido (Tipo de evento app_upgrade_download Evento de descarga de actualización de aplicación) | ||||||||||||||
| - downloadVersionCode | Sí | int | 11 | Versión de actualización devuelta por la estrategia de actualización | ||||||||||||
| - code | Sí | int | 0 |
| ||||||||||||
| - versionCode | Sí | int | 10 | Código de versión actual de la aplicación | ||||||||||||
| - devModelKey | No | string | stv1 | Identificador único del modelo de dispositivo | ||||||||||||
| - devKey | No | string | 89c8b3d5f2a74e1b | Identificador único del dispositivo (puede usar dirección MAC como identificador único) | ||||||||||||
| - target | No | string | darwin | Sistema del dispositivo | ||||||||||||
| - arch | No | string | x86_64 | Arquitectura del dispositivo | ||||||||||||
| eventData | Sí | Campo extendido (Tipo de evento app_upgrade_upgrade Evento de actualización de aplicación) | ||||||||||||||
| - upgradeVersionCode | Sí | int | 11 | Versión de actualización devuelta por la estrategia de actualización | ||||||||||||
| - code | Sí | int | 0 |
| ||||||||||||
| - versionCode | Sí | int | 10 | Código de versión actual de la aplicación | ||||||||||||
| - devModelKey | No | string | stv1 | Identificador único del modelo de dispositivo | ||||||||||||
| - devKey | No | string | 89c8b3d5f2a74e1b | Identificador único del dispositivo (puede usar dirección MAC como identificador único) | ||||||||||||
| - target | No | string | darwin | Sistema del dispositivo | ||||||||||||
| - arch | No | string | x86_64 | Arquitectura del dispositivo | ||||||||||||
Ejemplos de Cuerpo de Solicitud
app_download Evento de descarga de aplicación (Este evento se registra automáticamente al llamar a la API de primera descarga, no se requiere solicitud manual)
{
"eventType": "app_download",
"timestamp": "2025-02-17T10:34:55+08:00",
"appKey": "SkEgKQ4SyLmzazl31fJnAw"
}app_start Evento de lanzamiento de aplicación
{
"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 obtención de estrategia de actualización de aplicación (Este evento se registra automáticamente al llamar a la API de obtención de versión más reciente, no se requiere solicitud 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 descarga de actualización de aplicación
{
"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 actualización de aplicación
{
"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"
}
}📮 Información de Respuesta
Cuerpo de Respuesta Exitosa
{
"code": 200,
"msg": "Informe exitoso"
}Cuerpo de Respuesta de Error Típica
{
"code": 400002,
"msg": "Parámetro faltante"
}📊 Códigos de Estado
| Código de Estado HTTP | Code | Descripción del Escenario | Solución |
|---|---|---|---|
| 200 | 0 | Solicitud exitosa | |
| 400 | 400001 | Solicitud inválida | |
| 400 | 400002 | Parámetro faltante | |
| 400 | 400003 | Parámetro inválido | |
| 400 | 400004 | Encabezado inválido | |
| 400 | 400005 | Cuerpo inválido | |
| 401 | 401001 | Autenticación fallida | |
| 401 | 401002 | Verificación de firma fallida | |
| 404 | 404001 | Recurso no encontrado | |
| 404 | 404002 | Registro no encontrado | |
| 404 | 404003 | Método de procesamiento no encontrado | |
| 404 | 404004 | Solicitud no encontrada | |
| 500 | 500001 | Error interno del servidor | Por favor contáctenos Contacto |
| 500 | 500002 | Validación de datos interna del servidor fallida | Por favor contáctenos Contacto |