Skip to content
API
Amazon капча

Amazon Captcha

Обзор

Amazon Captcha — это система аутентификации, используемая Amazon для защиты своих веб-сайтов от ботов и автоматизированных действий. Это специально искаженная текстовая капча, которая появляется только в системах Amazon.

🛒

Amazon Captcha обычно появляется при входе в систему, поиске товаров или когда Amazon обнаруживает необычное поведение с вашего IP-адреса.

Amazon Captcha Amazon Captcha

1. Создание задачи

Запрос

POST https://api.achicaptcha.com/createTask

Параметры

Имя параметраТип данныхОбязательно?Описание
clientKeystringдаApi ключ
task.typestringдаImageToTextTask
task.imagestringдаbase64 изображения капчи Amazon
task.subTypestringдаamazon

Пример запроса

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"
  }
}

Ответ

При успехе сервер возвращает errorId = 0 и taskId

{
  "errorId": 0,
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

2. Получение результата

Запрос

POST https://api.achicaptcha.com/getTaskResult

Параметры

Имя параметраТип данныхОбязательно?Описание
clientKeystringдаApi ключ
taskIdstringдаTaskId, полученный из (1)

Пример запроса

POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

Ответ

{
  "errorId": 0,
  "status": "ready",
  "solution": "KCXM8P"
}

Пояснение статусов

  • errorId = 0 и status = ready: Успешно решено, читайте результат в solution
  • errorId = 0 и status = processing: Решение капчи, подождите 2 секунды и попробуйте снова
  • errorId > 0: Системная ошибка, возвращает код ошибки и описание

Примеры интеграции

import requests
import time
import base64
 
def solve_amazon_captcha(image_path, api_key='YOUR_API_KEY'):
    # Read and encode image
    with open(image_path, 'rb') as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
    
    # Step 1: Create 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']
    
    # Step 2: Get result
    get_result_url = 'https://api.achicaptcha.com/getTaskResult'
    
    while True:
        time.sleep(2)  # Wait 2 seconds
        
        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']
        
        # If status == 'processing', continue loop
 
# Usage
solution = solve_amazon_captcha('amazon_captcha.png', 'YOUR_API_KEY')
print('Amazon captcha result:', solution)

Коды общих ошибок

Код ошибкиОписаниеПримечания
0successУспешно
1processingВ обработке
2missing required fieldsОтсутствуют обязательные поля, проверьте параметры
3task not supportedТип задачи не поддерживается
4task creation failedОшибка создания задачи
5client key does not existAPI ключ не существует, проверьте API ключ
6insufficient account balanceНедостаточно средств на счете, пополните баланс
7task failed, please create a new taskЗадача не выполнена, пожалуйста, создайте новую задачу
8task ID does not existID задачи не существует

Лучшие практики

Для достижения наилучших результатов при использовании Achicaptcha API следуйте этим принципам:

1. Качество изображения

  • Используйте изображения высокого разрешения
  • Убедитесь, что изображения не слишком размыты или зашумлены
  • Захватывайте или обрезайте правильную область капчи Amazon

2. Интервал опроса

  • Ждите не менее 2 секунд между проверками результата
  • Не отправляйте слишком много последовательных запросов к API
  • Установите тайм-аут, чтобы избежать бесконечных циклов

3. Логика повторных попыток

  • Реализуйте повторные попытки для временных ошибок, таких как ERROR_NO_SLOT_AVAILABLE
  • Используйте экспоненциальную задержку при повторных попытках
  • Ограничьте максимальное количество попыток

4. Безопасность API ключа

  • Не прописывайте API ключ жестко в коде
  • Используйте переменные окружения
  • Не раскрывайте API ключ на стороне клиента

Полезные ссылки: