UNLOCK API
createTask

createTask

สร้างงานและคืน id ของงาน ราคาของประเภทงานจะถูกหักจากยอดเงินเมื่อรับงาน และคืนให้ถ้างานล้มเหลว
POSThttps://unlock-api.com/createTask
ส่ง POST พร้อม Content-Type: application/json ฟิลด์ของ task ขึ้นกับประเภทงาน ดูที่ประเภทงาน

พารามิเตอร์ของคำขอ

clientKey
Stringจำเป็น
API key ของคุณ 32 ตัวอักษร จากหน้าบัญชี
task
Objectจำเป็น
ออบเจ็กต์ task ฟิลด์ 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")

ข้อผิดพลาดที่ method นี้อาจตอบกลับ

  • key ไม่ถูกต้อง คัดลอกใหม่จากหน้าบัญชี (in.php และ res.php: ERROR_WRONG_USER_KEY)

  • คำขอมาจาก IP ที่ไม่อยู่ในรายการที่อนุญาตของบัญชี เพิ่ม IP ในหน้าบัญชี

  • บัญชีนี้ถูกระงับ ติดต่อฝ่ายช่วยเหลือจากหน้าบัญชี

  • คำขอมากเกินไป ลดการตรวจผลเป็นทุก 5 วินาที

  • ยอดเงินไม่พอสำหรับงาน เติมเงินก่อน ยังไม่มีการคิดเงิน

  • ตอนนี้มีคำขอมากเกินไป จึงรับงานไม่ได้ ลองอีกครั้งในไม่กี่วินาที ยังไม่มีการคิดเงิน

  • ไม่รู้จักประเภทงานหรือถูกปิดไว้ ตรวจสอบชื่อประเภท

  • ขาดฟิลด์ที่จำเป็นหรือรูปแบบไม่ถูกต้อง

  • ไม่มี websiteURL หรือ pageurl หรือไม่ใช่ที่อยู่ http(s) แบบเต็ม

  • งานแบบ proxy ต้องมี proxyAddress และ proxyPort

  • ไม่มีรูปภาพหรือรูปเล็กเกินไป

  • รูปภาพใหญ่กว่า 100 KB

  • รูปภาพไม่ใช่ base64 ที่ถูกต้อง