Comparativas

Comparación reCAPTCHA v3 Enterprise y estándar

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

Los comentarios están deshabilitados para este artículo.