Skip to content
API
Captcha Grille
Temu

Temu Grid Captcha

Aperçu

Temu Grid Captcha est un captcha de sélection en grille : la page affiche une grille de tuiles et le solveur doit renvoyer quelles cellules cliquer (indices de base 0, ordre ligne par ligne : de gauche à droite, de haut en bas).

🔲

Le champ task.image encode l'image de grille comme une seule chaîne Base64. Aucun champ other supplémentaire n'est nécessaire.

Temu Grid Captcha UI example

1. Créer une tâche

Format d'envoi d'image

Image de grille Temu Grid Captcha request payload (grid)

Requête

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

Paramètres

Nom du paramètreType de donnéesRequis ?Description
clientKeystringyesAPI key
task.typestringyesGridCaptcha
task.subTypestringyestemu
task.imagestringyesImage de grille encodée en Base64

Exemple de requête

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

Réponse

En cas de succès, le serveur renvoie errorId = 0 et taskId

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

2. Obtenir le résultat

Requête

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

Paramètres

Nom du paramètreType de donnéesRequis ?Description
clientKeystringyesAPI key
taskIdstringyesTaskId obtenu à l'étape (1)

Exemple de requête

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

Réponse

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

solution.click est une chaîne d'indices de cellules de base 0 (ordre ligne par ligne) séparés par des virgules à cliquer dans la grille.

Explication des statuts

  • errorId = 0 et status = ready : Résolu avec succès, lire les indices de cellules dans solution.click
  • errorId = 0 et status = processing : En cours de résolution, attendre 2 secondes et interroger à nouveau
  • errorId > 0 : Erreur système, vérifier errorCode et errorDescription

Exemples d'intégration

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()
 
    # Étape 1 : Créer la tâche
    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']
 
    # Étape 2 : Interroger le résultat
    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"
 
# Utilisation
indices = solve_temu('grid.jpg', 'YOUR_API_KEY')
print('Cellules à cliquer :', indices)

Codes d'erreur courants

Code d'erreurDescriptionNotes
0successSuccès
1processingEn cours de traitement
2missing required fieldsChamps requis manquants, vérifier les paramètres
3task not supportedType de tâche non supporté
4task creation failedÉchec de création de tâche
5client key does not existAPI key inexistante, vérifier la clé
6insufficient account balanceSolde insuffisant, ajouter des crédits
7task failed, please create a new taskTâche échouée, créer une nouvelle tâche
8task ID does not existID de tâche inexistant

Meilleures pratiques

Pour de meilleurs résultats lors de l'utilisation de l'API Achicaptcha pour Temu Grid Captcha, suivez ces principes :

1. Encodage de l'image

  • Envoyez uniquement l'image de grille comme une seule chaîne Base64
  • N'incluez pas le préfixe data:image/...;base64, — Base64 brut uniquement
  • Assurez-vous que l'image est entièrement chargée et encodée avant l'envoi

2. Intervalle d'interrogation

  • Attendez au moins 2 secondes entre les vérifications de résultat
  • Ne surchargez pas l'API avec des requêtes consécutives
  • Définissez un délai d'expiration pour éviter les boucles infinies (recommandé : 60 secondes)

3. Traitement des résultats

  • solution.click est une chaîne d'indices de cellules de base 0 (ordre ligne par ligne, de gauche à droite, de haut en bas) séparés par des virgules
  • Divisez par , et convertissez en entiers avant de cliquer sur les cellules de grille correspondantes

4. Logique de nouvelle tentative

  • Implémentez des nouvelles tentatives pour les erreurs temporaires comme ERROR_NO_SLOT_AVAILABLE
  • Utilisez un recul exponentiel lors des nouvelles tentatives
  • Limitez le nombre maximum de tentatives

5. Sécurité de la clé API

  • Ne codez pas en dur votre clé API dans le code source
  • Utilisez des variables d'environnement ou un gestionnaire de secrets
  • N'exposez jamais la clé API côté client

Liens utiles :