UNLOCK API
createTask

createTask

Tworzy zadanie i zwraca jego id. Cena typu zadania jest pobierana z salda, gdy zadanie zostanie przyjęte, i zwracana, jeśli zadanie się nie powiedzie.
POSThttps://unlock-api.com/createTask
Wysyłaj POST z Content-Type: application/json. Pola zadania zależą od typu zadania; zobacz Typy zadań.

Parametry żądania

clientKey
StringWymagane
Twój klucz API, 32 znaki, ze strony konta.
task
ObjectWymagane
Obiekt zadania. Jego pole type określa, jakie inne pola są potrzebne. Typy zadań
callbackUrl
StringOpcjonalne
Publiczny adres http(s). Gdy zadanie zostanie rozwiązane lub się nie powiedzie, wynik jest tam wysyłany metodą POST jako JSON.
softId
IntegerOpcjonalne
Id Twojej aplikacji, zapisywane razem z zadaniem. appId jest przyjmowane jako to samo pole.

Żądanie

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

Odpowiedź

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

Pola odpowiedzi

errorId
Integer
0, gdy żądanie się powiodło, 1, gdy nie.
taskId
Integer
Id zadania.
errorCode
String
Nazwa błędu, gdy errorId ma wartość 1.
errorDescription
String
Krótkie wyjaśnienie błędu po angielsku.

Przykłady kodu

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

Błędy zwracane przez tę metodę