UNLOCK API
结果回调

结果回调

让结果直接发送到你的服务器,无需轮询。

JSON 方法

在 createTask 中加上 callbackUrl。任务完成时,结果会通过 POST 发送到该地址,JSON 请求体与 getTaskResult 的格式相同,并附带 taskId。失败的任务会发送 errorId 1 和 errorCode。
POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "callbackUrl": "https://your-server.com/captcha-result",
  "task": {
    "type": "TurnstileTaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "0x4AAAAAAAC3DHQFLr1GavRN"
  }
}
POST https://your-server.com/captcha-result
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "token": "0.zrSnRHO7h0HwSjSCU8oyzbjEtD8p..."
  },
  "cost": "0.00055",
  "createTime": 1791640000,
  "endTime": 1791640011,
  "solveCount": 1
}

表单 API

在 in.php 中加上 pingback。任务完成时,该地址会收到 POST 表单请求体,包含 id(任务 ID)和 code(答案或错误名称)。
in.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=turnstile&sitekey=SITE_KEY&pageurl=https://example.com/login&pingback=https://your-server.com/captcha-result"

# POST https://your-server.com/captcha-result
# Content-Type: application/x-www-form-urlencoded
# id=1001&code=0.zrSnRHO7h0HwSjSCU8oyzbjEtD8p...

规则

  • 地址必须是公开的 http 或 https。不会调用私有、本地和回环地址。
  • 只尝试一次,超时 5 秒。结果仍可通过 getTaskResult 和 res.php 获取,所以请保留备用查询。
  • 不检查你的服务器的回复,投递失败也不会重试。