ReCAPTCHA Image (Ponsel)
Ringkasan
Selesaikan Recaptcha dengan kecepatan ultra-cepat, akurasi nomor 1 di pasar. Kami menyediakan layanan untuk menyelesaikan semua jenis ReCaptcha Image di ponsel.
📱
Layanan ini memungkinkan Anda mengirim gambar captcha dan menerima indeks sel yang harus diklik untuk menyelesaikan captcha.

1. Buat Task
Request
POST https://api.achicaptcha.com/createTask
Parameter
| Nama Parameter | Tipe Data | Wajib? | Deskripsi |
|---|---|---|---|
clientKey | string | ya | Api key |
task.type | string | ya | ReCaptchaPhoneTask |
task.subType | string | ya | Nilai sama dengan 0 |
task.image | string | ya | Gambar captcha dalam format base64, tangkap area tampilan gambar captcha (tanpa border, hanya sel-sel kotak kecil) |
task.other | string | ya | Pertanyaan|Jumlah grid • Pertanyaan: "Select all images with a bus" (full question text shown in the captcha prompt) • Jumlah grid: 3 (atau 4, 5) → other: "Select all images with a bus|4" |
Contoh Request
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaPhoneTask",
"subType": "0",
"image": "iVBORw0KGgoAAAANSUhEUgAA...(base64 encoded image)",
"other": "Select all images with a bus|4"
}
}Response
Ketika berhasil, server mengembalikan errorId = 0 dan taskId
{
"errorId": 0,
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}2. Dapatkan Hasil
Request
POST https://api.achicaptcha.com/getTaskResult
Parameter
| Nama Parameter | Tipe Data | Wajib? | Deskripsi |
|---|---|---|---|
clientKey | string | ya | Api key |
taskId | string | ya | TaskId yang diperoleh dari (1) |
Contoh Request
POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}Response
{
"errorId": 0,
"status": "ready",
"solution": "0,5,9"
}Catatan: Untuk tipe "grid", solution adalah daftar indeks gambar yang harus diklik, dimulai dari 0
Penjelasan Status
errorId = 0: Berhasil diselesaikan, baca hasil disolutionerrorId = 1: Sedang menyelesaikan captcha, tunggu 2-3 detik dan coba lagierrorId > 1: Error sistem, mengembalikan kode error dan deskripsi
Contoh Integrasi
import requests
import time
def solve_recaptcha_phone(image_base64, question, grid_count, api_key='YOUR_API_KEY'):
# Langkah 1: Buat task
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'ReCaptchaPhoneTask',
'subType': '0',
'image': image_base64,
'other': f'{question}|{grid_count}'
}
}
response = requests.post(create_task_url, json=create_task_payload)
result = response.json()
if result['errorId'] > 1:
raise Exception(result['errorDescription'])
task_id = result['taskId']
# Langkah 2: Dapatkan hasil
get_result_url = 'https://api.achicaptcha.com/getTaskResult'
while True:
time.sleep(2) # Tunggu 2-3 detik
get_result_payload = {
'clientKey': api_key,
'taskId': task_id
}
response = requests.post(get_result_url, json=get_result_payload)
result = response.json()
if result['errorId'] > 1:
raise Exception(result['errorDescription'])
if result['status'] == 'ready':
return result['solution'] # Mengembalikan "0,5,9" - indeks yang harus diklik
# Jika status == 'processing', lanjutkan loop
# Penggunaan
image_base64 = 'iVBORw0KGgoAAAANSUhEUgAA...' # Gambar captcha yang di-encode base64
question = 'Select all images with a bus' # Full question text from the captcha prompt
grid_count = 4 # Jumlah grid (3, 4, atau 5)
solution = solve_recaptcha_phone(image_base64, question, grid_count, 'YOUR_API_KEY')
print('Indeks grid yang harus diklik:', solution) # Contoh: "0,5,9"
# Gunakan solution untuk mengklik sel yang sesuai
indices = [int(i) for i in solution.split(',')]
for index in indices:
# Klik sel dengan indeks yang sesuai
print(f'Klik sel indeks: {index}')Kode Error Umum
| Kode Error | Deskripsi | Catatan |
|---|---|---|
| 0 | sukses | Sukses |
| 1 | diproses | Diproses |
| 2 | field wajib tidak ada | Field wajib tidak ada, periksa parameter lagi |
| 3 | task tidak didukung | Tipe task tidak didukung |
| 4 | pembuatan task gagal | Pembuatan task gagal |
| 5 | client key tidak ada | API key tidak ada, periksa API key lagi |
| 6 | saldo akun tidak cukup | Saldo akun tidak cukup, tambahkan kredit |
| 7 | task gagal, silakan buat task baru | Task gagal, silakan buat task baru |
| 8 | task ID tidak ada | Task ID tidak ada |
Best Practice
Untuk hasil terbaik saat menggunakan API Achicaptcha, ikuti prinsip-prinsip berikut:
1. Persiapkan Gambar Captcha
- Tangkap area tampilan gambar captcha dengan jelas, tanpa border atau elemen UI lainnya
- Hanya sertakan sel-sel kotak kecil (grid) dari captcha
- Gambar dalam format base64
- Pastikan gambar memiliki resolusi yang cukup untuk pengenalan
2. Tentukan Informasi yang Akurat
- Dapatkan pertanyaan dari bagian teks tebal captcha (contoh: "Select all images with a bus", "Select all squares with traffic lights")
- Tentukan jumlah grid yang benar (3x3, 4x4, atau 5x5)
- Format
otherdengan benar: "pertanyaan|jumlah_grid" (contoh: "Select all images with a bus|4")
3. Interval Polling
- Tunggu setidaknya 2-3 detik antara pengecekan hasil
- Jangan spam API dengan terlalu banyak request berturut-turut
- Atur timeout untuk menghindari infinite loop (disarankan 120 detik)
4. Proses Hasil
- Solution yang dikembalikan adalah string indeks yang harus diklik, dipisahkan dengan koma (contoh: "0,5,9")
- Indeks dimulai dari 0, menghitung dari kiri ke kanan, atas ke bawah
- Parse string dan klik sel yang sesuai
5. Logika Retry
- Implementasikan retry untuk error sementara seperti
ERROR_NO_SLOT_AVAILABLE - Gunakan exponential backoff saat retry
- Batasi jumlah maksimum percobaan retry
6. Keamanan API Key
- Jangan hardcode API key dalam kode
- Gunakan environment variable
- Jangan expose API key di sisi client
Link berguna: