UNLOCK API
createTask

createTask

একটি টাস্ক তৈরি করে তার id ফেরত দেয়। টাস্ক গৃহীত হলে টাস্ক টাইপের মূল্য ব্যালেন্স থেকে কাটা হয়, আর টাস্ক ব্যর্থ হলে ফেরত দেওয়া হয়।
POSThttps://unlock-api.com/createTask
Content-Type: application/json দিয়ে POST পাঠান। টাস্ক ফিল্ড টাস্ক টাইপের ওপর নির্ভর করে; টাস্ক টাইপ দেখুন।

রিকোয়েস্ট প্যারামিটার

clientKey
Stringআবশ্যিক
আপনার API key, 32 অক্ষর, অ্যাকাউন্ট পেজ থেকে।
task
Objectআবশ্যিক
টাস্ক অবজেক্ট। এর type ফিল্ড ঠিক করে আর কোন ফিল্ড লাগবে। টাস্ক টাইপ
callbackUrl
Stringঐচ্ছিক
পাবলিক http(s) ঠিকানা। টাস্ক শেষ বা ব্যর্থ হলে ফলাফল সেখানে POST দিয়ে JSON হিসেবে পাঠানো হয়।
softId
Integerঐচ্ছিক
আপনার অ্যাপ্লিকেশনের id, টাস্কের সঙ্গে সংরক্ষিত হয়। appId-ও একই ফিল্ড হিসেবে গ্রহণ করা হয়।

রিকোয়েস্ট

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "TurnstileTaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "0x4AAAAAAAC3DHQFLr1GavRN"
  }
}

রেসপন্স

{
  "errorId": 0,
  "taskId": 1001
}

রেসপন্স ফিল্ড

errorId
Integer
রিকোয়েস্ট সফল হলে 0, না হলে 1।
taskId
Integer
টাস্ক id।
errorCode
String
errorId 1 হলে এররের নাম।
errorDescription
String
ইংরেজিতে এররের ছোট ব্যাখ্যা।

কোড উদাহরণ

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "TurnstileTaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "0x4AAAAAAAC3DHQFLr1GavRN"
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

for _ in range(60):   # 60 x 5 s = the 5 minute task limit
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(f"{r['errorCode']}: {r.get('errorDescription', '')}")   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"]["token"])
        break
else:
    raise SystemExit("timed out")

এই মেথড যেসব এরর দিতে পারে

  • key ভুল। অ্যাকাউন্ট পেজ থেকে আবার কপি করুন। (in.php ও res.php: ERROR_WRONG_USER_KEY)

  • রিকোয়েস্টটি এমন IP থেকে এসেছে যা অ্যাকাউন্টের অনুমতি তালিকায় নেই। অ্যাকাউন্ট পেজে IP যোগ করুন।

  • এই অ্যাকাউন্ট ব্লক করা হয়েছে। অ্যাকাউন্ট পেজ থেকে সাপোর্টে যোগাযোগ করুন।

  • অনেক বেশি রিকোয়েস্ট। ফলাফল চেক প্রতি 5 সেকেন্ডে একবার করুন।

  • ব্যালেন্সে টাস্কের খরচ মেটানোর মতো টাকা নেই। টাকা যোগ করুন; কোনো চার্জ নেওয়া হয়নি।

  • এই মুহূর্তে অনেক রিকোয়েস্ট, তাই টাস্ক গ্রহণ করা যায়নি। কয়েক সেকেন্ড পরে আবার চেষ্টা করুন; কোনো চার্জ নেওয়া হয়নি।

  • টাস্কের ধরন অজানা বা বন্ধ। ধরনের নাম যাচাই করুন।

  • একটি আবশ্যক ফিল্ড নেই বা তার ফরম্যাট ভুল।

  • websiteURL বা pageurl নেই, অথবা পুরো http(s) ঠিকানা নয়।

  • proxy টাস্কে proxyAddress ও proxyPort লাগে।

  • ছবি নেই বা খুব ছোট।

  • ছবিটি 100 KB-এর বেশি।

  • ছবিটি সঠিক base64 নয়।