¿Te aparece ERROR_WRONG_CAPTCHA_ID al resolver un reCAPTCHA Enterprise con CaptchaAI? En la mayoría de los casos el motivo es el mismo: enviaste la clave equivocada. Enterprise maneja dos claves de aspecto parecido, y solo una sirve para resolver el desafío.
La que necesitas es el sitekey público (6L...), nunca la clave API privada (AIzaSy...) que el backend usa para verificar el token ante Google. Distinguirlas separa una integración que funciona de otra que solo devuelve errores.
Qué clave necesita CaptchaAI
En resumen:
- CaptchaAI necesita el sitekey: la clave pública
6L...del widget. - No necesita la clave API privada
AIzaSy.... - El resto se reduce a marcar la tarea con
enterprise=1.
Las dos claves de reCAPTCHA Enterprise
Conviene tener claro qué hace cada clave y dónde vive.
El sitekey (público)
El sitekey va incrustado en el HTML de la página. Su función es identificar qué configuración de reCAPTCHA debe cargarse:
<script src="https://www.google.com/recaptcha/enterprise.js?render=6LcR_RsTAAAAADge..."></script>
O dentro de una llamada a grecaptcha.enterprise.execute:
grecaptcha.enterprise.execute('6LcR_RsTAAAAADge...', { action: 'login' });
- Empieza por
6L, el mismo prefijo que el reCAPTCHA estándar. - Es visible en el código fuente de la página: público por diseño.
- Está vinculado a dominios concretos en Google Cloud Console.
- Es lo que CaptchaAI necesita para resolver el desafío.
La clave API (privada)
La clave API autentica la comunicación entre el servidor del sitio y Google al verificar el token:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments?key=AIzaSy...
- Empieza por
AIzaSy, el formato de API key de Google Cloud. - Nunca se expone en el código del lado del cliente.
- La usa únicamente el backend del sitio para verificar tokens.
- CaptchaAI no necesita esta clave.
El flujo de verificación, paso a paso
Ver el recorrido completo aclara por qué, para resolver, solo importa el sitekey:
- El navegador carga
enterprise.jscon el sitekey. - El navegador ejecuta el desafío y obtiene un token.
- El backend del sitio envía el token junto con la clave API al endpoint
assessmentsde Google. - Google devuelve la puntuación de riesgo y los detalles de la evaluación.
- El backend del sitio decide si acepta la acción según esa puntuación.
CaptchaAI cubre los pasos 1 y 2: genera un token válido a partir del sitekey. La verificación (pasos 3 a 5) la hace el sitio con su clave API, y ahí CaptchaAI no interviene.
Dónde encontrar el sitekey
Localizar el sitekey no requiere herramientas especiales; estos tres métodos van de menos a más técnico.
Método 1: buscar en el código fuente
Busca enterprise.js en el HTML:
View Source → Ctrl+F → "enterprise.js"
El parámetro render contiene el sitekey:
<script src="https://www.google.com/recaptcha/enterprise.js?render=6LcR_RsTAAAAADge..."></script>
Copia el valor tras render=: ese es el sitekey que enviarás a CaptchaAI.
Método 2: consola de JavaScript
Ejecuta esto en la consola del navegador:
// Check for Enterprise grecaptcha
if (window.grecaptcha && window.grecaptcha.enterprise) {
console.log('reCAPTCHA Enterprise detected');
}
// Find site key from rendered widgets
document.querySelectorAll('[data-sitekey]').forEach(el => {
console.log('Site key:', el.getAttribute('data-sitekey'));
});
Si la consola imprime un 6L..., ese es el sitekey.
Método 3: pestaña Red (Network)
Filtra las solicitudes de red por enterprise.js o recaptcha/enterprise: el sitekey aparece en la URL o en el payload de la solicitud.
Enviar el sitekey a CaptchaAI
Con el sitekey, envíalo en el parámetro googlekey a la API de CaptchaAI:
POST https://ocr.captchaai.com/in.php
Parámetros obligatorios:
| Parámetro | Valor |
|---|---|
key |
Tu API key de CaptchaAI (YOUR_API_KEY) |
method |
userrecaptcha |
googlekey |
El sitekey de la página (6LcR_Rs...) |
pageurl |
La URL completa donde aparece el CAPTCHA |
enterprise |
1 (marca la tarea como Enterprise) |
Parámetros opcionales de Enterprise:
| Parámetro | Para qué sirve |
|---|---|
enterprise_type |
Indica si es v2 o v3 Enterprise |
action |
El nombre de la acción (para v3 Enterprise) |
Un caso habitual: una agencia que hace QA de un portal de trámites protegido con reCAPTCHA Enterprise. El equipo extrae el sitekey de la URL real del formulario y lo envía con enterprise=1; su backend sigue verificando el token como siempre. Si por descuido pega la clave AIzaSy..., cada tarea vuelve con ERROR_WRONG_CAPTCHA_ID.
Comparación rápida de las dos claves
| Propiedad | Sitekey | Clave API |
|---|---|---|
| Formato | 6L... (40 caracteres) |
AIzaSy... (39 caracteres) |
| Visibilidad | Público (en HTML/JS) | Privada (solo en el servidor) |
| Función | Cargar el widget del CAPTCHA | Verificar tokens ante Google |
| Dónde aparece | Código fuente, llamadas JS | Configuración del servidor, variables de entorno |
| ¿La necesita CaptchaAI? | Sí | No |
reCAPTCHA Enterprise frente a la versión estándar
Enterprise cambia de dónde salen las claves y cómo se verifican respecto a la versión gratuita.
| Característica | Estándar (gratis) | Enterprise |
|---|---|---|
| Origen del sitekey | Consola de administración de reCAPTCHA | Google Cloud Console |
| Endpoint de verificación | siteverify |
assessments |
| Autenticación de la verificación | Clave secreta (secreto compartido) | Clave API o cuenta de servicio |
| Respuesta de puntuación | Campo score (0.0–1.0) |
riskAnalysis.score + motivos |
| Tipo de tarea en CaptchaAI | RecaptchaV2Task / RecaptchaV3Task |
RecaptchaV2EnterpriseTask / RecaptchaV3EnterpriseTask |
Errores comunes al configurar las claves
| Síntoma | Causa | Cómo resolverlo |
|---|---|---|
ERROR_WRONG_CAPTCHA_ID |
Enviaste la clave API en lugar del sitekey | Usa la clave 6L... de la página, no la AIzaSy... |
| El sitio rechaza el token | Tipo de Enterprise incorrecto (v2 frente a v3) | Ajusta enterprise=1 y corrige enterprise_type |
| "Invalid sitekey" | Clave de otro entorno (staging frente a producción) | Extrae la clave de la URL de destino exacta |
| Sin marca de Enterprise | Se envió como reCAPTCHA estándar | Añade enterprise=1 a la solicitud |
Preguntas frecuentes
¿Cómo distingo el sitekey de la clave API a simple vista?
Por el prefijo y por dónde aparece cada clave:
- El sitekey empieza por
6L...y vive en el HTML o en las llamadas agrecaptcha. - La clave API empieza por
AIzaSy...y solo debería existir en el servidor.
Si aparece en el código fuente del navegador, es el sitekey.
¿CaptchaAI necesita mi clave API de Google Cloud?
No. CaptchaAI solo trabaja con el sitekey para generar el token. La clave API AIzaSy... se queda en tu backend para la verificación con Google; compartirla no aporta nada y es un riesgo innecesario.
¿Necesito enviar el parámetro action con reCAPTCHA Enterprise v3?
Sí, cuando el sitio use v3 Enterprise con acciones:
- Usa el mismo nombre de
actionque dispara el widget (por ejemplologinocheckout). - Acompáñalo de
enterprise_type=v3para que el token coincida con lo que el backend espera verificar.
¿Afecta a mi resolución que el sitio rote su clave API de Google?
No. Esa clave solo interviene en la verificación entre el backend del sitio y Google. Rotarla no cambia la generación del token ni el proceso de resolución de CaptchaAI.
Artículos relacionados
- Resolver reCAPTCHA v2 con callback vía API
- Proteger tu API key con lista blanca de IP
- Rotación de la API key de CaptchaAI
Próximos pasos
Resuelve tus desafíos de reCAPTCHA Enterprise: obtén tu API key de CaptchaAI y envía el sitekey con la marca enterprise=1.