Appareils
Copiez un prompt de configuration avec les étapes d'installation et la guide markdown complète pour ce plug-in.
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.
Lorsqu'il est disponible,
est le paysage ISO 3166-1 valide à deux lettres le plus récent reçu à partir d'une requête __CAPGO_KEEP_0__ gérée par __CAPGO_KEEP_1__. Il ne s'agit pas d'une valeur de localisation GPS ou fournie par votre application. Il peut être 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 Points de terminaison
Endpoints
Section intitulée « Endpoints »https://api.capgo.app/device/
Définir un décalage spécifique au dispositif sur 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}Section intitulée « Exemple de demande »
Fenêtre de terminalcurl -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 omettez device_id.
Paramètres de requête
Section intitulée « Paramètres de requête »app_id: ID de l'application en domaine inversé requis, tel quecom.example.app.device_id: ID de dispositif facultatif. Lorsqu'il est présent, la réponse est un seul dispositif plutôt qu'une liste paginée.customIdMode: Vrai par défaut. Défini surtruepour retourner uniquement les appareils avec une chaîne non videcustom_id.cursor: Pointeur de curseur depuis la réponse de liste précédente.limit: Nombre de dispositifs 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 rempli par une recherche spécifique à l'appareil lorsque Capgo a stocké une valeur de pays valide Cloudflare-dérivée code. Les requêtes sans pays valide ne suppriment pas la valeur valide précédente; les réponses de liste 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 (un appareil)
Section intitulée « Exemple de réponse (un appareil) »{ "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 normal ; 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 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 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 codes d'erreur courants incluent :
invalid_app_idlorsqueapp_idn'est pas un identifiant de domaine inversé.device_not_foundpour une recherche d'un appareil inconnu.channel_not_foundlorsque le canal demandé n'existe pas.public_channel_overridelorsque vous essayez de forcer un appareil vers un canal public.invalid_version_idlorsque vous essayez de faire une mise à jour directe du bundle; utilisez un canal à la place.cannot_access_appoucannot_access_channellorsque la clé API manque de la permission requise.
Cas d'utilisation courants
Section intitulée “Cas d'utilisation courants”-
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 une sélection de canal normale
Utilisez le
DELETEpoint d’entrée avec les identifiants de l’application et de l’appareil.
Continuez d’ici les appareils
Titre de la section “Continuez d’ici les appareils”Si vous utilisez appareils pour planifier la mise en route des canaux et la mise en scène de la mise en ligne, connectez-le avec canaux pour les détails d’implémentation dans canaux, canaux pour les détails d'implémentation dans les canaux, Canal pour les détails d'implémentation dans les canaux, Solution de test bêta pour le flux de travail du produit dans la Solution de test bêta, et Solution de ciblage de version pour le flux de travail du produit dans la Solution de ciblage de version.