Ein Öffentliche API JSON Ein Interface ermöglicht es Software, strukturierte Daten über HTTP-Requests und -Responses auszutauschen. Die typisierte, RESTful API von Capgo gibt CapacitorJS- und Electron-Teams programmatische Kontrolle über Live Updates, Channels, Bundles und die Auslieferung an Geräte.
Inhaltsverzeichnis
Grundlagen der Capgo Public API JSON
Capgo ist kein allgemeines Datenverzeichnis. Seine öffentliche API-JSON-Schnittstelle verbindet Ihr Build-System mit dem Cloud-Delivery-Service von Capgo, sodass Release-Automatisierung signierte Web-Bundles veröffentlichen und bereitstellen kann, ohne auf die Prüfung durch den App Store oder Play Store zu warten. REST verwendet vertraute HTTP-Methoden wie GET, POST, PUT, PATCH und DELETE, wobei JSON üblicherweise als Antwortformat dient, wie in diesem REST API-Guide aus Postman.

Für Capgo ist JSON die gemeinsame Sprache zwischen Automatisierungsskripten, CI/CD-Jobs, TypeScript-Clients und der Delivery-Plattform. Diese Konsistenz macht Payloads in Logs lesbar und leicht zu validieren, bevor ein Deployment startet.
Was das Interface steuert
Nutze die öffentlichen API-JSON-Endpunkte, um operative Release-Ressourcen zu verwalten, einschließlich:
- Bundles, die Web-Assets und Metadaten, aus denen ein deploybares Update besteht.
- Kanäle, wie zum Beispiel Staging-, Beta-, Production- oder kundenspezifische Release-Streams.
- Versionen, die die Builds identifizieren und verfolgen, die diesen Kanälen zugewiesen sind.
- Geräte-Targeting, das dabei hilft, Releases gezielt an bestimmte Plattformen, App-Versionen, Betriebssysteme oder Metadaten-Gruppen zu steuern.
- Observability-Daten, einschließlich Adoption, Fehlschlägen, Rollback-Aktivitäten und Gerätestatus.
Ein typischer Request folgt einer vorhersehbaren Sequenz. Deine Pipeline erstellt oder bereitet ein Bundle vor, sendet JSON-Metadaten an Capgo, prüft den zurückgegebenen Status und weist das Release dann einem passenden Channel zu. Eine spätere Abfrage kann bestätigen, welche Geräte das Update erhalten haben.
Kernkonzept: Betrachte das Capgo JSON als einen Release-Control-Contract und nicht nur als reines Datenformat. Jedes Feld sollte das Veröffentlichen, Targeting, Monitoring oder das Wiederherstellen eines App-Updates unterstützen.
Warum typisiertes JSON hilft
Typisierte Payloads reduzieren Unklarheiten in TypeScript-Codebasen. Eine Versions-ID sollte ein String bleiben, ein Rollout-Flag ein Boolean und eine Geräteanzahl numerisch. Bevor du Automatisierung anbindest, definiere Interfaces für Requests und Responses und validiere dann Pflichtfelder sowie nullable Werte.
Lies auch: Mehr über TypeScript mit APIs erfahren.
Drei Gewohnheiten für jede Integration:
- Status-Codes und Response-Bodies gemeinsam prüfen, da ein HTTP-Erfolg allein nicht den Abschluss eines Deployments beschreibt.
- Rückgegebene IDs beibehalten, insbesondere Bundle-, Version- und Channel-IDs, für nachfolgende Aufrufe.
- Sicher loggen, unter Ausschluss von API Keys und sensiblen Gerätedaten.
Die folgenden Referenzabschnitte nutzen diese Grundlage, um Authentifizierung, Upload-Payloads, Channel-Schemas, Targeting-Queries und Error-Objekte zu erklären. Aktuelle Endpoint-Namen und Felddefinitionen findest du in der Dokumentation von Capgo unter capgo.app.
{ “authorization”: “Bearer YOUR_CAPGO_API_KEY”, “contentType”: “application/json”, “accept”: “application/json” }
{ “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”: “The ‘version’ field is required”, “field”: “version”, “details”: { “expected”: “string”, “received”: “null” } } }
{ “version”: “2.4.0”, “checksum”: “sha256-value”, “encryption”: true, “externalUrl”: “https://storage.example/bundle.zip” }