Skip to content
API
Captcha de Grilla
Temu

Temu Grid Captcha

Descripción general

Temu Grid Captcha es una captcha de selección en cuadrícula: la página muestra una cuadrícula de mosaicos y el solucionador debe devolver qué celdas hacer clic (índices de base 0, orden de fila: de izquierda a derecha, de arriba a abajo).

🔲

El campo task.image codifica la imagen de cuadrícula como una sola cadena Base64. No se necesita un campo other adicional.

Temu Grid Captcha UI example

1. Crear tarea

Formato de envío de imagen

Imagen de cuadrícula Temu Grid Captcha request payload (grid)

Solicitud

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

Parámetros

Nombre del parámetroTipo de dato¿Requerido?Descripción
clientKeystringyesAPI key
task.typestringyesGridCaptcha
task.subTypestringyestemu
task.imagestringyesImagen de cuadrícula codificada en Base64

Ejemplo de solicitud

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

Respuesta

Cuando tiene éxito, el servidor devuelve errorId = 0 y taskId

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

2. Obtener resultado

Solicitud

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

Parámetros

Nombre del parámetroTipo de dato¿Requerido?Descripción
clientKeystringyesAPI key
taskIdstringyesTaskId obtenido del paso (1)

Ejemplo de solicitud

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

Respuesta

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

solution.click es una cadena de índices de celdas de base 0 (orden de fila) separados por comas para hacer clic en la cuadrícula.

Explicación de estados

  • errorId = 0 y status = ready: Resuelto exitosamente, leer índices de celdas en solution.click
  • errorId = 0 y status = processing: Aún resolviendo, esperar 2 segundos y consultar de nuevo
  • errorId > 0: Error del sistema, verificar errorCode y errorDescription

Ejemplos de integración

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()
 
    # Paso 1: Crear tarea
    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']
 
    # Paso 2: Consultar resultado
    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"
 
# Uso
indices = solve_temu('grid.jpg', 'YOUR_API_KEY')
print('Celdas a hacer clic:', indices)

Códigos de error comunes

Código de errorDescripciónNotas
0successÉxito
1processingProcesando
2missing required fieldsFaltan campos requeridos, verificar parámetros
3task not supportedTipo de tarea no soportado
4task creation failedCreación de tarea fallida
5client key does not existAPI key no existe, verificar clave
6insufficient account balanceSaldo insuficiente, añadir créditos
7task failed, please create a new taskTarea fallida, crear una nueva tarea
8task ID does not existID de tarea no existe

Mejores prácticas

Para obtener los mejores resultados al usar la API de Achicaptcha para Temu Grid Captcha, siga estos principios:

1. Codificación de imágenes

  • Envíe solo la imagen de cuadrícula como una sola cadena Base64
  • No incluya el prefijo data:image/...;base64, — solo Base64 sin procesar
  • Asegúrese de que la imagen esté completamente cargada y codificada antes de enviar

2. Intervalo de consulta

  • Espere al menos 2 segundos entre verificaciones de resultado
  • No sature la API con solicitudes consecutivas
  • Establezca un tiempo de espera para evitar bucles infinitos (recomendado: 60 segundos)

3. Procesamiento de resultados

  • solution.click es una cadena de índices de celdas de base 0 (orden de fila, de izquierda a derecha, de arriba a abajo) separados por comas
  • Divida por , y convierta a enteros antes de hacer clic en las celdas de cuadrícula correspondientes

4. Lógica de reintento

  • Implemente reintentos para errores temporales como ERROR_NO_SLOT_AVAILABLE
  • Use retroceso exponencial al reintentar
  • Limite el número máximo de intentos de reintento

5. Seguridad de la API key

  • No codifique su API key en el código fuente
  • Use variables de entorno o un gestor de secretos
  • Nunca exponga la API key en el lado del cliente

Enlaces útiles: