# getTaskResult — récupérer le résultat

> POST /getTaskResult renvoie le résultat d'une tâche asynchrone. Interrogez toutes les 5 secondes, continuez d'attendre tant que le statut est processing, lisez solution quand il est ready, arrêtez en cas d'erreur ; une tâche dure environ 110 secondes au maximum, le résultat est conservé environ 10 minutes, les requêtes ne débitent aucun point.

Source: https://docs.yescaptcha.com/fr/api/get-task-result/ · Last verified: 2026-10-15

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/api/get-task-result/

`getTaskResult` renvoie le résultat d’une tâche asynchrone. Après avoir créé la tâche, appelez-le toutes les 5 secondes : si la réponse est `processing`, continuez d’attendre ; si elle est `ready`, le résultat se trouve dans `solution` ; si elle renvoie une erreur, arrêtez. Les requêtes ne débitent aucun point, quel que soit leur nombre.

- POST `https://api.yescaptcha.com/getTaskResult` (Endpoint mondial)
- POST `https://cn.yescaptcha.com/getTaskResult` (Endpoint Chine)

## Paramètres de la requête

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `clientKey` | string | Oui | Votre ClientKey, la même que celle utilisée pour créer la tâche |
| `taskId` | string | Oui | L’ID de tâche renvoyé par [createTask](https://docs.yescaptcha.com/fr/api/create-task.md) |

```json
{
  "clientKey": "YOUR_CLIENT_KEY",
  "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
```

## Réponse

| Situation | Réponse | Que faire |
| --- | --- | --- |
| En cours | `errorId` vaut 0, `status` vaut `processing` | Réessayez dans 5 secondes |
| Terminée | `errorId` vaut 0, `status` vaut `ready`, le résultat est dans `solution` | Lisez `solution` ; ses champs sont décrits sur la page de chaque type de tâche |
| Échec de la résolution | `errorId` vaut 1, `errorCode` vaut `ERROR_CAPTCHA_UNSOLVABLE` | Remboursement de points automatique ; vous pouvez créer une nouvelle tâche |
| Délai dépassé | `errorId` vaut 1, `errorCode` vaut `ERROR_TASK_TIMEOUT` | Remboursement de points automatique ; vous pouvez créer une nouvelle tâche |
| Tâche inexistante ou expirée | `errorId` vaut 1, `errorCode` vaut `ERROR_TASKID_INVALID` | Cessez d’interroger ce `taskId` |

Exemple de tâche terminée (reCAPTCHA v2) :

```json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU..."
  }
}
```

## Règles

-   **Interrogez toutes les 5 secondes.** Une nouvelle requête pour le même `taskId` dans les 5 secondes renvoie directement `processing` ; interroger plus souvent n’accélère rien.
-   **Une tâche est traitée pendant environ 110 secondes au maximum** (180 à 220 secondes pour quelques types). Au-delà, `ERROR_TASK_TIMEOUT` est renvoyé et les points sont remboursés automatiquement. Dans votre programme, fixez la durée maximale d’attente à environ 3 minutes.
-   **Le résultat est conservé environ 10 minutes**, après quoi le `taskId` n’est plus valide et renvoie `ERROR_TASKID_INVALID`. Utilisez le résultat dès que vous l’obtenez : la durée de validité du token est plus courte (environ 120 secondes pour reCAPTCHA).
-   **Arrêtez en cas d’erreur.** Après `errorId: 1`, continuer d’interroger le même `taskId` ne change pas le résultat ; à partir de la 3e requête sur une tâche déjà terminée, la fin de `errorDescription` vous invite à arrêter l’interrogation périodique (polling). `ERROR_TASKID_INVALID` compte dans les erreurs de la [suspension automatique](https://docs.yescaptcha.com/fr/api/rate-limits.md) (une seule fois par ID).
-   Interrogez le endpoint sur lequel vous avez créé la tâche.
-   `getTaskResult` n’est pas concerné par la suspension automatique : les tâches créées avant la suspension restent consultables.
