Skip to main content
Este documento presentará una descripción de la integración del API de reconocimiento del protocolo Recaptcha3, que permite a los usuarios completar la verificación sin necesidad de identificar y seleccionar imágenes de captcha, simplemente enviando la clave del sitio web para lograr la decodificación automática en segundo plano.

Proceso de Solicitud

Para utilizar el API de reconocimiento del protocolo Recaptcha3, primero dirígete a Ace Data Cloud Console para obtener tu Token API, que debes guardar como respaldo. Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invitará a registrarte e iniciar sesión, y una vez completado, regresarás automáticamente a la página actual. Un Token API es suficiente para acceder a todos los servicios de la plataforma, sin necesidad de solicitar uno por cada servicio. La primera solicitud incluirá un crédito gratuito para que puedas probarlo; si el crédito es insuficiente, puedes recargar el saldo general en la consola.
📘 Documentación completa: API de Reconocimiento del Protocolo Recaptcha3 →

Uso Básico

Primero, es importante entender la forma básica de uso. A diferencia de Recaptcha2, necesitamos pasar un parámetro adicional page_action, que debe obtenerse del código. La URL de la demostración de velocidad de la red es: https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php, a continuación se muestra un método para obtenerlo:

Método Rápido:

Abre f12, luego busca en la página de Elementos .execute(, en el área del cuadro rojo podemos ver el parámetro action, y al mismo tiempo, después de execute hay una cadena de caracteres, que también es el contenido necesario más adelante, como se muestra en la imagen a continuación.

Además, necesitas ingresar la URL del sitio web que requiere el captcha, para obtener el resultado procesado. Primero, debes pasar un campo website_url, y finalmente, también necesitas ingresar el parámetro website_key, que se puede obtener en el texto anterior, también es una cadena de caracteres que sigue a execute. A continuación, podemos completar los campos correspondientes en la interfaz, como se muestra en la imagen:

Aquí podemos ver que hemos configurado los Encabezados de Solicitud, que incluyen:
  • accept: el formato de respuesta que deseas recibir, aquí se establece como application/json, es decir, formato JSON.
  • authorization: la clave para llamar al API, que puedes seleccionar directamente después de solicitar.
Además, se configuró el Cuerpo de Solicitud, que incluye:
  • page_action: debe obtenerse del código del sitio web que requiere el captcha.
  • website_url: la URL del sitio web que necesita procesar el captcha.
  • website_key: el identificador de clave del sitio en Recaptcha3.
Después de seleccionar, puedes notar que también se generó el código correspondiente a la derecha, como se muestra en la imagen:

Haz clic en el botón “Try” para realizar la prueba, como se muestra en la imagen anterior, aquí hemos obtenido el siguiente resultado:
Los resultados devueltos tienen múltiples campos, que se describen a continuación:
  • token, el resultado de la verificación después de procesar la tarea de Recaptcha3.
  • started_at, finished_at: el tiempo de inicio y finalización de esta solicitud, en marca de tiempo Unix (segundos, flotante).
  • elapsed: el tiempo total de procesamiento (segundos).
Se puede ver que hemos obtenido el resultado de la verificación del Recaptcha3, que luego podemos usar para simular el envío a un sitio web objetivo mediante POST o GET, de un solo uso, con una validez de 120 segundos, se recomienda usarlo dentro de los 60 segundos. A continuación, se presentará brevemente una forma de enviar el token generado al sitio web objetivo: Código en Python para llamar a la verificación del token:
Por lo tanto, podemos obtener el resultado:
可以看到,其中 success 表示此处验证的处理结果,所有我们成功通过Recaptcha3验证码的验证。 另外如果想生成对应的对接代码,可以直接复制生成,例如 CURL 的代码如下:
Python 的对接代码如下:

Modo asíncrono (async)

Por defecto, la API es sincrónica y bloqueante: una solicitud esperará hasta que se complete el procesamiento del token antes de devolverlo. Si estás haciendo rotación de múltiples solucionadores (multi-solver rotation) y deseas “recibir el task_id inmediatamente después de enviar la tarea, programar otros solucionadores y luego volver a obtener el resultado”, puedes pasar async: true en el cuerpo de la solicitud. Al pasar async: true, la interfaz devolverá inmediatamente un task_id sin bloquear la espera:
Luego, usa ese task_id para hacer polling a POST /captcha/tasks (se recomienda cada 3~5 segundos) para obtener el resultado:
Durante el procesamiento, se devolverá status: processing:
Al completar el procesamiento, se devolverá status: ready y el token:
Descripción de facturación: en modo asíncrono, la creación de tareas y el polling “en procesamiento” no se facturan; solo se factura una vez al obtener el resultado exitosamente (el mismo precio que en modo sincrónico). Por lo tanto, cancelar tareas que aún no se han completado durante la rotación no generará costos. /captcha/tasks es común para todas las interfaces de captcha (token y reconocimiento) y se puede hacer polling con el mismo task_id.

Manejo de errores

Al llamar a la API, si encuentras un error, la API devolverá el código de error y la información correspondiente. Por ejemplo:
  • 400 token_mismatched: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 400 api_not_implemented: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 401 invalid_token: No autorizado, token de autorización inválido o faltante.
  • 429 too_many_requests: Demasiadas solicitudes, has superado el límite de tasa.
  • 500 api_error: Error interno del servidor, algo salió mal en el servidor.

Ejemplo de respuesta de error

Conclusión

A través de este documento, has aprendido cómo usar la API de reconocimiento del protocolo Recaptcha3 para permitir que los usuarios no necesiten identificar y seleccionar imágenes de captcha de Recaptcha3, simplemente enviando la clave del sitio web para lograr la decodificación automática en segundo plano y completar la verificación. Esperamos que este documento te ayude a integrar y utilizar mejor esta API. Si tienes alguna pregunta, no dudes en contactar a nuestro equipo de soporte técnico.