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

Справочник API

Коды ошибок

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

При ошибке API возвращает errorId: 1; errorCode содержит код ошибки, errorDescription — текстовое описание. За запросы, вернувшие ошибку, баллы не списываются: если ошибка возникла при создании задачи, списания нет, а если распознавание не удалось или истекло время после создания, баллы возвращаются автоматически.

{
"errorId": 1,
"errorCode": "ERROR_ZERO_BALANCE",
"errorDescription": "帐户余额不足"
}
  1. Ошибки параметров (формат запроса, ClientKey, тип задачи, параметры сайта, изображения) не исчезнут при повторной отправке — сначала исправьте запрос.
  2. Неудачное распознавание и тайм-аут (ERROR_CAPTCHA_UNSOLVABLE, ERROR_TASK_TIMEOUT) можно повторить, создав задачу заново.
  3. После ошибки прекратите опрос (polling) этого taskId и не отправляйте тот же запрос повторно с высокой частотой.
  4. Ошибки с пометкой «Учитывается в приостановке»: если для одного clientKey набирается 100 таких ошибок за минуту, создание задач приостанавливается на 5 минут. Ошибки с пометкой «Кэшируется» в этот счётчик не входят, но пока действует кэш, одинаковые запросы сразу получают прежнюю ошибку. Подробнее — в разделе Лимит параллельных задач и автоматическая приостановка.

Формат запроса

Код ошибкиЗначениеЧто делать
ERROR_REQUIRED_FIELDSОтсутствует обязательное поле (например, clientKey или websiteURL / websiteKey для данного типа задачи), либо тело запроса не является JSONДобавьте недостающие поля, перечисленные на странице типа задачи, и отправляйте JSON методом POST с заголовком Content-Type: application/json
ERROR_REQUEST_FORMATS
Учитывается для автоматической приостановки
Тело запроса не является корректным JSONФормируйте тело запроса с помощью JSON-библиотеки, а не конкатенацией строк; в JSON не должно быть комментариев //
ERROR_TASK_ABSENT
Учитывается для автоматической приостановки
В вызове createTask отсутствует поле taskПоместите параметры задачи в объект task. В Python requests используйте json=data, а не data=data
ERROR_TASK_NOT_SUPPORTED
Учитывается для автоматической приостановки
В task.type допущена опечатка, либо этот тип отключёнСкопируйте название типа из раздела «Типы задач и цены»; регистр важен
ERROR_PAGE_NOT_FOUNDЗапрошенный путь не существуетПроверьте адрес endpoint, например https://api.yescaptcha.com/createTask; названия методов чувствительны к регистру
ERROR_BAD_REQUESTЗапрос не может быть обработан, обычно из-за неверного HTTP-метода (GET вместо POST) или недопустимых значений параметровОтправляйте JSON методом POST и проверьте типы и значения параметров
ERROR_ILLEGAL_PARAMETERSНедопустимое значение параметра. Типично для страницы проверки Cloudflare: websiteURL не является публичным URL, начинающимся с http:// / https://, postData не является объектом, либо requiredCookies не является массивом строк (возвращается createTask, списание баллов не производится); либо не удалось разрешить домен целевого сайта через прокси (возвращается getTaskResult, возврат баллов выполняется автоматически)Исправьте значение в соответствии с таблицей параметров на странице типа задачи. Если домен не удалось разрешить, проверьте написание URL и то, может ли прокси подключиться к сайту

Аккаунт и баланс

Код ошибкиЗначениеЧто делать
ERROR_KEY_DOES_NOT_EXIST
Учитывается для автоматической приостановки
clientKey не существует: при копировании были добавлены или потеряны символы, либо ключ был сброшен в ПанелиСкопируйте ключ заново в Панели на yescaptcha.com, без пробелов и переносов строк
ERROR_KEY_EXPIRED
Учитывается для автоматической приостановки
Срок действия clientKey истёк (возвращается при createTask и getBalance, списание баллов не производится). Возможны два случая: ключ долго не использовался, и система установила срок действия для защиты аккаунта (перед истечением срока приходит напоминание по электронной почте), либо истёк срок действия, заданный для этого clientKeyВойдите в Панель на yescaptcha.com. Если срок истёк из-за долгого неиспользования, создайте новый clientKey: Баланс автоматически перейдёт на новый ключ. Если срок действия был задан вручную, измените его или используйте другой clientKey. Затем обновите clientKey в своей программе
ERROR_KEY_IP_NOT_ALLOWEDДля этого clientKey задан белый список IP, и IP, с которого пришёл запрос, в нём отсутствует (возвращается при createTask и getBalance, списание баллов не происходит, в автоматическую приостановку не засчитывается)Войдите в Панель на yescaptcha.com и добавьте публичный IP машины, отправляющей запросы, в белый список этого clientKey, либо используйте другой clientKey. Если API вызывается с нескольких машин, добавьте публичный IP каждой из них (имеется в виду IP, с которого вызывается API YesCaptcha, а не прокси в параметрах задачи)
ERROR_KEY_QUOTA_EXCEEDEDДля этого clientKey задан лимит расходов, и его остатка за текущий период меньше, чем стоимость этой задачи (возвращается при createTask, списание баллов не происходит, в автоматическую приостановку не засчитывается). В лимит засчитываются фактически списанные баллы; баллы, возвращённые за неудачные задачи или задачи с истекшим временем ожидания, возвращаются в лимитВойдите в Панель на yescaptcha.com и увеличьте лимит этого clientKey, дождитесь следующего периода (лимит сбрасывается ежедневно, каждый понедельник или 1-го числа каждого месяца по пекинскому времени; разовый лимит не сбрасывается) либо используйте другой clientKey. Оставшийся лимит этого clientKey (keyQuotaRemaining) возвращает getBalance
ERROR_ZERO_BALANCEНедостаточно баллов на балансе. Для создания задачи баланс должен быть больше 10 балловПополните баланс и повторите попытку. Проверить баланс можно с помощью getBalance

Параллельные задачи и приостановки

Код ошибкиЗначениеЧто делать
ERROR_THREADS_MAXIMUM
Иногда учитывается для автоматической приостановки
Для аккаунта одновременно выполняется слишком много задач этого типа. limit в ответе — текущий лимит параллельных задач. Запрос не был обработан, списание баллов не производилосьДождитесь ответов на уже отправленные запросы или подождите 1–2 секунды и повторите; ограничьте в программе число одновременно ожидающих запросов
ERROR_IP_BLOCKED_5MINЭтот clientKey за короткое время вызвал слишком много ошибок и был автоматически приостановлен. retryAfter — оставшееся время в секундах, blockReason — ошибка, вызвавшая приостановкуИсправьте запрос согласно blockReason и подождите retryAfter секунд; отправка запросов во время приостановки её не продлевает
ERROR_NO_SLOT_AVAILABLEСервис распознавания временно перегружен. Если ошибка возвращена методом createTask, баллы не списываются; если задача слишком долго ждала в очереди, ошибка также возвращается методом getTaskResult, а баллы возвращаются автоматическиПодождите несколько секунд и создайте задачу снова

Задачи и результаты

Код ошибкиЗначениеЧто делать
ERROR_TASKID_INVALID
Учитывается для автоматической приостановки
taskId не существует, срок его действия истёк (результаты хранятся около 10 минут), он принадлежит другому clientKey или был создан на другом endpointПрекратите опрос (polling) этой задачи. Запрашивайте результат через тот же endpoint и с тем же clientKey, которые использовались при создании
ERROR_TASK_TIMEOUTЗадача не была выполнена за отведённое время (обычно 110 секунд); баллы возвращены автоматическиСоздайте новую задачу; если таймауты повторяются, попробуйте другой тип задачи для той же капчи
ERROR_CAPTCHA_UNSOLVABLEВ этот раз капчу распознать не удалось; баллы возвращены. Эта ошибка не учитывается при автоматической приостановкеСоздайте новую задачу. Если ошибка повторяется, проверьте websiteURL, websiteKey и другие параметры или попробуйте другой тип задачи для той же капчи
ERROR_SETTLEMENT_FAILED
Учитывается для автоматической приостановки
На момент расчёта на балансе не хватило баллов, поэтому результат не был возвращёнПополните баланс и создайте новую задачу
ERROR_NO_SUCH_CAPCHA_IDЗадача больше не действительнаПрекратите опрос (polling) этой задачи и создайте новую
ERROR_RECAPTCHA_TIMEOUTВремя распознавания капчи истекло; баллы возвращеныСоздайте новую задачу

Параметры целевого сайта

Код ошибкиЗначениеЧто делать
ERROR_RECAPTCHA_INVALID_SITEKEY
Кешируется, не ведёт к приостановке
websiteKey недействителенЗаново найдите sitekey на странице (см. руководства по поиску параметров). Идентичные запросы в течение срока кеширования сразу возвращают эту ошибку с cached: true
ERROR_RECAPTCHA_INVALID_DOMAIN
Кешируется, не ведёт к приостановке
Домен в websiteURL не соответствует websiteKeyУкажите в websiteURL адрес страницы, на которой отображается капча
ERROR_INVALID_KEY_TYPE
Кешируется, не ведёт к приостановке
Sitekey относится к другой капче, например ключ v3 использован с типом задачи для v2Сначала определите тип капчи (см. «Определение типа капчи») и выберите соответствующий тип задачи; для невидимой версии v2 укажите isInvisible
ERROR_DOMAIN_NOT_ALLOWED
Кешируется, не ведёт к приостановке
Этот сайт не поддерживаетсяПопробуйте другой тип задачи для той же капчи или обратитесь в поддержку
ERROR_HIGH_DEMAND_DOMAIN
Учитывается для автоматической приостановки
Этот сайт не поддерживаетсяПрекратите отправлять задачи для этого сайта и обратитесь в поддержку
ERROR_FAILED_LOADING_WIDGETНе удалось загрузить капчу с указанными параметрамиПроверьте websiteURL и websiteKey; для типов задач с собственным прокси убедитесь, что прокси имеет доступ к сайту

Изображения

Код ошибкиЗначениеЧто делать
ERROR_ZERO_CAPTCHA_FILESIZE
Учитывается для автоматической приостановки
Изображение пустое или слишком маленькоеУбедитесь, что данные Base64 переданы полностью и без префикса data:image/...;base64,
ERROR_TOO_BIG_CAPTCHA_FILESIZE
Учитывается для автоматической приостановки
Изображение слишком большоеСожмите или уменьшите изображение; размер всего тела запроса не должен превышать 6 MB
ERROR_IMAGE_TYPE_NOT_SUPPORTED
Учитывается для автоматической приостановки
Формат изображения не поддерживается или это изображение не подходит для данного типа задачи. Одного такого случая достаточно, чтобы приостановить ключ на 30 минутИспользуйте JPG или PNG и убедитесь, что изображение соответствует типу задачи, например для распознавания изображений reCAPTCHA нужен размер 100x100, 300x300 или 450x450
ERROR_ILLEGAL_IMAGE
Учитывается для автоматической приостановки
Размер изображения не соответствует требованиям этого типа задачиИзмените размер изображения согласно описанию на странице типа задачи
ERROR_PARSE_IMAGE_FAILНе удалось декодировать изображение, часто из-за того, что Base64 обрезан или содержит префиксПроверьте кодировку Base64 и удалите префикс data: и переносы строк
ERROR_UNKNOWN_QUESTIONЗначение question указано неверно или этот вопрос пока не поддерживаетсяСверьтесь со списком вопросов на странице типа задачи. Если вопрос не поддерживается, обратитесь в поддержку; новые вопросы обычно добавляются в течение 3 рабочих дней
ERROR_UNKNOW_450x450_QUESTIONЭтот вопрос пока не поддерживается для изображений 4x4 (450x450)Обновите проверку на странице, чтобы получить другой вопрос

Прокси

Код ошибкиЗначениеЧто делать
ERROR_PROXY_CONNECT_REFUSEDПрокси отклонил подключениеПроверьте адрес, порт и протокол прокси и убедитесь, что он принимает внешние подключения (это не должен быть локальный адрес, например 127.0.0.1)
ERROR_PROXY_CONNECT_TIMEOUTВремя подключения к прокси истеклоИспользуйте более надёжный прокси
ERROR_PROXY_READ_TIMEOUTВремя чтения данных через прокси истеклоИспользуйте более быстрый прокси
ERROR_PROXY_BANNEDПрокси недоступен или его IP заблокирован целевым сайтомИспользуйте другой прокси
ERROR_PROXY_INCORRECTПараметры прокси имеют неверный форматПроверьте формат proxyType, proxyAddress, proxyPort (или строки proxy)
ERROR_PROXY_TRANSPARENTПрокси является прозрачным и раскрывает реальный IPИспользуйте анонимный (элитный) прокси
ERROR_PROXY_NOT_AUTHORISEDЛогин или пароль прокси указаны неверноПроверьте proxyLogin и proxyPassword (или учётные данные в строке proxy)
ERROR_PROXY_TLS_ERRORНе удалось выполнить TLS-рукопожатие с прокси, часто из-за неверного proxyType (например, указан https для http-прокси)Проверьте протокол прокси
ERROR_PROXY_CONNECTION_FAILEDНе удалось подключиться к прокси-серверуПроверьте адрес и порт прокси и убедитесь, что прокси работает

Сервер

Код ошибкиЗначениеЧто делать
ERROR_SERVICE_UNAVALIABLEСервис временно недоступен (в коде ошибки используется написание UNAVALIABLE)Повторите попытку позже; если ошибка не исчезает, обратитесь в поддержку
ERROR_INTERNAL_SERVER_ERRORВнутренняя ошибка сервераПовторите попытку позже; если ошибка повторяется, обратитесь в поддержку и укажите taskId
ERROR_UNKNOWNНеклассифицированная ошибкаПовторите попытку позже; если ошибка повторяется, обратитесь в поддержку и укажите taskId

В ответах на некоторые ошибки есть дополнительные поля:

Поле Где встречается Описание
retryAfter ERROR_IP_BLOCKED_5MIN, кэшированные ошибки Сколько секунд осталось ждать
blockReason ERROR_IP_BLOCKED_5MIN Код ошибки, вызвавшей приостановку
blockDetail ERROR_IP_BLOCKED_5MIN Тип, URL и sitekey запросов, вызвавших приостановку, — для удобства поиска причины
cached Кэшированные ошибки true означает, что это кэшированный результат, распознавание не выполнялось
badRequest Кэшированные ошибки Параметры, попавшие в кэш
limit ERROR_THREADS_MAXIMUM Ваш текущий лимит параллельных задач

Правила выбора языка errorDescription описаны в разделе Запросы и ответы.