Bỏ qua để đến nội dung
Trạng tháiBảng điều khiển

Tham chiếu API

Trang này được dịch máy từ bản tiếng Trung và có thể có sai sót. Nội dung theo bản tiếng Trung.

Khi giao diện gặp lỗi, API trả về errorId: 1; errorCode là mã lỗi, errorDescription là mô tả bằng văn bản. Yêu cầu trả về lỗi không bị trừ điểm: lỗi xảy ra ngay lúc tạo tác vụ thì không trừ, còn tác vụ nhận dạng thất bại hoặc hết thời gian sau khi đã tạo sẽ tự động hoàn điểm.

{
"errorId": 1,
"errorCode": "ERROR_ZERO_BALANCE",
"errorDescription": "帐户余额不足"
}
  1. Lỗi tham số (định dạng yêu cầu, clientKey, loại tác vụ, tham số trang web, hình ảnh): gửi lại vẫn không đổi kết quả, cần sửa yêu cầu trước.
  2. Nhận dạng thất bại và hết thời gian (ERROR_CAPTCHA_UNSOLVABLE, ERROR_TASK_TIMEOUT): có thể tạo lại tác vụ.
  3. Sau khi gặp lỗi, hãy dừng polling taskId đó, đừng gửi lại nguyên yêu cầu với tần suất cao.
  4. Với lỗi được đánh dấu “Tính vào tự động tạm dừng”: nếu cùng một clientKey gặp 100 lỗi như vậy trong một phút, việc tạo tác vụ sẽ bị tạm dừng 5 phút. Lỗi được đánh dấu “Cache” thì không được tính, nhưng trong thời gian cache, cùng một yêu cầu sẽ trả về ngay lỗi ban đầu. Xem chi tiết tại Giới hạn đồng thời và tự động tạm dừng.

Định dạng yêu cầu

Mã lỗiÝ nghĩaCách xử lý
ERROR_REQUIRED_FIELDSThiếu một trường bắt buộc (như clientKey, hoặc websiteURL / websiteKey theo loại tác vụ), hoặc nội dung yêu cầu không phải JSONBổ sung các trường còn thiếu được liệt kê trên trang loại tác vụ, và gửi JSON bằng POST kèm Content-Type: application/json
ERROR_REQUEST_FORMATS
Tính vào tự động tạm dừng
Nội dung yêu cầu không phải JSON hợp lệTạo nội dung yêu cầu bằng thư viện JSON thay vì ghép chuỗi; JSON không được chứa chú thích //
ERROR_TASK_ABSENT
Tính vào tự động tạm dừng
Thiếu trường task trong lệnh gọi createTaskĐặt các tham số của tác vụ vào đối tượng task. Với Python requests hãy dùng json=data, không dùng data=data
ERROR_TASK_NOT_SUPPORTED
Tính vào tự động tạm dừng
task.type bị sai chính tả hoặc loại tác vụ này đã ngừng cung cấpSao chép tên loại tác vụ từ "Loại tác vụ và bảng giá"; tên phân biệt chữ hoa chữ thường
ERROR_PAGE_NOT_FOUNDĐường dẫn được yêu cầu không tồn tạiKiểm tra URL endpoint, ví dụ https://api.yescaptcha.com/createTask; tên phương thức phân biệt chữ hoa chữ thường
ERROR_BAD_REQUESTKhông thể xử lý yêu cầu, thường do dùng sai phương thức HTTP (GET thay vì POST) hoặc giá trị tham số không hợp lệGửi JSON bằng POST, và kiểm tra kiểu cũng như giá trị của các tham số
ERROR_ILLEGAL_PARAMETERSGiá trị tham số không hợp lệ. Thường gặp với trang thử thách Cloudflare: websiteURL không phải URL công khai bắt đầu bằng http:// / https://, postData không phải đối tượng, hoặc requiredCookies không phải mảng chuỗi (do createTask trả về, không trừ điểm); hoặc không phân giải được tên miền đích qua proxy (do getTaskResult trả về, đã tự động hoàn điểm)Sửa giá trị theo bảng tham số trên trang loại tác vụ. Nếu không phân giải được tên miền, hãy kiểm tra chính tả URL và xem proxy có truy cập được website đó không

Tài khoản và số dư

Mã lỗiÝ nghĩaCách xử lý
ERROR_KEY_DOES_NOT_EXIST
Tính vào tự động tạm dừng
clientKey không tồn tại: bị thừa hoặc thiếu ký tự khi sao chép, hoặc khóa đã được đặt lại trong bảng điều khiểnSao chép lại khóa từ bảng điều khiển trên yescaptcha.com, không kèm dấu cách hoặc ký tự xuống dòng
ERROR_KEY_EXPIRED
Tính vào tự động tạm dừng
clientKey đã hết hạn (do createTask và getBalance trả về, không trừ điểm). Có hai trường hợp: clientKey không được sử dụng trong thời gian dài nên hệ thống đã đặt thời hạn để bảo vệ tài khoản (sẽ có email nhắc trước khi hết hạn), hoặc thời hạn được đặt cho clientKey này đã quaĐăng nhập vào bảng điều khiển trên yescaptcha.com. Nếu clientKey hết hạn do lâu không sử dụng, hãy tạo clientKey mới; số dư sẽ tự động chuyển sang clientKey mới. Nếu đã đặt thời hạn, hãy thay đổi thời hạn hoặc dùng clientKey khác. Sau đó cập nhật clientKey mới vào chương trình của bạn
ERROR_KEY_IP_NOT_ALLOWEDclientKey này có danh sách IP được phép (allowlist) và IP gửi yêu cầu không nằm trong danh sách đó (được trả về bởi createTask và getBalance, không trừ điểm, không tính vào tự động tạm dừng)Đăng nhập vào bảng điều khiển yescaptcha.com và thêm IP công khai của máy đang gửi yêu cầu vào danh sách IP được phép của clientKey này, hoặc dùng clientKey khác. Nếu gọi API từ nhiều máy, hãy thêm IP công khai của từng máy (đây là IP gọi API của YesCaptcha, không phải proxy trong tham số tác vụ)
ERROR_KEY_QUOTA_EXCEEDEDclientKey này có hạn mức chi tiêu và phần còn lại của chu kỳ hiện tại ít hơn số điểm cần trừ cho tác vụ này (được trả về bởi createTask, không trừ điểm, không tính vào tự động tạm dừng). Hạn mức tính theo số điểm thực tế đã trừ; điểm được hoàn lại do tác vụ thất bại hoặc hết thời gian chờ cũng được trả về hạn mứcĐăng nhập vào bảng điều khiển yescaptcha.com và tăng hạn mức của clientKey này, hoặc chờ chu kỳ tiếp theo (đặt lại hằng ngày, vào thứ Hai hằng tuần hoặc ngày 1 hằng tháng, theo giờ Bắc Kinh; hạn mức dùng một lần không được đặt lại), hoặc dùng clientKey khác. getBalance trả về hạn mức còn lại của clientKey này (keyQuotaRemaining)
ERROR_ZERO_BALANCESố dư không đủ. Số dư phải lớn hơn 10 điểm mới tạo được tác vụNạp tiền rồi thử lại. Dùng getBalance để kiểm tra số dư

Giới hạn đồng thời và tạm dừng

Mã lỗiÝ nghĩaCách xử lý
ERROR_THREADS_MAXIMUM
Một số trường hợp tính vào tự động tạm dừng
Tài khoản có quá nhiều tác vụ loại này đang được xử lý. limit trong phản hồi là giới hạn hiện tại. Yêu cầu không được xử lý và không bị trừ điểmChờ các yêu cầu đang xử lý trả về, hoặc chờ 1–2 giây rồi thử lại; hãy giới hạn số yêu cầu cùng chờ kết quả tại một thời điểm
ERROR_IP_BLOCKED_5MINclientKey này gây ra quá nhiều lỗi trong thời gian ngắn và đã bị tự động tạm dừng. retryAfter là số giây còn lại và blockReason là mã lỗi gây ra việc tạm dừngSửa yêu cầu theo blockReason và chờ retryAfter giây; việc tiếp tục gửi trong thời gian tạm dừng không làm kéo dài thời gian đó
ERROR_NO_SLOT_AVAILABLEDịch vụ nhận dạng tạm thời quá tải. Khi createTask trả về lỗi này thì không trừ điểm; tác vụ xếp hàng quá lâu cũng sẽ trả về lỗi này từ getTaskResult, và được hoàn điểm tự độngChờ vài giây rồi tạo lại tác vụ

Tác vụ và kết quả

Mã lỗiÝ nghĩaCách xử lý
ERROR_TASKID_INVALID
Tính vào tự động tạm dừng
taskId không tồn tại, đã hết hạn (kết quả được lưu khoảng 10 phút), thuộc về clientKey khác, hoặc được tạo trên endpoint còn lạiDừng polling tác vụ này. Truy vấn bằng đúng endpoint và clientKey đã dùng để tạo tác vụ
ERROR_TASK_TIMEOUTTác vụ không hoàn thành trong thời gian quy định (thường là 110 giây); điểm đã được hoàn tự độngTạo tác vụ mới; nếu liên tục hết thời gian chờ, hãy thử loại tác vụ khác cho cùng loại captcha
ERROR_CAPTCHA_UNSOLVABLELần này không nhận dạng được captcha; điểm đã được hoàn. Lỗi này không được tính vào tự động tạm dừngTạo tác vụ mới. Nếu vẫn liên tục thất bại, hãy kiểm tra websiteURL, websiteKey và các tham số khác, hoặc thử loại tác vụ khác cho cùng loại captcha
ERROR_SETTLEMENT_FAILED
Tính vào tự động tạm dừng
Số dư không đủ tại thời điểm quyết toán nên không trả về kết quảNạp tiền rồi tạo tác vụ mới
ERROR_NO_SUCH_CAPCHA_IDTác vụ không còn hiệu lựcDừng polling tác vụ này và tạo tác vụ mới
ERROR_RECAPTCHA_TIMEOUTNhận dạng captcha bị hết thời gian chờ; điểm đã được hoànTạo tác vụ mới

Tham số website đích

Mã lỗiÝ nghĩaCách xử lý
ERROR_RECAPTCHA_INVALID_SITEKEY
Dùng bộ nhớ đệm, không tính vào tạm dừng
websiteKey không hợp lệTìm lại sitekey trong trang web (xem các hướng dẫn tìm tham số). Trong thời gian lưu cache, các yêu cầu giống hệt sẽ trả về ngay lỗi này, kèm cached: true
ERROR_RECAPTCHA_INVALID_DOMAIN
Dùng bộ nhớ đệm, không tính vào tạm dừng
Tên miền của websiteURL không khớp với websiteKeyĐiền websiteURL là địa chỉ trang hiển thị captcha
ERROR_INVALID_KEY_TYPE
Dùng bộ nhớ đệm, không tính vào tạm dừng
Sitekey thuộc về loại captcha khác, ví dụ dùng key của v3 cho loại tác vụ v2Hãy xác định loại captcha trước (xem "Xác định loại captcha") rồi chọn loại tác vụ tương ứng; với v2 ẩn (invisible), hãy truyền isInvisible
ERROR_DOMAIN_NOT_ALLOWED
Dùng bộ nhớ đệm, không tính vào tạm dừng
Trang web này hiện chưa được hỗ trợThử loại tác vụ khác cho cùng loại captcha, hoặc liên hệ bộ phận hỗ trợ
ERROR_HIGH_DEMAND_DOMAIN
Tính vào tự động tạm dừng
Trang web này hiện chưa được hỗ trợNgừng gửi tác vụ cho trang web này và liên hệ bộ phận hỗ trợ để xác nhận
ERROR_FAILED_LOADING_WIDGETKhông tải được captcha với các tham số đã cung cấpKiểm tra websiteURL và websiteKey; với các loại tác vụ dùng proxy riêng, kiểm tra proxy có truy cập được trang web đích hay không

Hình ảnh

Mã lỗiÝ nghĩaCách xử lý
ERROR_ZERO_CAPTCHA_FILESIZE
Tính vào tự động tạm dừng
Ảnh trống hoặc quá nhỏKiểm tra dữ liệu Base64 đã đầy đủ chưa và không có tiền tố data:image/...;base64,
ERROR_TOO_BIG_CAPTCHA_FILESIZE
Tính vào tự động tạm dừng
Ảnh quá lớnNén hoặc thu nhỏ ảnh rồi gửi lại; toàn bộ nội dung yêu cầu không được vượt quá 6 MB
ERROR_IMAGE_TYPE_NOT_SUPPORTED
Tính vào tự động tạm dừng
Định dạng ảnh không được hỗ trợ, hoặc ảnh không phải loại mà loại tác vụ này xử lý được. Chỉ cần xảy ra 1 lần là bị tạm dừng 30 phútDùng JPG hoặc PNG và đảm bảo ảnh phù hợp với loại tác vụ, ví dụ nhận dạng hình ảnh reCAPTCHA cần ảnh 100x100, 300x300 hoặc 450x450
ERROR_ILLEGAL_IMAGE
Tính vào tự động tạm dừng
Kích thước ảnh không đáp ứng yêu cầu của loại tác vụ nàyĐiều chỉnh kích thước ảnh theo mô tả ở trang loại tác vụ
ERROR_PARSE_IMAGE_FAILKhông giải mã được ảnh, thường do Base64 bị cắt cụt hoặc có tiền tốKiểm tra mã hóa Base64 và xóa tiền tố data: cùng các ký tự xuống dòng
ERROR_UNKNOWN_QUESTIONquestion bị sai, hoặc câu hỏi này hiện chưa được hỗ trợĐối chiếu với danh sách câu hỏi ở trang loại tác vụ. Với câu hỏi chưa được hỗ trợ, hãy liên hệ bộ phận hỗ trợ; câu hỏi mới thường được hỗ trợ trong vòng 3 ngày làm việc
ERROR_UNKNOW_450x450_QUESTIONCâu hỏi này hiện chưa được hỗ trợ với ảnh 4x4 (450x450)Tải lại thử thách trên trang để lấy câu hỏi khác

Proxy

Mã lỗiÝ nghĩaCách xử lý
ERROR_PROXY_CONNECT_REFUSEDProxy từ chối kết nốiKiểm tra địa chỉ, cổng và giao thức của proxy, và đảm bảo proxy cho phép kết nối từ bên ngoài (không phải địa chỉ cục bộ như 127.0.0.1)
ERROR_PROXY_CONNECT_TIMEOUTKết nối tới proxy bị hết thời gian chờDùng proxy ổn định hơn
ERROR_PROXY_READ_TIMEOUTĐọc dữ liệu qua proxy bị hết thời gian chờDùng proxy nhanh hơn
ERROR_PROXY_BANNEDProxy không khả dụng, hoặc IP của proxy bị trang web đích chặnDùng proxy khác
ERROR_PROXY_INCORRECTTham số proxy sai định dạngKiểm tra định dạng của proxyType, proxyAddress, proxyPort (hoặc chuỗi proxy)
ERROR_PROXY_TRANSPARENTProxy là proxy trong suốt (transparent) và làm lộ IP thậtDùng proxy ẩn danh (elite)
ERROR_PROXY_NOT_AUTHORISEDTên người dùng hoặc mật khẩu của proxy không đúngKiểm tra proxyLogin và proxyPassword (hoặc thông tin đăng nhập trong chuỗi proxy)
ERROR_PROXY_TLS_ERRORBắt tay TLS với proxy thất bại, thường do proxyType sai (ví dụ đặt https cho proxy http)Kiểm tra lại giao thức của proxy
ERROR_PROXY_CONNECTION_FAILEDKhông kết nối được tới máy chủ proxyKiểm tra địa chỉ và cổng của proxy, và đảm bảo proxy đang hoạt động bình thường

Máy chủ

Mã lỗiÝ nghĩaCách xử lý
ERROR_SERVICE_UNAVALIABLEDịch vụ tạm thời không khả dụng (mã lỗi được viết là UNAVALIABLE)Thử lại sau; nếu tiếp tục xảy ra, hãy liên hệ bộ phận hỗ trợ
ERROR_INTERNAL_SERVER_ERRORĐã xảy ra lỗi máy chủ nội bộThử lại sau; nếu lỗi vẫn tiếp diễn, hãy liên hệ bộ phận hỗ trợ và cung cấp taskId
ERROR_UNKNOWNLỗi chưa được phân loạiThử lại sau; nếu lỗi vẫn tiếp diễn, hãy liên hệ bộ phận hỗ trợ và cung cấp taskId

Phản hồi của một số lỗi có kèm các trường bổ sung:

Trường Xuất hiện ở Mô tả
retryAfter ERROR_IP_BLOCKED_5MIN, các lỗi được cache Cần chờ thêm bao nhiêu giây
blockReason ERROR_IP_BLOCKED_5MIN Mã lỗi đã kích hoạt việc tạm dừng
blockDetail ERROR_IP_BLOCKED_5MIN Loại yêu cầu, URL và sitekey của yêu cầu đã kích hoạt tạm dừng, giúp xác định nguyên nhân
cached Các lỗi được cache true nghĩa là đây là kết quả được cache, chưa thực sự nhận dạng
badRequest Các lỗi được cache Tham số đã trúng cache
limit ERROR_THREADS_MAXIMUM Giới hạn đồng thời hiện tại của bạn

Quy tắc về ngôn ngữ của errorDescription xem tại Yêu cầu và phản hồi.