UNLOCK API
createTask

createTask

Erstellt eine Aufgabe und gibt ihre ID zurück. Der Preis des Aufgabentyps wird beim Annehmen der Aufgabe vom Guthaben abgebucht und erstattet, wenn die Aufgabe fehlschlägt.
POSThttps://unlock-api.com/createTask
Senden Sie POST mit Content-Type: application/json. Die Felder der Aufgabe hängen vom Aufgabentyp ab; siehe Aufgabentypen.

Anfrageparameter

clientKey
StringPflicht
Ihr API-Schlüssel, 32 Zeichen, von der Kontoseite.
task
ObjectPflicht
Aufgabenobjekt. Sein Feld type legt fest, welche weiteren Felder nötig sind. Aufgabentypen
callbackUrl
StringOptional
Öffentliche http(s)-Adresse. Ist die Aufgabe fertig oder fehlgeschlagen, wird das Ergebnis per POST als JSON dorthin gesendet.
softId
IntegerOptional
ID Ihrer Anwendung, wird mit der Aufgabe gespeichert. appId wird als dasselbe Feld akzeptiert.

Anfrage

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

Antwort

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

Antwortfelder

errorId
Integer
0, wenn die Anfrage erfolgreich war, 1, wenn nicht.
taskId
Integer
ID der Aufgabe.
errorCode
String
Fehlername, wenn errorId 1 ist.
errorDescription
String
Kurze Erklärung des Fehlers auf Englisch.

Codebeispiele

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

Mögliche Fehler dieser Methode