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