PRODUCT TEST WORKSPACE
VK Captcha
Captcha verification product
VK_CAPTCHA02 / REQUEST
Request preview
{
"productCode" : "VK_CAPTCHA",
"adapter" : {
"image" : "BASE64_IMAGE",
"steps" : [ 5, 19, 14, 0 ]
}
}
03 / RESULT
Response example
—
{
"code" : 0,
"msg" : "Success",
"data" : {
"taskId" : "11111111-1111-4111-8111-111111111111",
"productCode" : "VK_CAPTCHA",
"state" : "SUCCEEDED",
"solution" : {
"best_step" : 2,
"solution" : [ 5, 19 ],
"answer" : "EXAMPLE_VK_FORMATTED_ANSWER",
"preview" : "BASE64_PREVIEW"
}
}
}
Illustrative response; not a live task result. Replace all request placeholders before submitting.
Solution fields are not documented yet. This example shows the response envelope only.
Read data.solution after state becomes SUCCEEDED. The solution fields depend on the product; other states may return an empty object.
04 / API REFERENCE
VK Captcha · API
For task creation and queries, send the API key in the apiKey HTTP header. JSON request bodies contain business parameters only.
Content-Type: application/json apiKey: YOUR_API_KEY
Request example
{
"productCode": "VK_CAPTCHA", // Product code matching the adapter parameters.
"adapter": { // Product-specific parameter object.
"image": "BASE64_IMAGE", // Base64-encoded challenge image.
"steps": [ // Ordered non-empty array of non-negative integers from the same VK captchaNotRobot.getContent response as image. This is not a maximum rotation count or degrees. Preserve the sequence exactly. Legacy strings containing a JSON integer array are accepted and normalized; a scalar such as "3" is invalid.
5,
19,
14,
0
],
"proxyLogin": "YOUR_PROXYLOGIN", // Proxy username, when authentication is required.
"proxyPassword": "YOUR_PROXYPASSWORD" // Proxy password, when authentication is required.
}
}
Request headers: apiKey: YOUR_API_KEY
Comments explain the fields. Copy produces valid JSON without comments.
Response example
{
"code": 0, // Business result code: 0 means success; other values indicate an error.
"msg": "Success", // Result message; may be empty on success.
"data": { // Response data; may be null on an error.
"taskId": "11111111-1111-4111-8111-111111111111", // Task ID returned by task creation.
"productCode": "VK_CAPTCHA", // Product code matching the adapter parameters.
"state": "SUCCEEDED", // Task state: CREATED, SUBMITTING, PROCESSING, SUCCEEDED, FAILED or EXPIRED.
"solution": { // Product answer when SUCCEEDED; empty while processing or on failure.
"best_step": 2, // Steps or actions required to complete the verification.
"solution": [ // Steps or actions required to complete the verification.
5, // Product-specific answer field; use it according to the target website verification protocol.
19 // Product-specific answer field; use it according to the target website verification protocol.
],
"answer": "EXAMPLE_VK_FORMATTED_ANSWER", // Recognized text or text answer.
"preview": "BASE64_PREVIEW" // Product-specific answer field; use it according to the target website verification protocol.
}
}
}
Creating a task returns its ID and initial state. Query the result or use WebSocket to receive the completed answer shown below.
Solution fields are not documented yet. This example shows the response envelope only.
Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
productCode | string | Yes | Product code matching the adapter parameters. |
adapter | object | Yes | Product-specific parameter object. |
adapter.image | string | Conditional | Base64-encoded challenge image. |
adapter.steps | string | Conditional | Ordered non-empty array of non-negative integers from the same VK captchaNotRobot.getContent response as image. This is not a maximum rotation count or degrees. Preserve the sequence exactly. Legacy strings containing a JSON integer array are accepted and normalized; a scalar such as "3" is invalid. |
adapter.redirectUri | string | Conditional | Fresh VK token challenge redirect URL; use instead of image/steps. |
adapter.userAgent | string | Conditional | User-Agent of the browser that obtained the challenge. |
adapter.proxyType | string | Conditional | Proxy protocol, for example http. |
adapter.proxyAddress | string | Conditional | Proxy hostname or IP address. |
adapter.proxyPort | integer | Conditional | Proxy port. |
adapter.proxyLogin | string | No | Proxy username, when authentication is required. |
adapter.proxyPassword | string | No | Proxy password, when authentication is required. |
Choose one field group below and supply every field in that group: image + steps / redirectUri + userAgent + proxyType + proxyAddress + proxyPort
Response parameters
| Field | Type | Description |
|---|---|---|
code | integer | Business result code: 0 means success; other values indicate an error. |
msg | string | Result message; may be empty on success. |
data | object | null | Response data; may be null on an error. |
data.taskId | string | Task ID returned by task creation. |
data.productCode | string | Product code matching the adapter parameters. |
data.state | string | Task state: CREATED, SUBMITTING, PROCESSING, SUCCEEDED, FAILED or EXPIRED. |
data.solution | object | Product answer when SUCCEEDED; empty while processing or on failure. |
data.failure | object | omitted | Public diagnosis for FAILED/EXPIRED only; no raw provider messages. Follow the failure handling guide. |
data.failure.code | string | Failure code |
data.failure.nextAction | string | Next action |
data.solution.best_step | integer | Steps or actions required to complete the verification. |
data.solution.solution | array | Steps or actions required to complete the verification. |
data.solution.solution[] | integer | Product-specific answer field; use it according to the target website verification protocol. |
data.solution.answer | string | Recognized text or text answer. |
data.solution.preview | string | Product-specific answer field; use it according to the target website verification protocol. |
Responses
HTTP business responses contain code, msg and data; code 0 means success. WebSocket uses a separate message structure.
- -1317
- Invalid API key.
- -1100 / -1101
- Invalid or missing request parameters.
- -1401
- Insufficient balance. Add funds before creating a task.
- -1400 / -1001
- System or task creation error.