Lebih cepat ke konten

Perangkat

Aplikasi perangkat adalah instalasi aplikasi individu yang melaporkan metadata pembaruan ke Capgo. Gunakan API untuk mengambil metadata tersebut atau mengatur dan menghapus pengaturan saluran privat perangkat.

Setiap rekaman dapat mencakup ID perangkat, platform, pembarui dan versi OS, bangun asli, paket yang diinstal, status produksi dan emulator, ID kustom, dan pengaturan saluran.

Ketika tersedia, country_code adalah kode negara dua huruf terbaru yang valid ISO 3166-1 code yang diterima dari permintaan Cloudflare-diproses untuk perangkat. Ini bukan GPS atau nilai lokasi yang disediakan oleh aplikasi Anda. Ini dapat null ketika tidak tersedia; gunakan pencarian tunggal perangkat ketika Anda membutuhkan field ini.

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

Mengatur pengaturan khusus per perangkat ke nilai privat pribadi saluran. Untuk memilih paket untuk perangkat, assign paket tersebut ke saluran; pengaturan paket per perangkat langsung tidak didukung. Pengaturan pengganti berlaku selama 90 hari setelah tulisan terakhir kecuali Anda mengirimkan POST lagi.

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

  • app_id : ID domain aplikasi yang wajib, seperti com.example.app.
  • device_id : ID perangkat opsional. Ketika ada, responsnya adalah perangkat tunggal daripada daftar yang dikurasi.
  • customIdMode: Boolean opsional. Atur ke true : Boolean opsional. Atur untuk custom_id.
  • cursor: Kursor opsional dari respons daftar sebelumnya.
  • limit: Jumlah opsional per halaman.
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 diisi oleh pencarian spesifik per perangkat ketika Capgo telah menyimpan nilai negara Cloudflare-dapat dihasilkan code yang valid. Permintaan tanpa negara yang valid tidak menghapus nilai yang valid terakhir; respons daftar mungkin mengembalikan 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/

Menghapus pengaturan saluran 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 error dan tubuh JSON dengan error dan (dan) message kode error umum termasuk:

  • invalid_app_id ketika app_id tidak merupakan identifikasi domain balik.
  • device_not_found untuk pencarian perangkat 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 saja.
  • cannot_access_app atau cannot_access_channel when the API key lacks the required permission.

kode error __CAPGO_KEEP_0__ tidak memiliki izin yang diperlukan.

kasus penggunaan umum
  1. Judul bagian “Kasus penggunaan umum”

    {
    "app_id": "com.example.app",
    "device_id": "device_456",
    "channel": "beta"
    }
  2. Resetkan perangkat ke pilihan saluran normal

    Gunakanlah DELETE endpoint dengan ID aplikasi dan perangkat.

Jika Anda menggunakan Perangkat untuk merencanakan routing saluran dan peluncuran tahap demi tahap, hubungkannya dengan Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Channel, Channel context":"Capgo fitur kanal rilis nama. Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI pendek atau item navigasi. Dilihat di: halaman solusi/white-label.astro. Kunci pesan `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value)." untuk detail implementasi di Channel, Paket Uji Coba Beta untuk alur produk di Paket Uji Coba Beta, dan Paket Targeting Versi