Ir al contenido
EstadoPanel

Referencia de la API

createTask — crear una tarea

Esta página se tradujo automáticamente de la versión en chino y puede contener errores. Prevalece la versión en chino.

createTask crea una tarea de reconocimiento; task.type indica qué captcha resolver. Los tipos asíncronos devuelven un taskId, que después usas con getTaskResult para obtener el resultado; los tipos síncronos devuelven el resultado directamente.

POSThttps://api.yescaptcha.com/createTaskEndpoint global
POSThttps://cn.yescaptcha.com/createTaskEndpoint China
Campo Tipo Obligatorio Descripción
clientKey string Sí Tu ClientKey, cópiala desde el Panel de yescaptcha.com
task object Sí Objeto de la tarea. Debe incluir type; los demás campos dependen del tipo de tarea (consulta la página de cada tipo)
softID integer No ID de desarrollador. Inclúyelo cuando otras personas usen el software que desarrollaste para recibir una participación del desarrollador; consulta Participación del desarrollador

Reconocer un captcha de imagen (síncrono):

{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "ImageToTextTaskOcrBase",
"body": "BASE64_IMAGE"
}
}

Obtener un token de reCAPTCHA v2 (asíncrono):

{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}

Los campos de task de cada tipo están en las páginas de Tipos de tarea y precios.

Tipos asíncronos:

{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Guarda el taskId y empieza a consultar con getTaskResult 5 segundos después.

Tipos síncronos:

{
"errorId": 0,
"status": "ready",
"taskId": "2376919c-1863-11ec-a012-94e6f7355a0b",
"solution": {
"text": "LMResm"
}
}

Fallo:

{
"errorId": 1,
"errorCode": "ERROR_TASK_NOT_SUPPORTED",
"errorDescription": "任务类型不正确或不受支持"
}

El servidor comprueba la solicitud en este orden y devuelve el código de error del primer problema que encuentra, sin cobro de puntos:

  1. El cuerpo es un JSON válido: ERROR_REQUEST_FORMATS
  2. Se incluyó clientKey: ERROR_REQUIRED_FIELDS
  3. clientKey existe: ERROR_KEY_DOES_NOT_EXIST
  4. No está en pausa automática: ERROR_IP_BLOCKED_5MIN (consulta Límite de tareas simultáneas y pausa automática)
  5. El saldo es superior a 10 puntos: ERROR_ZERO_BALANCE
  6. Se incluyó task: ERROR_TASK_ABSENT
  7. task.type existe: ERROR_TASK_NOT_SUPPORTED
  8. Están todos los campos obligatorios: ERROR_REQUIRED_FIELDS (errorDescription indica qué campo falta)
  9. En las tareas con imagen, la imagen es válida: ERROR_ZERO_CAPTCHA_FILESIZE, ERROR_IMAGE_TYPE_NOT_SUPPORTED, etc.

Crear una tarea y consultar el resultado periódicamente (tipo asíncrono):

curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}'
# Returns {"errorId":0,"taskId":"..."}; then poll every 5 seconds:
curl -s https://api.yescaptcha.com/getTaskResult \
-H 'Content-Type: application/json' \
-d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'