Langsung ke konten

Devices

Devices mewakili instalasi individual aplikasi Anda yang dikelola oleh Capgo. API Devices memungkinkan Anda melacak dan mengelola perangkat, termasuk versi, saluran, dan status pembaruan mereka.

Setiap perangkat memiliki karakteristik dan status unik:

  • Platform: iOS atau Android
  • Version: Versi bundle saat ini dan versi build native
  • Environment: Produksi atau pengembangan, emulator atau perangkat fisik
  • Channel: Penetapan saluran pembaruan saat ini
  • Custom ID: Pengenal opsional untuk keperluan pelacakan Anda sendiri
  1. Pelacakan Versi: Pantau versi perangkat untuk memastikan adopsi pembaruan
  2. Manajemen Saluran: Tetapkan perangkat ke saluran yang sesuai berdasarkan kebutuhan pengujian
  3. Kesadaran Lingkungan: Tangani lingkungan yang berbeda (prod/dev/emulator) dengan tepat
  4. Identifikasi Kustom: Gunakan ID kustom untuk integrasi dengan sistem Anda yang ada

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

Menghubungkan perangkat ke versi atau saluran tertentu.

interface DeviceLink {
app_id: string
device_id: string
version_id?: string // version name
channel?: string // channel name
}
Terminal window
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/

Mengambil informasi perangkat. Menggunakan paginasi berbasis kursor untuk pengambilan daftar perangkat besar yang efisien.

  • app_id: Wajib. ID aplikasi Anda
  • device_id: Opsional. ID perangkat spesifik untuk mengambil satu perangkat
  • cursor: Opsional. Kursor dari respons sebelumnya untuk paginasi
  • limit: Opsional. Jumlah perangkat per halaman (default: 50)
Terminal window
# 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"

Saat meminta beberapa perangkat (tanpa parameter device_id):

interface DeviceListResponse {
data: Device[];
nextCursor?: string; // Kirim ini sebagai param 'cursor' untuk mendapatkan halaman berikutnya
hasMore: boolean; // true jika ada lebih banyak halaman tersedia
}
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;
}

Saat meminta perangkat spesifik dengan parameter device_id, mengembalikan objek perangkat secara langsung:

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/

Memutuskan tautan perangkat dari penggantian salurannya. Ini mengatur ulang perangkat untuk menggunakan saluran defaultnya.

interface Device {
device_id: string
app_id: string
}
Terminal window
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"
}

Skenario kesalahan umum dan responsnya:

// 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. Pemantauan: Periksa status perangkat dan distribusi versi secara teratur
  2. Pengujian: Gunakan ID kustom untuk mengidentifikasi perangkat uji dengan mudah
  3. Pemecahan Masalah: Lacak pembaruan perangkat dan penetapan saluran
  4. Kontrol Versi: Pantau versi aplikasi native untuk memastikan kompatibilitas