Коды ошибок

Что означает каждый ответ API и что с ним делать.

Ошибка приходит в том же формате, что и обычный ответ: status равен 0, а в response — код ошибки.

json
{
  "status": 0,
  "response": "ERROR_ZERO_BALANCE"
}

За задачи, которые завершились ошибкой, деньги не списываются.

Любой запрос

ERROR_KEY_DOES_NOT_EXIST

Ключ не передан, передан не в формате UUID или такого ключа нет.

→ Проверьте заголовок X-API-Key. Ключ — в кабинете, на странице «Обзор».

ERROR_IP_NOT_ALLOWED

У ключа включён белый список IP, а запрос пришёл с адреса не из него.

→ Добавьте адрес в белый список или удалите все записи, чтобы снять ограничение.

BAD_JSON

Тело запроса — не корректный JSON.

→ Проверьте тело и заголовок Content-Type: application/json.

ERROR_SERVER

Внутренняя ошибка сервиса.

→ Повторите запрос через несколько секунд. Если повторяется — напишите в поддержку.

route-not-found

Запрос на несуществующий адрес.

→ Проверьте адрес: задачи создаются на /create, результат — на /result.

Создание задачи — /create

Запрос и аккаунт

ERROR_TASK_ABSENT

Не передан параметр type.

→ Укажите тип задачи.

ERROR_TASK_NOT_SUPPORTED

Тип в type не поддерживается.

→ Проверьте написание: SmartCaptcha, PazlCaptcha, PazlCaptchaV2, TextCaptcha.

ERROR_ZERO_BALANCE

На балансе не больше цены одного решения.

→ Пополните баланс.

ERROR_USER_DISABLED

Аккаунт отключён.

→ Напишите в поддержку.

ERROR_SOFT_NOT_SUPPORTED

Для приложения из app_id этот тип задач отключён.

→ Проверьте app_id или отправляйте задачу без него.

ERROR_TASK_LOOP_DETECTED

Одну и ту же капчу с одного IP приняли в работу 10 раз за 5 минут, и ни разу не забрали её решение. Следующие повторы этой капчи с этого IP блокируются на 15 минут. Повторы с разных серверов считаются отдельно, отклонённые запросы — например, с ERROR_ZERO_BALANCE — не считаются вовсе.

→ Забирайте результат через /result, прежде чем отправлять ту же капчу снова. Проверьте, не зациклился ли ваш код.

Картинки

ERROR_EMPTY_BODY

Не переданы картинки: для SmartCaptcha — click и task, для PazlCaptchaV2 — image и task, для остальных — task.

→ Передайте все обязательные поля из раздела про ваш тип капчи.

ERROR_IMAGE_TYPE_NOT_SUPPORTED

Картинка не в формате PNG или JPEG — или к base64 приклеен префикс data:image/...;base64,.

→ Отправляйте исходную картинку с сайта без конвертации, только сам base64.

ERROR_INVALID_IMAGE_DATA

Строка base64 не раскодировалась в целую картинку.

→ Проверьте, что картинка скачана целиком и закодирована без потерь.

ERROR_INVALID_BODY · ERROR_BODY_NOT_BASE64

PazlCaptcha: task — не строка или не base64.

→ Передайте HTML страницы строкой в base64.

ERROR_BODY_TOO_LARGE_B64 · ERROR_BODY_TOO_LARGE_RAW

Картинка больше 2 МБ — в виде base64 или после раскодирования.

→ Отправляйте картинку капчи, а не скриншот страницы.

ERROR_DUPLICATE_DATA

SmartCaptcha: в click и task одна и та же картинка.

→ В click — картинка капчи, в task — полоса с заданием.

Решатели

ERROR_NO_ACTIVE_SERVER

TextCaptcha: сейчас нет свободных решателей.

→ Повторите через несколько секунд.

CAPCHA_NOT_AVAILABLE

Задачу не удалось поставить в работу.

→ Повторите создание задачи.

Получение результата — /result

CAPCHA_NOT_READY

Задача ещё решается. Это не ошибка.

→ Подождите 2–10 секунд и повторите запрос.

CAPCHA_NOT_AVAILABLE

Капчу решить не удалось. Деньги не списаны.

→ Создайте новую задачу.

ERROR_INVALID_TASK_ID

id не передан или не в формате UUID.

→ Передайте идентификатор из ответа /create.

ERROR_NO_SUCH_TASK_ID

Задачи с таким id нет у этого ключа — или срок её хранения истёк.

→ Проверьте id и ключ. Забирайте результат вскоре после создания задачи.