Devices
Les appareils représentent des installations individuelles de votre application gérées par Capgo. Les appareils API vous permettent de suivre et de gérer les appareils, y compris leurs offres groupées (versions), leurs canaux et leur état de mise à jour.
Comprendre les appareils
Section titled “Comprendre les appareils”Chaque appareil possède des caractéristiques et des états uniques :
- Plateforme : iOS, Android ou Electron
- Bundle (version) : bundle actuel (version) et version de build native
- Environnement : Production ou développement, émulateur ou périphérique physique
- Channel: Current update channel assignment
- ID personnalisé : identifiant facultatif pour vos propres fins de suivi
## meilleures pratiques
- Suivi des bundles (versions) : surveillez l’adoption des bundles (versions) d’appareils pour garantir l’adoption des mises à jour
- Gestion des canaux : attribuez des appareils aux canaux appropriés en fonction des besoins de test
- Conscience de l’environnement : Gérer différents environnements (prod/dev/emulator) de manière appropriée
- Identification personnalisée : utilisez des identifiants personnalisés pour intégrer vos systèmes existants
Points de terminaison
Section titled “Points de terminaison”POSTER
Section titled “POSTER”https://api.capgo.app/device/
Associez un appareil à un ensemble (version) ou à un canal spécifique.
Corps de la demande
Section titled “Corps de la demande”interface DeviceLink { app_id: string device_id: string version_id?: string // bundle (version) name channel?: string // channel name}Exemple de demande
Section titled “Exemple de demande”curl -X POST \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "device_id": "device_456", "channel": "beta" }' \ https://api.capgo.app/device/Réponse réussie
Section titled “Réponse réussie”{ "status": "ok"}OBTENIR
Section titled “OBTENIR”https://api.capgo.app/device/
Retrieve device information. Utilise la pagination basée sur le curseur pour une récupération efficace de grandes listes de périphériques.
Paramètres de requête
Section titled “Paramètres de requête”app_id: Required. L’ID de votre applicationdevice_id: Facultatif. Specific device ID to retrieve a single devicecursor: Optional. Cursor from previous response for paginationlimit: Optional. Nombre d’appareils par page (par défaut : 50)
Exemples de requêtes
Section titled “Exemples de requêtes”# Get all devices (first page)curl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=app_123"
# Get specific devicecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=app_123&device_id=device_456"
# Get next page using cursorcurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=app_123&cursor=2024-01-01T00:00:00Z|device_456"Response Type (List)
Section titled “Response Type (List)”Lors de la demande de plusieurs appareils (pas de paramètre device_id) :
interface DeviceListResponse { data: Device[]; nextCursor?: string; // Pass this as 'cursor' param to get next page hasMore: boolean; // true if more pages available}
interface Device { updated_at: string; device_id: string; custom_id: string; version?: number; // bundle (version) id version_name: string | null; // bundle (version) name channel?: string; app_id: string; platform: "ios" | "android" | "electron"; plugin_version: string; os_version: string; version_build: string; is_prod: boolean; is_emulator: boolean; key_id: string | null; // First 4 chars of encryption key (e.g., "MIIB")}Response Type (Single Device)
Section titled “Response Type (Single Device)”Lors de la demande d’un appareil spécifique avec le paramètre device_id, renvoie directement l’objet appareil :
interface Device { updated_at: string; device_id: string; custom_id: string; version?: number; // bundle (version) id version_name: string | null; // bundle (version) name channel?: string; app_id: string; platform: "ios" | "android" | "electron"; plugin_version: string; os_version: string; version_build: string; is_prod: boolean; is_emulator: boolean; key_id: string | null; // First 4 chars of encryption key (e.g., "MIIB")}Example Response (List)
Section titled “Example Response (List)”{ "data": [ { "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "app_123", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "updated_at": "2024-01-01T00:00:00Z" } ], "nextCursor": "2024-01-01T00:00:00Z|device_456", "hasMore": true}Example Response (Single Device)
Section titled “Example Response (Single Device)”{ "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "app_123", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "updated_at": "2024-01-01T00:00:00Z", "channel": "production"}SUPPRIMER
Section titled “SUPPRIMER”https://api.capgo.app/device/
Unlink a device from its channel override. Cela réinitialise l’appareil pour qu’il utilise son canal par défaut.
Paramètres de requête
Section titled “Paramètres de requête”interface Device { device_id: string app_id: string}Exemple de demande
Section titled “Exemple de demande”curl -X DELETE \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "device_id": "device_456" }' \ https://api.capgo.app/device/Réponse réussie
Section titled “Réponse réussie”{ "status": "ok"}Gestion des erreurs
Section titled “Gestion des erreurs”Scénarios d’erreur courants et leurs réponses :
// Device not found{ "error": "Device not found", "status": "KO"}
// Invalid bundle (version){ "error": "Version not found", "status": "KO"}
// Invalid channel{ "error": "Channel not found", "status": "KO"}
// Permission denied{ "error": "Insufficient permissions to manage devices", "status": "KO"}Cas d’utilisation courants
Section titled “Cas d’utilisation courants”- Beta Device Registration
{ "app_id": "app_123", "device_id": "device_456", "channel": "beta"}- Remplacement de version
{ "app_id": "app_123", "device_id": "device_456", "version_id": "1.1.0"}```3. **Réinitialiser la chaîne par défaut**```typescript// Use DELETE endpoint to remove overridesConseils pour la gestion des appareils
Section titled “Conseils pour la gestion des appareils”- Surveillance : vérifiez régulièrement l’état de l’appareil et la distribution du bundle (version)
- Tests : utilisez des identifiants personnalisés pour identifier facilement les appareils de test
- Dépannage : suivez les mises à jour des appareils et les attributions de canaux
- Contrôle de version natif : surveillez les versions d’applications natives pour garantir la compatibilité