UNLOCK API
createTask

createTask

Crée une tâche et renvoie son id. Le prix du type de tâche est prélevé sur le solde quand la tâche est acceptée, et rendu si la tâche échoue.
POSThttps://unlock-api.com/createTask
Envoyez un POST avec Content-Type: application/json. Les champs de la tâche dépendent du type de tâche ; voir Types de tâches.

Paramètres de la requête

clientKey
StringObligatoire
Votre clé API, 32 caractères, depuis la page de compte.
task
ObjectObligatoire
Objet tâche. Son champ type détermine les autres champs nécessaires. Types de tâches
callbackUrl
StringFacultatif
Adresse http(s) publique. Quand la tâche est terminée ou échoue, le résultat y est envoyé par POST en JSON.
softId
IntegerFacultatif
L'id de votre application, enregistré avec la tâche. appId est accepté comme le même champ.

Requête

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

Réponse

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

Champs de la réponse

errorId
Integer
0 si la requête a réussi, 1 sinon.
taskId
Integer
Id de la tâche.
errorCode
String
Nom de l'erreur quand errorId vaut 1.
errorDescription
String
Courte explication de l'erreur en anglais.

Exemples de code

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

Erreurs que cette méthode peut renvoyer