UNLOCK API
createTask

createTask

Crea un task e restituisce il suo id. Il prezzo del tipo di task viene scalato dal saldo quando il task è accettato e restituito se il task fallisce.
POSThttps://unlock-api.com/createTask
Invia POST con Content-Type: application/json. I campi del task dipendono dal tipo di task; vedi Tipi di task.

Parametri della richiesta

clientKey
StringObbligatorio
La tua chiave API, 32 caratteri, dalla pagina account.
task
ObjectObbligatorio
Oggetto task. Il suo campo type determina quali altri campi servono. Tipi di task
callbackUrl
StringFacoltativo
Indirizzo http(s) pubblico. Quando il task è completato o fallito, il risultato viene inviato lì in POST come JSON.
softId
IntegerFacoltativo
L'id della tua applicazione, salvato con il task. appId è accettato come lo stesso campo.

Richiesta

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

Risposta

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

Campi della risposta

errorId
Integer
0 se la richiesta è andata a buon fine, 1 in caso contrario.
taskId
Integer
Id del task.
errorCode
String
Nome dell'errore quando errorId è 1.
errorDescription
String
Breve spiegazione dell'errore in inglese.

Esempi di codice

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

Errori che questo metodo può restituire