Ambas versiones se ejecutan de forma invisible y arrojan una puntuación de riesgo entre 0,0 (bot) y 1,0 (humano). Enterprise agrega códigos de motivo, administración basada en proyectos, umbrales adaptativos y defensor de cuentas. Para los usuarios de CaptchaAI, la diferencia de resolución es un único parámetro: enterprise=1.
Esta guía se centra en lo que importa para la automatización: qué agrega Enterprise, cómo detectarlo y cómo las diferencias de puntuación afectan su integración.
Comparación de características
| Característica | Estándar v3 | Empresa v3 |
|---|---|---|
| operación invisible | si | si |
| Puntuación (0,0–1,0) | si | si |
| Parámetro de acción | Requerido | Requerido |
| Códigos de motivo | No | si |
| Umbrales personalizados por acción | No | Sí (a través de la consola en la nube) |
| Detección de fuga de contraseña | No | si |
| Defensor de cuenta | No | si |
| Etiquetas de prevención de fraude | No | si |
| Integración de autenticación multifactor | No | si |
| Punto final de verificación | siteverify (gratis) |
recaptchaenterprise.googleapis.com |
| Cuota mensual | 1 millón de evaluaciones gratis | Pago por evaluación |
| archivo js | api.js?render=KEY |
enterprise.js?render=KEY |
| Parámetros CaptchaAI | version=v3 |
version=v3 + enterprise=1 |
Códigos de motivo empresarial explicados
Las respuestas empresariales incluyen códigos de motivo que explican por qué se asignó una puntuación. Estos códigos ayudan a los propietarios de sitios a ajustar su seguridad y comprenderlos le ayuda a crear una mejor automatización.
| Código | Significado | Impacto en la automatización |
|---|---|---|
AUTOMATION |
Comportamiento automatizado detectado | Utilice huellas dactilares de navegador realistas |
UNEXPECTED_ENVIRONMENT |
Entorno de navegador inusual | Verifique la detección del navegador sin cabeza |
TOO_MUCH_TRAFFIC |
Alto volumen de solicitudes desde la fuente | Implementar limitación de velocidad y rotación de proxy |
UNEXPECTED_USAGE_PATTERNS |
Patrones de interacción anormales | Agregue retrasos realistas entre acciones |
LOW_CONFIDENCE_SCORE |
Datos insuficientes para una puntuación segura | Envía más señales de comportamiento |
SUSPECTED_CARDING |
Patrones de fraude con tarjetas de crédito | No es relevante para la mayoría de la automatización. |
SUSPECTED_CHARGEBACK |
Patrones de fraude de devolución de cargo | No es relevante para la mayoría de la automatización. |
Nota: No ves estos códigos cuando resuelves a través de CaptchaAI. Se devuelven al backend del sitio web durante la verificación del token. Comprenderlos le ayudará a diagnosticar por qué se podrían rechazar los tokens.
Diferencias de puntuación empresarial
Standard v3 utiliza un único modelo de puntuación global. Enterprise v3 agrega capas:
| Aspecto de puntuación | Estándar | Empresa |
|---|---|---|
| Modelo de puntuación base | El modelo global de Google | Modelo global de Google + señales personalizadas |
| Umbrales por acción | Un umbral para todas las acciones | Diferentes umbrales por acción (iniciar sesión=0,7, finalizar compra=0,9) |
| Aprendizaje adaptativo | Básico | Aprende de los patrones de tráfico específicos del sitio. |
| Granularidad de puntuación | 0,0-1,0 (dos decimales) | Mismo rango, señales más matizadas |
| Manejo de falsos positivos | Ajuste de umbral manual | Automático con análisis de código de motivo. |
Qué significa esto para los usuarios de CaptchaAI: Los sitios empresariales pueden tener umbrales por acción más estrictos o más matizados. Enviar el parámetro action correcto es aún más importante con Enterprise porque cada acción puede tener su propio umbral.
Detección y resolución
Detectando qué versión
import requests
import re
def detect_v3_version(url):
html = requests.get(url).text
if "enterprise.js" in html:
version = "enterprise"
elif "recaptcha/api.js" in html and "render=" in html:
version = "standard"
else:
return None
# Extract sitekey
key_match = re.search(r'render[=:]\s*["\']?([A-Za-z0-9_-]{40})', html)
sitekey = key_match.group(1) if key_match else None
# Extract action
action_match = re.search(r'action["\']?\s*[:=]\s*["\'](\w+)', html)
action = action_match.group(1) if action_match else None
return {"version": version, "sitekey": sitekey, "action": action}
const axios = require("axios");
async function detectV3Version(url) {
const { data: html } = await axios.get(url);
const version = html.includes("enterprise.js")
? "enterprise"
: html.includes("recaptcha/api.js") && html.includes("render=")
? "standard"
: null;
const keyMatch = html.match(/render[=:]\s*['"]?([A-Za-z0-9_-]{40})/);
const actionMatch = html.match(/action['"]?\s*[:=]\s*['"](\w+)/);
return {
version,
sitekey: keyMatch?.[1],
action: actionMatch?.[1],
};
}
Estándar de resolución v3
import requests
import time
resp = requests.get("https://ocr.captchaai.com/in.php", params={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"version": "v3",
"googlekey": sitekey,
"action": "login",
"pageurl": page_url
})
task_id = resp.text.split("|")[1]
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY", "action": "get", "id": task_id
})
if result.text.startswith("OK|"):
token = result.text.split("|")[1]
break
Resolviendo Enterprise v3
import requests
import time
# Only difference: enterprise=1
resp = requests.get("https://ocr.captchaai.com/in.php", params={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"version": "v3",
"enterprise": 1,
"googlekey": sitekey,
"action": "login",
"pageurl": page_url
})
task_id = resp.text.split("|")[1]
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY", "action": "get", "id": task_id
})
if result.text.startswith("OK|"):
token = result.text.split("|")[1]
break
Solucionador de detección automática
class V3AutoSolver:
def __init__(self, api_key):
self.api_key = api_key
def solve(self, page_url, action=None):
import re
html = requests.get(page_url).text
is_enterprise = "enterprise.js" in html
key_match = re.search(r'render[=:]\s*["\']?([A-Za-z0-9_-]{40})', html)
if not key_match:
raise Exception("No v3 sitekey found")
if not action:
act_match = re.search(r'action["\']?\s*[:=]\s*["\'](\w+)', html)
action = act_match.group(1) if act_match else "verify"
params = {
"key": self.api_key,
"method": "userrecaptcha",
"version": "v3",
"googlekey": key_match.group(1),
"action": action,
"pageurl": page_url
}
if is_enterprise:
params["enterprise"] = 1
resp = requests.get("https://ocr.captchaai.com/in.php", params=params)
if not resp.text.startswith("OK|"):
raise Exception(f"Submit failed: {resp.text}")
task_id = resp.text.split("|")[1]
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": self.api_key, "action": "get", "id": task_id
})
if result.text.startswith("OK|"):
return result.text.split("|")[1]
if result.text != "CAPCHA_NOT_READY":
raise Exception(f"Solve error: {result.text}")
raise Exception("Timed out")
Solución de problemas
| problema | causa probable | Solución |
|---|---|---|
| Token rechazado en el sitio empresarial | Falta enterprise=1 |
Verifique enterprise.js y agregue la bandera |
| Puntuación baja en Enterprise | Parámetro action incorrecto |
Extraiga la acción exacta de la llamada grecaptcha.enterprise.execute() |
| El token funciona en pruebas, falla en producción | El aprendizaje adaptativo empresarial marcó su patrón | Rote IP, agregue retrasos, varíe patrones de solicitud |
ERROR_WRONG_GOOGLEKEY |
La clave del sitio v3 proviene del parámetro de procesamiento, no de la clave del sitio de datos | Busque render=KEY en la URL del script |
Preguntas frecuentes
¿Enterprise v3 otorga puntuaciones diferentes a las estándar?
El modelo de puntuación base es similar, pero Enterprise puede utilizar señales adicionales y umbrales personalizados por acción. Un 0,7 en estándar podría ser válido, mientras que Enterprise podría requerir 0,9 para la misma acción. CaptchaAI maneja ambos de manera idéntica: la calidad del token devuelto es la misma.
¿Cómo detecto Enterprise v3 en una página?
Busque enterprise.js en lugar de api.js en las etiquetas del script y grecaptcha.enterprise.execute() en JavaScript. Ambas versiones son invisibles: no hay diferencia visual.
¿Es más caro resolver Enterprise v3?
Consulte el precio actual de CaptchaAI. Las soluciones empresariales pueden tener precios diferentes, pero el código de integración API es idéntico excepto por un parámetro.
¿Puede un sitio cambiar de estándar a empresarial?
Sí, y a menudo lo hacen. Google fomenta la migración a Enterprise para obtener mejores análisis. Cree su detección para verificar cada solicitud en lugar de codificar la versión.
¿Por qué bajó mi puntuación después de que el sitio migró a Enterprise?
Enterprise utiliza el aprendizaje adaptativo que construye un modelo a partir del tráfico específico del sitio. Si sus patrones de automatización se destacaron antes, Enterprise puede detectarlos más rápido. Mejore las señales del navegador más allá de CaptchaAI: agregue un comportamiento realista del navegador.
Guías relacionadas
- Estándar vs Empresarial reCAPTCHA v3 - Guía de resolución— comparación práctica alternativa
- reCAPTCHA Enterprise vs Standard: guía completa— cubre v2 y v3
- Cómo resolver reCAPTCHA v3 usando API— tutorial estándar v3
- Cómo resolver reCAPTCHA v3 Enterprise usando API— tutorial empresarial v3
-
Cómo funciona la puntuación de riesgo reCAPTCHA v3 Enterprise- puntuación de inmersión profunda
-
reCAPTCHA Enterprise vs Standard: guía completa
- Cómo funciona la puntuación de riesgo reCAPTCHA v3 Enterprise
- Cómo resolver reCAPTCHA v3 Enterprise usando API
- Estándar frente a empresa reCAPTCHA v3