Saltar al contenido

Apps

Las apps son las entidades fundamentales en Capgo. Cada app representa una aplicación Capacitor única que puedes gestionar y actualizar a través de la plataforma. La API de Apps te permite crear, obtener, actualizar y eliminar configuraciones de apps.

Una app en Capgo representa tu aplicación Capacitor e incluye:

  • ID de la App: Identificador único de tu aplicación
  • Nombre: Nombre legible de tu aplicación
  • Iconos: Identificadores visuales de tu app en el dashboard
  • Configuración: Configuración que controla cómo se entregan las actualizaciones
  • Propiedad: Información de acceso de usuarios y organización
  • Estadísticas de uso: Métricas sobre instalaciones y actualizaciones
  1. Convención de nombres: Usa nombres claros e identificables para tus apps
  2. Seguridad: Protege tus claves de API y credenciales de acceso
  3. Organización: Agrupa apps relacionadas bajo la misma organización
  4. MonitorizaciónConsulta regularmente las estadísticas y el rendimiento de la app
  5. Backup: Mantén backups de configuración para apps críticas

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

Obtén información sobre tus apps.

  • page: Opcional. Número de página para paginación
  • limit: Opcional. Número de resultados por página (por defecto: 50)
  • org_id: Opcional. Filtra las apps por ID de organización. Si no se proporciona, devuelve las apps de todas las organizaciones a las que el usuario tiene acceso

Para obtener una app específica:

  • Usa el app ID en la ruta de la URL: https://api.capgo.app/app/:app_id

Nota: last_version se refiere al último bundle (versión) subido para la app.

interface App {
app_id: string
block_provider_infra_requests: boolean
created_at: string | null
default_upload_channel: string
icon_url: string
id: string | null
last_version: string | null // last bundle (version) name
name: string | null
owner_org: string
retention: number
transfer_history: Json[] | null
updated_at: string | null
user_id: string | null
}
Ventana de la terminal
# Get all apps
curl -H "authorization: your-api-key" \
"https://api.capgo.app/app/"
# Get apps from a specific organization
curl -H "authorization: your-api-key" \
"https://api.capgo.app/app/?org_id=046a36ac-e03c-4590-9257-bd6c9dba9ee8"
# Get specific app
curl -H "authorization: your-api-key" \
"https://api.capgo.app/app/com.demo.app"
{
"data": [
{
"block_provider_infra_requests": true,
"app_id": "com.demo.app",
"created_at": "2024-01-01T00:00:00Z",
"default_upload_channel": "dev",
"icon_url": "https://example.com/icon.png",
"id": "550e8400-e29b-41d4-a716-446655440000",
"last_version": "1.0.0",
"name": "Demo App",
"owner_org": "046a36ac-e03c-4590-9257-bd6c9dba9ee8",
"retention": 2592000,
"transfer_history": null,
"updated_at": "2024-01-01T00:00:00Z",
"user_id": "6aa76066-55ef-4238-ade6-0b32334a4097"
}
]
}

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

Crea una nueva app.

interface CreateApp {
app_id: string
name: string
icon?: string
owner_org: string
}
Ventana de la terminal
# Create new app
curl -X POST \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"name": "My New App",
"app_id": "com.demo.myapp", // this id is unique in Capgo This cannot be reused by any account.
"icon": "https://example.com/icon.png",
"owner_org": "046a36ac-e03c-4590-9257-bd6c9dba9ee8"
}' \
https://api.capgo.app/app/
{
"block_provider_infra_requests": true,
"app_id": "My New App",
"created_at": "2024-01-01T00:00:00Z",
"default_upload_channel": "dev",
"icon_url": "https://example.com/icon.png",
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My New App",
"owner_org": "046a36ac-e03c-4590-9257-bd6c9dba9ee8",
"retention": 2592000,
"updated_at": "2024-01-01T00:00:00Z"
}

https://api.capgo.app/app/:app_id

Actualiza una app existente. El ID de la app se especifica en la ruta de la URL.

interface UpdateApp {
block_provider_infra_requests?: boolean
name?: string
icon?: string
retention?: number
}
Ventana de la terminal
curl -X PUT \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"block_provider_infra_requests": true,
"name": "Updated App Name",
"icon": "https://example.com/updated-icon.png",
"retention": 45
}' \
https://api.capgo.app/app/com.demo.app
{
"app_id": "com.demo.app",
"created_at": "2024-01-01T00:00:00Z",
"default_upload_channel": "dev",
"block_provider_infra_requests": true,
"icon_url": "https://example.com/updated-icon.png",
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Updated App Name",
"owner_org": "046a36ac-e03c-4590-9257-bd6c9dba9ee8",
"retention": 45,
"updated_at": "2024-01-01T00:00:00Z"
}

https://api.capgo.app/app/:app_id

Elimina una app y todos sus recursos asociados. El ID de la app se especifica en la ruta de la URL. Úsalo con extrema precaución, ya que esta acción no se puede deshacer.

Ventana de la terminal
curl -X DELETE \
-H "authorization: your-api-key" \
https://api.capgo.app/app/com.demo.app
{
"status": "ok"
}

Todos los errores utilizan el formato estándar descrito en la visión general de API.

Escenarios de error comunes y sus respuestas:

// Missing or invalid API key (HTTP 401)
{
"error": "invalid_apikey",
"message": "Invalid apikey",
"moreInfo": {}
}
// app_id is not a reverse-domain identifier
{
"error": "invalid_app_id",
"message": "App ID must be a reverse domain string",
"moreInfo": { "app_id": "my app" }
}
// The API key has no access to this app (HTTP 401)
{
"error": "cannot_access_app",
"message": "You can't access this app",
"moreInfo": { "app_id": "com.example.app" }
}
// Creating an app in an organization the key cannot write to (HTTP 403)
{
"error": "cannot_access_organization",
"message": "You can't access this organization",
"moreInfo": { "org_id": "046a36ac-e03c-4590-9257-bd6c9dba9ee8" }
}
// Retention above the two-year limit on update
{
"error": "retention_to_big",
"message": "Retention cannot be bigger than 63113903 (2 years)",
"moreInfo": { "retention": 99999999 }
}
  1. Crear nueva app
// Set up a new app
{
"name": "Production App",
"owner_org": "046a36ac-e03c-4590-9257-bd6c9dba9ee8"
}
  1. Actualizar configuración de la app
// Change app name and icon
{
"name": "Rebranded App Name",
"icon": "https://example.com/new-icon.png"
}
  1. Establecer política de retención
// Configure automatic bundle cleanup
{
"retention": 30 // Keep bundles for 30 days
}
  1. Obtener apps por organización
Ventana de la terminal
# List all apps in a specific organization
curl -H "authorization: your-api-key" \
"https://api.capgo.app/app/?org_id=046a36ac-e03c-4590-9257-bd6c9dba9ee8"
  1. Optimización de almacenamiento: Monitoriza el uso de almacenamiento y define políticas de retención adecuadas
  2. Organización: Agrupa apps relacionadas bajo una misma organización
  3. Control de accesoGestiona qué miembros del equipo pueden modificar la configuración de la app
  4. Estrategia de backup: Haz backup de configuraciones y ajustes críticos de la app

Si estás usando Apps para planificar el dashboard y las operaciones de API, conéctalo con Resumen de API para el detalle de implementación en Resumen de API Overview, Introducción para el detalle de implementación en Introducción, Claves de API para los detalles de implementación en las API Keys, Dispositivos para los detalles de implementación en Dispositivos, y Bundles para los detalles de implementación en Bundles.