コンテンツにジャンプ

アプリ

アプリはCapgoの基本的なエンティティです。各アプリは一意のCapacitorアプリケーションを表し、プラットフォームを通じて管理および更新できます。アプリのAPIにより、アプリケーション設定の作成、取得、更新、削除が可能になります。

Capgoのアプリは、Capacitorアプリケーションを表し、以下を含みます:

  • アプリ ID: アプリケーションに一意の識別子
  • Name: アプリケーションの人間が読める名前
  • Icons: ダッシュボード上のアプリの視覚的識別子
  • Configuration: アップデートの配信方法を制御する設定
  • Ownership: 組織とユーザーへのアクセス情報
  • Usage Statistics: インストールとアップデートに関するメトリクス

ベストプラクティス

「ベストプラクティス」
  1. ネーミングコンバニション: アプリにわかりやすい名前を使用する
  2. セキュリティ: Protect your API keys and access credentials
  3. : __CAPGO_KEEP_0__ キーとアクセス資格を保護する組織
  4. : 関連するアプリを同じ組織にグループ化するモニタリング
  5. : アプリの統計とパフォーマンスを定期的に確認するバックアップ

エンドポイント

「エンドポイント」

https://api.capgo.app/app/

アプリの情報を取得します。

クエリ パラメータ

「クエリ パラメータ」
  • page: ページ番号 (省略可)
  • limit: 1 ページあたりの結果数 (デフォルト: 50)
  • org_id: 組織 ID でアプリをフィルタリングします。指定しない場合は、ユーザーがアクセス可能なすべての組織のアプリを返します。

特定のアプリを取得する場合:

  • URL パスにアプリ ID を使用します: https://api.capgo.app/app/:app_id

注意: last_version アプリの最後にアップロードされたバンドル(バージョン)を指します。

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
}
ターミナル画面
# Get all apps
curl -H "authorization: your-api-key" \
"https://api.capgo.app/app/"
# Get apps from a specific organization
curl -H "authorization: your-api-key" \
"https://api.capgo.app/app/?org_id=046a36ac-e03c-4590-9257-bd6c9dba9ee8"
# Get specific app
curl -H "authorization: your-api-key" \
"https://api.capgo.app/app/com.demo.app"
{
"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"
}
]
}

POST

POST

https://api.capgo.app/app/

新しいアプリを作成します。

リクエストボディ

リクエストボディ
interface CreateApp {
app_id: string
name: string
icon?: string
owner_org: string
}

例のリクエスト

リクエスト
ターミナル画面
# Create new app
curl -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/

成功レスポンス

成功レスポンス
{
"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

既存のアプリを更新します。アプリIDはURLパスに指定されています。

interface UpdateApp {
block_provider_infra_requests?: boolean
name?: string
icon?: string
retention?: number
}
ターミナル画面
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.app

成功レスポンス

成功応答
{
"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"
}

https://api.capgo.app/app/:app_id

アプリと関連するすべてのリソースを削除します。アプリIDはURLパスに指定されています。このアクションは元に戻すことができませんので、極めて注意してください。

ターミナル画面
curl -X DELETE \
-H "authorization: your-api-key" \
https://api.capgo.app/app/com.demo.app
{
"status": "ok"
}

一般的なエラーのシナリオとその応答:

// App not found
{
"error": "App not found",
"status": "KO"
}
// Duplicate custom ID
{
"error": "Custom ID already in use",
"status": "KO"
}
// Invalid parameters
{
"error": "Invalid app configuration",
"status": "KO"
}
// Permission denied
{
"error": "Insufficient permissions to manage app",
"status": "KO"
}
// Organization access denied
{
"status": "You do not have access to this organization"
}
  1. 新しいアプリを作成
// Set up a new app
{
"name": "Production App",
"owner_org": "046a36ac-e03c-4590-9257-bd6c9dba9ee8"
}
  1. アプリの構成を更新
// Change app name and icon
{
"name": "Rebranded App Name",
"icon": "https://example.com/new-icon.png"
}
  1. 保持ポリシーを設定
// Configure automatic bundle cleanup
{
"retention": 30 // Keep bundles for 30 days
}
  1. アプリを組織ごとに取得する
ターミナル画面
# List all apps in a specific organization
curl -H "authorization: your-api-key" \
"https://api.capgo.app/app/?org_id=046a36ac-e03c-4590-9257-bd6c9dba9ee8"
  1. ストレージ最適化: ストレージ使用量を監視し、適切な保持ポリシーを設定する
  2. 組織: 1 つの組織下で関連するアプリをグループ化する
  3. アクセス制御: チーム メンバーがアプリ設定を変更できるかどうかを管理する
  4. バックアップ戦略: バックアップする重要なアプリ設定と設定

アプリから続ける Capgoを使用している場合 to plan dashboard and API operations, connect it with API Overview for the implementation detail in API Overview, Capgoの概要の実装詳細 導入 API Keys for the implementation detail in API Keys, デバイス デバイスの実装詳細について バンドル バンドルの実装詳細について