Ein öffentliches API JSON eine Schnittstelle, die den Austausch strukturierter Daten via HTTP-Requests und -Responses ermöglicht. Die typisierte, RESTful API von Capgo bietet CapacitorJS- und Electron-Teams die programmatische Kontrolle über Live Updates, Channels, Bundles und das Device-Delivery.
Inhaltsverzeichnis
Grundlagen der Capgo öffentlichen API JSON-Schnittstelle
Capgo ist kein allgemeiner Datenspeicher. Die öffentliche API JSON-Schnittstelle verbindet dein Build-System mit dem Cloud-Delivery-Service von Capgo, sodass Release-Automatisierungen signierte Web-Bundles veröffentlichen und steuern können, ohne auf die Prüfung durch den App Store oder Play Store zu warten. REST nutzt bekannte HTTP-Methoden wie GET, POST, PUT, PATCH und DELETE, wobei JSON meist als Antwortformat dient, wie in diesem REST API Guide von Postman erklärt wird.

Für Capgo ist JSON die gemeinsame Sprache zwischen Automatisierungsskripten, CI/CD-Jobs, TypeScript-Clients und der Delivery-Plattform. Diese Konsistenz macht Payloads in den Logs lesbar und ermöglicht eine einfache Validierung vor dem Deployment.
Was die Schnittstelle steuert
Nutze die öffentlichen API JSON-Endpoints, um Release-Ressourcen zu verwalten, einschließlich:
- Bundles, also der Web-Assets und Metadaten, die ein deploybares Update bilden.
- Kanäle, wie zum Beispiel Staging-, Beta-, Production- oder kundenspezifische Release-Streams.
- Versionen, mit denen die diesen Channels zugewiesenen Builds identifiziert und nachverfolgt werden.
- Device Targeting, das dabei hilft, Releases gezielt an bestimmte Plattformen, App-Versionen, Betriebssysteme oder Metadaten-Gruppen zu steuern.
- Observability-Daten, einschließlich Adoption, Fehlern, Rollback-Aktivitäten und dem Status pro Gerät.
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. Ein späterer Query 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 Publishing, Targeting, Monitoring oder das Recovery eines App-Updates unterstützen.
Warum Typed JSON hilft
Typisierte Payloads reduzieren Unklarheiten in TypeScript-Codebases. Eine Versions-ID sollte ein String bleiben, ein Rollout-Flag ein Boolean und ein Device-Count numerisch. Bevor du Automatisierungen verbindest, definiere Interfaces für Requests und Responses und validiere 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-Success 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 Device-Daten.
Die folgenden Referenzabschnitte nutzen diese Basis, um Authentication, 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”,\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”: “Das Feld ‘version’ ist erforderlich”, “field”: “version”, “details”: { “expected”: “string”, “received”: “null” } } }
{ "version": "2.4.0", "checksum": "sha256-value", "encryption": true, "externalUrl": "https://storage.example/bundle.zip” }