UNLOCK API
createTask

createTask

Bir görev oluşturur ve kimliğini döndürür. Görev türünün ücreti, görev kabul edildiğinde bakiyeden alınır ve görev başarısız olursa iade edilir.
POSThttps://unlock-api.com/createTask
Content-Type: application/json ile POST gönderin. Görev alanları görev türüne bağlıdır; bkz. Görev türleri.

İstek parametreleri

clientKey
StringZorunlu
Hesap sayfasındaki 32 karakterlik API anahtarınız.
task
ObjectZorunlu
Görev nesnesi. type alanı, başka hangi alanların gerektiğini belirler. Görev türleri
callbackUrl
Stringİsteğe bağlı
Herkese açık http(s) adresi. Görev tamamlandığında veya başarısız olduğunda sonuç bu adrese POST ile JSON olarak gönderilir.
softId
Integerİsteğe bağlı
Uygulamanızın kimliği, görevle birlikte kaydedilir. appId de aynı alan olarak kabul edilir.

İstek

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

Yanıt

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

Yanıt alanları

errorId
Integer
İstek başarılıysa 0, değilse 1.
taskId
Integer
Görev kimliği.
errorCode
String
errorId 1 olduğunda hata adı.
errorDescription
String
Hatanın İngilizce kısa açıklaması.

Kod örnekleri

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")

Bu yöntemin döndürebileceği hatalar