Ошибки
Ошибки возвращаются с HTTP 200 и телом JSON: errorId не равен нулю, плюс errorCode и errorDescription. Клиентские библиотеки ориентируются на errorId / errorCode.
| Код | Значение |
|---|---|
ERROR_KEY_DOES_NOT_EXIST |
Неверный или отсутствующий clientKey |
ERROR_ZERO_BALANCE |
Недостаточно средств для создания задачи |
ERROR_NO_SUCH_CAPCHA_ID |
Неизвестный taskId или задача истекла |
ERROR_CAPTCHA_UNSOLVABLE |
Капчу не удалось решить (средства возвращены) |
ERROR_TASK_ABSENT |
Отсутствует объект task |
ERROR_TASK_NOT_SUPPORTED |
Тип задачи не поддерживается |
ERROR_BAD_PARAMETERS |
Требуемые параметры капчи отсутствуют или имеют неправильный формат |
ERROR_BAD_PROXY |
Некорректные параметры прокси (proxyType/proxyAddress/proxyPort) |
Нужна помощь? Напишите в поддержку.
Исключения Python SDK#
Синхронный и асинхронный клиенты используют одинаковые исключения:
| Исключение | Значение |
|---|---|
ApiError |
API вернул ненулевой errorId; доступны error_code и error_description |
CaptchaTimeoutError |
Закончилось окно ожидания решения или таймаут HTTP-запроса |
NetworkError |
Ошибка HTTP/соединения или ответ не является JSON |
ValidationError |
Ошибка аргументов, проверяемых клиентом; например, пустой API-ключ |
Все они наследуются от CaptchaError. Параметры задач проверяет также сервер; SDK не выполняет полную локальную валидацию. Используйте CaptchaTimeoutError: старое имя TimeoutError оставлено как совместимый псевдоним и совпадает с именем встроенного исключения Python.
Не отправляйте задачу повторно автоматически после таймаута: прежняя задача может ещё выполняться. Примеры обработки ошибок.