Amazon Captcha
Ringkasan
Amazon Captcha adalah sistem autentikasi yang digunakan oleh Amazon untuk melindungi situs web mereka dari bot dan aktivitas otomatis. Ini adalah captcha teks yang terdistorsi khusus yang hanya muncul pada sistem Amazon.
🛒
Amazon Captcha biasanya muncul saat login, pencarian produk, atau ketika Amazon mendeteksi perilaku tidak biasa dari alamat IP Anda.

1. Buat Request
Request
POST https://api.achicaptcha.com/createTask
Parameter
| Nama parameter | Tipe data | Wajib? | Deskripsi |
|---|---|---|---|
clientKey | string | ya | Api key |
task.type | string | ya | ImageToTextTask |
task.image | string | ya | base64 dari gambar captcha Amazon |
task.subType | string | ya | amazon |
Contoh Request
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ImageToTextTask",
"image": "base64 encoded Amazon captcha image",
"subType": "amazon"
}
}Response
Khi 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 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": "KCXM8P"
}Penjelasan Status
errorId = 0danstatus = ready: Berhasil dipecahkan, baca hasil disolutionerrorId = 0danstatus = processing: Sedang memecahkan captcha, tunggu 2 detik dan coba lagierrorId > 0: Error sistem, mengembalikan kode error dan deskripsi
Contoh Integrasi
import requests
import time
import base64
def solve_amazon_captcha(image_path, api_key='YOUR_API_KEY'):
# Baca dan encode gambar
with open(image_path, 'rb') as image_file:
image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
# Langkah 1: Buat task
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'ImageToTextTask',
'image': image_base64,
'subType': 'amazon'
}
}
response = requests.post(create_task_url, json=create_task_payload)
result = response.json()
if result['errorId'] != 0:
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 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'] != 0:
raise Exception(result['errorDescription'])
if result['status'] == 'ready':
return result['solution']
# Jika status == 'processing', lanjutkan loop
# Penggunaan
solution = solve_amazon_captcha('amazon_captcha.png', 'YOUR_API_KEY')
print('Hasil Amazon captcha:', solution)Kode Error Umum
| Kode Error | Deskripsi | Catatan |
|---|---|---|
| 0 | sukses | Berhasil |
| 1 | sedang diproses | Sedang 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, isi ulang credits |
| 7 | task gagal, silakan buat task baru | Task gagal, silakan buat task baru |
| 8 | task ID tidak ada | Task ID tidak ada |
Praktik Terbaik
Untuk mencapai hasil terbaik saat menggunakan Achicaptcha API, ikuti prinsip-prinsip berikut:
1. Kualitas Gambar
- Gunakan gambar beresolusi tinggi
- Pastikan gambar tidak terlalu buram atau berisik
- Tangkap atau potong area captcha Amazon yang benar
2. Interval Polling
- Tunggu setidaknya 2 detik antara pemeriksaan hasil
- Jangan spam API dengan terlalu banyak permintaan berturut-turut
- Miliki timeout untuk menghindari loop tak terbatas
3. Logika Coba lại
- Terapkan coba lagi untuk kesalahan sementara seperti
ERROR_NO_SLOT_AVAILABLE - Gunakan exponential backoff saat mencoba lagi
- Batasi jumlah maksimum percobaan ulang
4. Keamanan API Key
- Jangan hardcode API key dalam kode
- Gunakan variabel lingkungan
- Jangan ekspos API key di sisi klien
Link Berguna: