__CAPGO_KEEP_0__ - __CAPGO_KEEP_1__ 앱의 실시간 업데이트

Capgo의 기본적인 엔터티는 앱입니다. 각 앱은 Capacitor 애플리케이션의 고유한 표현으로, 플랫폼을 통해 관리하고 업데이트 할 수 있습니다. 앱 API은 앱 구성의 생성, 조회, 수정 및 삭제를 허용합니다.

Capgo의 앱은 Capacitor 애플리케이션의 표현으로, 다음과 같은 요소를 포함합니다:

  • 앱 ID: 애플리케이션의 고유 식별자
  • 이름: 애플리케이션의人間 읽기 가능한 이름
  • 아이콘: 앱의 시각적 식별자입니다.
  • 설정: 업데이트가 전달되는 방법을 제어하는 설정
  • 소유권: 조직 및 사용자 접근 정보
  • 사용 통계: 설치 및 업데이트에 대한 메트릭
  1. 이름 규칙: 앱에 명확하고 식별 가능한 이름을 사용
  2. 보안: API 키를 보호하고 접근 자격 증명을 보호하세요.
  3. 단체: 관련된 앱을 동일한 단체 아래에 그룹화하세요.
  4. 모니터링: 앱 통계 및 성능을 정기적으로 확인하세요.
  5. 백업: 중요한 앱의 구성 파일 백업을 유지하세요.

엔드포인트

엔드포인트 섹션

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

앱에 대한 정보를 검색하세요.

  • page: Optional. 페이지 번호 (분할 페이지)
  • limit: Optional. 한 페이지당 결과 수 (기본값: 50)
  • org_id: Optional. 앱을 조직 ID로 필터링합니다. 제공되지 않으면 사용자가 접근할 수 있는 모든 조직의 앱을 반환합니다.

특정 앱을 가져오려면:

  • URL 경로에 앱 ID를 사용하세요: https://api.capgo.app/app/:app_id

참고: last_version 앱의 마지막 배포 버전을 참조합니다.

interface App {
app_id: string
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": [
{
"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"
}
]
}

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/
{
"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 {
name?: string
icon?: string
retention?: number
}
터미널 창
curl -X PUT \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"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",
"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. 조직: 관련 앱을 단일 조직 아래에 그룹화
  3. 접근 제어: 앱 설정을 수정할 수 있는 팀원들을 관리
  4. 백업 전략: 중요한 앱 구성 및 설정을 백업