Pasar al contenido

Dispositivos

Devices represent individual installations of your app that are managed by Capgo. The Devices API allows you to track and manage devices, including their bundles (versions), channels, and update status.

Cada dispositivo tiene características y estados únicos:

  • Plataforma: iOS, Android o Electron
  • Paquete (versión): Versión actual del paquete y versión de compilación nativa
  • Entorno: Producción o desarrollo, emulador o dispositivo físico
  • Canales: Asignación actual del canal de actualización
  • ID Personalizado: Identificador opcional para tus propios fines de seguimiento
  1. Seguimiento de Conjunto (versión): Monitorea la adopción del conjunto de dispositivos (versión) para asegurar la asimilación de actualizaciones
  2. Gestión de Canales: Asigna dispositivos a los canales adecuados según las necesidades de prueba
  3. Conciencia del Entorno: Maneja diferentes entornos (prod/dev/emulator) de manera adecuada
  4. Identificación Personalizada: Utilice IDs personalizados para integrarse con sus sistemas existentes

https://api.capgo.app/device/

Enlazar un dispositivo a una versión específica o canal de un paquete.

interface DeviceLink {
app_id: string
device_id: string
version_id?: string // bundle (version) name
channel?: string // channel name
}
Ventana del terminal
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/
{
"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.

  • app_idID de la aplicación: Obligatorio. El ID de su aplicación
  • device_idID de dispositivo específico: Opcional. ID de dispositivo para recuperar un dispositivo único
  • cursor: Opcional. Cursor desde la respuesta anterior para paginación
  • limit: Opcional. Número de dispositivos por página (por defecto: 50)
Ventana de terminal
# Get all devices (first page)
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=app_123"
# Get specific device
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=app_123&device_id=device_456"
# Get next page using cursor
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=app_123&cursor=2024-01-01T00:00:00Z|device_456"

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")
}

Cuando se solicita un dispositivo específico con device_id parámetro, devuelve el objeto 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")
}
{
"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
}
{
"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"
}

https://api.capgo.app/device/

Desvincular un dispositivo de su override de canal. Esto restaura el dispositivo para que utilice su canal predeterminado.

interface Device {
device_id: string
app_id: string
}
Ventana de terminal
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/
{
"status": "ok"
}

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"
}
  1. Registro de dispositivo de versión beta
{
"app_id": "app_123",
"device_id": "device_456",
"channel": "beta"
}
  1. Opción de versión
{
"app_id": "app_123",
"device_id": "device_456",
"version_id": "1.1.0"
}
  1. Restablecer a la canal por defecto
// Use DELETE endpoint to remove overrides
  1. Monitoreo: Revisa regularmente el estado del dispositivo y la distribución de paquetes (versión)
  2. : Utiliza IDs personalizados para identificar dispositivos de prueba de manera fácil: Sigue actualizaciones de dispositivos y asignaciones de canales
  3. __CAPGO_KEEP_0____CAPGO_KEEP_0__
  4. Control de Versión Nativo: Monitorear versiones de aplicaciones nativas para garantizar la compatibilidad

Si estás utilizando Dispositivos para planificar la ruta de canal y el despliegue 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.