__CAPGO_KEEP_0__ - Actualizaciones en Vivo para Aplicaciones __CAPGO_KEEP_1__

Dispositivos

Los dispositivos representan instalaciones individuales de tu aplicación que están gestionadas por Capgo. El panel de dispositivos API te permite rastrear y gestionar dispositivos, incluidos sus paquetes (versiones), canales y estado de actualización.

Plataforma

  • : iOS, Android o ElectronData Retention
  • Paquete (versión): Paquete actual (versión) 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 Paquetes (versión): Monitorear la adopción del paquete (versión) del dispositivo para asegurar el aumento de las actualizaciones
  2. Gestión de Canales: Asignar dispositivos a los canales adecuados según las necesidades de prueba
  3. Conciencia del Entorno: Manejar diferentes entornos (prod/dev/emulator) de manera adecuada
  4. Identificación Personalizada: Utilizar IDs personalizados para integrarse con los sistemas existentes

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

Enlazar un dispositivo a una versión específica del paquete (bundle) o canal.

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

Copiar a portapapeles

  • app_id: Obligatorio. El ID de tu aplicación
  • device_id: Opcional. Identificador de dispositivo específico para recuperar un dispositivo único
  • cursor: Opcional. Cursor de 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 (no 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 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")
}
{
"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 sobrescritura de canal. Esto restaura el dispositivo a usar su canal predeterminado.

No puedes eliminar un dispositivo con este punto de conexión, solo afecta la sobrescritura de canal.

Parámetros de consulta
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. Sobrescribir versión
{
"app_id": "app_123",
"device_id": "device_456",
"version_id": "1.1.0"
}
  1. Restablecer a canal predeterminado
// Use DELETE endpoint to remove overrides
  1. MonitoreoVerificar regularmente el estado del dispositivo y la distribución de paquetes (versiones)
  2. Pruebas: Utilice IDs personalizados para identificar dispositivos de prueba de manera fácil
  3. Resolución de problemas: Registre actualizaciones de dispositivos y asignaciones de canales
  4. Control de versiones nativos: Monitoree versiones de aplicaciones nativas para garantizar la compatibilidad