Langsung ke konten

Endpoints

Ini adalah dokumentasi API publik dari Capgo cloud

Untuk mengakses, tambahkan kunci API Anda di header sebagai authorization

Organisasi

Endpoint ini memungkinkan Anda mengelola organisasi dan anggotanya

GET

https://apicapgoapp/organization

Mengambil informasi organisasi. Jika orgId disediakan dalam parameter, mengembalikan satu organisasi. Jika tidak, mengembalikan semua organisasi yang dapat diakses

interface Organization {
id: string
created_by: string
created_at: string
updated_at: string
logo: string | null
name: string
management_email: string
customer_id: string | null
}

Mengembalikan:

return Organization[] | Organization

POST

https://apicapgoapp/organization

Memperbarui organisasi yang ada. Memerlukan peran admin

interface OrganizationUpdate {
orgId: string
logo?: string
name?: string
management_email?: string
}

Memerlukan body permintaan bertipe OrganizationUpdate

Jika berhasil, mengembalikan:

return { status: 'Organization updated', data: Organization }

PUT

https://apicapgoapp/organization

Membuat organisasi baru

interface OrganizationCreate {
name: string
}

Memerlukan body permintaan bertipe OrganizationCreate

Jika berhasil, mengembalikan:

return { status: 'Organization created', id: string }

Kunci API

Endpoint ini memungkinkan Anda mengelola kunci API untuk mengakses API Capgo

GET

https://apicapgoapp/apikey

Mengambil kunci API untuk akun Anda. Mengembalikan semua kunci API yang dapat diakses

interface ApiKey {
created_at: string | null
id: number
key: string
mode: 'read' | 'write' | 'upload' | 'all'
name: string
updated_at: string | null
user_id: string
}

Mengembalikan:

return ApiKey[]

POST

https://apicapgoapp/apikey

Membuat kunci API baru untuk organisasi tertentu

Parameter Query:

interface ApiKeyCreate {
org_id: string
mode: 'read' | 'write' | 'upload' | 'all'
}

Mengembalikan:

return { apikey: ApiKey }

DELETE

https://apicapgoapp/apikey/:id

Menghapus kunci API yang ada

Parameter:

  • id: Kunci API yang akan dihapus

Jika berhasil, mengembalikan:

return { success: true }

Jika gagal, mengembalikan:

return { error: string, supabaseError?: any }

Anggota (/organization/members)

GET

Mengambil anggota organisasi

Memerlukan body permintaan (parameter query) bertipe { orgId: string }

Jika berhasil, mengembalikan:

interface Member {
uid: string;
email: string;
image_url: string;
role: "invite_read" | "invite_upload" | "invite_write" | "invite_admin" | "invite_super_admin" | "read" | "upload" | "write" | "admin" | "super_admin";
}
return Member[]

DELETE

https://apicapgoapp/organization/members

Menghapus anggota organisasi

interface MemberDelete {
orgId: string
email: string
}

Memerlukan body permintaan (parameter query) bertipe MemberDelete

Jika berhasil, mengembalikan:

return { status: 'OK' }

Jika gagal, mengembalikan:

return { error: string, status: 'KO' }

Statistik

Endpoint ini memungkinkan Anda mengambil berbagai statistik tentang aplikasi dan organisasi Anda

GET /statistics/app/:app_id

Mengambil statistik untuk aplikasi tertentu

Parameter Query:

interface StatsQuery {
from: Date
to: Date
graph?: 'mau' | 'storage' | 'bandwidth'
}

Mengembalikan:

interface Stats {
date: string
mau: number // Pengguna Aktif Bulanan
storage: number // Penggunaan penyimpanan dalam bytes
bandwidth: number // Penggunaan bandwidth dalam bytes
}

Jika parameter graph disediakan, mengembalikan gambar SVG visualisasi dari metrik yang diminta

GET /statistics/user

Mengambil statistik agregat dari semua organisasi yang dapat diakses pengguna

Parameter Query:

interface StatsQuery {
from: Date
to: Date
graph?: 'mau' | 'storage' | 'bandwidth'
}

Mengembalikan: Jika graph tidak disediakan:

interface Stats {
date: string
mau: number // Pengguna Aktif Bulanan
storage: number // Penggunaan penyimpanan dalam bytes
bandwidth: number // Penggunaan bandwidth dalam bytes
}[]

Jika parameter graph disediakan, mengembalikan gambar SVG visualisasi dari metrik yang diminta

GET /statistics/org/:org_id

Mengambil statistik untuk organisasi tertentu

Parameter Query:

interface StatsQuery {
from: Date
to: Date
graph?: 'mau' | 'storage' | 'bandwidth'
}

Mengembalikan: Jika graph tidak disediakan:

interface Stats {
date: string
mau: number // Pengguna Aktif Bulanan
storage: number // Penggunaan penyimpanan dalam bytes
bandwidth: number // Penggunaan bandwidth dalam bytes
}[]

Jika parameter graph disediakan, mengembalikan gambar SVG visualisasi dari metrik yang diminta

Kanal

Endpoint ini memungkinkan Anda memeriksa dan memodifikasi semua Kanal yang tersedia di aplikasi Anda

POST

https://apicapgoapp/channel

Kirim ini untuk membuat atau memperbarui kanal

type disable_update = "major" | "minor" | "version_number" | "none"
interface ChannelSet {
app_id: string
channel: string
version?: string
public?: boolean
disableAutoUpdateUnderNative?: boolean
disableAutoUpdate?: disable_update
ios?: boolean
android?: boolean
allow_device_self_set?: boolean
allow_emulator?: boolean
allow_dev?: boolean
}

menerima ini:

{ "status": "ok" }

GET

https://apicapgoapp/channel

Kirim app_id sebagai parameter URL dan terima array dari 50 kanal pertama
Anda bisa mendapatkan yang berikutnya dengan mengirim page=1

interface Channel {
id: number;
created_at: string;
name: string;
app_id: string;
version: {
id: number,
name: string
};
created_by: string;
updated_at: string;
public: boolean; // default atau tidak
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}[]

dan opsional nama channel sebagai parameter URL untuk menerima satu:

interface Channel {
id: number;
created_at: string;
name: string;
app_id: string;
version: {
id: number,
name: string
};
created_by: string;
updated_at: string;
public: boolean; // default atau tidak
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}

DELETE

https://apicapgoapp/channel

Kirim ini sebagai parameter query

interface Channel {
channel: string
app_id: string
}

menerima ini:

{ "status": "ok" }

Perangkat

Endpoint ini memungkinkan Anda memeriksa dan memodifikasi semua perangkat yang terhubung ke aplikasi Anda

POST

https://apicapgoapp/device

Kirim ini

interface DeviceLink {
app_id: string
device_id: string
version_id?: string // nama versi (akan dimigrasi ke nama yang lebih baik)
channel?: string // nama kanal
}

menerima ini:

{ "status": "ok" }

GET

https://apicapgoapp/device

Kirim app_id sebagai parameter URL dan terima array dari 50 perangkat pertama
Anda dapat mendapatkan yang berikutnya dengan mengirimkan page=1

interface Device{
created_at?: string | undefined;
updated_at?: string | undefined;
device_id: string;
custom_id: string;
version: {
id: number,
name: string
};
app_id: string;
platform?: "ios" | "android" | undefined;
plugin_version: string;
os_version?: string | undefined;
version_build: string;
is_prod: boolean;
is_emulator: boolean;
}[]

dan secara opsional device_id sebagai parameter URL untuk menerima satu:

interface Device {
created_at?: string | undefined;
updated_at?: string | undefined;
device_id: string;
version: {
id: number,
name: string
};
app_id: string;
platform?: "ios" | "android" | undefined;
plugin_version: string;
os_version?: string | undefined;
}

DELETE

Endpoint ini untuk memutuskan channel dan mengganti versi. Anda tidak dapat menghapus perangkat dari Capgo

https://apicapgoapp/device

Kirim ini sebagai parameter query

interface Device {
device_id: string
app_id: string
}

menerima ini:

{ "status": "ok" }

Bundles

Endpoint ini memungkinkan Anda untuk memeriksa dan menghapus semua bundle yang terhubung ke aplikasi Anda

GET

https://apicapgoapp/bundle

Kirim app_id sebagai parameter URL dan terima array dari 50 bundle pertama
Anda dapat mendapatkan yang berikutnya dengan mengirimkan page=1

interface Bundle {
app_id: string
bucket_id: string | null
checksum: string | null
created_at: string | null
deleted: boolean
external_url: string | null
id: number
minUpdateVersion: string | null
name: string
native_packages: Json[] | null
owner_org: string
r2_path: string | null
session_key: string | null
storage_provider: string
updated_at: string | null
user_id: string | null
}[]

DELETE

Hapus satu bundle di Cloud

https://apicapgoapp/bundle

Kirim ini sebagai parameter query

interface Bundle {
app_id: string
version: string
}

menerima ini:

{ "status": "ok" }

Atau Anda dapat mengirim

interface Bundle {
app_id: string
}

Untuk menghapus semua bundle