App
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Le app sono le entità fondamentali in Capgo. Ogni app rappresenta un'applicazione Capacitor univoca che puoi gestire e aggiornare tramite la piattaforma. L'API delle app ti consente di creare, recuperare, aggiornare ed eliminare le configurazioni delle app.
Capire le App
Sezione intitolata “Comprendere le app”Un'app in Capgo rappresenta la tua applicazione Capacitor e include:
- ID dell'app: Identificatore univoco per la tua applicazione
- Nome: Nome leggibile della tua applicazione
- Icone: Identificatori visivi per la tua app nel dashboard
- Configurazione: Impostazioni che controllano come vengono distribuiti gli aggiornamenti
- Proprietà: Informazioni su accesso per organizzazione e utenti
- Statistiche di utilizzo: Metriche su installazioni e aggiornamenti
Best practice
Sezione “Best practice”- Convenzione di denominazione: Usa nomi chiari e identificativi per le tue app
- Sicurezza: Proteggi le tue chiavi API e le credenziali di accesso
- Organizzazione: Raggruppa le app correlate sotto la stessa organizzazione
- Monitoraggio: Controlla regolarmente le statistiche e le prestazioni delle app
- Backup: Mantieni backup delle configurazioni per le app critiche
Endpoint
Sezione intitolata “Endpoints”https://api.capgo.app/app/
Recupera informazioni sulle tue app.
Parametri di query
Sezione intitolata “Parametri di query”page: Opzionale. Numero di pagina per la paginazionelimit: Facoltativo. Numero di risultati per pagina (predefinito: 50)org_id: Facoltativo. Filtra le app per ID organizzazione. Se non specificato, restituisce le app di tutte le organizzazioni a cui l'utente ha accesso
Per ottenere un'app specifica:
- Usa l'ID dell'app nel percorso URL:
https://api.capgo.app/app/:app_id
Tipo di risposta
Sezione intitolata “Tipo di risposta”Nota: last_version si riferisce all'ultimo bundle (versione) caricato per l'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}Esempio di richiesta
Sezione intitolata “Esempio di richiesta”# Get all appscurl -H "authorization: your-api-key" \ "https://api.capgo.app/app/"
# Get apps from a specific organizationcurl -H "authorization: your-api-key" \ "https://api.capgo.app/app/?org_id=046a36ac-e03c-4590-9257-bd6c9dba9ee8"
# Get specific appcurl -H "authorization: your-api-key" \ "https://api.capgo.app/app/com.demo.app"Risposta di esempio
Sezione intitolata “Risposta di esempio”{ "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 nuova app.
Corpo della richiesta
Sezione intitolata “Request Body”interface CreateApp { app_id: string name: string icon?: string owner_org: string}Esempio di richiesta
Sezione intitolata “Esempio di richiesta”# Create new appcurl -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/Risposta di successo
Sezione intitolata “Risposta di successo”{ "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
Aggiorna un'app esistente. L'app ID è specificato nel percorso dell'URL.
Corpo della richiesta
Sezione intitolata “Request Body”interface UpdateApp { block_provider_infra_requests?: boolean name?: string icon?: string retention?: number}Esempio di richiesta
Sezione intitolata “Esempio di richiesta”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.appRisposta di successo
Sezione intitolata “Risposta di successo”{ "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"}ELIMINA
Sezione intitolata “DELETE”https://api.capgo.app/app/:app_id
Elimina un'app e tutte le risorse associate. L'ID dell'app è specificato nel percorso URL. Usa con estrema cautela, poiché questa azione non può essere annullata.
Esempio di richiesta
Sezione intitolata “Esempio di richiesta”curl -X DELETE \ -H "authorization: your-api-key" \ https://api.capgo.app/app/com.demo.appRisposta di successo
Sezione intitolata “Risposta di successo”{ "status": "ok"}Gestione degli errori
Sezione “Gestione degli errori”Tutti gli errori seguono il formato standard descritto nella Panoramica di API.
Scenari di errore comuni e relative risposte:
// 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 }}Casi d'uso comuni
Sezione intitolata “Casi d'uso comuni”- Crea nuova app
// Set up a new app{ "name": "Production App", "owner_org": "046a36ac-e03c-4590-9257-bd6c9dba9ee8"}- Aggiorna configurazione app
// Change app name and icon{ "name": "Rebranded App Name", "icon": "https://example.com/new-icon.png"}- Imposta retention policy
// Configure automatic bundle cleanup{ "retention": 30 // Keep bundles for 30 days}- Ottieni app per organizzazione
# List all apps in a specific organizationcurl -H "authorization: your-api-key" \ "https://api.capgo.app/app/?org_id=046a36ac-e03c-4590-9257-bd6c9dba9ee8"Gestione delle risorse
Sezione intitolata “Gestione delle risorse”- Ottimizzazione dello storage: Monitora l'utilizzo dello storage e imposta le policy di retention appropriate
- Organizzazione: Raggruppa le app correlate sotto un'unica organizzazione
- Controllo degli accessi: Gestisci quali membri del team possono modificare le impostazioni dell'app
- Strategia di backup: Back up critical app configurations and settings
Continua da Apps
Sezione intitolata “Continua da Apps”Se stai usando App per pianificare le operazioni della dashboard e di API, collegalo a Panoramica API per i dettagli di implementazione in Panoramica di API, Introduzione per i dettagli di implementazione in Introduzione, Chiavi API per i dettagli di implementazione delle chiavi API, Dispositivi per i dettagli di implementazione in Devices, e Bundle per il dettaglio di implementazione in Bundles.