CAPI / GUIDE

Ошибки и повторы

Коды ответов API и что проверить при сбое сценария.

Ключ или баланс

При отказе в доступе проверьте ключ командой /key. После /rotate обновите настройку плагина. При нехватке доступного баланса пополните аккаунт.

Изображения и тип задания

Проверьте тип капчи, все необходимые изображения и их соответствие одному раунду. Для GeeTest Icon нужны три подсказки, для Slide — фрагмент пазла, для Nine — подсказка текущего задания.

Клики не совпадают с картинкой

Проверьте масштаб, положение виджета и отсутствие перекрывающих окон. После обновления капчи начните работу с данными нового раунда.

Сессия и прокси

Сохраняйте браузерную сессию и прокси до завершения задания. При сетевом сбое проверяйте состояние задачи через плагин и историю в кабинете, прежде чем повторять весь сценарий.

Коды ответов API

Каждая ошибка API возвращается JSON-объектом: number — номер ошибки, code — её код, detail — сообщение сервера, hint — короткий совет; у ошибок, связанных с задачей, есть ещё task_id (он же в заголовке X-Task-Id). Номер и код не меняются — ориентируйтесь на них, а не на текст detail.

Отказ распознавания (4001 unsolvable_image, HTTP 422) — не сбой сервера: в detail указано, на каком шаге решатель остановился и что он увидел. Резерв по такой задаче освобождён. Сохраните отправленные картинки: это пример для обучения модели.

Сетевой повтор отправляйте с тем же Idempotency-Key и тем же телом: уже выданное решение вернётся без повторного списания.

НомерКодHTTPЧто значитЧто делать
1001unauthorized401Ключ неверен, отозван или аккаунт заблокирован.Проверьте ключ командой /key; после /rotate обновите настройку плагина.
1002blocked403Аккаунт заблокирован.Обратитесь к администратору.
1003forbidden403Доступ к ресурсу запрещён для этого аккаунта.Проверьте права аккаунта.
1010plugin_signature_required403Заголовки подписи плагина X-Capi-* отсутствуют или имеют неверный формат.Обновите плагин; в прямом запросе не отправляйте заголовки X-Capi-*.
1011plugin_request_expired403Время подписанного запроса плагина вышло за допустимое окно (120 с).Проверьте часы компьютера и повторите запрос.
1012plugin_version_not_permitted403Версия плагина отключена.Скачайте актуальную версию на странице загрузок.
1013plugin_signature_invalid403Подпись плагина не совпала с подписью сервера.Проверьте, что в плагине указан ваш API key, и обновите плагин.
1014plugin_replay409Запрос плагина с таким nonce уже принят.Отправьте новый запрос, не пересылая старый.
1015report_salt_required403В отчёте нет report_salt из ответа на решение.Передайте report_salt, полученный в ответе на задачу.
1016invalid_report_proof403report_salt не подходит к этой задаче.Используйте report_salt из ответа именно на эту задачу.
2001insufficient_balance402Доступного баланса меньше цены задачи.Пополните баланс.
2002price_unavailable503Для этого типа капчи не задан тариф.Повторите позже или напишите администратору.
2003rate_limit429За минуту создано больше задач, чем разрешено аккаунту.Подождите минуту и повторите.
2004too_many_pending429Слишком много задач без отчёта.Отправьте /v1/report по выполненным задачам.
2005report_expired409Срок отчёта по задаче истёк.Отправляйте отчёт сразу после проверки у провайдера капчи.
2006not_solved409У задачи нет решения: распознавание завершилось ошибкой.Отчёт по такой задаче не нужен.
2007idempotency_conflict409Idempotency-Key или ID операции уже использован с другим телом.Для нового запроса берите новый ключ; для сетевого повтора отправляйте то же тело.
2008request_pending_or_failed409Задача с этим Idempotency-Key ещё выполняется или завершилась ошибкой.Проверьте состояние в /v1/task/{task_id} или отправьте запрос с новым ключом.
3001invalid_request422Параметры запроса не прошли проверку.Сверьте параметры с описанием маршрута.
3002invalid_json400Тело запроса не разобрано как JSON нужной формы.Отправьте JSON-объект, например {"image": "<base64>"}.
3003invalid_image400Изображение пустое или не является корректной строкой base64.Передайте целую картинку в base64.
3004payload_too_large413Картинка или тело запроса больше лимита.Уменьшите картинку или не присылайте лишнего.
3005captcha_type_required400Не указан тип капчи.Укажите тип в пути /v1/solve/{type} или в параметре captcha_type.
3006unknown_captcha_type404Такого типа капчи нет.Возьмите тип из списка в detail или из документации.
3007invalid_variant400Значение параметра model или type не из доступных.Выберите значение из списка в detail.
3008invalid_report400В отчёте нет task_id или result не из допустимых.Отправьте {"task_id": ..., "result": "success|fail|continue"}.
3009invalid_request_key400Idempotency-Key должен содержать от 1 до 128 символов.Используйте UUID.
3010not_found404Задача или ресурс не найдены либо принадлежат другому аккаунту.Проверьте идентификатор.
3011invalid_result400Результат отчёта не success, fail или continue.Передайте один из трёх результатов.
3012method_not_allowed405Для маршрута не поддерживается этот HTTP-метод.Проверьте метод в описании маршрута.
3013bad_request400Запрос неверен.Прочитайте detail.
3014conflict409Состояние ресурса не позволяет операцию.Прочитайте detail.
4001unsolvable_image422Картинки приняты, но решения для них нет. В detail указано, на каком шаге и что увидел решатель. Резерв освобождён.Сохраните отправленные картинки как пример для датасета и запросите новый раунд капчи.
4002solver_busy429Все слоты распознавания заняты.Повторите через секунду (заголовок Retry-After).
4003inference_failed500Решатель завершился ошибкой. Резерв освобождён.Повторите запрос; если ошибка остаётся, передайте ID задачи.
4004inference_timeout504Распознавание не уложилось в отведённое время. Резерв освобождён.Повторите запрос.
5000internal_error500Внутренняя ошибка сервера.Повторите позже; если ошибка остаётся, передайте время запроса.
5001database_unavailable503База данных недоступна.Повторите позже.
5002plugin_config_unavailable503Настройки плагинов на сервере недоступны.Повторите позже.
5003journal_unavailable503Журнал задач не настроен на сервере.Обратитесь к администратору.
5004billing_disabled503Биллинг на сервере выключен.Обратитесь к администратору.
5005service_unavailable503Сервис временно недоступен.Повторите позже.

Данные для разбора

Сохраните версию плагина, тип капчи, ID задачи, время и сообщение об ошибке. Не публикуйте API key, пароли прокси и cookies.