Skip to content
API
Grid капча
Temu

Temu Grid Captcha

Обзор

Temu Grid Captcha — это капча выбора в сетке: на странице отображается сетка плиток, и решатель должен вернуть индексы ячеек для нажатия (индексы от 0, построчно: слева направо, сверху вниз).

🔲

Поле task.image кодирует изображение сетки как одну строку Base64. Дополнительное поле other не требуется.

Temu Grid Captcha UI example

1. Создать задачу

Формат отправки изображений

Изображение сетки Temu Grid Captcha request payload (grid)

Запрос

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

Параметры

Имя параметраТип данныхОбязательно?Описание
clientKeystringyesAPI key
task.typestringyesGridCaptcha
task.subTypestringyestemu
task.imagestringyesИзображение сетки в кодировке Base64

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

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "GridCaptcha",
    "subType": "temu",
    "image": "BASE64_GRID_IMAGE"
  }
}

Ответ

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

{
  "errorId": 0,
  "taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

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

Запрос

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

Параметры

Имя параметраТип данныхОбязательно?Описание
clientKeystringyesAPI key
taskIdstringyesTaskId, полученный на шаге (1)

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

POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Ответ

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "click": "0,2,5"
  }
}

solution.click — строка с индексами ячеек от 0 (построчно), разделёнными запятыми, которые нужно нажать в сетке.

Объяснение статусов

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

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

import requests
import base64
import time
 
def solve_temu(grid_path, api_key='YOUR_API_KEY'):
    with open(grid_path, 'rb') as f:
        grid_b64 = base64.b64encode(f.read()).decode()
 
    # Шаг 1: Создать задачу
    create_resp = requests.post(
        'https://api.achicaptcha.com/createTask',
        json={
            'clientKey': api_key,
            'task': {
                'type': 'GridCaptcha',
                'subType': 'temu',
                'image': grid_b64
            }
        }
    )
    result = create_resp.json()
 
    if result['errorId'] != 0:
        raise Exception(result['errorDescription'])
 
    task_id = result['taskId']
 
    # Шаг 2: Опрашивать результат
    while True:
        time.sleep(2)
        poll_resp = requests.post(
            'https://api.achicaptcha.com/getTaskResult',
            json={'clientKey': api_key, 'taskId': task_id}
        )
        result = poll_resp.json()
 
        if result['errorId'] != 0:
            raise Exception(result['errorDescription'])
 
        if result['status'] == 'ready':
            return result['solution']['click']  # e.g. "0,2,5"
 
# Использование
indices = solve_temu('grid.jpg', 'YOUR_API_KEY')
print('Ячейки для нажатия:', indices)

Распространённые коды ошибок

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

Рекомендации

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

1. Кодирование изображения

  • Отправляйте только изображение сетки как одну строку Base64
  • Не включайте префикс data:image/...;base64, — только чистый Base64
  • Убедитесь, что изображение полностью загружено и закодировано перед отправкой

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

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

3. Обработка результата

  • solution.click — строка с индексами ячеек от 0 (построчно, слева направо, сверху вниз), разделёнными запятыми
  • Разделите по , и преобразуйте в целые числа перед нажатием соответствующих ячеек сетки

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

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

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

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

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