Skip to content
API
Grid Captcha
Botion

Botion Grid Captcha

अवलोकन

Botion एक ग्रिड चयन कैप्चा है: पेज एक संदर्भ नमूना छवि और 3×3 ग्रिड टाइल्स दिखाता है। सॉल्वर को वापस करना होगा कि कौन सी ग्रिड सेल संदर्भ से मेल खाती हैं (0-आधारित इंडेक्स, पंक्ति-प्रमुख: बाएं से दाएं, ऊपर से नीचे)।

🔲

task.image फ़ील्ड | से जुड़े दो Base64 पेलोड एनकोड करता है — पहले नमूना छवि, फिर ग्रिड छवि।

Botion captcha UI example

1. कार्य बनाएं

छवि सबमिशन प्रारूप

नमूना छवि Botion request payload (sample | grid)

ग्रिड छवि Botion request payload (sample | grid)

अनुरोध

POST https://api.achicaptcha.com/createTask

पैरामीटर

पैरामीटर नामडेटा प्रकारआवश्यक?विवरण
clientKeystringyesAPI key
task.typestringyesGridCaptcha
task.subTypestringyesbotion
task.imagestringyesBASE64_SAMPLE_IMAGE|BASE64_GRID_IMAGE — पहले नमूना छवि, फिर |, फिर 3×3 ग्रिड छवि (दोनों Base64, data: उपसर्ग के बिना)
task.otherstringnotopk|grid_size. छोड़ने पर डिफ़ॉल्ट 3|3

अनुरोध उदाहरण

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "GridCaptcha",
    "subType": "botion",
    "image": "BASE64_SAMPLE_IMAGE|BASE64_GRID_IMAGE",
    "other": "3|3"
  }
}

प्रतिक्रिया

सफल होने पर, सर्वर वापस करता है errorId = 0 और taskId

{
  "errorId": 0,
  "taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

2. परिणाम प्राप्त करें

अनुरोध

POST https://api.achicaptcha.com/getTaskResult

पैरामीटर

पैरामीटर नामडेटा प्रकारआवश्यक?विवरण
clientKeystringyesAPI key
taskIdstringyesचरण (1) से प्राप्त TaskId

अनुरोध उदाहरण

POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

प्रतिक्रिया

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "click": "0,2,5"
  }
}

solution.click 3×3 ग्रिड में क्लिक करने के लिए 0-आधारित सेल इंडेक्स (पंक्ति-प्रमुख) की अल्पविराम-पृथक स्ट्रिंग है।

स्थिति विवरण

  • errorId = 0 और status = ready: सफलतापूर्वक हल, solution.click में सेल इंडेक्स पढ़ें
  • errorId = 0 और status = processing: अभी हल हो रहा है, 2 सेकंड प्रतीक्षा करें और फिर जांचें
  • errorId > 0: सिस्टम त्रुटि, errorCode और errorDescription जांचें

एकीकरण उदाहरण

import requests
import base64
import time
 
def solve_botion(sample_path, grid_path, api_key='YOUR_API_KEY', other='3|3'):
    with open(sample_path, 'rb') as f:
        sample_b64 = base64.b64encode(f.read()).decode()
    with open(grid_path, 'rb') as f:
        grid_b64 = base64.b64encode(f.read()).decode()
 
    # चरण 1: कार्य बनाएं
    create_resp = requests.post(
        'https://api.achicaptcha.com/createTask',
        json={
            'clientKey': api_key,
            'task': {
                'type': 'GridCaptcha',
                'subType': 'botion',
                'image': f'{sample_b64}|{grid_b64}',
                'other': other
            }
        }
    )
    result = create_resp.json()
 
    if result['errorId'] != 0:
        raise Exception(result['errorDescription'])
 
    task_id = result['taskId']
 
    # चरण 2: परिणाम की जांच करें
    while True:
        time.sleep(2)
        poll_resp = requests.post(
            'https://api.achicaptcha.com/getTaskResult',
            json={'clientKey': api_key, 'taskId': task_id}
        )
        result = poll_resp.json()
 
        if result['errorId'] != 0:
            raise Exception(result['errorDescription'])
 
        if result['status'] == 'ready':
            return result['solution']['click']  # e.g. "0,2,5"
 
# उपयोग
indices = solve_botion('sample.png', 'grid.png', 'YOUR_API_KEY')
print('क्लिक करने के लिए सेल:', indices)

सामान्य त्रुटि कोड

त्रुटि कोडविवरणनोट्स
0successसफलता
1processingप्रसंस्करण
2missing required fieldsआवश्यक फ़ील्ड गुम, पैरामीटर जांचें
3task not supportedकार्य प्रकार समर्थित नहीं
4task creation failedकार्य निर्माण विफल
5client key does not existAPI key मौजूद नहीं, कुंजी जांचें
6insufficient account balanceअपर्याप्त खाता शेष, क्रेडिट जोड़ें
7task failed, please create a new taskकार्य विफल, नया कार्य बनाएं
8task ID does not existकार्य ID मौजूद नहीं

सर्वोत्तम प्रथाएं

Botion Grid Captcha के लिए Achicaptcha API का उपयोग करते समय सर्वोत्तम परिणामों के लिए इन सिद्धांतों का पालन करें:

1. छवि क्रम

  • हमेशा नमूना (संदर्भ) छवि पहले भेजें, फिर |, फिर ग्रिड छवि
  • data:image/...;base64, उपसर्ग न शामिल करें — केवल कच्चा Base64
  • भेजने से पहले सुनिश्चित करें कि दोनों छवियां पूरी तरह लोड और एनकोड हैं

2. task.other पैरामीटर

  • प्रारूप topk|grid_size है (जैसे 3|3)
  • छोड़ने पर डिफ़ॉल्ट 3|3 है, लेकिन अप्रत्याशित व्यवहार से बचने के लिए हमेशा स्पष्ट रूप से सेट करें
  • गलत grid_size solution.click में 0-आधारित इंडेक्स मैपिंग को तोड़ देगा

3. पोलिंग अंतराल

  • परिणाम जांच के बीच कम से कम 2 सेकंड प्रतीक्षा करें
  • लगातार अनुरोधों से API को स्पैम न करें
  • अनंत लूप से बचने के लिए टाइमआउट सेट करें (अनुशंसित: 60 सेकंड)

4. परिणाम प्रसंस्करण

  • solution.click 0-आधारित सेल इंडेक्स (पंक्ति-प्रमुख, बाएं से दाएं, ऊपर से नीचे) की अल्पविराम-पृथक स्ट्रिंग है
  • संबंधित ग्रिड सेल क्लिक करने से पहले , से विभाजित करें और पूर्णांक में बदलें

5. पुनः प्रयास तर्क

  • ERROR_NO_SLOT_AVAILABLE जैसी अस्थायी त्रुटियों के लिए पुनः प्रयास लागू करें
  • पुनः प्रयास करते समय एक्सपोनेंशियल बैकऑफ़ का उपयोग करें
  • अधिकतम पुनः प्रयास प्रयासों की संख्या सीमित करें

6. API कुंजी सुरक्षा

  • अपनी API कुंजी को सोर्स कोड में हार्डकोड न करें
  • एनवायरनमेंट वेरिएबल या सीक्रेट्स मैनेजर का उपयोग करें
  • क्लाइंट साइड पर API कुंजी कभी न उजागर करें

उपयोगी लिंक: