Obtener Estrategia de Actualización de Aplicación Android
Descripción de la Interfaz: Obtener la estrategia de actualización correspondiente basada en el número de versión del cliente
📮Información de Solicitud
URL de Solicitud
POST https://api.upgrade.toolsetlink.com/v1/apk/upgrade
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)
Cuerpo de la Solicitud
json
{
"apkKey": "isVZBUvkFhv6oHxk_X-D0Q",
"versionCode": 1,
"appointVersionCode": 0,
"devModelKey": "stv1",
"devKey": "LOYlLXNy7w",
"patchAlgo": 0
}Descripción de Parámetros del Cuerpo de la Solicitud
| Nombre del Parámetro | Requerido | Tipo | Valor de Ejemplo | Descripción |
|---|---|---|---|---|
| apkKey | Sí | string | isVZBUvkFhv6oHxk_X-D0Q | Identificador único de la aplicación Android |
| versionCode | Sí | int | 1 | Código de versión del cliente |
| appointVersionCode | No | int | 0 | Código de versión de actualización esperada, 0 o no pasado significa solicitar la versión más reciente |
| devModelKey | No | string | stv1 | Identificador único del modelo de dispositivo |
| devKey | No | string | LOYlLXNy7w | Identificador único del dispositivo (puede usar mac como identificador único) |
| patchAlgo | No | int | 0 | Algoritmo de actualización: 0: Actualización completa; 1: Algoritmo HDiffPatch |
📮Información de Respuesta
Cuerpo de Respuesta de Éxito
json
{
"code": 200,
"msg": "Versión nueva obtenida",
"data": {
"apkKey": "isVZBUvkFhv6oHxk_X-D0Q",
"packageName": "com.a.c",
"versionName": "v2",
"versionCode": 2,
"urlPath": "http://file.com/2.apk",
"urlFileSize": 7213,
"urlFileMd5": "36ee2a36b5d20d1008507d253423eea7",
"patchAlgo": 0,
"patchUrlPath": "http://file.com/1-2.patch",
"patchUrlFileSize": 203,
"patchUrlFileMd5": "36ee2a36b5d20d1008507d253423eea7",
"upgradeType": 1,
"promptUpgradeContent": "Contenido del aviso"
}
}Descripción de Parámetros del Cuerpo de la Respuesta
| Nombre del Parámetro | Tipo | Valor de Ejemplo | Descripción |
|---|---|---|---|
| apkKey | string | isVZBUvkFhv6oHxk_X-D0Q | Identificador único de la aplicación Android |
| packageName | string | com.a.c | Nombre del paquete de la aplicación Android |
| versionName | string | v1 | Nombre de la versión |
| versionCode | int | 1 | Código de versión |
| urlPath | string | http://file.com/2.apk | Dirección de descarga del archivo |
| urlFileSize | int | 7213 | Tamaño del archivo (bytes) |
| urlFileMd5 | string | 36ee2a36b5d20d1008507d253423eea7 | MD5 del archivo |
| patchAlgo | int | 0 | Algoritmo de actualización: 0: Actualización completa; 1: Algoritmo HDiffPatch |
| patchUrlPath | string | http://file.com/1-2.patch | Dirección de descarga del archivo de parche |
| patchUrlFileSize | int | 7213 | Tamaño del archivo de parche (bytes) |
| patchUrlFileMd5 | string | 36ee2a36b5d20d1008507d253423eea7 | MD5 del archivo de parche |
| upgradeType | int | 1 | Método de actualización: 1: Actualización con aviso; 2: Actualización silenciosa; 3: Actualización forzada |
| promptUpgradeContent | string | Contenido del aviso | Contenido de descripción de actualización con aviso |
Cuerpo de Respuesta de Error Típica
json
{
"code": 404001,
"msg": "No se obtuvo versión disponible",
"docs": "No se encontró la versión correspondiente de la aplicación. Por favor confirma si se ha creado correctamente en el sistema. Por favor consulta la documentación: https://upgrade.toolsetlink.com/es/upgrade/recommend/apk/app-version.html",
"data": null
}📊Códigos de Estado
| Código de Estado HTTP | code | Descripción del Escenario | Solución |
|---|---|---|---|
| 200 | 0 | Solicitud exitosa, ya es la versión más reciente | |
| 200 | 200 | Solicitud exitosa, obtuvo estrategia de actualización de versión | |
| 400 | 400001 | Solicitud ilegal | |
| 400 | 400002 | Parámetros faltantes | |
| 400 | 400003 | Parámetros ilegales | |
| 400 | 400004 | Encabezado ilegal | |
| 400 | 400005 | Cuerpo ilegal | |
| 401 | 401001 | Autenticación fallida | |
| 401 | 401002 | Verificación de firma fallida | |
| 404 | 404001 | Recurso no encontrado | |
| 404 | 404002 | Registro de consulta no encontrado | |
| 404 | 404003 | Método de procesamiento no encontrado | |
| 404 | 404004 | Solicitud no encontrada | |
| 429 | 429001 | Límite de control de flujo de solicitud de estrategia de tarea de aplicación | La estrategia de control de flujo de solicitud para la tarea de actualización actual ha alcanzado el límite, por favor inténtelo de nuevo más tarde. |
| 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 |