Integraciones

Power Automate + CaptchaAI: resolución de CAPTCHA de flujo de Microsoft

Microsoft Power Automate (anteriormente Flow) automatiza los procesos comerciales en todo el ecosistema de Microsoft y cientos de servicios de terceros. Cuando esos flujos de trabajo encuentran formularios web o API protegidos por CAPTCHA,CaptchaAIPuede resolverlos a través del conector HTTP de Power Automate.

Esta guía muestra cómo crear un flujo de Power Automate que envía CAPTCHA a CaptchaAI, sondea los resultados y utiliza el token resuelto para completar los envíos de formularios.

Escenario del mundo real

Su equipo de finanzas necesita automatizar la recuperación de datos desde un portal de proveedores que muestra reCAPTCHA v2. En lugar de intervención manual, un flujo de Power Automate:

  1. Recibe los parámetros CAPTCHA (clave del sitio, URL de la página)
  2. Los envía a CaptchaAI
  3. Espera la solución
  4. Utiliza el token para autenticar y recuperar los datos.

Paso 1: crear el flujo

En Power Automate, cree un flujo de nube instantáneo con un activador manual (o cualquier activador de su elección).

Agregar parámetros de entrada al disparador

Agregue dos entradas de texto al disparador manual:

  • clave del sitio: la clave del sitio reCAPTCHA v2
  • pageurl: la URL de la página con el CAPTCHA.

Paso 2: enviar la tarea CAPTCHA

Agregue una acción HTTP (conector Premium):

Configuración Valor
Método OBTENER
URI https://ocr.captchaai.com/in.php

Consultas:

clave Valor
clave Su clave API CaptchaAI
método userrecaptcha
clave de google @{triggerBody()['text']} (entrada de clave del sitio)
URL de página @{triggerBody()['text_1']} (entrada de URL de página)
json 1

Analizar la respuesta: Agregue una acción Analizar JSON después de la acción HTTP:

Esquema:

{
  "type": "object",
  "properties": {
    "status": { "type": "integer" },
    "request": { "type": "string" }
  }
}

Contenido: @{body('HTTP')}

Paso 3: validar enviar respuesta

Agregue una acción Condición:

  • Condición: @{body('Parse_JSON')?['status']} es igual a 1

Si no (el envío falló):

  • Agregue una acción Terminar con estado "Error" y mensaje: Submit error: @{body('Parse_JSON')?['request']}

Si es así:

  • Continuar con el ciclo de votación

Paso 4: construir el circuito de sondeo

Dentro de la rama "Si es así", agregue un bucle Hacer hasta:

Condición de bucle: @{variables('solveStatus')} no es igual a pending

Antes del ciclo, inicialice dos variables:

  • solveStatus (Cadena) = pending
  • solvedToken (Cadena) = vacío

Dentro del bucle Hacer hasta, agregue estas acciones en secuencia:

4a. Retraso

Añade una acción de Retraso: 5 segundos.

4b. HTTP: consulta para obtener resultados

Configuración Valor
Método OBTENER
URI https://ocr.captchaai.com/res.php

Consultas:

clave Valor
clave Su clave API CaptchaAI
acción get
identificación @{body('Parse_JSON')?['request']}
json 1

4c. Analizar JSON: respuesta a la consulta

Utilice el mismo esquema que el Paso 2.

4d. Condición: verificar estado

Condición: @{body('Parse_JSON_2')?['status']} es igual a 1

Si es así (resuelto):

  • Establecer variable solvedToken = @{body('Parse_JSON_2')?['request']}
  • Establecer variable solveStatus = solved

Si no:

  • Agregue otra condición: @{body('Parse_JSON_2')?['request']} no es igual a CAPCHA_NOT_READY
  • Si es verdadero (error), establezca solveStatus = error
  • Si es falso (aún pendiente), no haga nada (el ciclo continúa)

Establezca el límite del bucle Hacer hasta:

  • Recuento: 20 (iteraciones máximas)
  • Tiempo de espera: PT3M (3 minutos)

Paso 5: use el token resuelto

Después del ciclo, agregue una Condición para verificar @{variables('solveStatus')}:

Si es igual a "resuelto":

  • Utilice @{variables('solvedToken')} en una POST HTTP para enviar el formulario
  • O enviarlo por correo electrónico, mensaje de Teams o cualquier otro conector.

Ejemplo HTTP POST para enviar un formulario:

Configuración Valor
Método PUBLICAR
URI URL del formulario de destino
cuerpo {"g-recaptcha-response": "@{variables('solvedToken')}", "other_field": "value"}

Si no está "resuelto":

  • Enviar una notificación de error a través de Teams o correo electrónico

Estructura de flujo completa

[Manual Trigger (sitekey, pageurl)]
    ↓
[Initialize Variables: solveStatus, solvedToken]
    ↓
[HTTP: Submit to CaptchaAI /in.php]
    ↓
[Parse JSON]
    ↓
[Condition: status = 1?]
    ↓ Yes
[Do Until: solveStatus ≠ pending]
    ├── [Delay: 5 seconds]
    ├── [HTTP: Poll CaptchaAI /res.php]
    ├── [Parse JSON]
    └── [Condition: Solved or Error?]
    ↓
[Condition: solveStatus = solved?]
    ↓ Yes
[HTTP: Submit form with token]
    ↓
[Compose: Success response]

Solución de problemas

problema causa Solución
Conector HTTP no disponible El plan gratuito no incluye conectores Premium Actualice a Power Automate Premium o use un conector personalizado
El análisis de JSON falla El cuerpo de la respuesta es texto, no JSON Asegúrese de que json=1 esté en los parámetros de consulta
El bucle se ejecuta indefinidamente Variable solveStatus no actualizada Verifique que los nombres de las variables coincidan exactamente en las acciones Establecer variable
Error 403 de CaptchaAI Restricción de IP o clave API incorrecta Verificar la clave API; compruebe si la lista blanca de IP está habilitada en su cuenta
Tiempo de espera de flujo El tiempo de espera predeterminado de 30 días está bien, pero el tiempo de espera de las acciones individuales es de 2 minutos. El tiempo de espera Do Until (PT3M) se encarga de esto; aumentar si es necesario

Preguntas frecuentes

¿Esto requiere una licencia Premium Power Automate?

Sí, el conector HTTP es una función Premium. Si tiene un plan gratuito, considere usar un conector personalizado o enrutarlo a través de Azure Functions.

¿Puedo resolver otros tipos de CAPTCHA?

Sí. Cambie el parámetro method a turnstile para Cloudflare Turnstile o post para CAPTCHA de imagen. Ajuste los parámetros requeridos en consecuencia.

¿Cómo almaceno la clave API de forma segura?

Utilice el conector Variables de entorno o Azure Key Vault de Power Automate para evitar codificar la clave API en la definición de flujo.

¿Puedo activar este flujo desde Power Apps?

Sí. Utilice el conector Power Automate en Power Apps para llamar a este flujo, pasando la clave del sitio y la URL de la página como parámetros y recibiendo el token.

Artículos relacionados

  • Cómo resolver la devolución de llamada de Recaptcha V2 usando Api
  • Torniquete Recaptcha V2 Manejo en el mismo sitio
  • Mecanismo de devolución de llamada Recaptcha V2

Próximos pasos

Agregue resolución CAPTCHA a sus flujos de trabajo de Power Automate:obtenga su clave API CaptchaAIy construir el flujo.

Guías relacionadas:

Los comentarios están deshabilitados para este artículo.