Appareils
Copiez une invite de commande de configuration avec les étapes d'installation et le 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 paramètre de canal privé spécifique à l'appareil.
Métadonnées de l'appareil
Sous-section intitulée « Métadonnées de l'appareil »Chaque enregistrement peut inclure l'ID de l'appareil, le système d'exploitation, 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 paramètre de canal de substitution.
Lorsqu'il est disponible, country_code is the latest valid two-letter ISO 3166-1 country code received from a Cloudflare-handled request for the device. It is not GPS or a location value supplied by your app. It can be null lorsqu'il n'est pas disponible ; utilisez une recherche unique pour un appareil lorsque vous avez besoin de ce champ.
Points de terminaison
Section intitulée « Points de terminaison »https://api.capgo.app/device/
Définir un décalage spécifique au dispositif pour un canal privé. Pour choisir un bundle pour un appareil, affectez ce bundle au canal ; les décalages de bundle par appareil directs ne sont pas pris en charge. Corps de la demande
Section intitulée « Corps de la demande »
Copier dans le presse-papierinterface 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 requête
Section intitulée « Exemple de requête »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/Les canaux publics ne peuvent pas être utilisés comme des déclencheurs de dispositif.
Réponse de réussite
Section intitulée « Réponse de réussite »{ "status": "ok"}https://api.capgo.app/device/
Récupérer les métadonnées du dispositif. Les résultats sont paginés par curseur lorsque vous omittrez device_id.
Paramètres de requête
Section intitulée « Paramètres de requête »app_id: ID de domaine inverse obligatoire, tel quecom.example.app.device_id: ID de appareil facultatif. Lorsqu'il est présent, la réponse est un appareil unique plutôt qu'une liste paginée.customIdMode: Vrai facultatif. Défini surtruepour retourner uniquement les appareils avec un champ non videcustom_id.cursor: Curseur facultatif depuis la réponse de liste précédente.limit: Nombre facultatif 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 intitulée « Types de réponse »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 est renseigné par une recherche spécifique au dispositif lorsque Capgo a stocké un pays Cloudflare-dérivé valide code. Les requêtes sans pays valide ne suppriment pas la valeur valide précédente; les listes de réponse peuvent retourner null pour ce champ.
Exemple de réponse (liste)
Section intitulée « Exemple de réponse (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}Exemple de réponse (dispositif unique)
Section intitulée « Exemple de réponse (dispositif 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"}SUPPRIMER
Section intitulée « SUPPRIMER »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 demande ou paramètres de requête
Section intitulée « Corps de la demande ou paramètres de requête »interface DeviceOverrideRemoval { app_id: string; device_id: string;}Exemple de demande
Section intitulée « Exemple de demande »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 succès
Section intitulée « Réponse de succès »{ "status": "ok"}Les erreurs utilisent un code d'état HTTP et un corps JSON avec error et message les champs. Les codes d'erreur courants incluent :
invalid_app_idlorsqueapp_idn'est pas un identifiant de domaine inversé.device_not_foundpour une recherche de dispositif inconnu.channel_not_foundlorsque le canal demandé n'existe pas.public_channel_overridelorsque vous essayez de surcharger un dispositif vers un canal public.invalid_version_idlorsque vous essayez de surcharger un bundle directement ; utilisez un canal à la place.cannot_access_appoucannot_access_channelwhen the API key lacks the required permission.
Utilisations courantes
Section intitulée « Utilisations courantes »-
Déplacer un appareil de test vers un canal de bêta privée
{"app_id": "com.example.app","device_id": "device_456","channel": "beta"} -
Réinitialiser un appareil pour une sélection de canal normale
Utilisez l'endpoint avec les identifiants de l'application et de l'appareil.
DELETEContinuez d'ici les appareils
Section intitulée « Continuez d'ici les appareils »
Si vous utilisez les appareilspour planifier la routage des canaux et la mise en production étalée, connectez-l’avec endpoint with the app and device IDs. Section titled “Common use cases” Canaux pour le détail d'implémentation dans Canaux, Canaux pour le détail d'implémentation dans Canaux, Canaux pour le détail 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.