Please visit Docs and FAQ section about implementations and examples about ImHuman Api
Table of Contents
Browsing this page I guess you know what an API is, if you don't in short it is a common language to share data and information in our case. It is language independent, meaning that you can access the information with any web enabled language and method. Usually some big and control freak APIs needs several communication messages in order to service. But fortunately our simple one only needs one comminucation. Here is how it works in short;
- Your website is going to display some content that requires human|bot check, so with your identification and parameters it asks the ImHuman API for humanizers*
- If identification and parameters are correct ImHuman API provides you with humanizers.
* Humanizer is an 1 by 3 arrray | object which includes the image, name and value for an input
For the ease of use ImHuman API requires parameters via GET method.
Parameters Table. All parameters are consisted of small case letters
|api||Double||YES||Version of Client API-Library. Exists in order to prevent conflicts if a future API update takes place. ImHuman API will reject requests made from clients who are using libraries older than Minimum Client Library version.|
|user||String||YES||API user value for the identification. Generated by control panel automatically when you add a website.|
|key||String||YES||API key value for the identification. Automatically generated also|
|row||Integer||YES||How many rows of humanizers to return.
Creates GRID with the col value where GRID = row * col
GRID can not be bigger than 25
|col||Integer||YES||How many columns of humanizers to return|
|sel||Interger||YES||How many humanizers needs to be selected. Minimum 2 maximum GRID - 1, which is 24|
ImHuman API reponds in JSON format. PHP decodes the JSON format by default with the json_decode() function from PHP 4.4.x I guess and if not there are tons of libraries made for json parsing for PHP and many languages. Best resource is json.org, which includes all libraries in nearly all languages.
|APIV||Double||Current ImHuman API version which ImHuman API runs on. Just for debugging|
|MAPIV||Double||Currently required Minimum Client Library version to connect to API|
|CLAPIV||Double||Currently connected client's library version. (debugging)|
|ERROR||Integer||Error Identification Number which returns 0 on ne error and starts from 100 on errors|
If an error occured returns the explanation of the error code
|RSP::WORD||String||The word | tag needs to be selected through humanizers|
|RSP::ANSWER||String||Answer for the correct humanizer selection.|
|RSP::GRID||Array|Object||Consists or [row * col] by  array.
[row * col ][ i ] :: [ src = humanizer source ][ name = humanizer unique name][ value= humanizer unique value ]
|ERROR CODE||ERROR STRING|
|100||NO USER SUPPLIED|
|101||NO KEY SUPPLIED|
|102||NO ROW SUPPLIED|
|103||NO COLUMN SUPPLIED|
|104||NO SELECTION SUPPLIED|
|105||NO API SUPPLIED|
|106||PLEASE UPDATE YOUR API TO CURRENT VERSION|
|107||IMHUMAN API DATABASE CONNECTION ERROR|
|108||MINIMUM 3 HUMANIZERS REQUIRED|
|109||MINIMUM 2 SELECTION REQUIRED|
|110||SELECTION CAN NOT BE BIGGER THAN (OR EQUAL TO) GRID|
|111||INVALID API USER | KEY|
|112||MAXIMUM GRID SIZE 25|
|113||SELECTION IS TOO BIG|