UNLOCK API
createTask

createTask

Створює задачу й повертає її id. Ціна типу задачі списується з балансу, коли задачу прийнято, і повертається, якщо задача не вдалася.
POSThttps://unlock-api.com/createTask
Надсилайте POST з Content-Type: application/json. Поля задачі залежать від типу задачі; див. Типи задач.

Параметри запиту

clientKey
StringОбов'язковий
Ваш API-ключ, 32 символи, зі сторінки акаунта.
task
ObjectОбов'язковий
Об'єкт задачі. Його поле type визначає, які ще поля потрібні. Типи задач
callbackUrl
StringНеобов'язковий
Публічна адреса http(s). Коли задачу розв'язано або вона не вдалася, результат надсилається туди методом POST у JSON.
softId
IntegerНеобов'язковий
Id вашого застосунку, зберігається разом із задачею. appId приймається як те саме поле.

Запит

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

Відповідь

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

Поля відповіді

errorId
Integer
0, якщо запит виконано, 1, якщо ні.
taskId
Integer
Id задачі.
errorCode
String
Назва помилки, коли errorId дорівнює 1.
errorDescription
String
Короткий опис помилки англійською.

Приклади коду

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

Помилки цього методу

  • Ключ неправильний. Скопіюйте його ще раз зі сторінки акаунта. (in.php і res.php: ERROR_WRONG_USER_KEY)

  • Запит надійшов з IP, якої немає в списку дозволених IP акаунта. Додайте цю IP на сторінці акаунта.

  • Цей акаунт заблоковано. Напишіть у підтримку зі сторінки акаунта.

  • Забагато запитів. Перевіряйте результат не частіше ніж кожні 5 секунд.

  • Балансу не вистачає на задачу. Поповніть баланс; нічого не списано.

  • Зараз забагато запитів, тому задачу не прийнято. Спробуйте ще раз за кілька секунд; нічого не списано.

  • Тип задачі невідомий або вимкнений. Перевірте назву типу.

  • Бракує обов'язкового поля або воно має неправильний формат.

  • websiteURL або pageurl відсутній або не є повною адресою http(s).

  • Задачі з проксі потрібні proxyAddress і proxyPort.

  • Картинки немає або вона замала.

  • Картинка більша за 100 KB.

  • Картинка не є коректним base64.