ある 公開API JSON インターフェースは、HTTPリクエストとレスポンスを通じて構造化されたデータの交換を可能にします.Capgoの型定義されたRESTfulなAPIにより、CapacitorJSやElectronのチームは、Live Update、チャンネル、bundle、デバイス配信をプログラムから制御できます。
目次
Capgo 公開 API JSON の基本を理解する
Capgo は汎用的なデータディレクトリではありません。公開されている API JSON インターフェースは、ビルドシステムと Capgo のクラウド配信サービスを接続します。これにより、App Store や Play Store の審査を待たずに、リリース自動化によって署名済みウェブバンドルを公開・配信できます。REST では、以下のような使い慣れた HTTP メソッドを使用します。 GET, POST, PUT, PATCH, DELETE。JSON は通常、レスポンス形式として使用されます。詳細は Postman のこちらの REST API ガイドを参照してください.

Capgo において、JSON は自動化スクリプト、CI/CD ジョブ、TypeScript クライアント、そして配信プラットフォーム間の共通言語です。この一貫性により、ログでのペイロードの可読性が高まり、デプロイ開始前のバリデーションも容易になります。
インターフェースの制御内容
公開されている API JSON エンドポイントを使用して、以下を含むリリースリソースを管理できます:
- Bundle。デプロイ可能なアップデートを構成するウェブアセットとメタデータ。
- チャンネル(staging、beta、production、または顧客専用のリリースストリームなど)
- バージョン(それらのチャンネルに割り当てられたビルドを特定・追跡します)
- デバイスターゲティング(特定のプラットフォーム、アプリバージョン、OS、またはメタデータグループへのリリースを制御します)
- オブザーバビリティデータ(採用率、失敗、ロールバックの履歴、デバイスごとのステータスなど)
一般的なリクエストは予測可能なシーケンスに従います。まずパイプラインがbundleを作成または準備し、JSONメタデータをCapgoに送信して、返されたステータスを確認した後、適切なチャンネルにリリースを割り当てます。その後、どのデバイスがアップデートを受信したかをクエリで確認できます。
重要な考え方: CapgoのJSONは、単なるデータ形式ではなく、リリース制御のためのコントラクトとして扱ってください。すべてのフィールドは、アプリケーションアップデートの公開、ターゲティング、モニタリング、またはリカバリをサポートする必要があります。
型定義されたJSONが役立つ理由
型定義されたペイロードは、TypeScriptのコードベースにおける曖昧さを排除します。バージョン識別子はstring、ロールアウトフラグはBoolean、デバイス数はnumericとして扱うべきです。自動化を組み込む前に、リクエストとレスポンスのinterfaceを定義し、必須フィールドやnullableな値のバリデーションを行いましょう。
関連記事: APIでのTypeScript活用について詳しく知る.
統合時に守るべき3つの習慣:
- ステータスコードとレスポンスボディをセットで確認する, HTTPの成功だけではデプロイの完了を保証できないためです。
- 返却された識別子を保持する, 特にbundle、version、channelのIDは、後続の呼び出しに必要です。
- 安全にログを出力する, APIのキーや機密性の高いデバイスデータは除外してください。
以下のリファレンスセクションでは、この基礎をもとに、認証、uploadペイロード、channelスキーマ、ターゲティングクエリ、およびエラーオブジェクトについて解説します。最新のエンドポイント名やフィールド定義については、Capgoのドキュメントを以下で確認してください: 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": "“version” フィールドは必須です", "field": "version", "details": { "expected": "string", "received": "null" } } }
{ “version”: “2.4.0”, “checksum”: “sha256-value”, “encryption”: true, “externalUrl”: “https://storage.example/bundle.zip” }