Passer au contenu

Appareils

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 privé spécifique à l'appareil.

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 la surcouche de canal.

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-dispositif lorsque vous avez besoin de ce champ.

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.

interface DeviceChannelOverride {
app_id: string; // reverse-domain app ID, for example com.example.app
device_id: string;
channel: string; // existing non-public channel name
}
Fenêtre de terminal
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.

{
"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.

  • app_id : ID de domaine inverse requis, tel que com.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. Défini sur true pour retourner uniquement les appareils avec un champ non vide custom_id.
  • cursor: Curseur optionnel depuis la réponse de liste précédente.
  • limit: Nombre optionnel d'appareils par page.
Fenêtre de terminal
# Get the first page
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=com.example.app"
# Get one device, including its request-derived country when available
curl -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 ID
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=com.example.app&customIdMode=true"
# Get the next page
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=com.example.app&cursor=2024-01-01T00:00:00Z%7Cdevice_456"
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.

{
"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
}
{
"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/

Corps de la requête ou paramètres de requête

Section intitulée « Corps de la requête ou paramètres de requête »

protectedTokens
interface DeviceOverrideRemoval {
app_id: string;
device_id: string;
}
Fenêtre de terminal
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/
{
"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_id lorsque app_id n'est pas un identifiant de domaine inversé.
  • device_not_found pour une recherche d'un appareil inconnu.
  • channel_not_found lorsque le canal demandé n'existe pas.
  • public_channel_override lorsque vous essayez de surcharger un appareil vers un canal public.
  • invalid_version_id lorsque vous essayez de surcharger directement un bundle; utilisez un canal à la place.
  • cannot_access_app ou cannot_access_channel when the API key lacks the required permission.

lorsque la clé __CAPGO_KEEP_0__ manque de la permission requise.

Cas d'utilisation courants
  1. Section intitulée « Cas d'utilisation courants »

    {
    "app_id": "com.example.app",
    "device_id": "device_456",
    "channel": "beta"
    }
  2. Réinitialiser un appareil pour une sélection de canal normal

    Utilisez le DELETE point d'accès avec les identifiants de l'application et de l'appareil.

Si vous utilisez Appareils pour planifier la mise en route des canaux et la mise en production étalée, connectez-l’avec Canaux contexte : nom du fonctionnement de canal de Capgo. Page/zone : page de marketing de solutions de Capgo. Rôle : étiquette de navigation ou élément de navigation court. Vu dans : page solutions/white-label.astro. Clé de message `solutions_white_label_visual_cell2_value` (Valeur de cellule visuelle de Solutions White Label). pour les détails d'implémentation dans Canaux, pour les détails d'implémentation dans les canaux, Canaux 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.