Otomatisasi Android lewat API dan ADB
Clousd API adalah REST API di https://api.clousd.com/v1 untuk cloud phone Android, bukan untuk saluran telepon. Setiap tindakan di dasbor adalah panggilan yang bisa Anda lakukan sendiri: membuat perangkat, mengubah jaringannya, menginstal aplikasi, menyimpan snapshot, dan meng-clone. Pekerjaan yang lama menjawab 202, kunci punya akses terbatas, webhook bertanda tangan, dan ADB cukup satu perintah.
curl https://api.clousd.com/v1/devices \ -H "Authorization: Bearer cl_live_••••••••"
{ "devices": [
{ "name": "c3f9a41d2", "model": "Galaxy A16 5G",
"android": "15", "state": "running",
"exit": { "type": "mobile", "country": "DE",
"timezone": "Europe/Berlin" },
"uptime": 7740, "minutes_today": 129 }
] }
Kunci yang mudah dipahami.
Buat kunci di Pengaturan → Kunci API. Setiap kunci punya cakupan akses dan daftar perangkat yang boleh disentuhnya, dan hanya ditampilkan sekali. Cabut di sana kapan pun Anda perlu.
- baca atau kendaliKunci baca hanya bisa melihat tanpa mengubah apa pun; kunci kendali bisa bertindak.
- Terbatas pada perangkatKunci hanya melihat perangkat yang ada di daftarnya, serta perangkat baru yang dibuat atau di-clone dengan kunci itu.
- Batas permintaan per kunci60 permintaan per menit, dan hingga 120 per menit per perangkat pada rute perangkat.
# setiap permintaan https://api.clousd.com/v1 Authorization: Bearer cl_live_your_key # operasi yang lama menjawab 202 beserta job POST /v1/devices/c3f9a41d2/restart → 202 { "job": { "id": "3f9c…", "kind": "restart", "state": "running" } } GET /v1/jobs/3f9c… → 200 { "job": { "state": "done" } }
Panggilan yang akan Anda pakai.
Inilah yang paling sering dipakai skrip di awal; semua rute API v1 beserta setiap kolomnya ada di referensi. Baru mulai? Ikuti panduan cepat dalam lima langkah.
Perangkat
siklus hidupLayar dan input
kendaliJaringan
jalurAplikasi
seperti dari PlaySnapshot
keadaanArmada
banyak perangkatPer pekerjaan: snapshot dan clone, ganti jaringan ponsel, jalankan tes dari CI.
ADB, tanpa port terbuka.
Tidak ada perangkat yang membuka ADB ke internet. Anda terhubung ke relay kami, login dengan kode sekali pakai, dan relay meneruskan sesi Anda ke perangkat itu saja, tidak ke mana pun. Relay mati sampai Anda menyalakannya.
- Hanya IP AndaAllow-list hingga 20 alamat atau rentang alamat wajib diisi untuk menyalakannya.
- Berbatas waktu24 jam secara default, hingga 7 hari, lalu mati dengan sendirinya.
- Semua tetap berfungsiinstall, shell, logcat, push, dan pull. Perintah berbahaya seperti root atau reboot ditolak.
# the dashboard or POST /v1/devices/{name}/adb gives host, port and code adb connect relay.clousd.com:27001 adb -s relay.clousd.com:27001 shell clousd-login a1b2c3 login ok adb -s relay.clousd.com:27001 install app-release.apk adb -s relay.clousd.com:27001 logcat -d | tail -40
| Pengaman | Yang terjadi | Batas |
|---|---|---|
| Alamat yang diizinkan | Koneksi dari alamat lain langsung ditutup | hingga 20 IP atau rentang |
| Kedaluwarsa | Relay untuk perangkat itu mati dan kodenya dihapus | default 24 j, maks. 7 hari |
| Sesi | Koneksi keempat ditolak | 3 sekaligus per perangkat |
| Kode salah | Sesi ditutup; setelah 20 kali relay untuk perangkat itu mati | 5 per sesi · 20 per 10 mnt |
| Sesi tidak aktif | Ditutup; shell dan logcat yang sedang berjalan tidak dihitung tidak aktif | 30 menit |
| Push dan pull | Transfer file berikutnya di sesi itu ditolak | 2 GiB per sesi |
| Selalu ditolak | Juga disable-verity, reverse, tcpip, usb, jdwp, sideload, restore | root, remount, reboot, … |
Webhook, bertanda tangan.
Beri kunci sebuah URL webhook, dan platform akan mengirim notifikasi ke sana saat sesuatu terjadi di perangkat milik kunci itu: job selesai, perangkat mengalami masalah, atau masalahnya teratasi.
Tiga kali percobaan pengiriman: langsung, setelah 10 detik, dan setelah satu menit. Setiap permintaan membawa X-Clousd-Signature.
import hashlib, hmac # kunci rahasia HMAC adalah digest SHA-256 hex dari kunci API Anda secret = hashlib.sha256(API_KEY.encode()).hexdigest().encode() expected = hmac.new(secret, raw_body, hashlib.sha256).hexdigest() if not hmac.compare_digest(expected, headers["X-Clousd-Signature"]): raise PermissionError("bad signature") # body: {"event": "job.finished", "ts": …, "phone": "c3f9a41d2", "job": {…}}
Error yang bisa Anda tangani.
Kode status HTTP standar, dan body JSON berisi jenis error yang bisa dibaca mesin serta pesan untuk manusia: {"error": "busy", "message": "…"}
| Status | Artinya | Jenis |
|---|---|---|
| 400 | Ada kolom yang kosong atau nilainya tidak diizinkan | bad_request |
| 401 | Kunci tidak ada, salah, atau sudah dicabut | unauthorized |
| 402 | Saldo tidak cukup untuk permintaan tersebut | insufficient_funds |
| 403 | Cakupan atau daftar perangkat kunci tidak mengizinkannya | forbidden |
| 404 | Perangkat, job, atau snapshot tersebut tidak ada untuk kunci ini | not_found |
| 409 | Perangkat sudah dalam keadaan itu atau sedang menjalankan job lain | busy |
| 429 | Terlalu banyak permintaan: tunggu sebentar lalu coba lagi | rate_limited |
Pertanyaan seputar API cloud phone
Ada hal lain? Tulis ke tim dukungan dan orang sungguhan akan menjawab, biasanya dalam satu hari kerja.
Apakah API dikenai biaya tambahan?
Tidak. API, webhook, dan ADB sudah termasuk. Anda membayar perangkat selama menyala: $0.004 per menit atau $12.00 per bulan. Tanpa tingkatan paket, API di setiap akun
Bisakah saya membuat perangkat lewat API?
Bisa. GET /v1/models menampilkan apa saja yang bisa Anda buat; POST /v1/devices dengan model, jaringan, dan paket akan membuat perangkat. Kirim header Idempotency-Key agar percobaan ulang setelah timeout tidak pernah membuat atau menagih dua kali.
Apakah ada SDK?
API ini REST biasa dan bisa dipakai dari bahasa pemrograman apa pun yang punya klien HTTP. SDK Python dan server MCP untuk AI agent hadir bersama akses awal untuk agent.
Bagaimana AI agent memakainya?
GET /v1/devices/{name}/observe mengembalikan screenshot terbaru dan elemen layar beserta posisinya; POST /v1/devices/{name}/act mengetuk, mengetik, atau menggeser, lalu menunggu sampai layar stabil. API observe dan act untuk AI agent
Bisakah saya memakai ADB lewat internet?
Bisa, lewat relay kami: nyalakan ADB untuk sebuah perangkat, izinkan alamat IP Anda, hubungkan dengan adb connect, lalu login dengan kode sekali pakai. ADB mati secara default dan mati dengan sendirinya setelah 24 jam, atau hingga 7 hari jika Anda memilihnya.
Di mana referensi lengkapnya?
Di /docs/reference/, dibuat dari deskripsi OpenAPI yang juga bisa Anda unduh sebagai openapi-v1.yaml.
Di mana saya bisa melihat apakah API sedang aktif?
Di halaman status API: pengecekan nyata terhadap API dan gateway di balik layar langsung dan ADB, dijalankan paling lama setiap lima menit, dengan riwayat harian 90 hari.
Dapatkan kunci. Skrip perangkat pertama dalam semenit.
- Tanpa kartu, tanpa isi saldo.
- Buat akun, jalankan perangkat, pakai selama setengah jam.
- Kalau cocok, isi saldo dan lanjutkan. Kalau tidak, Anda tidak rugi apa pun.