Lompat ke konten

Perangkat

Perangkat adalah instalasi aplikasi individu yang melaporkan metadata pembaruan ke Capgo. Gunakan API ini untuk memperoleh metadata tersebut atau mengatur dan menghapus pengaturan saluran pribadi perangkat.

Setiap rekaman dapat mencakup ID perangkat, platform, versi pembaruan dan OS, bangunan asli, paket terpasang, status produksi dan emulator, ID kustom, dan pengaturan saluran.

Ketika tersedia, 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 ketika tidak tersedia; gunakan pencarian tunggal perangkat ketika Anda membutuhkan bidang ini.

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

Tetapkan pengaturan override khusus per perangkat ke pribadi saluran. Untuk memilih bundle untuk perangkat, tentukan bundle tersebut ke saluran; pengaturan bundle per perangkat langsung tidak didukung.

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

Saluran publik tidak dapat digunakan sebagai pengganti perangkat.

{
"status": "ok"
}

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

Ambil metadata perangkat. Hasilnya dikurasi dengan menggunakan cursor ketika Anda melewatkan device_id.

  • app_id: ID aplikasi balik arah yang diperlukan, seperti com.example.app.
  • device_id: ID perangkat opsional. Ketika ada, respons adalah perangkat tunggal daripada daftar yang dipaginasi.
  • customIdMode: Boolean opsional. Tetapkan ke true untuk mengembalikan hanya perangkat dengan ID perangkat yang tidak kosong. custom_id.
  • cursor: Kursor opsional dari respons daftar sebelumnya.
  • limit: Jumlah perangkat per halaman opsional.
Jendela 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 untuk bidang ini.

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

Hapus pengaturan saluran override perangkat. Perangkat akan menggunakan pilihan saluran normalnya lagi; endpoint ini tidak menghapus catatan metadata perangkat.

interface DeviceOverrideRemoval {
app_id: string;
device_id: string;
}
Jendela 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"
}

Kesalahan menggunakan status HTTP dan tubuh JSON dengan error atau message lapangan. Kode kesalahan umum termasuk:

  • invalid_app_id ketika app_id tidak merupakan identifikasi domain sebaliknya.
  • device_not_found untuk pencarian perangkat yang tidak diketahui.
  • channel_not_found ketika saluran yang diminta tidak ada.
  • public_channel_override ketika mencoba mengganti perangkat ke saluran publik.
  • invalid_version_id ketika mencoba mengganti bundle langsung; gunakan saluran sebaliknya.
  • cannot_access_app atau cannot_access_channel ketika kunci API tidak memiliki izin yang diperlukan.
  1. Pindahkan perangkat uji ke saluran beta pribadi

    {
    "app_id": "com.example.app",
    "device_id": "device_456",
    "channel": "beta"
    }
  2. Atur ulang perangkat ke pengaturan saluran normal

    Gunakan endpoint dengan ID aplikasi dan perangkat. DELETE Lanjutkan dari

Bagian berjudul “Lanjutkan dari Devices”

Jika Anda menggunakan

Devices untuk merencanakan routing saluran dan peluncuran rolut, hubungkannya dengan Channels untuk detail implementasi di Channels, Gunakan endpoint dengan ID aplikasi dan perangkat. Saluran __CAPGO_KEEP_0__ untuk detail implementasi di Saluran, Saluran __CAPGO_KEEP_0__ untuk detail implementasi di Saluran, Solusi Pengujian Beta __CAPGO_KEEP_0__ untuk alur kerja produk di Solusi Pengujian Beta, dan Solusi Target Versi __CAPGO_KEEP_0__ untuk alur kerja produk di Solusi Target Versi.