Skip to content
API
Grid Captcha
Amazon

Amazon Grid Captcha

अवलोकन

Amazon Grid Captcha एक ग्रिड चयन कैप्चा है: पेज एक प्रश्न/संकेत और टाइल्स की ग्रिड दिखाता है। सॉल्वर को वापस करना होगा कि कौन सी ग्रिड सेल प्रश्न से मेल खाती हैं (0-आधारित इंडेक्स, पंक्ति-प्रमुख: बाएं से दाएं, ऊपर से नीचे)।

🔲

task.image फ़ील्ड ग्रिड छवि को एकल Base64 स्ट्रिंग या 9 अलग 1x1 छवियों (Base64, | से अलग) के रूप में एनकोड कर सकता है

Amazon Grid Captcha UI example

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

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

ग्रिड छवि 3x3 Amazon Grid Captcha request payload (grid) या 9 अलग 1x1 छवियां

अनुरोध

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

पैरामीटर

पैरामीटर नामडेटा प्रकारआवश्यक?विवरण
clientKeystringyesAPI key
task.typestringyesGridCaptcha
task.subTypestringyesamzn
task.imagestringyesBase64-एनकोडेड ग्रिड छवि
task.otherstringyesउपयोगकर्ता को दिखाया गया प्रश्न/संकेत पाठ (जैसे "the curtains")

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

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

प्रतिक्रिया

सफल होने पर, सर्वर वापस करता है 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 ग्रिड में क्लिक करने के लिए 0-आधारित सेल इंडेक्स (पंक्ति-प्रमुख) की अल्पविराम-पृथक स्ट्रिंग है।

स्थिति विवरण

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

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

import requests
import base64
import time
 
def solve_amzn(grid_path, question, api_key='YOUR_API_KEY'):
    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': 'amzn',
                'image': grid_b64,
                'other': question
            }
        }
    )
    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_amzn('grid.png', 'the curtains', '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 मौजूद नहीं

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

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

1. छवि एनकोडिंग

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

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

  • उपयोगकर्ता को दिखाया गया सटीक प्रश्न पाठ पास करें (जैसे "the curtains")
  • यह फ़ील्ड आवश्यक है — इसे छोड़ने से गलत परिणाम आएंगे
  • कैप्चा चुनौती से प्रश्न स्ट्रिंग शब्दशः कॉपी करें

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

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

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

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

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

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

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

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

उपयोगी लिंक: