API · протокол Capsola
Документация API
Капча Яндекса SmartCaptcha «нажмите на фигуры в таком порядке». На вход — картинка и полоска-подсказка, на выход — координаты нажатий по порядку.
Как устроено
- Адрес
- https://безкапчи.рф/api
- Ключ
- заголовок X-API-Key (можно и полем key в теле) — в кабинете
- Формат
- POST, тело JSON, ответ JSON {"status": 1|0, "response": …}
- HTTP
- 200 и на ошибках — смотрите поле status; 429 — превышен лимит 1 200 запросов в минуту
- Цена
- 3,00 ₽ за 1000 — только за решённые
POST
/create
Создать задачу. Решатель отвечает за доли секунды, поэтому к первому опросу /result ответ уже готов.
| Поле | Что передать |
|---|---|
| type | SmartCaptcha |
| click | base64 большой картинки, по которой нажимают (PNG/JPEG как есть, без пересжатия; data-URL тоже можно) |
| task | base64 полоски-подсказки с порядком фигур |
POST https://безкапчи.рф/api/create
X-API-Key: ВАШ_КЛЮЧ
{"type": "SmartCaptcha", "click": "iVBORw0KGgo…", "task": "iVBORw0KGgo…"}
→ {"status": 1, "response": "01JA2Y7Q3VZ8M4N0K6P2R5T9XW"}
POST
/result
Ответ по задаче. Координаты — в пикселях присланной картинки от левого верхнего угла, по порядку фигур в подсказке.
POST https://безкапчи.рф/api/result
{"id": "01JA2Y7Q3VZ8M4N0K6P2R5T9XW"}
→ {"status": 1, "response": "coordinates:x=72.5,y=23.4;x=181,y=96.2;x=250.1,y=140"}
→ {"status": 0, "response": "CAPCHA_NOT_AVAILABLE"} не решена, деньги не списаны
POST
/solve
То же, что /create, но координаты приходят в том же ответе — без опроса.
POST https://безкапчи.рф/api/solve
{"type": "SmartCaptcha", "click": "…", "task": "…"}
→ {"status": 1, "response": "coordinates:x=72.5,y=23.4;…", "id": "01JA2Y7Q3V…"}
POST
/balance
Остаток в рублях.
POST https://безкапчи.рф/api/balance
{}
→ {"status": 1, "response": 412.307}
Коды ответов
Приходят в response при status: 0. Списания на них нет.
| Код | Что значит и что делать |
|---|---|
| ERROR_KEY_DOES_NOT_EXIST | Ключа нет или он перевыпущен — возьмите актуальный в кабинете. |
| ERROR_ZERO_BALANCE | Баланса не хватает на одну капчу — пополните. |
| ERROR_WRONG_CAPTCHA_TYPE | Тип не SmartCaptcha. Текстовые капчи пока не принимаем. |
| ERROR_ZERO_CAPTCHA_FILESIZE | Нет поля click или task. |
| ERROR_TOO_BIG_CAPTCHA_FILESIZE | Картинка больше 1024 КБ в base64. |
| ERROR_IMAGE_TYPE_NOT_SUPPORTED | Не base64 или картинку не раскодировать. |
| CAPCHA_NOT_AVAILABLE | Решатель не справился. Пришлите новую картинку. |
| ERROR_NO_SLOT_AVAILABLE | Все решатели заняты — повторите create через несколько секунд. |
| ERROR_SERVICE_UNAVAILABLE | Решатель временно недоступен — повторите позже. |
| ERROR_NO_SUCH_CAPCHA_ID | Задачи с таким id нет у этого ключа (или она старше 30 дней). |
| ERROR_TOO_MANY_REQUESTS | Превышен лимит запросов в минуту (HTTP 429). |
Переход с Capsola или BotLab
Методы, поля, заголовок ключа и коды ответов те же. Поменяйте две строки:
- base_url = "https://api.capsola.cloud"
+ base_url = "https://безкапчи.рф/api"
- api_key = "ключ Capsola"
+ api_key = "ключ из кабинета"