Passer au contenu

Endpoint

Here’s the French translation:

Voici la documentation de l’API publique de Capgo cloud

Pour y accéder, ajoutez votre clé API dans les en-têtes comme authorization

Organisations

Ce point d’accès vous permet de gérer les organisations et leurs membres

GET

https://apicapgoapp/organization

Récupère les informations d’organisation. Si orgId est fourni dans les paramètres, renvoie une seule organisation. Sinon, renvoie toutes les organisations accessibles.

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
}

Renvoie :

return Organization[] | Organization

POST

https://apicapgoapp/organization

Met à jour une organisation existante. Nécessite le rôle administrateur.

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

Nécessite un corps de requête de type OrganizationUpdate

En cas de succès, renvoie :

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

PUT

https://apicapgoapp/organization

Crée une nouvelle organisation

interface OrganizationCreate {
name: string
}

Nécessite un corps de requête de type OrganizationCreate

En cas de succès, renvoie :

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

Clés API

Ce point d’accès vous permet de gérer les clés API pour accéder à l’API Capgo

GET

https://apicapgoapp/apikey

Récupère les clés API de votre compte. Renvoie toutes les clés API accessibles

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

Renvoie :

return ApiKey[]

POST

https://apicapgoapp/apikey

Crée une nouvelle clé API pour une organisation spécifique

Paramètres de requête :

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

Renvoie :

return { apikey: ApiKey }

DELETE

https://apicapgoapp/apikey/:id

Supprime une clé API existante

Paramètres :

  • id : La clé API à supprimer

En cas de succès, renvoie :

return { success: true }

En cas d’échec, renvoie :

return { error: string, supabaseError?: any }

Membres (/organization/members)

GET

Récupère les membres de l’organisation

Nécessite un corps de requête (paramètres de requête) de type { orgId: string }

En cas de succès, renvoie :

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

Supprime un membre de l’organisation

interface MemberDelete {
orgId: string
email: string
}

Nécessite un corps de requête (paramètres de requête) de type MemberDelete

En cas de succès, renvoie :

return { status: 'OK' }

En cas d’échec, renvoie :

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

Statistiques

Ce point d’accès vous permet de récupérer diverses statistiques sur vos applications et organisations

GET /statistics/app/:app_id

Récupère les statistiques pour une application spécifique

Paramètres de requête :

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

Renvoie :

interface Stats {
date: string
mau: number // Utilisateurs actifs mensuels
storage: number // Utilisation du stockage en octets
bandwidth: number // Utilisation de la bande passante en octets
}

Si le paramètre graph est fourni, renvoie une image SVG de visualisation de la métrique demandée

GET /statistics/user

Récupère les statistiques agrégées de toutes les organisations auxquelles l’utilisateur a accès

Paramètres de requête :

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

Renvoie : Si graph n’est pas fourni :

interface Stats {
date: string
mau: number // Utilisateurs actifs mensuels
storage: number // Utilisation du stockage en octets
bandwidth: number // Utilisation de la bande passante en octets
}[]

Si le paramètre graph est fourni, renvoie une image SVG de visualisation de la métrique demandée

GET /statistics/org/:org_id

Récupère les statistiques pour une organisation spécifique

Paramètres de requête :

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

Renvoie : Si graph n’est pas fourni :

interface Stats {
date: string
mau: number // Utilisateurs actifs mensuels
storage: number // Utilisation du stockage en octets
bandwidth: number // Utilisation de la bande passante en octets
}[]

Si le paramètre graph est fourni, renvoie une image SVG de visualisation de la métrique demandée

Canaux

Ce point d’accès vous permet de vérifier et modifier tous les canaux disponibles de votre application

POST

https://apicapgoapp/channel

Envoyez ceci pour créer ou mettre à jour un canal

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
}

recevez ceci :

{ "status": "ok" }

GET

https://apicapgoapp/channel

Envoyez app_id comme paramètre URL et recevez un tableau des 50 premiers canaux
Vous pouvez obtenir les suivants en envoyant 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; // par défaut ou non
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}[]

et optionnellement le nom du channel comme paramètre URL pour recevoir un seul :

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; // par défaut ou non
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}

DELETE

https://apicapgoapp/channel

Envoyez ceci comme paramètre de requête

interface Channel {
channel: string
app_id: string
}

recevez ceci :

{ "status": "ok" }

Appareils

Ce point d’accès vous permet de vérifier et modifier tous les appareils liés à votre application

POST

https://apicapgoapp/device

Envoyez ceci

interface DeviceLink {
app_id: string
device_id: string
version_id?: string // nom de version (sera migré vers un meilleur nom)
channel?: string // nom du canal
}

recevez ceci :

{ "status": "ok" }

GET

https://apicapgoapp/device

Envoyez app_id comme paramètre URL et recevez un tableau des 50 premiers appareilsVous pouvez obtenir le suivant en envoyant 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;
}[]

et optionnellement le nom device_id comme paramètre URL pour recevoir un :

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

Ce point de terminaison permet de délier le canal et la substitution de version. Vous ne pouvez pas supprimer un appareil de Capgo

https://apicapgoapp/device

Envoyez ceci comme paramètre de requête

interface Device {
device_id: string
app_id: string
}

recevez ceci :

{ "status": "ok" }

Bundles

Ce point de terminaison vous permet de vérifier et supprimer tous les bundles liés à votre application

GET

https://apicapgoapp/bundle

Envoyez app_id comme paramètre URL et recevez un tableau des 50 premiers bundles Vous pouvez obtenir les suivants en envoyant 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

Supprime un bundle dans le Cloud

https://apicapgoapp/bundle

Envoyez ceci comme paramètre de requête

interface Bundle {
app_id: string
version: string
}

recevez ceci :

{ "status": "ok" }

Alternativement, vous pouvez envoyer

interface Bundle {
app_id: string
}

Pour supprimer tous les bundles