Un API JSON pubblica Un'interfaccia che permette al software di scambiare dati strutturati tramite richieste e risposte HTTP. L'API RESTful e tipizzata di Capgo offre ai team CapacitorJS ed Electron il controllo programmatico su live updates, canali, bundle e consegna ai dispositivi.
Indice dei contenuti
Fondamenti dell'interfaccia JSON pubblica di Capgo API
Capgo non è una directory dati generica. La sua interfaccia JSON pubblica API connette il tuo sistema di build con il servizio cloud di Capgo, permettendo l'automazione del rilascio per pubblicare e indirizzare web bundle firmati senza attendere la revisione di App Store o Play Store. REST utilizza metodi HTTP comuni come GET, POST, PUT, PATCH e DELETE, con il JSON che funge solitamente da formato di risposta, come spiegato in questa guida REST API di Postman.

Per Capgo, il JSON è il linguaggio condiviso tra script di automazione, job CI/CD, client TypeScript e la piattaforma di delivery. Questa coerenza rende i payload leggibili nei log e facili da validare prima dell'inizio di un deployment.
Cosa controlla l'interfaccia
Usa gli endpoint JSON pubblici di API per gestire le risorse di rilascio, tra cui:
- Bundle, gli asset web e i metadati che compongono un aggiornamento deployabile.
- Canali, come i flussi di rilascio staging, beta, production o specifici per cliente.
- Versioni, che identificano e tracciano i build assegnati a tali canali.
- Targeting dei dispositivi, che aiuta a indirizzare i rilasci verso piattaforme, versioni dell'app, sistemi operativi o gruppi di metadati selezionati.
- Dati di osservabilità, inclusi l'adozione, i fallimenti, l'attività di rollback e lo stato per singolo dispositivo.
Una richiesta tipica segue una sequenza prevedibile. La tua pipeline crea o prepara un bundle, invia i metadati JSON a Capgo, controlla lo stato restituito e assegna il rilascio al canale corretto. Una query successiva può confermare quali dispositivi hanno ricevuto l'aggiornamento.
L'idea chiave: Considera il JSON di Capgo come un contratto per il controllo dei rilasci, non solo come un formato dati. Ogni campo deve supportare il publishing, il targeting, il monitoraggio o il recovery di un aggiornamento dell'app.
Perché il JSON tipizzato aiuta
I payload tipizzati riducono l'ambiguità nei codebase TypeScript. Un identificatore di versione deve essere una string, un flag di rollout un Boolean e il conteggio dei dispositivi un numero. Prima di collegare l'automazione, definisci le interfacce per request e response, poi valida i campi obbligatori e i valori nullable.
Leggi anche: Scopri di più sull'uso di TypeScript con le API.
Mantieni queste tre abitudini in ogni integrazione:
- Controlla insieme status code e response body, perché il solo successo HTTP potrebbe non indicare il completamento del deployment.
- Preserva gli identificatori restituiti, specialmente bundle, version e channel ID, per le chiamate successive.
- Logga in sicurezza, escludendo le chiavi API e i dati sensibili dei dispositivi.
Le seguenti sezioni di riferimento usano questa base per spiegare autenticazione, payload di upload, schemi dei channel, query di targeting e oggetti di errore. Per i nomi attuali degli endpoint e le definizioni dei campi, verifica la documentazione di Capgo su capgo.app.
{ “authorization”: “Bearer YOUR_CAPGO_API_KEY”,\n“contentType”: “application/json”,\n“accept”: “application/json”\n}
{ "success": true, "bundleId": "com.example.field-app", "version": "2.4.0", "status": "uploaded", "bundleUuid": "generated-bundle-identifier", "createdAt": "2026-01-15T10:30:00Z" }
{ “defaultVersion”: “2.4.3”, “autoUpdate”: true, “rollbackProtection”: { “enabled”: true, “fallbackVersion”: “2.4.2” } }
{ “data”: [ { “timestamp”: “2026-02-04T09:00:00Z”, “installs”: 842, “rollbacks”: 3, “errors”: 11 }, { “timestamp”: “2026-02-04T10:00:00Z”, “installs”: 1276, “rollbacks”: 2, “errors”: 8 } ], “summary”: { “totalInstalls”: 2118, “totalRollbacks”: 5, “totalErrors”: 19 } }
{ “error”: { “code”: “INVALID_PARAMETER”, “message”: “Il campo ‘version’ è obbligatorio”, “field”: “version”, “details”: { “expected”: “string”, “received”: “null” } } }
{\n“version”: “2.4.0”,\n“checksum”: “sha256-value”,\n“encryption”: true,\n“externalUrl”: “"}https://storage.example/bundle.zip” }