Appareils
Copiez un prompt de configuration avec les étapes d'installation et la guide Markdown complet pour ce plugin.
Les appareils sont des installations d'applications individuelles qui transmettent des métadonnées de mise à jour à Capgo. Utilisez ce API pour récupérer ces métadonnées ou définir et supprimer un décalage de canal spécifique à l'appareil.
Méta-données du dispositif
Sous-titre « Méta-données du dispositif »Chaque enregistrement peut inclure l'ID du dispositif, la plateforme, les versions de l'actualiseur et du système d'exploitation, la construction native, le bundle installé, l'état de production et d'émulateur, l'ID personnalisé et le décalque de canal.
Lorsqu'il est disponible, country_code est la dernière valeur valide de deux lettres du code ISO 3166-1 de pays code reçu à partir d'une requête Cloudflare-traitée pour le dispositif. Il ne s'agit pas de la position GPS ou d'une valeur de localisation fournie par votre application. Il peut être null Utilisez une recherche unique lorsque ce champ n'est pas disponible.
Endpoints
Sous-titre « Points de terminaison »https://api.capgo.app/device/
Définir un décalage spécifique au dispositif sur un canal privé. Pour choisir un ensemble de ressources pour un appareil, affectez cet ensemble au canal ; les décalages de ressources par appareil ne sont pas pris en charge. Le décalage expire 90 jours après la dernière écriture, à moins que vous ne le renvoyiez par POST.
Corps de la demande
Section intitulée “Corps de la demande”interface DeviceChannelOverride { app_id: string; // reverse-domain app ID, for example com.example.app device_id: string; channel: string; // existing non-public channel name}Exemple de demande
Section intitulée “Exemple de demande”curl -X POST \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "com.example.app", "device_id": "device_456", "channel": "beta" }' \ https://api.capgo.app/device/Public channels cannot be used as device overrides.
Réponse de réussite
Section intitulée « Réponse de réussite »{ "status": "ok"}context
Section titled “GET”https://api.capgo.app/device/
Récupérer les métadonnées du dispositif. Les résultats sont paginés par curseur lorsqu'on omet device_id.
Paramètres de requête
Section titled “Query parameters”app_idSection intitulée « Paramètres de requête »com.example.app.device_id: ID de l'appareil facultatif. Lorsqu'il est présent, la réponse est un appareil unique plutôt qu'une liste paginée.customIdMode: bool facultatif. Défini àtrueretourner uniquement les appareils avec un nom non videcustom_id.cursor: curseur optionnel provenant de la réponse précédente de la liste.limit: nombre optionnel d'appareils par page.
Exemples de requêtes
Section intitulée « Exemples de requêtes »# Get the first pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app"
# Get one device, including its request-derived country when availablecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&device_id=device_456"
# Get only devices with a custom IDcurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&customIdMode=true"
# Get the next pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&cursor=2024-01-01T00:00:00Z%7Cdevice_456"Types de réponse
Section titled “Response types”interface DeviceListResponse { data: Device[]; nextCursor?: string; hasMore: boolean;}
interface Device { updated_at: string; device_id: string; custom_id: string; version?: number; version_name: string | null; 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; install_source: string | null; country_code: string | null;}country_code is populated by a device-specific lookup when Capgo has stored a valid Cloudflare-derived country code. Requests without a valid country do not clear the last valid value; list responses may return null pour ce champ.
Réponse d'exemple (liste)
Section intitulée « Réponse d'exemple (liste) »{ "data": [ { "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "com.example.app", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "key_id": null, "install_source": null, "country_code": null, "updated_at": "2024-01-01T00:00:00Z" } ], "nextCursor": "2024-01-01T00:00:00Z|device_456", "hasMore": true}Réponse d'exemple (appareil unique)
Section intitulée « Réponse d'exemple (appareil unique) »{ "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "com.example.app", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "key_id": "MIIB", "install_source": null, "country_code": "FR", "updated_at": "2024-01-01T00:00:00Z", "channel": "beta"}https://api.capgo.app/device/
Supprimer la surcharge de canal d'un appareil. L'appareil utilisera à nouveau sa sélection de canal normale ; cet endpoint ne supprime pas son enregistrement de métadonnées.
Corps de la requête ou paramètres de requête
Corps de la requête ou paramètres de requêteinterface DeviceOverrideRemoval { app_id: string; device_id: string;}Exemple de requête
Section intitulée « Exemple de requête »curl -X DELETE \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "com.example.app", "device_id": "device_456" }' \ https://api.capgo.app/device/Réponse de réussite
Section intitulée « Réponse de réussite »{ "status": "ok"}Les erreurs utilisent un code d'état HTTP et un corps JSON avec error et message champs. Les codes d'erreur courants incluent :
invalid_app_idlorsqueapp_idn'est pas un identifiant de domaine inversé.device_not_foundpour un appareil inconnu.channel_not_foundLorsque le canal demandé n'existe pas.public_channel_overridelorsqu'on tente de surcharger un appareil vers un canal public.invalid_version_idUtilisez un canal à la place d'une mise à jour directe.cannot_access_appoucannot_access_channelLorsque la clé API n'a pas la permission requise.
Utilisations courantes
Cas d'utilisation courant-
Déplacer un appareil de test vers un canal bêta privé
{"app_id": "com.example.app","device_id": "device_456","channel": "beta"} -
Réinitialiser un appareil pour la sélection de canal normale
Utilisez l'
DELETEendpoint with the app and device IDs.
Continuez depuis les Appareils
Sous-titre « Continuez depuis les Appareils »Si vous utilisez Appareils to plan channel routing and staged rollout, connect it with Channels pour les détails d'implémentation dans les canaux, Channels pour les détails d'implémentation dans les canaux, Canaux pour les détails d'implémentation dans Canaux, Solution de test bêta pour le flux de travail du produit dans Solution de test bêta, et Solution de ciblage de version pour le flux de travail du produit dans Solution de ciblage de version.