PRODUCT TEST WORKSPACE
GeeTest
Captcha verification product
GEETEST02 / REQUEST
請求預覽
POST /api/validator/create.cgi
{
"productCode" : "GEETEST",
"adapter" : {
"websiteURL" : "https://example.com/register",
"gt" : "YOUR_GT",
"challenge" : "YOUR_CHALLENGE"
}
}
03 / RESULT
響應示例
Task ID
—
{
"code" : 0,
"msg" : "操作成功",
"data" : {
"taskId" : "11111111-1111-4111-8111-111111111111",
"productCode" : "GEETEST",
"state" : "SUCCEEDED",
"solution" : {
"challenge" : "EXAMPLE_CHALLENGE",
"validate" : "EXAMPLE_VALIDATE",
"seccode" : "EXAMPLE_SECCODE"
}
}
}
響應僅爲示例,不是真實任務結果。提交前請替換請求中的所有示例值。
狀態爲 SUCCEEDED 後讀取 data.solution。答案字段因產品而異,其他狀態可能返回空對象。
04 / API REFERENCE
GeeTest · API
建立與查詢任務時,將 API Key 統一放在 HTTP apiKey 請求標頭中;JSON 請求本文只包含業務參數。
Content-Type: application/json apiKey: YOUR_API_KEY
請求示例
{
"productCode": "GEETEST", // 產品編碼,必須與 adapter 參數匹配。
"adapter": { // 產品專屬參數對象。
"websiteURL": "https://example.com/register", // 目標網站完整 URL。
"gt": "YOUR_GT", // 目標 initGeetest v3 整合簽發的 gt,不是 v4 的 captcha_id。不要使用示範值或其他整合識別碼。
"challenge": "YOUR_CHALLENGE" // 每次新任務從目標初始化介面取得尚未使用的 v3 challenge;頁面已載入過的值對識別服務不再有效。保持對應目標會話,不重用,也不按長度推斷新鮮性。
}
}
請求標頭: apiKey: YOUR_API_KEY
註解用於說明欄位,複製後取得不含註解的標準 JSON。
響應示例
{
"code": 0, // 業務回傳碼,0 表示成功,其他值表示錯誤。
"msg": "操作成功", // 結果說明,成功時可能為空。
"data": { // 回應資料,介面報錯時可能為 null。
"taskId": "11111111-1111-4111-8111-111111111111", // 創建任務返回的任務 ID。
"productCode": "GEETEST", // 產品編碼,必須與 adapter 參數匹配。
"state": "SUCCEEDED", // 任務狀態:CREATED、SUBMITTING、PROCESSING、SUCCEEDED、FAILED、EXPIRED。
"solution": { // SUCCEEDED 時的產品答案;處理中或失敗時為空物件。
"challenge": "EXAMPLE_CHALLENGE", // 產品回傳的答案欄位,依目標網站的驗證協定使用。
"validate": "EXAMPLE_VALIDATE", // 產品回傳的答案欄位,依目標網站的驗證協定使用。
"seccode": "EXAMPLE_SECCODE" // 產品回傳的答案欄位,依目標網站的驗證協定使用。
}
}
}
建立任務會回傳任務 ID 和初始狀態。下方為查詢介面的完成結果,也可透過 WebSocket 接收答案。
請求參數說明
| 字段 | 類型 | 必填 | 說明 |
|---|---|---|---|
productCode | string | 是 | 產品編碼,必須與 adapter 參數匹配。 |
adapter | object | 是 | 產品專屬參數對象。 |
adapter.websiteURL | string | 是 | 目標網站完整 URL。 |
adapter.gt | string | 是 | 目標 initGeetest v3 整合簽發的 gt,不是 v4 的 captcha_id。不要使用示範值或其他整合識別碼。 |
adapter.challenge | string | 是 | 每次新任務從目標初始化介面取得尚未使用的 v3 challenge;頁面已載入過的值對識別服務不再有效。保持對應目標會話,不重用,也不按長度推斷新鮮性。 |
adapter.apiServerSubdomain | string | 否 | 可選的 v3 GeeTest API 主機名稱,取自目標設定,例如 api-na.geetest.com。未設定或不確定時省略,不要提交 YOUR_* 佔位值;現有公開欄位名稱保持不變。 |
adapter.userAgent | string | 否 | 目標瀏覽器 User-Agent。 |
回應參數說明
| 字段 | 類型 | 說明 |
|---|---|---|
code | integer | 業務回傳碼,0 表示成功,其他值表示錯誤。 |
msg | string | 結果說明,成功時可能為空。 |
data | object | null | 回應資料,介面報錯時可能為 null。 |
data.taskId | string | 創建任務返回的任務 ID。 |
data.productCode | string | 產品編碼,必須與 adapter 參數匹配。 |
data.state | string | 任務狀態:CREATED、SUBMITTING、PROCESSING、SUCCEEDED、FAILED、EXPIRED。 |
data.solution | object | SUCCEEDED 時的產品答案;處理中或失敗時為空物件。 |
data.failure | object | omitted | 僅 FAILED 或 EXPIRED 回傳的公開診斷,不含上游原始訊息;按失敗處理指引操作。 |
data.failure.code | string | 失敗編碼 |
data.failure.nextAction | string | 下一步 |
data.solution.challenge | string | 產品回傳的答案欄位,依目標網站的驗證協定使用。 |
data.solution.validate | string | 產品回傳的答案欄位,依目標網站的驗證協定使用。 |
data.solution.seccode | string | 產品回傳的答案欄位,依目標網站的驗證協定使用。 |
響應
HTTP 業務響應包含 code、msg 和 data;code 爲 0 表示成功。WebSocket 使用獨立的消息結構。
- -1317
- API Key 無效。
- -1100 / -1101
- 請求參數錯誤或缺失。
- -1401
- 餘額不足,請儲值後再建立任務
- -1400 / -1001
- 系統或創建任務錯誤。