Dispositivos
Copiar un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Los dispositivos representan instalaciones individuales de tu aplicación que son gestionadas por Capgo. La sección de dispositivos API te permite rastrear y gestionar dispositivos, incluyendo sus paquetes (versiones), canales y estado de actualización.
Entendiendo dispositivos
Sección titulada “Entendiendo dispositivos”Cada dispositivo tiene características y estados únicos:
- Plataforma: iOS, Android o Electron
- Paquete (versión): Paquete actual (versión) y versión de compilación nativa
- Entorno: Producción o desarrollo, emulador o dispositivo físico
- Canal: Asignación de canal de actualización actual
- ID personalizado: Identificador opcional para tus propios fines de seguimiento
Prácticas recomendadas
Sección titulada “Prácticas recomendadas”- Seguimiento de paquete (versión): Supervisa la adopción del paquete de dispositivo (versión) para asegurarte de que se adopten las actualizaciones
- Gestión de canales: Asigna dispositivos a los canales adecuados según las necesidades de prueba
- Conciencia del entorno: Maneja diferentes entornos (prod/dev/emulator) de manera adecuada
- Identificación personalizada: Utiliza IDs personalizados para integrarte con tus sistemas existentes
Puntos finales
Sección titulada “Endpoints”https://api.capgo.app/device/
Asociar un dispositivo a una versión específica o canal.
Cuerpo de la solicitud
Sección titulada “Cuerpo de la solicitud”interface DeviceLink { app_id: string device_id: string version_id?: string // bundle (version) name channel?: string // channel name}Solicitud de ejemplo
Sección titulada “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 de éxito
Sección titulada “Respuesta de éxito”{ "status": "ok"}https://api.capgo.app/device/
Obtener información del dispositivo. Utiliza la paginación basada en el cursor para la recuperación eficiente de listas de dispositivos grandes.
Parámetros de consulta
Sección titulada “Parámetros de consulta”app_id: Obligatorio. El ID de tu aplicacióndevice_id: Opcional. ID de dispositivo específico para recuperar un dispositivo únicocursor: Opcional. Cursor de la respuesta anterior para la paginaciónlimit: Opcional. Número de dispositivos por página (por defecto: 50)
Ejemplos de solicitudes
Sección titulada “Solicitudes de ejemplo”# 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)
Sección titulada “Tipo de respuesta (Lista)”Cuando se solicitan varios dispositivos (sin device_id parámetro):
interface DeviceListResponse { data: Device[]; nextCursor?: string; // Pass this as 'cursor' param to get next page hasMore: boolean; // true if more pages available}
interface Device { updated_at: string; device_id: string; custom_id: string; version?: number; // bundle (version) id version_name: string | null; // bundle (version) name channel?: string; app_id: string; platform: "ios" | "android" | "electron"; plugin_version: string; os_version: string; version_build: string; is_prod: boolean; is_emulator: boolean; key_id: string | null; // First 4 chars of encryption key (e.g., "MIIB")}Tipo de respuesta (Dispositivo único)
Sección titulada “Tipo de respuesta (Dispositivo único)”Cuando se solicita un dispositivo específico con device_id parámetro, devuelve el objeto del dispositivo directamente:
interface Device { updated_at: string; device_id: string; custom_id: string; version?: number; // bundle (version) id version_name: string | null; // bundle (version) name channel?: string; app_id: string; platform: "ios" | "android" | "electron"; plugin_version: string; os_version: string; version_build: string; is_prod: boolean; is_emulator: boolean; key_id: string | null; // First 4 chars of encryption key (e.g., "MIIB")}Respuesta de ejemplo (Lista)
Sección titulada “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 único)
Sección titulada “Respuesta de ejemplo (Dispositivo único)”{ "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
Sección titulada “Eliminar”https://api.capgo.app/device/
Desvincular un dispositivo de su override de canal. Esto restaura el dispositivo a su canal predeterminado.
Parámetros de consulta
Sección titulada “Parámetros de consulta”interface Device { device_id: string app_id: string}Solicitud de ejemplo
Sección titulada “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 de éxito
Sección titulada “Respuesta de éxito”{ "status": "ok"}Gestión de errores
Sección titulada “Gestión de errores”Escenarios de errores comunes y sus respuestas:
// Device not found{ "error": "Device not found", "status": "KO"}
// Invalid bundle (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"}Uso común
Sección titulada “Uso común”- Registro de dispositivo de versión beta
{ "app_id": "app_123", "device_id": "device_456", "channel": "beta"}- Sobrescribir versión
{ "app_id": "app_123", "device_id": "device_456", "version_id": "1.1.0"}- Restablecer a canal predeterminado
// Use DELETE endpoint to remove overridesConsejos para el manejo de dispositivos
Sección titulada “Consejos para el manejo de dispositivos”- Monitoreo: Revisa regularmente el estado del dispositivo y la distribución de la versión del paquete
- Pruebas: Utiliza IDs personalizados para identificar dispositivos de prueba de manera fácil
- Solución de problemas: Rastrea actualizaciones de dispositivos y asignaciones de canales
- Control de versiones nativas: Monitorea versiones de aplicaciones nativas para asegurar la compatibilidad
Sigue adelante desde Dispositivos
Sección titulada “Sigue adelante desde Dispositivos”Si estás utilizando Dispositivos para planificar la ruta de canal y el lanzamiento en etapas, conecta con Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales, Solución de Pruebas Beta para el flujo de trabajo del producto en Solución de Pruebas Beta, y Solución de Enfoque de Versión para el flujo de trabajo del producto en Solución de Enfoque de Versión.