Tham chiếu API
Yêu cầu và phản hồi
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.
Mọi phương thức đều gửi JSON bằng HTTPS POST (chỉ /useragent dùng GET), xác thực bằng clientKey trong nội dung yêu cầu, và phản hồi đều là JSON: errorId bằng 0 là thành công, bằng 1 là thất bại và kèm errorCode. Giải một captcha gồm hai bước: createTask tạo tác vụ, getTaskResult kiểm tra kết quả mỗi 5 giây; các loại đồng bộ trả kết quả ngay trong createTask.
Yêu cầu
Phần tiêu đề “Yêu cầu”curl -s https://api.yescaptcha.com/createTask \ -H 'Content-Type: application/json' \ -d '{"clientKey": "YOUR_CLIENT_KEY", "task": {"type": "ImageToTextTaskOcrBase", "body": "BASE64_IMAGE"}}'- Endpoint:
https://api.yescaptcha.com(quốc tế) hoặchttps://cn.yescaptcha.com(Trung Quốc), xem Địa chỉ truy cập. - Nội dung yêu cầu là JSON, kèm header
Content-Type: application/json, không quá 6 MB. JSON không được chứa chú thích. - Mỗi yêu cầu đều phải có
clientKey, sao chép đầy đủ giá trị hiển thị trong bảng điều khiển.
Phản hồi
Phần tiêu đề “Phản hồi”Thành công:
{ "errorId": 0, "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"}Thất bại:
{ "errorId": 1, "errorCode": "ERROR_ZERO_BALANCE", "errorDescription": "帐户余额不足"}| Trường | Mô tả |
|---|---|
errorId |
0 là thành công, 1 là thất bại |
errorCode |
Mã lỗi khi thất bại; ý nghĩa và cách xử lý xem Mã lỗi |
errorDescription |
Mô tả bằng văn bản về nguyên nhân thất bại |
taskId |
ID tác vụ |
status |
processing (đang xử lý) hoặc ready (hoàn tất) |
solution |
Kết quả nhận dạng; các trường khác nhau tùy loại tác vụ, xem trang của từng loại tác vụ |
Hãy dựa vào errorId và errorCode để xử lý kết quả, đừng phân tích nội dung văn bản của errorDescription vì nội dung này có thể thay đổi.
Đồng bộ và bất đồng bộ
Phần tiêu đề “Đồng bộ và bất đồng bộ”| Bất đồng bộ | Đồng bộ | |
|---|---|---|
| Những loại nào | Các loại trả về token (reCAPTCHA, hCaptcha, Turnstile, FunCaptcha), trang thử thách Cloudflare, ImageToTextTask, ImageToTextTaskM1 |
Nhận dạng hình ảnh (tên kết thúc bằng Classification), ImageToTextTaskOcrBase, ImageToTextTaskMuggle |
createTask trả về |
taskId |
status: "ready" và solution |
| Cách lấy kết quả | Gọi getTaskResult mỗi 5 giây |
Không cần kiểm tra thêm |
Mỗi loại thuộc nhóm nào, xem cột “Cách trả kết quả” trong Loại tác vụ và giá.
Polling
Phần tiêu đề “Polling”- Sau khi
createTasktrả vềtaskId, chờ 5 giây rồi gọigetTaskResult. - Nếu trả về
status: "processing"thì chờ thêm 5 giây rồi thử lại; nếu trả vềstatus: "ready"thì kết quả nằm trongsolution. - Nếu trả về
errorId: 1thì dừng polling tác vụ này và xử lý theoerrorCode.
- Các truy vấn lặp lại cho cùng một
taskIdtrong vòng 5 giây sẽ trả về ngayprocessing; truy vấn dày hơn cũng không nhận được kết quả nhanh hơn. - Một tác vụ thường được xử lý tối đa 110 giây (một số ít loại là 180 đến 220 giây); quá thời gian sẽ trả về
ERROR_TASK_TIMEOUTvà tự động hoàn điểm. - Kết quả được lưu trên máy chủ khoảng 10 phút, sau đó
taskIdhết hiệu lực và truy vấn sẽ trả vềERROR_TASKID_INVALID. - Truy vấn kết quả không trừ điểm, chỉ trừ điểm khi tạo tác vụ.
Ngôn ngữ của thông báo
Phần tiêu đề “Ngôn ngữ của thông báo”Với các thông báo về tự động tạm dừng, bộ nhớ đệm tham số không hợp lệ và dừng polling, errorDescription chọn ngôn ngữ theo header Accept-Language của yêu cầu: bắt đầu bằng zh thì trả về tiếng Trung, các ngôn ngữ khác trả về tiếng Anh, nếu không có header này thì trả về cả tiếng Trung và tiếng Anh. Mô tả của các mã lỗi khác không bị ảnh hưởng.
Bước tiếp theo
Phần tiêu đề “Bước tiếp theo”- createTask: tạo tác vụ
- getTaskResult: lấy kết quả
- Giới hạn đồng thời và tự động tạm dừng: quá nhiều lỗi sẽ bị tạm dừng vài phút