Skip to main content
Este artigo apresentará uma descrição da integração da API de reconhecimento do protocolo Recaptcha3, que permite aos usuários validar sem a necessidade de reconhecer e clicar nas imagens do captcha do Recaptcha3, bastando enviar a Chave do Site para realizar a decodificação automática em segundo plano e completar a validação.

Processo de Solicitação

Para usar a API de reconhecimento do protocolo Recaptcha3, primeiro acesse o Painel de Controle da Ace Data Cloud para obter seu Token de API, que deve ser guardado para uso futuro. Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, onde será convidado a se registrar e fazer login. Após a conclusão, você será redirecionado de volta para a página atual. Um Token de API é suficiente para acessar todos os serviços da plataforma, não sendo necessário solicitar um para cada serviço individualmente. A primeira solicitação vem com um crédito gratuito, permitindo uma experiência sem custo; quando o crédito estiver baixo, você pode recarregar o saldo geral no painel de controle.
📘 Documentação Completa: API de Reconhecimento do Protocolo Recaptcha3 →

Uso Básico

Primeiro, é importante entender a forma básica de uso. Comparado ao Recaptcha2, precisamos passar um parâmetro adicional page_action, que deve ser obtido no código. A URL de demonstração da velocidade da rede é: https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php, e a seguir, apresentamos um método para obtê-lo:

Método Rápido:

Abra o f12 e, em seguida, na página Element, pesquise por .execute(. Na área do quadro vermelho, podemos ver o parâmetro action, e ao lado do execute, há uma sequência de caracteres, que também é o conteúdo necessário a seguir, conforme mostrado na imagem abaixo.

Em seguida, você precisa inserir a URL do site que precisa processar o captcha para obter o resultado processado. Primeiro, é necessário passar um campo website_url, e por fim, você deve inserir o parâmetro website_key, que pode ser obtido acima, também sendo uma sequência de caracteres após o execute. Agora podemos preencher os conteúdos correspondentes na interface, como mostrado na imagem:

Podemos ver que aqui configuramos os Cabeçalhos da Solicitação, incluindo:
  • accept: o formato de resposta desejado, que aqui é preenchido como application/json, ou seja, formato JSON.
  • authorization: a chave para chamar a API, que pode ser selecionada diretamente após a solicitação.
Além disso, configuramos o Corpo da Solicitação, incluindo:
  • page_action: deve ser obtido no código do site que contém o captcha.
  • website_url: a URL do site que precisa processar o captcha.
  • website_key: o identificador da chave do site no Recaptcha3.
Após a seleção, podemos notar que o código correspondente também foi gerado à direita, como mostrado na imagem:

Clique no botão “Try” para realizar o teste, como mostrado na imagem acima, e aqui obtivemos o seguinte resultado:
O resultado contém vários campos, conforme descrito abaixo:
  • token, o resultado da verificação após o processamento da tarefa Recaptcha3.
Podemos ver que obtivemos o resultado da verificação do Recaptcha3, que pode ser usado para simular uma submissão ao site-alvo via POST ou GET, sendo de uso único e com validade de 120s, recomendando-se o uso dentro de 60s. Abaixo, uma breve introdução sobre como enviar o token gerado para o site-alvo: Chamada do código correspondente à verificação do token em Python:
Portanto, podemos obter o resultado:
Podemos ver que, entre eles, success indica o resultado do processamento da verificação, confirmando que conseguimos passar pela verificação do Recaptcha3. Além disso, se você quiser gerar o código correspondente para integração, pode copiá-lo diretamente, como o código CURL abaixo:
O código de integração em Python é o seguinte:

Modo Assíncrono (async)

Por padrão, a API é síncrona e bloqueante: uma solicitação aguardará até que o token seja processado antes de retornar. Se você estiver fazendo rotação de múltiplos solucionadores (multi-solver rotation) e desejar “enviar a tarefa e imediatamente obter o task_id, para depois agendar outros solucionadores e retornar mais tarde para obter o resultado”, você pode passar async: true no corpo da solicitação. Ao passar async: true, a interface retornará imediatamente um task_id, sem bloquear a espera:
Em seguida, use o task_id para fazer polling em POST /captcha/tasks (recomendado a cada 3~5 segundos) para obter o resultado:
Durante o processamento, retornará status: processing:
Quando o processamento for concluído, retornará status: ready e o token:
Descrição de cobrança: no modo assíncrono, a criação de tarefas e o polling “em processamento” não são cobrados; apenas quando o resultado é obtido com sucesso é cobrado uma vez (com o mesmo preço do modo síncrono). Portanto, cancelar tarefas que ainda não foram concluídas durante a rotação não gerará custos. /captcha/tasks é aplicável a todas as interfaces de captcha (token e reconhecimento) e você pode usar o mesmo task_id para polling.

Tratamento de Erros

Ao chamar a API, se encontrar um erro, a API retornará o código e a mensagem de erro correspondentes. Por exemplo:
  • 400 token_mismatched: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
  • 400 api_not_implemented: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
  • 401 invalid_token: Não autorizado, token de autorização inválido ou ausente.
  • 429 too_many_requests: Muitas solicitações, você excedeu o limite de taxa.
  • 500 api_error: Erro interno do servidor, algo deu errado no servidor.

Exemplo de Resposta de Erro

Conclusão

Através deste documento, você já entendeu como usar a API de reconhecimento do protocolo Recaptcha3 para permitir que os usuários não precisem reconhecer e clicar nas imagens do captcha Recaptcha3, bastando enviar a Website Key para realizar a decodificação automática em segundo plano e completar a verificação. Esperamos que este documento possa ajudá-lo a integrar e usar melhor essa API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico.