Dispositivos
Los Dispositivos representan instalaciones individuales de su aplicación que son gestionadas por Capgo. La API de Dispositivos le permite rastrear y gestionar dispositivos, incluyendo sus versiones, canales y estado de actualización.
Retención de Datos
Los datos del dispositivo se retienen durante 90 días desde la última actividad del dispositivo. Los dispositivos que no se han conectado a Capgo dentro de este período se eliminarán automáticamente del sistema. Los dispositivos activos se rastrean continuamente a medida que verifican las actualizaciones.
Comprender los Dispositivos
Section titled “Comprender los Dispositivos”Cada dispositivo tiene características y estados únicos:
- Platform: iOS o Android
- Versión: Versión actual del Paquete y versión de compilación nativa
- Environment: Producción o desarrollo, emulador o dispositivo físico
- Canal: Asignación actual del canal de actualización
- Custom ID: Identificador opcional para sus propios fines de seguimiento
Mejores Prácticas
Section titled “Mejores Prácticas”- Seguimiento de Versiones: Monitoree las versiones de los dispositivos para asegurar la adopción de actualizaciones
- Gestión de Canales: Asigne dispositivos a canales apropiados según las necesidades de prueba
- Conciencia del Entorno: Maneje diferentes entornos (prod/dev/emulador) apropiadamente
- Identificación Personalizada: Usar IDs personalizados para integrar con sus sistemas existentes
Endpoints
Section titled “Endpoints”https://api.capgo.app/device/
Vincular un dispositivo a una versión o canal específico.
Request Body
Section titled “Request Body”interface DeviceLink { app_id: string device_id: string version_id?: string // version name channel?: string // channel name}Solicitud de Ejemplo
Section titled “Solicitud de Ejemplo”curl -X POST \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "device_id": "device_456", "channel": "beta" }' \ https://api.capgo.app/device/Respuesta Exitosa
Section titled “Respuesta Exitosa”{ "status": "ok"}https://api.capgo.app/device/
Recuperar información del dispositivo. Utiliza paginación basada en cursor para una recuperación eficiente de listas grandes de dispositivos.
Parámetros de Consulta
Section titled “Parámetros de Consulta”app_id: Requerido. El ID de su aplicacióndevice_id: Opcional. ID de dispositivo específico para recuperar un solo dispositivocursor: Opcional. Cursor de la respuesta anterior para paginaciónlimit: Opcional. Número de dispositivos por página (predeterminado: 50)
Solicitud de Ejemplos
Section titled “Solicitud de Ejemplos”# Get all devices (first page)curl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=app_123"
# Get specific devicecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=app_123&device_id=device_456"
# Get next page using cursorcurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=app_123&cursor=2024-01-01T00:00:00Z|device_456"Tipo de Respuesta (Lista)
Section titled “Tipo de Respuesta (Lista)”Al solicitar múltiples dispositivos (sin parámetro device_id):
interface DeviceListResponse { data: Device[]; nextCursor?: string; // Pase esto como parámetro 'cursor' para obtener la siguiente página hasMore: boolean; // true si hay más páginas disponibles}
interface Device { updated_at: string; device_id: string; custom_id: string; version?: number; version_name: string | null; channel?: string; app_id: string; platform: "ios" | "android"; plugin_version: string; os_version: string; version_build: string; is_prod: boolean; is_emulator: boolean;}Tipo de Respuesta (Dispositivo Individual)
Section titled “Tipo de Respuesta (Dispositivo Individual)”Al solicitar un dispositivo específico con parámetro device_id, devuelve el objeto de dispositivo directamente:
interface Device { updated_at: string; device_id: string; custom_id: string; version?: number; version_name: string | null; channel?: string; app_id: string; platform: "ios" | "android"; plugin_version: string; os_version: string; version_build: string; is_prod: boolean; is_emulator: boolean;}Respuesta de Ejemplo (Lista)
Section titled “Respuesta de Ejemplo (Lista)”{ "data": [ { "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "app_123", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "updated_at": "2024-01-01T00:00:00Z" } ], "nextCursor": "2024-01-01T00:00:00Z|device_456", "hasMore": true}Respuesta de Ejemplo (Dispositivo Individual)
Section titled “Respuesta de Ejemplo (Dispositivo Individual)”{ "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "app_123", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "updated_at": "2024-01-01T00:00:00Z", "channel": "production"}Eliminar
Section titled “Eliminar”https://api.capgo.app/device/
Desvincular un dispositivo de su anulación de canal. Esto restablece el dispositivo para usar su canal predeterminado.
Eliminar dispositivo
Los datos del dispositivo se retienen durante 90 días desde la última actividad del dispositivo. Los dispositivos que no se han conectado a Capgo dentro de este período se eliminarán automáticamente del sistema. Los dispositivos activos se rastrean continuamente a medida que verifican las actualizaciones. No puede eliminar un dispositivo con este endpoint, solo afecta la anulación del canal.
Query Parámetros
Section titled “Query Parámetros”interface Device { device_id: string app_id: string}Solicitud de Ejemplo
Section titled “Solicitud de Ejemplo”curl -X DELETE \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "device_id": "device_456" }' \ https://api.capgo.app/device/Respuesta Exitosa
Section titled “Respuesta Exitosa”{ "status": "ok"}Manejo de Errores
Section titled “Manejo de Errores”Escenarios de Error comunes y sus respuestas:
// Device not found{ "error": "Device not found", "status": "KO"}
// Invalid version{ "error": "Version not found", "status": "KO"}
// Invalid channel{ "error": "Channel not found", "status": "KO"}
// Permission denied{ "error": "Insufficient permissions to manage devices", "status": "KO"}Casos de Uso Comunes
Section titled “Casos de Uso Comunes”- Beta Dispositivo Registration
{ "app_id": "app_123", "device_id": "device_456", "channel": "beta"}- Versión Override
{ "app_id": "app_123", "device_id": "device_456", "version_id": "1.1.0"}- Reset A Predeterminado Canal
// Use DELETE endpoint to remove overridesConsejos para la Gestión de Dispositivos
Section titled “Consejos para la Gestión de Dispositivos”- Monitoreo: Verifique regularmente el estado del dispositivo y la distribución de versiones
- Pruebas: Usar IDs personalizados para identificar fácilmente los dispositivos de prueba
- Solución de Problemas: Rastree las actualizaciones de dispositivos y las asignaciones de canales
- Control de Versiones: Monitoree las versiones nativas de la aplicación para garantizar la compatibilidad