Vai al contenuto

엔드포인트

Questa è la documentazione dell’API pubblica di Capgo cloud

Per accedere, aggiungi negli header la tua chiave API come authorization

Organizzazioni

Questo endpoint ti permette di gestire le organizzazioni e i loro membri

GET

https://apicapgoapp/organization

Recupera informazioni sull’organizzazione. Se orgId è fornito nei parametri, restituisce una singola organizzazione. Altrimenti, restituisce tutte le organizzazioni accessibili

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
}

Restituisce:

return Organization[] | Organization

POST

https://apicapgoapp/organization

Aggiorna un’organizzazione esistente. Richiede ruolo admin

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

Richiede un corpo della richiesta di tipo OrganizationUpdate

In caso di successo, restituisce:

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

PUT

https://apicapgoapp/organization

Crea una nuova organizzazione

interface OrganizationCreate {
name: string
}

Richiede un corpo della richiesta di tipo OrganizationCreate

In caso di successo, restituisce:

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

Chiavi API

Questo endpoint ti permette di gestire le chiavi API per accedere all’API Capgo

GET

https://apicapgoapp/apikey

Recupera le chiavi API per il tuo account. Restituisce tutte le chiavi API accessibili

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

Restituisce:

return ApiKey[]

POST

https://apicapgoapp/apikey

Crea una nuova chiave API per un’organizzazione specifica

Parametri Query:

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

Restituisce:

return { apikey: ApiKey }

DELETE

https://apicapgoapp/apikey/:id

Elimina una chiave API esistente

Parametri:

  • id: La chiave API da eliminare

In caso di successo, restituisce:

return { success: true }

In caso di errore, restituisce:

return { error: string, supabaseError?: any }

Membri (/organization/members)

GET

Recupera i membri dell’organizzazione

Richiede un corpo della richiesta (parametri query) di tipo { orgId: string }

In caso di successo, restituisce:

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

Elimina un membro dell’organizzazione

interface MemberDelete {
orgId: string
email: string
}

Richiede un corpo della richiesta (parametri query) di tipo MemberDelete

In caso di successo, restituisce:

return { status: 'OK' }

In caso di errore, restituisce:

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

Statistiche

Questo endpoint ti permette di recuperare varie statistiche sulle tue app e organizzazioni

GET /statistics/app/:app_id

Recupera statistiche per una specifica app

Parametri Query:

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

Restituisce:

interface Stats {
date: string
mau: number // Utenti Attivi Mensili
storage: number // Utilizzo storage in bytes
bandwidth: number // Utilizzo bandwidth in bytes
}

Se il parametro graph è fornito, restituisce un’immagine SVG della metrica richiesta

GET /statistics/user

Recupera statistiche aggregate per tutte le organizzazioni a cui l’utente ha accesso

Parametri Query:

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

Restituisce: Se graph non è fornito:

interface Stats {
date: string
mau: number // Utenti Attivi Mensili
storage: number // Utilizzo storage in bytes
bandwidth: number // Utilizzo bandwidth in bytes
}[]

Se il parametro graph è fornito, restituisce un’immagine SVG della metrica richiesta

GET /statistics/org/:org_id

Recupera statistiche per una specifica organizzazione

Parametri Query:

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

Restituisce: Se graph non è fornito:

interface Stats {
date: string
mau: number // Utenti Attivi Mensili
storage: number // Utilizzo storage in bytes
bandwidth: number // Utilizzo bandwidth in bytes
}[]

Se il parametro graph è fornito, restituisce un’immagine SVG della metrica richiesta

Canali

Questo endpoint ti permette di controllare e modificare tutti i Canali disponibili della tua app

POST

https://apicapgoapp/channel

Invia questo per creare o aggiornare un canale

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
}

ricevi questo:

{ "status": "ok" }

GET

https://apicapgoapp/channel

Invia app_id come parametro URL e ricevi array dei primi 50 canali
Puoi ottenere i successivi inviando 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 o no
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}[]

e opzionalmente il nome del channel come parametro URL per riceverne uno:

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 o no
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}

DELETE

https://apicapgoapp/channel

Invia questo come parametro query

interface Channel {
channel: string
app_id: string
}

ricevi questo:

{ "status": "ok" }

Dispositivi

Questo endpoint ti permette di controllare e modificare tutti i dispositivi collegati alla tua app

POST

https://apicapgoapp/device

Invia questo

interface DeviceLink {
app_id: string
device_id: string
version_id?: string // nome versione (sarà migrato a un nome migliore)
channel?: string // nome canale
}

ricevi questo:

{ "status": "ok" }

GET

https://apicapgoapp/device

Invia app_id come parametro URL e ricevi array dei primi 50 dispositiviPuoi ottenere il successivo inviando 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;
}[]

e opzionalmente il nome device_id come parametro URL per riceverne uno:

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

Questo endpoint serve per scollegare il canale e sovrascrivere la versione. Non puoi eliminare un dispositivo da Capgo

https://apicapgoapp/device

Invia questo come parametro di query

interface Device {
device_id: string
app_id: string
}

ricevi questo:

{ "status": "ok" }

Bundle

Questo endpoint ti permette di controllare ed eliminare tutti i bundle collegati alla tua app

GET

https://apicapgoapp/bundle

Invia app_id come parametro URL e ricevi un array dei primi 50 bundle Puoi ottenere i successivi inviando 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

Elimina un bundle nel Cloud

https://apicapgoapp/bundle

Invia questo come parametro di query

interface Bundle {
app_id: string
version: string
}

ricevi questo:

{ "status": "ok" }

In alternativa puoi inviare

interface Bundle {
app_id: string
}

Per eliminare tutti i bundle