Skip to content
API
Captcha em Grelha
Temu

Temu Captcha de Grade

Visão Geral

O Temu Captcha de Grade é um captcha de seleção de grade: a página mostra uma grade de blocos e o solucionador deve retornar quais células clicar (índices com base em 0, por linha: da esquerda para a direita, de cima para baixo).

🔲

O campo task.image codifica a imagem da grade como uma única string Base64. Nenhum campo other adicional é necessário.

Temu Grid Captcha UI example

1. Criar Tarefa

Formato de Envio de Imagem

Imagem da grade Temu Grid Captcha request payload (grid)

Requisição

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

Parâmetros

Nome do ParâmetroTipo de DadoObrigatório?Descrição
clientKeystringsimChave de API
task.typestringsimGridCaptcha
task.subTypestringsimtemu
task.imagestringsimImagem da grade codificada em Base64

Exemplo de Requisição

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

Resposta

Quando bem-sucedido, o servidor retorna errorId = 0 e taskId

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

2. Obter Resultado

Requisição

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

Parâmetros

Nome do ParâmetroTipo de DadoObrigatório?Descrição
clientKeystringsimChave de API
taskIdstringsimTaskId obtido na etapa (1)

Exemplo de Requisição

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

Resposta

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

solution.click é uma string separada por vírgulas de índices de célula com base em 0 (por linha) para clicar na grade.

Explicação de Status

  • errorId = 0 e status = ready: Resolvido com sucesso, leia os índices de célula em solution.click
  • errorId = 0 e status = processing: Ainda resolvendo, aguarde 2 segundos e consulte novamente
  • errorId > 0: Erro de sistema, verifique errorCode e errorDescription

Exemplos de Integração

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()
 
    # Passo 1: Criar tarefa
    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']
 
    # Passo 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']  # ex. "0,2,5"
 
# Uso
indices = solve_temu('grid.jpg', 'YOUR_API_KEY')
print('Células para clicar:', indices)

Códigos de Erro Comuns

Código de ErroDescriçãoNotas
0successSucesso
1processingProcessando
2missing required fieldsCampos obrigatórios ausentes, verifique os parâmetros
3task not supportedTipo de tarefa não suportado
4task creation failedFalha na criação da tarefa
5client key does not existChave de API não existe, verifique a chave de API
6insufficient account balanceSaldo de conta insuficiente, adicione mais créditos
7task failed, please create a new taskTarefa falhou, crie uma nova tarefa
8task ID does not existID da tarefa não existe

Melhores Práticas

Para melhores resultados ao usar a API Achicaptcha para o Temu Captcha de Grade, siga estes princípios:

1. Codificação de Imagem

  • Envie apenas a imagem da grade como uma única string Base64
  • Não inclua o prefixo data:image/...;base64, — apenas Base64 puro
  • Certifique-se de que a imagem está completamente carregada e codificada antes de enviar

2. Intervalo de Consulta

  • Aguarde pelo menos 2 segundos entre as verificações de resultado
  • Não sobrecarregue a API com requisições consecutivas
  • Defina um tempo limite para evitar loops infinitos (recomendado: 60 segundos)

3. Processamento de Resultados

  • solution.click é uma string separada por vírgulas de índices de célula com base em 0 (por linha, da esquerda para a direita, de cima para baixo)
  • Divida por , e converta para inteiros antes de clicar nas células da grade correspondentes

4. Lógica de Tentativa Novamente

  • Implemente tentativas novamente para erros temporários como ERROR_NO_SLOT_AVAILABLE
  • Use backoff exponencial ao tentar novamente
  • Limite o número máximo de tentativas

5. Segurança da Chave de API

  • Não codifique sua chave de API no código-fonte
  • Use variáveis de ambiente ou um gerenciador de segredos
  • Nunca exponha a chave de API no lado do cliente

Links úteis: