Saltar al contenido

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.

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
  1. Seguimiento de Versiones: Monitoree las versiones de los dispositivos para asegurar la adopción de actualizaciones
  2. Gestión de Canales: Asigne dispositivos a canales apropiados según las necesidades de prueba
  3. Conciencia del Entorno: Maneje diferentes entornos (prod/dev/emulador) apropiadamente
  4. Identificación Personalizada: Usar IDs personalizados para integrar con sus sistemas existentes

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

Vincular un dispositivo a una versión o canal específico.

interface DeviceLink {
app_id: string
device_id: string
version_id?: string // version name
channel?: string // channel name
}
Terminal window
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/

Recuperar información del dispositivo. Utiliza paginación basada en cursor para una recuperación eficiente de listas grandes de dispositivos.

  • app_id: Requerido. El ID de su aplicación
  • device_id: Opcional. ID de dispositivo específico para recuperar un solo dispositivo
  • cursor: Opcional. Cursor de la respuesta anterior para paginación
  • limit: Opcional. Número de dispositivos por página (predeterminado: 50)
Terminal window
# 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"

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;
}
{
"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"
}

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.

interface Device {
device_id: string
app_id: string
}
Terminal window
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 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"
}
  1. Beta Dispositivo Registration
{
"app_id": "app_123",
"device_id": "device_456",
"channel": "beta"
}
  1. Versión Override
{
"app_id": "app_123",
"device_id": "device_456",
"version_id": "1.1.0"
}
  1. Reset A Predeterminado Canal
// Use DELETE endpoint to remove overrides
  1. Monitoreo: Verifique regularmente el estado del dispositivo y la distribución de versiones
  2. Pruebas: Usar IDs personalizados para identificar fácilmente los dispositivos de prueba
  3. Solución de Problemas: Rastree las actualizaciones de dispositivos y las asignaciones de canales
  4. Control de Versiones: Monitoree las versiones nativas de la aplicación para garantizar la compatibilidad