Перейти к содержимому
СтатусПанель

Справочник API

createTask — создание задачи

Эта страница переведена с китайской версии машинным переводом и может содержать ошибки. Приоритет имеет китайская версия.

createTask создаёт задачу распознавания; в task.type указывается, какую капчу нужно решить. Асинхронные типы возвращают taskId, по которому результат запрашивается через getTaskResult; синхронные типы возвращают результат сразу.

POSThttps://api.yescaptcha.com/createTaskГлобальный endpoint
POSThttps://cn.yescaptcha.com/createTaskEndpoint для Китая
Поле Тип Обязательное Описание
clientKey string Да ClientKey вашего аккаунта; скопируйте его в Панели на yescaptcha.com
task object Да Объект задачи. Должен содержать type; остальные поля зависят от типа задачи, см. страницы отдельных типов задач
softID integer Нет ID разработчика. Указывайте его, если ваше программное обеспечение используют другие люди: так вы получаете долю разработчика, см. Доля разработчика

Распознавание капчи-изображения (синхронно):

{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "ImageToTextTaskOcrBase",
"body": "BASE64_IMAGE"
}
}

Получение токена reCAPTCHA v2 (асинхронно):

{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}

Поля task для каждого типа описаны на страницах раздела Типы задач и цены.

Асинхронные типы:

{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Сохраните taskId и через 5 секунд начните опрашивать getTaskResult.

Синхронные типы:

{
"errorId": 0,
"status": "ready",
"taskId": "2376919c-1863-11ec-a012-94e6f7355a0b",
"solution": {
"text": "LMResm"
}
}

Ошибка:

{
"errorId": 1,
"errorCode": "ERROR_TASK_NOT_SUPPORTED",
"errorDescription": "任务类型不正确或不受支持"
}

Сервер проверяет запрос в таком порядке и возвращает код первой найденной ошибки. Баллы при этом не списываются:

  1. Тело запроса — корректный JSON: ERROR_REQUEST_FORMATS
  2. Передан clientKey: ERROR_REQUIRED_FIELDS
  3. clientKey существует: ERROR_KEY_DOES_NOT_EXIST
  4. Аккаунт не приостановлен автоматически: ERROR_IP_BLOCKED_5MIN (см. Лимит параллельных задач и автоматическая приостановка)
  5. Баланс больше 10 баллов: ERROR_ZERO_BALANCE
  6. Передан task: ERROR_TASK_ABSENT
  7. task.type существует: ERROR_TASK_NOT_SUPPORTED
  8. Заполнены все обязательные поля: ERROR_REQUIRED_FIELDS (в errorDescription указано, какого поля не хватает)
  9. Для задач с изображениями изображение корректно: ERROR_ZERO_CAPTCHA_FILESIZE, ERROR_IMAGE_TYPE_NOT_SUPPORTED и другие

Создание задачи и опрос результата (асинхронный тип):

curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}'
# Returns {"errorId":0,"taskId":"..."}; then poll every 5 seconds:
curl -s https://api.yescaptcha.com/getTaskResult \
-H 'Content-Type: application/json' \
-d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'