PRODUCT TEST WORKSPACE

Amazon Captcha

Captcha verification product

AMAZON

01 / CREATE

創建任務

編輯器默認填入必填字段及一組條件字段。可選字段在下方文檔列出,也可一鍵填入。

02 / REQUEST

請求預覽

POST /api/validator/create.cgi
{
  "productCode" : "AMAZON",
  "adapter" : {
    "websiteURL" : "https://example.com/register",
    "websiteKey" : "YOUR_WEBSITEKEY",
    "iv" : "YOUR_IV",
    "context" : "YOUR_CONTEXT"
  }
}

03 / RESULT

響應示例

EXAMPLE
Task ID —
{
  "code" : 0,
  "msg" : "操作成功",
  "data" : {
    "taskId" : "11111111-1111-4111-8111-111111111111",
    "productCode" : "AMAZON",
    "state" : "SUCCEEDED",
    "solution" : {
      "captcha_voucher" : "EXAMPLE_CAPTCHA_VOUCHER",
      "existing_token" : "EXAMPLE_EXISTING_TOKEN"
    }
  }
}

響應僅爲示例,不是真實任務結果。提交前請替換請求中的所有示例值。

狀態爲 SUCCEEDED 後讀取 data.solution。答案字段因產品而異,其他狀態可能返回空對象。

04 / API REFERENCE

Amazon Captcha · API

建立與查詢任務時,將 API Key 統一放在 HTTP apiKey 請求標頭中;JSON 請求本文只包含業務參數。

Content-Type: application/json
apiKey: YOUR_API_KEY

請求示例

POST /api/validator/create.cgi · JSONC
{
  "productCode": "AMAZON", // 產品編碼,必須與 adapter 參數匹配。
  "adapter": { // 產品專屬參數對象。
    "websiteURL": "https://example.com/register", // 目標網站完整 URL。
    "websiteKey": "YOUR_WEBSITEKEY", // 目標站點的 CAPTCHA site key。
    "iv": "YOUR_IV", // Amazon 驗證 IV。
    "context": "YOUR_CONTEXT", // Amazon 驗證上下文。
    "challengeScript": "https://aws-waf.example.com/challengeScript.js", // 取自目前 AWS WAF 挑戰的實際 challengeScript URL,不使用範例位址。
    "captchaScript": "https://aws-waf.example.com/captchaScript.js", // 取自目前 AWS WAF 挑戰的實際 captchaScript URL,不使用範例位址。
    "userAgent": "YOUR_BROWSER_USER_AGENT", // 取自同一目標會話的實際瀏覽器 User-Agent。
    "proxyType": "http", // 代理協定:http、socks4 或 socks5;目標有綁定要求時保持與目標會話相同的實際出口。
    "proxyAddress": "YOUR_PROXY_HOST", // 可達代理的主機名稱或 IP,不含協定、憑證或連接埠。
    "proxyLogin": "YOUR_PROXYLOGIN", // 可選代理認證使用者名稱,須與密碼成組提供。
    "proxyPassword": "YOUR_PROXYPASSWORD", // 同一代理的可選密碼,與 proxyLogin 成組提供。
    "proxyPort": 8080 // 代理 TCP 連接埠,1 至 65535 的整數。
  }
}

請求標頭: apiKey: YOUR_API_KEY

註解用於說明欄位,複製後取得不含註解的標準 JSON。

響應示例

POST /api/validator/query.cgi · JSONC
{
  "code": 0, // 業務回傳碼,0 表示成功,其他值表示錯誤。
  "msg": "操作成功", // 結果說明,成功時可能為空。
  "data": { // 回應資料,介面報錯時可能為 null。
    "taskId": "11111111-1111-4111-8111-111111111111", // 創建任務返回的任務 ID。
    "productCode": "AMAZON", // 產品編碼,必須與 adapter 參數匹配。
    "state": "SUCCEEDED", // 任務狀態:CREATED、SUBMITTING、PROCESSING、SUCCEEDED、FAILED、EXPIRED。
    "solution": { // SUCCEEDED 時的產品答案;處理中或失敗時為空物件。
      "captcha_voucher": "EXAMPLE_CAPTCHA_VOUCHER", // 產品回傳的答案欄位,依目標網站的驗證協定使用。
      "existing_token": "EXAMPLE_EXISTING_TOKEN" // 產品回傳的答案欄位,依目標網站的驗證協定使用。
    }
  }
}

建立任務會回傳任務 ID 和初始狀態。下方為查詢介面的完成結果,也可透過 WebSocket 接收答案。

請求參數說明

字段類型必填說明
productCodestring是產品編碼,必須與 adapter 參數匹配。
adapterobject是產品專屬參數對象。
adapter.websiteURLstring是目標網站完整 URL。
adapter.websiteKeystring條件必填目標站點的 CAPTCHA site key。
adapter.ivstring條件必填Amazon 驗證 IV。
adapter.contextstring條件必填Amazon 驗證上下文。
adapter.challengeScriptstring否取自目前 AWS WAF 挑戰的實際 challengeScript URL,不使用範例位址。
adapter.captchaScriptstring否取自目前 AWS WAF 挑戰的實際 captchaScript URL,不使用範例位址。
adapter.jsapiScriptstring條件必填取自目前 AWS WAF 挑戰的實際 jsapiScript URL,不使用範例位址。
adapter.userAgentstring否取自同一目標會話的實際瀏覽器 User-Agent。
adapter.proxyTypestring否代理協定:http、socks4 或 socks5;目標有綁定要求時保持與目標會話相同的實際出口。
adapter.proxyAddressstring否可達代理的主機名稱或 IP,不含協定、憑證或連接埠。
adapter.proxyLoginstring否可選代理認證使用者名稱,須與密碼成組提供。
adapter.proxyPasswordstring否同一代理的可選密碼,與 proxyLogin 成組提供。
adapter.proxyPortinteger否代理 TCP 連接埠,1 至 65535 的整數。

回應參數說明

字段類型說明
codeinteger業務回傳碼,0 表示成功,其他值表示錯誤。
msgstring結果說明,成功時可能為空。
dataobject | null回應資料,介面報錯時可能為 null。
data.taskIdstring創建任務返回的任務 ID。
data.productCodestring產品編碼,必須與 adapter 參數匹配。
data.statestring任務狀態:CREATED、SUBMITTING、PROCESSING、SUCCEEDED、FAILED、EXPIRED。
data.solutionobjectSUCCEEDED 時的產品答案;處理中或失敗時為空物件。
data.failureobject | omitted僅 FAILED 或 EXPIRED 回傳的公開診斷,不含上游原始訊息;按失敗處理指引操作。
data.failure.codestring失敗編碼
data.failure.nextActionstring下一步
data.solution.captcha_voucherstring產品回傳的答案欄位,依目標網站的驗證協定使用。
data.solution.existing_tokenstring產品回傳的答案欄位,依目標網站的驗證協定使用。

響應

HTTP 業務響應包含 code、msg 和 data;code 爲 0 表示成功。WebSocket 使用獨立的消息結構。

-1317
API Key 無效。
-1100 / -1101
請求參數錯誤或缺失。
-1401
餘額不足,請儲值後再建立任務
-1400 / -1001
系統或創建任務錯誤。
API文件