RucaptchaApi
This gem facilitates interaction with https://rucaptcha.com/api-rucaptcha API.
Installation
gem 'rucaptcha_api'
Fast usage
Explained usage
require 'rucaptcha_api'
rucaptcha_key = '5d01e7jk4d9c64a784b25d38840d1407'
- for example. get your own 'captcha KEY' from https://rucaptcha.com/setting page after you registered.
api = RucaptchaApi.new rucaptcha_key
path_to_captcha = File.expand_path 'var/captchas/1.png'
- absolute path to image of your captcha (only accepts jpg,jpeg,gif,png)
captcha_id = api.send_captcha_for_solving path_to_captcha, params: {phrase: 1}
- you send captcha for solving, and you get its id as a resonse so that you can later look up its solution when it's ready.
params here are optional, and you can find possible params in API docs https://rucaptcha.com/api-rucaptcha:
POST параметр | возможные значения | описание параметра |
---|---|---|
phrase | 0;1 | 0 = одно слово (значение по умлочанию) 1 = капча имеет два слова |
regsense | 0;1 | 0 = регистр ответа не имеет значения (значение по умолчанию ) 1 = регистр ответа имеет значение |
question | 0;1 | 0 = параметр не задействован (значение по умолчанию ) 1 = на изображении задан вопрос, работник должен написать ответ |
numeric | 0;1;2;3 |
0 = параметр не задействован (значение по умолчанию) |
calc | 0;1 | 0 = параметр не задействован (значение по умолчанию) 1 = работнику нужно совершить математическое действие с капчи |
min_len | 0..20 |
0 = параметр не задействован (значение по умолчанию) |
max_len | 1..20 | 0 = параметр не задействован (значение по умолчанию) 1..20 = максимальное количество знаков в ответе |
is_russian | 0;1 |
параметр больше не используется, т.к. он означал "слать данную капчу русским исполнителям", а в системе находятся только русскоязычные исполнители. Смотрите новый параметр language, однозначно обозначающий язык капчи |
soft_id | ID разработчика приложения. Разработчику приложения отчисляется 10% от всех капч, пришедших из его приложения. | |
language | 0;1;2 |
0 = параметр не задействован (значение по умолчанию) 1 = на капче только кириллические буквы 2 = на капче только латинские буквы |
header_acao | 0;1 | 0 = значение по умолчанию 1 = in.php передаст Access-Control-Allow-Origin: * параметр в заголовке ответа. (Необходимо для кросс-доменных AJAX запросов в браузерных приложениях. Работает также для res.php.) |
textinstructions | TEXT | Текст, который будет показан работнику. Может содержать в себе инструкции по разгадке капчи. Ограничение - 140 символов. Текст необходимо слать в кодировке UTF-8. |
textcaptcha | TEXT | Текстовая капча. Картинка при этом не загружается, работник получает только текст и вводит ответ на этот текст. Ограничение - 140 символов. Текст необходимо слать в кодировке UTF-8. |
after you sent your captcha for solving and got captcha_id, you can find solved captcha with:
solved_captcha = api.get_solved_captcha captcha_id #=> Yi7yu8
(in case it's not ready yet, this method will automatically wait for 5 seconds and then resend the request for solved captcha).
in case your captcha wasn't properly solved, you can complain on it with api.complain captcha_id
.
Methods to get statistics
api.balance #=> 95.03
- Узнать баланс аккаунта. Баланс указывается в Российских рублях.
api.captcha_cost captcha_id
- Запрос статуса и стоимости распознования данной капчи. Цена указывается в рублях.
api.stats_for date: '2013-11-27' # => string with xml
- получить статистику использования аккаунта в XML за указанную дату.
RucaptchaApi.rucaptcha_stats # => {waiting: ..., ...}
- waiting: количество работников ожидающих капчу. load: процент загрузки работников. minbid: текущая ставка за распознание капчи. В рублях. averageRecognitionTime: среднее время (в секундах) за которое в данный момент разгадываются капчи