O Microsoft Power Automate (anteriormente Flow) automatiza processos de negócios em todo o ecossistema da Microsoft e em centenas de serviços de terceiros. Quando esses fluxos de trabalho encontram formulários web ou APIs protegidos por CAPTCHA,CaptchaAIpode resolvê-los por meio do conector HTTP do Power Automate.
Este guia mostra como criar um fluxo do Power Automate que envia CAPTCHAs para CaptchaAI, pesquisa resultados e usa o token resolvido para concluir envios de formulários.
Cenário do mundo real
Sua equipe financeira precisa automatizar a recuperação de dados de um portal de fornecedor que mostre reCAPTCHA v2. Em vez de intervenção manual, um fluxo do Power Automate:
- Recebe os parâmetros CAPTCHA (sitekey, URL da página)
- Envia-os para CaptchaAI
- Aguarde a solução
- Usa o token para autenticar e recuperar os dados
Etapa 1: crie o fluxo
No Power Automate, crie um fluxo de nuvem instantâneo com um gatilho manual (ou qualquer gatilho de sua escolha).
Adicione parâmetros de entrada ao gatilho
Adicione duas entradas de texto ao gatilho manual:
- sitekey — A chave do site reCAPTCHA v2
- pageurl — O URL da página com o CAPTCHA
Etapa 2: enviar tarefa CAPTCHA
Adicione uma ação HTTP (conector Premium):
| Configuração | Valor |
|---|---|
| Método | OBTER |
| URI | https://ocr.captchaai.com/in.php |
Consultas:
| Chave | Valor |
|---|---|
| chave | Sua chave de API CaptchaAI |
| método | userrecaptcha |
| chave do Google | @{triggerBody()['text']} (entrada da chave do site) |
| URL da página | @{triggerBody()['text_1']} (entrada de URL da página) |
| JSON | 1 |
Analisar a resposta: Adicione uma ação Analisar JSON após a ação HTTP:
Esquema:
{
"type": "object",
"properties": {
"status": { "type": "integer" },
"request": { "type": "string" }
}
}
Conteúdo: @{body('HTTP')}
Etapa 3: validar enviar resposta
Adicione uma ação Condição:
- Condição:
@{body('Parse_JSON')?['status']}é igual a1
Se Não (falha no envio):
- Adicione uma ação Encerrar com status "Falha" e mensagem:
Submit error: @{body('Parse_JSON')?['request']}
Se sim:
- Continuar para o ciclo de votação
Etapa 4: construir o ciclo de votação
Dentro do branch "If Yes", adicione um loop Do Until:
Condição de loop: @{variables('solveStatus')} não é igual a pending
Antes do loop, inicialize duas variáveis:
- solveStatus (String) =
pending - solvedToken (String) = vazio
Dentro do loop Do Until, adicione estas ações em sequência:
4a. Atraso
Adicione uma ação de Atraso: 5 segundos.
4b. HTTP – Pesquisa de resultado
| Configuração | Valor |
|---|---|
| Método | OBTER |
| URI | https://ocr.captchaai.com/res.php |
Consultas:
| Chave | Valor |
|---|---|
| chave | Sua chave de API CaptchaAI |
| ação | get |
| identificação | @{body('Parse_JSON')?['request']} |
| JSON | 1 |
4c. Analisar JSON - resposta à enquete
Use o mesmo esquema da Etapa 2.
4d. Condição - Verifique o status
Condição: @{body('Parse_JSON_2')?['status']} é igual a 1
Se sim (resolvido):
- Defina a variável
solvedToken=@{body('Parse_JSON_2')?['request']} - Defina a variável
solveStatus=solved
Se Não:
- Adicione outra condição:
@{body('Parse_JSON_2')?['request']}não é igual aCAPCHA_NOT_READY - Se verdadeiro (erro), defina
solveStatus=error - Se for falso (ainda pendente), não faça nada (o loop continua)
Defina o limite do loop Fazer até:
- Contagem: 20 (iterações máximas)
- Tempo limite: PT3M (3 minutos)
Etapa 5: use o token resolvido
Após o loop, adicione uma Condição para verificar @{variables('solveStatus')}:
Se for igual a "resolvido":
- Use
@{variables('solvedToken')}em um HTTP POST para enviar o formulário - Ou envie por e-mail, mensagem do Teams ou qualquer outro conector
Exemplo HTTP POST para enviar um formulário:
| Configuração | Valor |
|---|---|
| Método | POSTAR |
| URI | URL do formulário de destino |
| Corpo | {"g-recaptcha-response": "@{variables('solvedToken')}", "other_field": "value"} |
Se não for "resolvido":
- Envie uma notificação de erro via Teams ou email
Estrutura de Fluxo 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]
Solução de problemas
| Problema | Causa | Correção |
|---|---|---|
| Conector HTTP não disponível | O plano gratuito não inclui conectores Premium | Atualize para o Power Automate Premium ou use um conector personalizado |
| A análise JSON falha | O corpo da resposta é texto, não JSON | Certifique-se de que json=1 esteja nos parâmetros de consulta |
| Loop é executado indefinidamente | Variável solveStatus não atualizada |
Verifique se os nomes das variáveis correspondem exatamente nas ações Definir variável |
| Erro 403 de CaptchaAI | Restrição de IP ou chave de API errada | Verifique a chave API; verifique se a lista de permissões de IP está habilitada em sua conta |
| Tempo limite de fluxo | O tempo limite padrão de 30 dias é adequado, mas o tempo limite de ações individuais é de 2 minutos | O tempo limite Do Until (PT3M) cuida disso; aumente se necessário |
Perguntas frequentes
Isso requer uma licença Premium Power Automate?
Sim, o conector HTTP é um recurso Premium. Se você estiver em um plano gratuito, considere usar um conector personalizado ou roteamento por meio do Azure Functions.
Posso resolver outros tipos de CAPTCHA?
Sim. Altere o parâmetro method para turnstile para Cloudflare Turnstile ou post para Image CAPTCHAs. Ajuste os parâmetros necessários de acordo.
Como posso armazenar a chave API com segurança?
Use o conector Variáveis de Ambiente ou Azure Key Vault do Power Automate para evitar codificar a chave de API na definição de fluxo.
Posso acionar esse fluxo no Power Apps?
Sim. Use o conector Power Automate no Power Apps para chamar esse fluxo, passando sitekey e pageurl como parâmetros e recebendo o token de volta.
Artigos relacionados
- Como resolver o retorno de chamada do Recaptcha V2 usando API
- Torniquete Recaptcha V2 no mesmo local
- Mecanismo de retorno de chamada Recaptcha V2
Próximas etapas
Adicione a solução CAPTCHA aos seus fluxos de trabalho do Power Automate —obtenha sua chave API CaptchaAIe construir o fluxo.
Guias relacionados:
- Zapier + CaptchaAI: resolução de CAPTCHA sem código
- Faça (Integromat) + CaptchaAI
- Retool + CaptchaAI: Ferramenta interna de manipulação de CAPTCHA