Appareils
Copiez une invite de configuration avec les étapes d'installation et le guide Markdown complet 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 décalage de canal spécifique à l'appareil.
Métadonnées du dispositif
Titre de la section « Métadonné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 paramètre de canal de substitution.
Lorsqu'il est disponible, country_code est la dernière valeur valide de deux lettres de l'ISO 3166-1 de pays code reçue à partir d'une requête Cloudflare géré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 lorsqu'il n'est pas disponible ; utilisez une recherche unique-dispositif lorsque vous avez besoin de ce champ.
Points de terminaison
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 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/Les canaux publics ne peuvent pas être utilisés comme des déclencheurs de dispositif.
Réponse de succès
Section intitulée « Réponse de succès »{ "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 domaine inverse 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 ou faux (facultatif). Défini surtruepour retourner uniquement les appareils avec une valeur non videcustom_id.cursor: Curseur (facultatif) depuis la réponse de liste précédente.limit: Nombre de résultats par page (facultatif).
Exemples de requêtes
Sous-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
Sous-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 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.
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 (appareil unique)
Section intitulée « Exemple de réponse (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"}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 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 forcer un bundle directement; utilisez un canal à la place.cannot_access_appoucannot_access_channelwhen the API key lacks the required permission.
utilisation courante
Titre de la section « Utilisation courante »-
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 normal
Utilisez le
DELETEpoint d'entrée avec les identifiants de l'application et de l'appareil.
Continuez de la section Appareils
Titre de la section « Continuez de la section Appareils »Si vous utilisez Appareils pour planifier la mise en route des canaux et la mise en production étalée, connectez-l’avec Canaux contexte : Capgo release channels feature name. Page/zone : page de marketing de solutions Capgo. Rôle : étiquette de navigation ou élément de menu court. Vu dans : page solutions/white-label.astro. Clé de message `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value). pour les détails d'implémentation dans Canaux, » : Canaux, pour les détails d'implémentation dans les canaux, Canal context 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