# getTaskResult — получение результата

> POST /getTaskResult возвращает результат асинхронной задачи: опрашивайте каждые 5 секунд, при processing продолжайте ждать, при ready берите solution, при ошибке прекращайте опрос; задача выполняется до 110 секунд, результат хранится около 10 минут, запросы не списывают баллы.

Source: https://docs.yescaptcha.com/ru/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` возвращает результат асинхронной задачи. Вызывайте его каждые 5 секунд после создания задачи: при `processing` продолжайте ждать, при `ready` результат лежит в `solution`, при ошибке остановитесь. Запросы не списывают баллы, сколько бы вы их ни делали.

- POST `https://api.yescaptcha.com/getTaskResult` (Глобальный endpoint)
- POST `https://cn.yescaptcha.com/getTaskResult` (Endpoint для Китая)

## Параметры запроса

| Поле | Тип | Обязательное | Описание |
| --- | --- | --- | --- |
| `clientKey` | string | Да | Ваш ClientKey, тот же, с которым создавалась задача |
| `taskId` | string | Да | ID задачи, возвращённый методом [createTask](https://docs.yescaptcha.com/ru/api/create-task.md) |

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

## Ответ

| Ситуация | Ответ | Что делать |
| --- | --- | --- |
| В обработке | `errorId` равен 0, `status` равен `processing` | Повторите запрос через 5 секунд |
| Готово | `errorId` равен 0, `status` равен `ready`, результат в `solution` | Возьмите `solution`; его поля описаны на страницах типов задач |
| Не удалось решить | `errorId` равен 1, `errorCode` равен `ERROR_CAPTCHA_UNSOLVABLE` | Баллы уже возвращены, можно создать новую задачу |
| Превышено время | `errorId` равен 1, `errorCode` равен `ERROR_TASK_TIMEOUT` | Баллы уже возвращены, можно создать новую задачу |
| Задача не найдена или устарела | `errorId` равен 1, `errorCode` равен `ERROR_TASKID_INVALID` | Прекратите опрашивать этот `taskId` |

Пример готового результата (reCAPTCHA v2):

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

## Правила

-   **Опрашивайте каждые 5 секунд.** Повторные запросы по одному и тому же `taskId` в течение 5 секунд сразу возвращают `processing`, более частый опрос не ускорит результат.
-   **Задача обрабатывается не более 110 секунд** (для некоторых типов 180–220 секунд); по истечении времени возвращается `ERROR_TASK_TIMEOUT`, баллы автоматически возвращаются. Рекомендуем ограничить ожидание в коде примерно 3 минутами.
-   **Результат хранится около 10 минут**, после этого `taskId` перестаёт действовать и возвращает `ERROR_TASKID_INVALID`. Используйте результат сразу: срок действия самого токена короче (у reCAPTCHA около 120 секунд).
-   **При ошибке остановитесь.** После `errorId: 1` повторные запросы по тому же `taskId` результат не изменят; начиная с третьего запроса по завершённой задаче в конце `errorDescription` появляется подсказка прекратить опрос. `ERROR_TASKID_INVALID` учитывается в счётчике ошибок [автоматической приостановки](https://docs.yescaptcha.com/ru/api/rate-limits.md) (для одного ID учитывается только первый раз).
-   Запрашивайте результат на том endpoint, на котором была создана задача.
-   Автоматическая приостановка не влияет на `getTaskResult`: задачи, созданные до приостановки, по-прежнему можно опрашивать.
