Este guia se limita a ambientes próprios, QA, staging ou pré-produção com autorização explícita. Os exemplos usam páginas internas, dados fictícios e endpoints de validação controlados pela equipe. Não há orientação para automatizar serviços de terceiros, compras reais, filas públicas ou controles de acesso fora do seu ambiente.
Escopo seguro
Use apenas plataforma própria em staging, com evento fictício, assentos de teste, ingressos fictícios e pagamento simulado. Não automatize filas públicas, seleção real de assentos ou compras reais.
Modelo de fila interna para QA
Crie https://staging.example.com/ticketing/queue-test para simular posição, liberação e expiração de sessão. O runner QA deve validar estado da fila sem entrar em venda pública.
Eventos, assentos e pagamentos fictícios
Use https://staging.example.com/ticketing/fake-event, mapas de assentos artificiais e token de pagamento sandbox. Cada reserva deve expirar automaticamente e nunca emitir ingresso válido.
Enviar tarefa CaptchaAI a partir de staging
A tarefa deve partir do ambiente de teste e usar a URL https://staging.example.com/ticketing/checkout-test.
import os, time, requests
API_KEY = os.environ['CAPTCHAAI_API_KEY']
SITEKEY = os.environ['QA_CAPTCHA_SITEKEY']
def criar_tarefa_captcha(pageurl):
resposta = requests.post('https://ocr.captchaai.com/in.php', data={
'key': API_KEY,
'method': 'userrecaptcha',
'googlekey': SITEKEY,
'pageurl': pageurl,
'json': 1,
}).json()
return resposta['request']
def aguardar_resultado(task_id):
while True:
time.sleep(5)
resposta = requests.get('https://ocr.captchaai.com/res.php', params={
'key': API_KEY,
'action': 'get',
'id': task_id,
'json': 1,
}).json()
if resposta.get('status') == 1:
return resposta['request']
task_id = criar_tarefa_captcha('https://staging.example.com/ticketing/checkout-test')
token_qa = aguardar_resultado(task_id)
print({'token_recebido': bool(token_qa)})
Validar resultado no backend QA
O backend recebe o token, valida o CAPTCHA, confirma o assento fictício e devolve um status pass/fail para a suíte QA.
Logging e decisões pass/fail
Registre posição simulada, caso QA, tempo de resolução, resultado do backend, motivo de falha e correlação com o trace do checkout.
Solução de problemas
Se a fila expirar, aumente o TTL de staging. Se a sitekey divergir, sincronize configuração de QA. Se o backend rejeitar o token, verifique domínio e action.
Critérios de publicação
Antes de publicar a mudança testada, confirme que a documentação aponta para ambiente próprio, que os exemplos usam dados fictícios, que nenhum endpoint de produção é acionado pelo teste e que os logs contêm correlação suficiente para auditoria. A página staging deve ter domínio autorizado, sitekey esperada, configuração de backend separada e política clara de expiração. Quando o resultado variar, trate os números como amostra interna: repita a medição, anote a janela de execução e compare apenas cenários equivalentes.
Guias relacionados seguros
- Início rápido da CaptchaAI
- Testes QA autorizados de CAPTCHA
- Testes de endpoint CAPTCHA em formulários próprios
- Depuração quando o navegador falha e a API funciona
- Resolver reCAPTCHA v2 com API
- Resolver Cloudflare Turnstile com API
- Resolver GeeTest v3 com API
Valide a integração CAPTCHA do seu ambiente próprio com a CaptchaAI.