Zum Inhalt springen

Devices

Devices repräsentieren einzelne Installationen Ihrer App, die von Capgo verwaltet werden. Die Devices-API ermöglicht es Ihnen, Geräte zu verfolgen und zu verwalten, einschließlich ihrer Versionen, Kanäle und Update-Status.

Jedes Gerät hat einzigartige Eigenschaften und Zustände:

  • Platform: iOS oder Android
  • Version: Aktuelle Bundle-Version und native Build-Version
  • Environment: Produktion oder Entwicklung, Emulator oder physisches Gerät
  • Channel: Aktuelle Update-Kanalzuweisung
  • Custom ID: Optionaler Identifikator für Ihre eigenen Tracking-Zwecke
  1. Versionsverfolgung: Überwachen Sie Geräteversionen, um die Update-Akzeptanz sicherzustellen
  2. Kanalverwaltung: Weisen Sie Geräte basierend auf Testanforderungen geeigneten Kanälen zu
  3. Umgebungsbewusstsein: Behandeln Sie verschiedene Umgebungen (Prod/Dev/Emulator) angemessen
  4. Benutzerdefinierte Identifikation: Verwenden Sie benutzerdefinierte IDs zur Integration mit Ihren bestehenden Systemen

https://api.capgo.app/device/

Verknüpfen Sie ein Gerät mit einer bestimmten Version oder einem Kanal.

interface DeviceLink {
app_id: string
device_id: string
version_id?: string // version name
channel?: string // channel name
}
Terminal-Fenster
curl -X POST \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"app_id": "app_123",
"device_id": "device_456",
"channel": "beta"
}' \
https://api.capgo.app/device/
{
"status": "ok"
}

https://api.capgo.app/device/

Abrufen von Geräteinformationen. Verwendet cursor-basierte Paginierung für effizientes Abrufen großer Gerätelisten.

  • app_id: Erforderlich. Die ID Ihrer App
  • device_id: Optional. Spezifische Geräte-ID zum Abrufen eines einzelnen Geräts
  • cursor: Optional. Cursor aus vorheriger Antwort für Paginierung
  • limit: Optional. Anzahl der Geräte pro Seite (Standard: 50)
Terminal-Fenster
# Get all devices (first page)
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=app_123"
# Get specific device
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=app_123&device_id=device_456"
# Get next page using cursor
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=app_123&cursor=2024-01-01T00:00:00Z|device_456"

Bei Anforderung mehrerer Geräte (kein device_id Parameter):

interface DeviceListResponse {
data: Device[];
nextCursor?: string; // Als 'cursor' Parameter übergeben, um nächste Seite zu erhalten
hasMore: boolean; // true wenn weitere Seiten verfügbar
}
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";
plugin_version: string;
os_version: string;
version_build: string;
is_prod: boolean;
is_emulator: boolean;
}

Bei Anforderung eines bestimmten Geräts mit device_id Parameter wird das Geräteobjekt direkt zurückgegeben:

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";
plugin_version: string;
os_version: string;
version_build: string;
is_prod: boolean;
is_emulator: boolean;
}
{
"data": [
{
"device_id": "device_456",
"custom_id": "test-device-1",
"version": 1,
"version_name": "1.0.0",
"app_id": "app_123",
"platform": "ios",
"plugin_version": "5.0.0",
"os_version": "17.0",
"version_build": "1",
"is_prod": true,
"is_emulator": false,
"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": "app_123",
"platform": "ios",
"plugin_version": "5.0.0",
"os_version": "17.0",
"version_build": "1",
"is_prod": true,
"is_emulator": false,
"updated_at": "2024-01-01T00:00:00Z",
"channel": "production"
}

https://api.capgo.app/device/

Trennen Sie ein Gerät von seiner Kanalüberschreibung. Dies setzt das Gerät zurück, um seinen Standardkanal zu verwenden.

interface Device {
device_id: string
app_id: string
}
Terminal-Fenster
curl -X DELETE \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"app_id": "app_123",
"device_id": "device_456"
}' \
https://api.capgo.app/device/
{
"status": "ok"
}

Häufige Fehlerszenarien und ihre Antworten:

// Device not found
{
"error": "Device not found",
"status": "KO"
}
// Invalid version
{
"error": "Version not found",
"status": "KO"
}
// Invalid channel
{
"error": "Channel not found",
"status": "KO"
}
// Permission denied
{
"error": "Insufficient permissions to manage devices",
"status": "KO"
}
  1. Beta Device Registration
{
"app_id": "app_123",
"device_id": "device_456",
"channel": "beta"
}
  1. Version Override
{
"app_id": "app_123",
"device_id": "device_456",
"version_id": "1.1.0"
}
  1. Reset to Default Channel
// Use DELETE endpoint to remove overrides
  1. Überwachung: Überprüfen Sie regelmäßig den Gerätestatus und die Versionsverteilung
  2. Testen: Verwenden Sie benutzerdefinierte IDs, um Testgeräte einfach zu identifizieren
  3. Fehlerbehebung: Verfolgen Sie Geräte-Updates und Kanalzuweisungen
  4. Versionskontrolle: Überwachen Sie native App-Versionen, um Kompatibilität sicherzustellen