UNLOCK API
結果コールバック

結果コールバック

結果を確認しに行く代わりに、サーバーに送ってもらう方法。

JSONメソッド

createTaskにcallbackUrlを追加します。タスクが完了すると、getTaskResultと同じ形にtaskIdを加えたJSONボディが、そのアドレスにPOSTされます。失敗したタスクでは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を追加します。タスクが完了すると、id(タスクID)とcode(答えまたはエラー名)を含むPOSTフォームボディがそのアドレスに送られます。
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秒で1回だけ送信します。結果はgetTaskResultとres.phpでも引き続き取得できるため、予備の確認を残しておいてください。
  • サーバーからの応答は確認せず、配信に失敗しても再送しません。