UNLOCK API
getToken

getToken

Создаёт задачу и ждёт ответ в том же запросе, до 50 секунд. Если к этому времени задача не готова, ответ приходит со status processing и taskId; продолжайте проверять её через getTaskResult. Callback с результатом для задач getToken не отправляется.
POSThttps://unlock-api.com/getToken
Для этого метода установите тайм-аут HTTP-клиента больше 60 секунд.

Параметры запроса

clientKey
StringОбязательный
Ваш API-ключ, 32 символа, со страницы аккаунта.
task
ObjectОбязательный
Объект задачи. Его поле type определяет, какие ещё поля нужны. Типы задач
softId
IntegerНеобязательный
Id вашего приложения, сохраняется вместе с задачей. appId принимается как то же поле.

Запрос

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

Ответ

{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "token": "0.zrSnRHO7h0HwSjSCU8oyzbjEtD8p..."
  },
  "cost": "0.00055",
  "createTime": 1791640000,
  "endTime": 1791640011,
  "solveCount": 1
}

Поля ответа

errorId
Integer
0, если запрос выполнен, 1, если нет.
taskId
Integer
Id задачи.
status
String
processing, пока задача решается, ready, когда она готова.
solution
Object
Ответ. Его поля зависят от типа задачи.
cost
String
Цена этой задачи в долларах США.

Примеры кода

curl -s https://unlock-api.com/getToken \
  -H "Content-Type: application/json" \
  -d '{"clientKey":"YOUR_API_KEY","task":{"type":"TurnstileTaskProxyless","websiteURL":"https://example.com/login","websiteKey":"0x4AAAAAAAC3DHQFLr1GavRN"}}'

Ошибки этого метода

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

  • Запрос пришёл с IP, которого нет в списке разрешённых для аккаунта. Добавьте этот IP на странице аккаунта.

  • Этот аккаунт заблокирован. Напишите в поддержку со страницы аккаунта.

  • Слишком много запросов. Проверяйте результат не чаще раза в 5 секунд.

  • На балансе не хватает денег для задачи. Пополните баланс; ничего не списано.

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

  • Тип задачи неизвестен или отключён. Проверьте название типа.

  • Обязательное поле отсутствует или имеет неверный формат.

  • websiteURL или pageurl отсутствует или не является полным адресом http(s).

  • Задачу не удалось решить вовремя. Деньги за неё вернулись на баланс.